summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Soegtrop <MSoegtrop@yahoo.de>2016-06-12 10:52:33 +0000
committerMichael Soegtrop <MSoegtrop@yahoo.de>2016-06-12 10:52:33 +0000
commit013ba80c5b0115dbb0f6da01e1f42806a4037eb8 (patch)
treefe8d764a8e808c2084df8ace149d472109f3ae25 /src
parentFixed Bool LPE review issues (diff)
parentOptionally sort attributes and properties into a canonical order. (diff)
downloadinkscape-013ba80c5b0115dbb0f6da01e1f42806a4037eb8.tar.gz
inkscape-013ba80c5b0115dbb0f6da01e1f42806a4037eb8.zip
updated to latest trunk
(bzr r14876.2.3)
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt13
-rw-r--r--src/Makefile_insert1
-rw-r--r--src/attribute-sort-util.cpp206
-rw-r--r--src/attribute-sort-util.h62
-rw-r--r--src/attributes-test.h105
-rw-r--r--src/attributes.cpp121
-rw-r--r--src/attributes.h132
-rw-r--r--src/color-profile.cpp83
-rw-r--r--src/color-profile.h6
-rw-r--r--src/display/nr-filter.cpp4
-rw-r--r--src/document.cpp14
-rw-r--r--src/document.h1
-rw-r--r--src/extension/implementation/script.cpp51
-rw-r--r--src/extension/internal/bitmap/adaptiveThreshold.cpp6
-rw-r--r--src/extension/internal/bitmap/addNoise.cpp2
-rw-r--r--src/extension/internal/bitmap/blur.cpp4
-rw-r--r--src/extension/internal/bitmap/channel.cpp2
-rw-r--r--src/extension/internal/bitmap/charcoal.cpp4
-rw-r--r--src/extension/internal/bitmap/colorize.cpp2
-rw-r--r--src/extension/internal/bitmap/contrast.cpp2
-rw-r--r--src/extension/internal/bitmap/crop.cpp8
-rw-r--r--src/extension/internal/bitmap/cycleColormap.cpp2
-rw-r--r--src/extension/internal/bitmap/edge.cpp2
-rw-r--r--src/extension/internal/bitmap/emboss.cpp4
-rw-r--r--src/extension/internal/bitmap/gaussianBlur.cpp4
-rw-r--r--src/extension/internal/bitmap/implode.cpp2
-rw-r--r--src/extension/internal/bitmap/level.cpp6
-rw-r--r--src/extension/internal/bitmap/levelChannel.cpp8
-rw-r--r--src/extension/internal/bitmap/medianFilter.cpp2
-rw-r--r--src/extension/internal/bitmap/modulate.cpp6
-rw-r--r--src/extension/internal/bitmap/oilPaint.cpp2
-rw-r--r--src/extension/internal/bitmap/opacity.cpp2
-rw-r--r--src/extension/internal/bitmap/raise.cpp6
-rw-r--r--src/extension/internal/bitmap/reduceNoise.cpp2
-rw-r--r--src/extension/internal/bitmap/sample.cpp4
-rw-r--r--src/extension/internal/bitmap/shade.cpp6
-rw-r--r--src/extension/internal/bitmap/sharpen.cpp4
-rw-r--r--src/extension/internal/bitmap/solarize.cpp2
-rw-r--r--src/extension/internal/bitmap/spread.cpp2
-rw-r--r--src/extension/internal/bitmap/swirl.cpp2
-rw-r--r--src/extension/internal/bitmap/threshold.cpp2
-rw-r--r--src/extension/internal/bitmap/unsharpmask.cpp8
-rw-r--r--src/extension/internal/bitmap/wave.cpp4
-rw-r--r--src/extension/internal/bluredge.cpp4
-rw-r--r--src/extension/internal/cairo-ps-out.cpp40
-rw-r--r--src/extension/internal/cairo-renderer-pdf-out.cpp20
-rw-r--r--src/extension/internal/emf-inout.cpp22
-rw-r--r--src/extension/internal/emf-print.cpp2
-rw-r--r--src/extension/internal/filter/bevels.h28
-rw-r--r--src/extension/internal/filter/blurs.h36
-rw-r--r--src/extension/internal/filter/bumps.h96
-rw-r--r--src/extension/internal/filter/color.h148
-rw-r--r--src/extension/internal/filter/distort.h36
-rw-r--r--src/extension/internal/filter/image.h6
-rw-r--r--src/extension/internal/filter/morphology.h44
-rw-r--r--src/extension/internal/filter/overlays.h18
-rw-r--r--src/extension/internal/filter/paint.h148
-rw-r--r--src/extension/internal/filter/protrusions.h2
-rw-r--r--src/extension/internal/filter/shadows.h12
-rw-r--r--src/extension/internal/filter/textures.h24
-rw-r--r--src/extension/internal/filter/transparency.h34
-rw-r--r--src/extension/internal/gdkpixbuf-input.cpp2
-rw-r--r--src/extension/internal/grid.cpp23
-rw-r--r--src/extension/internal/wmf-inout.cpp18
-rw-r--r--src/extension/param/bool.cpp3
-rw-r--r--src/extension/param/enum.cpp2
-rw-r--r--src/extension/param/float.cpp5
-rw-r--r--src/extension/param/int.cpp5
-rw-r--r--src/extension/param/parameter.cpp12
-rw-r--r--src/extension/param/radiobutton.cpp2
-rw-r--r--src/extension/param/string.cpp2
-rw-r--r--src/extension/plugins/grid2/grid.cpp13
-rw-r--r--src/extension/prefdialog.cpp2
-rw-r--r--src/file.cpp16
-rw-r--r--src/inkscape-x64.rc8
-rw-r--r--src/inkscape.rc8
-rw-r--r--src/inkview-x64.rc8
-rw-r--r--src/inkview.rc8
-rw-r--r--src/libnrtype/Layout-TNG-Compute.cpp76
-rw-r--r--src/libnrtype/Layout-TNG.h3
-rw-r--r--src/live_effects/effect.cpp1
-rw-r--r--src/live_effects/lpe-perspective-envelope.cpp120
-rw-r--r--src/live_effects/lpe-perspective-envelope.h3
-rw-r--r--src/live_effects/parameter/path.cpp28
-rw-r--r--src/preferences-skeleton.h7
-rw-r--r--src/sp-flowtext.cpp22
-rw-r--r--src/sp-guide.cpp1
-rw-r--r--src/sp-item.cpp1
-rw-r--r--src/sp-namedview.cpp53
-rw-r--r--src/sp-namedview.h2
-rw-r--r--src/sp-root.cpp8
-rw-r--r--src/sp-text.cpp23
-rw-r--r--src/style-internal.cpp6
-rw-r--r--src/style-internal.h2
-rw-r--r--src/ui/dialog/clonetiler.cpp3
-rw-r--r--src/ui/dialog/document-properties.cpp91
-rw-r--r--src/ui/dialog/document-properties.h18
-rw-r--r--src/ui/dialog/inkscape-preferences.cpp44
-rw-r--r--src/ui/tool/node.cpp2
-rw-r--r--src/ui/tools/measure-tool.cpp2
-rw-r--r--src/ui/tools/node-tool.cpp5
-rw-r--r--src/ui/tools/tool-base.cpp5
-rw-r--r--src/ui/widget/color-icc-selector.cpp17
-rw-r--r--src/util/expression-evaluator.cpp11
-rw-r--r--src/version.cpp12
-rw-r--r--src/version.h3
-rw-r--r--src/widgets/paint-selector.cpp2
-rw-r--r--src/widgets/toolbox.cpp3
-rw-r--r--src/xml/repr-io.cpp5
109 files changed, 1452 insertions, 895 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index df25728f4..66f16b7fb 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -10,6 +10,7 @@ set(sp_SRC
attribute-rel-css.cpp
attribute-rel-svg.cpp
attribute-rel-util.cpp
+ attribute-sort-util.cpp
sp-anchor.cpp
sp-clippath.cpp
sp-conn-end-pair.cpp
@@ -92,6 +93,7 @@ set(sp_SRC
attribute-rel-css.h
attribute-rel-svg.h
attribute-rel-util.h
+ attribute-sort-util.h
sp-anchor.h
sp-clippath.h
sp-conn-end-pair.h
@@ -513,17 +515,6 @@ add_library(inkscape_base SHARED ${inkscape_SRC} ${sp_SRC})
add_executable(inkscape ${main_SRC} )
add_executable(inkview inkview.cpp )
-
-
-if(UNIX)
-# message after building.
-add_custom_command(
- TARGET inkscape
- POST_BUILD MAIN_DEPENDENCY inkscape
- COMMAND ${CMAKE_COMMAND} -E echo 'now run: \"make install\" to copy runtime files & scripts to ${CMAKE_INSTALL_PREFIX}'
-)
-endif()
-
add_dependencies(inkscape inkscape_version)
if(WITH_DBUS)
diff --git a/src/Makefile_insert b/src/Makefile_insert
index b9723ac42..55fde4dd2 100644
--- a/src/Makefile_insert
+++ b/src/Makefile_insert
@@ -8,6 +8,7 @@ ink_common_sources += \
attribute-rel-svg.cpp attribute-rel-svg.h \
attribute-rel-css.cpp attribute-rel-css.h \
attribute-rel-util.cpp attribute-rel-util.h \
+ attribute-sort-util.cpp attribute-sort-util.h \
axis-manip.cpp axis-manip.h \
bad-uri-exception.h \
box3d.cpp box3d.h \
diff --git a/src/attribute-sort-util.cpp b/src/attribute-sort-util.cpp
new file mode 100644
index 000000000..ef08a142f
--- /dev/null
+++ b/src/attribute-sort-util.cpp
@@ -0,0 +1,206 @@
+/*
+ * attribute-sort-util.cpp
+ *
+ * Created on: Jun 10, 2016
+ * Author: Tavmjong Bah
+ */
+
+/**
+ * Utility functions for sorting attributes by name.
+ */
+
+#include <fstream>
+#include <sstream>
+#include <string>
+#include <iostream>
+#include <vector>
+#include <utility> // std::pair
+#include <algorithm> // std::sort
+
+#include "attribute-sort-util.h"
+
+#include "xml/repr.h"
+#include "xml/attribute-record.h"
+#include "xml/sp-css-attr.h"
+
+#include "attributes.h"
+
+using Inkscape::XML::Node;
+using Inkscape::XML::AttributeRecord;
+using Inkscape::Util::List;
+
+/**
+ * Sort attributes by name.
+ */
+void sp_attribute_sort_tree(Node *repr) {
+
+ g_return_if_fail (repr != NULL);
+
+ sp_attribute_sort_recursive( repr );
+}
+
+/**
+ * Sort recursively over all elements.
+ */
+void sp_attribute_sort_recursive(Node *repr) {
+
+ g_return_if_fail (repr != NULL);
+
+ if( repr->type() == Inkscape::XML::ELEMENT_NODE ) {
+ Glib::ustring element = repr->name();
+
+ // Only sort elements in svg namespace
+ if( element.substr(0,4) == "svg:" ) {
+ sp_attribute_sort_element( repr );
+ }
+ }
+
+ for(Node *child=repr->firstChild() ; child ; child = child->next()) {
+ sp_attribute_sort_recursive( child );
+ }
+}
+
+/**
+ * Compare function
+ */
+bool cmp(std::pair< Glib::ustring, Glib::ustring > const &a,
+ std::pair< Glib::ustring, Glib::ustring > const &b) {
+ unsigned val_b = sp_attribute_lookup(b.first.c_str());
+ if (val_b == 0) return true; // Unknown attributes at end.
+ return sp_attribute_lookup(a.first.c_str()) < val_b;
+}
+
+/**
+ * Sort attributes on an element
+ */
+void sp_attribute_sort_element(Node *repr) {
+
+ g_return_if_fail (repr != NULL);
+ g_return_if_fail (repr->type() == Inkscape::XML::ELEMENT_NODE);
+
+ // Glib::ustring element = repr->name();
+ // Glib::ustring id = (repr->attribute( "id" )==NULL ? "" : repr->attribute( "id" ));
+
+ sp_attribute_sort_style(repr);
+
+ // Sort attributes:
+
+ // It doesn't seem possible to sort a List directly so we dump the list into
+ // a std::list and sort that. Not very efficient. Sad.
+ List<AttributeRecord const> attributes = repr->attributeList();
+
+ std::vector<std::pair< Glib::ustring, Glib::ustring > > my_list;
+ for ( List<AttributeRecord const> iter = attributes ; iter ; ++iter ) {
+
+ Glib::ustring attribute = g_quark_to_string(iter->key);
+ Glib::ustring value = (const char*)iter->value;
+
+ // C++11 my_list.emlace_back(attribute, value);
+ my_list.push_back(std::make_pair(attribute,value));
+ }
+ std::sort(my_list.begin(), my_list.end(), cmp);
+ // Delete all attributes.
+ //for (auto it: my_list) {
+ for (std::vector<std::pair< Glib::ustring, Glib::ustring > >::iterator it = my_list.begin();
+ it != my_list.end(); ++it) {
+ repr->setAttribute( it->first.c_str(), NULL, false );
+ }
+ // Insert all attributes in proper order
+ for (std::vector<std::pair< Glib::ustring, Glib::ustring > >::iterator it = my_list.begin();
+ it != my_list.end(); ++it) {
+ repr->setAttribute( it->first.c_str(), it->second.c_str(), false );
+ }
+}
+
+
+/**
+ * Sort CSS style on an element.
+ */
+void sp_attribute_sort_style(Node *repr) {
+
+ g_return_if_fail (repr != NULL);
+ g_return_if_fail (repr->type() == Inkscape::XML::ELEMENT_NODE);
+
+ // Find element's style
+ SPCSSAttr *css = sp_repr_css_attr( repr, "style" );
+ sp_attribute_sort_style(repr, css);
+
+ // Convert css node's properties data to string and set repr node's attribute "style" to that string.
+ // sp_repr_css_set( repr, css, "style"); // Don't use as it will cause loop.
+ Glib::ustring value;
+ sp_repr_css_write_string(css, value);
+ if( value.empty() ) {
+ repr->setAttribute("style", NULL );
+ } else {
+ repr->setAttribute("style", value.c_str());
+ }
+
+ sp_repr_css_attr_unref( css );
+}
+
+
+/**
+ * Sort CSS style on an element.
+ */
+Glib::ustring sp_attribute_sort_style(Node *repr, gchar const *string) {
+
+ g_return_val_if_fail (repr != NULL, NULL);
+ g_return_val_if_fail (repr->type() == Inkscape::XML::ELEMENT_NODE, NULL);
+
+ SPCSSAttr *css = sp_repr_css_attr_new();
+ sp_repr_css_attr_add_from_string( css, string );
+ sp_attribute_sort_style(repr, css);
+ Glib::ustring string_cleaned;
+ sp_repr_css_write_string (css, string_cleaned);
+
+ sp_repr_css_attr_unref( css );
+
+ return string_cleaned;
+}
+
+
+/**
+ * Sort CSS style on an element.
+ */
+void sp_attribute_sort_style(Node* repr, SPCSSAttr *css) {
+
+ g_return_if_fail (repr != NULL);
+ g_return_if_fail (css != NULL);
+
+ Glib::ustring element = repr->name();
+ Glib::ustring id = (repr->attribute( "id" )==NULL ? "" : repr->attribute( "id" ));
+
+ // Loop over all properties in "style" node.
+ std::vector<std::pair< Glib::ustring, Glib::ustring > > my_list;
+ for ( List<AttributeRecord const> iter = css->attributeList() ; iter ; ++iter ) {
+
+ Glib::ustring property = g_quark_to_string(iter->key);
+ Glib::ustring value = (const char*)iter->value;
+
+ // C++11 my_list.emlace_back(property, value);
+ my_list.push_back(std::make_pair(property,value));
+ }
+ std::sort(my_list.begin(), my_list.end(), cmp);
+ // Delete all attributes.
+ //for (auto it: my_list) {
+ for (std::vector<std::pair< Glib::ustring, Glib::ustring > >::iterator it = my_list.begin();
+ it != my_list.end(); ++it) {
+ sp_repr_css_set_property( css, it->first.c_str(), NULL );
+ }
+ // Insert all attributes in proper order
+ for (std::vector<std::pair< Glib::ustring, Glib::ustring > >::iterator it = my_list.begin();
+ it != my_list.end(); ++it) {
+ sp_repr_css_set_property( css, it->first.c_str(), it->second.c_str() );
+ }
+}
+
+/*
+ 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/attribute-sort-util.h b/src/attribute-sort-util.h
new file mode 100644
index 000000000..0b2f81ed9
--- /dev/null
+++ b/src/attribute-sort-util.h
@@ -0,0 +1,62 @@
+#ifndef __SP_ATTRIBUTE_SORT_UTIL_H__
+#define __SP_ATTRIBUTE_SORT_UTIL_H__
+
+/*
+ * attribute-sort-util.h
+ *
+ * Created on: Jun 10, 2016
+ * Author: Tavmjong Bah
+ */
+
+#include <glibmm/ustring.h>
+#include "xml/sp-css-attr.h"
+
+using Inkscape::XML::Node;
+
+/**
+ * Utility functions for sorting attributes.
+ */
+
+/**
+ * Sort attributes by name.
+ */
+void sp_attribute_sort_tree(Node *repr);
+
+/**
+ * Recursively sort.
+ * repr: the root node in a document or any other node.
+ */
+void sp_attribute_sort_recursive(Node *repr);
+
+/**
+ * Sort one element (attributes).
+ */
+void sp_attribute_sort_element(Node *repr);
+
+/**
+ * Sort style properties for one element.
+ */
+void sp_attribute_sort_style(Node *repr);
+
+/**
+ * Sort style_property for a style string
+ */
+Glib::ustring sp_attribute_sort_style(Node *repr, gchar const *string);
+
+/**
+ * Sort style properties for one CSS.
+ */
+void sp_attribute_sort_style(Node* repr, SPCSSAttr *css);
+
+#endif /* __SP_ATTRIBUTE_SORT_UTIL_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/attributes-test.h b/src/attributes-test.h
index b8d5d98a5..bfb67064b 100644
--- a/src/attributes-test.h
+++ b/src/attributes-test.h
@@ -104,21 +104,6 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
{"end", true},
{"exponent", true},
{"externalResourcesRequired", false},
- {"feBlend", false},
- {"feColorMatrix", false},
- {"feComponentTransfer", false},
- {"feComposite", false},
- {"feConvolveMatrix", false},
- {"feDiffuseLighting", false},
- {"feDisplacementMap", false},
- {"feFlood", false},
- {"feGaussianBlur", false},
- {"feImage", false},
- {"feMerge", false},
- {"feMorphology", false},
- {"feOffset", false},
- {"feSpecularLighting", false},
- {"feTile", false},
{"fill", true},
{"fill-opacity", true},
{"fill-rule", true},
@@ -361,55 +346,33 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
/* Extra attributes. */
{"id", true},
+ {"sodipodi:docname", true},
+ {"sodipodi:insensitive", true},
+ {"sodipodi:type", true},
{"inkscape:collect", true},
{"inkscape:document-units", true},
{"inkscape:label", true},
- {"sodipodi:insensitive", true},
- {"sodipodi:nonprintable", true},
{"inkscape:groupmode", true},
- {"sodipodi:version", false},
{"inkscape:version", true},
{"inkscape:object-paths", true},
- {"inkscape:snap-perpendicular", true},
- {"inkscape:snap-tangential", true},
- {"inkscape:snap-path-clip", true},
- {"inkscape:snap-path-mask", true},
- {"inkscape:object-nodes", true},
- {"inkscape:bbox-paths", true},
- {"inkscape:bbox-nodes", true},
- {"inkscape:snap-page", true},
- {"inkscape:snap-global", true},
- {"inkscape:snap-bbox", true},
- {"inkscape:snap-nodes", true},
- {"inkscape:snap-others", true},
- {"inkscape:snap-center", true},
- {"inkscape:snap-smooth-nodes", true},
- {"inkscape:snap-midpoints", true},
- {"inkscape:snap-object-midpoints", true},
- {"inkscape:snap-text-baseline", true},
- {"inkscape:snap-bbox-edge-midpoints", true},
- {"inkscape:snap-bbox-midpoints", true},
- {"inkscape:snap-grids", true},
- {"inkscape:snap-to-guides", true},
- {"inkscape:snap-intersection-paths", true},
+
{"inkscape:original-d", true},
{"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},
- {"inkscape:window-width", true},
- {"inkscape:window-height", true},
- {"inkscape:window-x", true},
- {"inkscape:window-y", true},
- {"inkscape:window-maximized", true},
- {"inkscape:current-layer", true},
+
+ // Measure tool
+ {"inkscape:measure-start", true},
+ {"inkscape:measure-end", true},
+
+ // Spray tool
+ {"inkscape:spray-origin", true},
+
// Connector tool
{"inkscape:connector-type", true},
{"inkscape:connection-start", true},
@@ -420,11 +383,13 @@ 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},
@@ -435,6 +400,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},
@@ -517,8 +483,47 @@ struct {char const *attr; bool supported;} const all_attrs[] = {
{"borderopacity", true},
{"pagecolor", true},
+ {"inkscape:zoom", true},
+ {"inkscape:cx", true},
+ {"inkscape:cy", true},
+ {"inkscape:window-width", true},
+ {"inkscape:window-height", true},
+ {"inkscape:window-x", true},
+ {"inkscape:window-y", true},
+ {"inkscape:window-maximized", true},
+ {"inkscape:current-layer", true},
+ {"inkscape:pagecheckerboard", true},
+
/* SPGuide */
{"position", true},
+ {"inkscape:color", true},
+ {"inkscape:lockguides", true},
+ {"inkscape:locked", true},
+
+ /* Snapping */
+ {"inkscape:snap-perpendicular", true},
+ {"inkscape:snap-tangential", true},
+ {"inkscape:snap-path-clip", true},
+ {"inkscape:snap-path-mask", true},
+ {"inkscape:object-nodes", true},
+ {"inkscape:bbox-paths", true},
+ {"inkscape:bbox-nodes", true},
+ {"inkscape:snap-page", true},
+ {"inkscape:snap-global", true},
+ {"inkscape:snap-bbox", true},
+ {"inkscape:snap-nodes", true},
+ {"inkscape:snap-others", true},
+ {"inkscape:snap-from-guide", true},
+ {"inkscape:snap-center", true},
+ {"inkscape:snap-smooth-nodes", true},
+ {"inkscape:snap-midpoints", true},
+ {"inkscape:snap-object-midpoints", true},
+ {"inkscape:snap-text-baseline", true},
+ {"inkscape:snap-bbox-edge-midpoints", true},
+ {"inkscape:snap-bbox-midpoints", true},
+ {"inkscape:snap-grids", true},
+ {"inkscape:snap-to-guides", true},
+ {"inkscape:snap-intersection-paths", true},
/* SPTag */
{"inkscape:expanded", true}
diff --git a/src/attributes.cpp b/src/attributes.cpp
index 646c2ab0c..e281dad65 100644
--- a/src/attributes.cpp
+++ b/src/attributes.cpp
@@ -14,6 +14,7 @@
#include <glib.h> // g_assert()
#include "attributes.h"
+#include <iostream>
typedef struct {
gint code;
@@ -28,15 +29,24 @@ static SPStyleProp const props[] = {
{SP_ATTR_INVALID, NULL},
/* SPObject */
{SP_ATTR_ID, "id"},
+ {SP_ATTR_STYLE, "style"},
{SP_ATTR_INKSCAPE_COLLECT, "inkscape:collect"},
{SP_ATTR_INKSCAPE_LABEL, "inkscape:label"},
+ /* SPRoot */
+ {SP_ATTR_VERSION, "version"},
+ {SP_ATTR_INKSCAPE_VERSION, "inkscape:version"},
+ {SP_ATTR_WIDTH, "width"},
+ {SP_ATTR_HEIGHT, "height"},
+ {SP_ATTR_VIEWBOX, "viewBox"},
+ {SP_ATTR_PRESERVEASPECTRATIO, "preserveAspectRatio"},
+ {SP_ATTR_ONLOAD, "onload"},
+ {SP_ATTR_SODIPODI_DOCNAME, "sodipodi:docname"},
/* SPItem */
{SP_ATTR_TRANSFORM, "transform"},
+ {SP_ATTR_SODIPODI_TYPE, "sodipodi:type"},
{SP_ATTR_SODIPODI_INSENSITIVE, "sodipodi:insensitive"},
- {SP_ATTR_SODIPODI_NONPRINTABLE, "sodipodi:nonprintable"},
{SP_ATTR_CONNECTOR_AVOID, "inkscape:connector-avoid"},
{SP_ATTR_CONNECTION_POINTS, "inkscape:connection-points"},
- {SP_ATTR_STYLE, "style"},
{SP_ATTR_TRANSFORM_CENTER_X, "inkscape:transform-center-x"},
{SP_ATTR_TRANSFORM_CENTER_Y, "inkscape:transform-center-y"},
{SP_ATTR_INKSCAPE_PATH_EFFECT, "inkscape:path-effect"},
@@ -53,14 +63,6 @@ static SPStyleProp const props[] = {
{SP_ATTR_TARGET, "target"},
{SP_ATTR_INKSCAPE_GROUPMODE, "inkscape:groupmode"},
{SP_ATTR_INKSCAPE_EXPANDED, "inkscape:expanded"},
- /* SPRoot */
- {SP_ATTR_VERSION, "version"},
- {SP_ATTR_WIDTH, "width"},
- {SP_ATTR_HEIGHT, "height"},
- {SP_ATTR_VIEWBOX, "viewBox"},
- {SP_ATTR_PRESERVEASPECTRATIO, "preserveAspectRatio"},
- {SP_ATTR_INKSCAPE_VERSION, "inkscape:version"},
- {SP_ATTR_ONLOAD, "onload"},
/* SPNamedView */
{SP_ATTR_VIEWONLY, "viewonly"},
{SP_ATTR_SHOWGUIDES, "showguides"},
@@ -99,6 +101,7 @@ static SPStyleProp const props[] = {
{SP_ATTR_INKSCAPE_SNAP_BBOX, "inkscape:snap-bbox"},
{SP_ATTR_INKSCAPE_SNAP_NODE, "inkscape:snap-nodes"},
{SP_ATTR_INKSCAPE_SNAP_OTHERS, "inkscape:snap-others"},
+ {SP_ATTR_INKSCAPE_SNAP_FROM_GUIDE, "inkscape:snap-from-guide"},
{SP_ATTR_INKSCAPE_SNAP_ROTATION_CENTER, "inkscape:snap-center"},
{SP_ATTR_INKSCAPE_SNAP_GRID, "inkscape:snap-grids"},
{SP_ATTR_INKSCAPE_SNAP_GUIDE, "inkscape:snap-to-guides"},
@@ -120,7 +123,6 @@ static SPStyleProp const props[] = {
{SP_ATTR_INKSCAPE_DOCUMENT_UNITS, "inkscape:document-units"}, // This setting sets the Display units, *not* the units used in SVG
{SP_ATTR_INKSCAPE_LOCKGUIDES, "inkscape:lockguides"},
{SP_ATTR_UNITS, "units"},
- {SP_ATTR_INKSCAPE_CONNECTOR_SPACING, "inkscape:connector-spacing"},
/* SPColorProfile */
{SP_ATTR_LOCAL, "local"},
{SP_ATTR_NAME, "name"},
@@ -130,6 +132,9 @@ static SPStyleProp const props[] = {
{SP_ATTR_POSITION, "position"},
{SP_ATTR_INKSCAPE_COLOR, "inkscape:color"},
{SP_ATTR_INKSCAPE_LOCKED, "inkscape:locked"},
+ /* Measure tool */
+ {SP_ATTR_INKSCAPE_MEASURE_START, "inkscape:measure-start"},
+ {SP_ATTR_INKSCAPE_MEASURE_END, "inkscape:measure-end"},
/* SPImage */
{SP_ATTR_X, "x"},
{SP_ATTR_Y, "y"},
@@ -139,6 +144,7 @@ static SPStyleProp const props[] = {
/* (Note: XML representation of connectors may change in future.) */
{SP_ATTR_CONNECTOR_TYPE, "inkscape:connector-type"},
{SP_ATTR_CONNECTOR_CURVATURE, "inkscape:connector-curvature"},
+ {SP_ATTR_INKSCAPE_CONNECTOR_SPACING, "inkscape:connector-spacing"},
{SP_ATTR_CONNECTION_START, "inkscape:connection-start"},
{SP_ATTR_CONNECTION_END, "inkscape:connection-end"},
{SP_ATTR_CONNECTION_START_POINT, "inkscape:connection-start-point"},
@@ -414,11 +420,49 @@ static SPStyleProp const props[] = {
{SP_ATTR_TEXT_EXCLUDE,"inkscape:excludeShape"},
{SP_ATTR_LAYOUT_OPTIONS,"inkscape:layoutOptions"},
- /* CSS2 */
- {SP_PROP_INKSCAPE_FONT_SPEC, "-inkscape-font-specification"},
+ /* CSS & SVG Properites */
+
+ /* Paint */
+ {SP_PROP_COLOR, "color"},
+ {SP_PROP_OPACITY, "opacity"},
+ {SP_PROP_FILL, "fill"},
+ {SP_PROP_FILL_OPACITY, "fill-opacity"},
+ {SP_PROP_FILL_RULE, "fill-rule"},
+ {SP_PROP_STROKE, "stroke"},
+ {SP_PROP_STROKE_OPACITY, "stroke-opacity"},
+ {SP_PROP_STROKE_WIDTH, "stroke-width"},
+ {SP_PROP_STROKE_LINECAP, "stroke-linecap"},
+ {SP_PROP_STROKE_LINEJOIN, "stroke-linejoin"},
+ {SP_PROP_STROKE_MITERLIMIT, "stroke-miterlimit"},
+ {SP_PROP_STROKE_DASHARRAY, "stroke-dasharray"},
+ {SP_PROP_STROKE_DASHOFFSET, "stroke-dashoffset"},
+ {SP_PROP_MARKER, "marker"},
+ {SP_PROP_MARKER_END, "marker-end"},
+ {SP_PROP_MARKER_MID, "marker-mid"},
+ {SP_PROP_MARKER_START, "marker-start"},
+ {SP_PROP_PAINT_ORDER, "paint-order" },
+ {SP_PROP_SOLID_COLOR, "solid-color"},
+ {SP_PROP_SOLID_OPACITY, "solid-opacity"},
+
+ /* CSS Blending/Compositing */
+ {SP_PROP_MIX_BLEND_MODE, "mix-blend-mode"},
+ {SP_PROP_ISOLATION, "isolation"},
+
+ /* Misc. Display */
+ {SP_PROP_DISPLAY, "display"},
+ {SP_PROP_OVERFLOW, "overflow"},
+ {SP_PROP_VISIBILITY, "visibility"},
+
+ /* Clip/Mask */
+ {SP_PROP_CLIP, "clip"},
+ {SP_PROP_CLIP_PATH, "clip-path"},
+ {SP_PROP_CLIP_RULE, "clip-rule"},
+ {SP_PROP_MASK, "mask"},
+
/* Font */
{SP_PROP_FONT, "font"},
{SP_PROP_FONT_FAMILY, "font-family"},
+ {SP_PROP_INKSCAPE_FONT_SPEC, "-inkscape-font-specification"},
{SP_PROP_FONT_SIZE, "font-size"},
{SP_PROP_FONT_SIZE_ADJUST, "font-size-adjust"},
{SP_PROP_FONT_STRETCH, "font-stretch"},
@@ -443,7 +487,7 @@ static SPStyleProp const props[] = {
{SP_PROP_WORD_SPACING, "word-spacing"},
{SP_PROP_TEXT_TRANSFORM, "text-transform"},
- /* Text (css3) */
+ /* Text (CSS3) */
{SP_PROP_DIRECTION, "direction"},
{SP_PROP_WRITING_MODE, "writing-mode"},
{SP_PROP_TEXT_ORIENTATION, "text-orientation"},
@@ -464,70 +508,43 @@ static SPStyleProp const props[] = {
{SP_PROP_SHAPE_MARGIN, "shape-margin"},
/* Text Decoration */
- {SP_PROP_TEXT_DECORATION, "text-decoration"},
+ {SP_PROP_TEXT_DECORATION, "text-decoration"}, // CSS 2/CSS3-Shorthand
{SP_PROP_TEXT_DECORATION_LINE, "text-decoration-line"},
{SP_PROP_TEXT_DECORATION_STYLE, "text-decoration-style"},
{SP_PROP_TEXT_DECORATION_COLOR, "text-decoration-color"},
{SP_PROP_TEXT_DECORATION_FILL, "text-decoration-fill"},
{SP_PROP_TEXT_DECORATION_STROKE,"text-decoration-stroke"},
- /* Misc */
- {SP_PROP_CLIP, "clip"},
- {SP_PROP_COLOR, "color"},
- {SP_PROP_CURSOR, "cursor"},
- {SP_PROP_DISPLAY, "display"},
- {SP_PROP_OVERFLOW, "overflow"},
- {SP_PROP_VISIBILITY, "visibility"},
- {SP_PROP_MIX_BLEND_MODE, "mix-blend-mode"}, // CSS Blending and Compositing
- {SP_PROP_ISOLATION, "isolation"},
- /* SVG */
- /* Clip/Mask */
- {SP_PROP_CLIP_PATH, "clip-path"},
- {SP_PROP_CLIP_RULE, "clip-rule"},
- {SP_PROP_MASK, "mask"},
- {SP_PROP_OPACITY, "opacity"},
/* Filter */
{SP_PROP_ENABLE_BACKGROUND, "enable-background"},
{SP_PROP_FILTER, "filter"},
{SP_PROP_FLOOD_COLOR, "flood-color"},
{SP_PROP_FLOOD_OPACITY, "flood-opacity"},
{SP_PROP_LIGHTING_COLOR, "lighting-color"},
+
/* Gradient */
{SP_PROP_STOP_COLOR, "stop-color"},
{SP_PROP_STOP_OPACITY, "stop-opacity"},
{SP_PROP_STOP_PATH, "path"},
- /* Interactivity */
- {SP_PROP_POINTER_EVENTS, "pointer-events"},
- /* Paint */
+
+ /* Rendering */
{SP_PROP_COLOR_INTERPOLATION, "color-interpolation"},
{SP_PROP_COLOR_INTERPOLATION_FILTERS, "color-interpolation-filters"},
{SP_PROP_COLOR_PROFILE, "color-profile"},
{SP_PROP_COLOR_RENDERING, "color-rendering"},
- {SP_PROP_FILL, "fill"},
- {SP_PROP_FILL_OPACITY, "fill-opacity"},
- {SP_PROP_FILL_RULE, "fill-rule"},
{SP_PROP_IMAGE_RENDERING, "image-rendering"},
- {SP_PROP_MARKER, "marker"},
- {SP_PROP_MARKER_END, "marker-end"},
- {SP_PROP_MARKER_MID, "marker-mid"},
- {SP_PROP_MARKER_START, "marker-start"},
- {SP_PROP_PAINT_ORDER, "paint-order" },
{SP_PROP_SHAPE_RENDERING, "shape-rendering"},
- {SP_PROP_SOLID_COLOR, "solid-color"},
- {SP_PROP_SOLID_OPACITY, "solid-opacity"},
- {SP_PROP_STROKE, "stroke"},
- {SP_PROP_STROKE_DASHARRAY, "stroke-dasharray"},
- {SP_PROP_STROKE_DASHOFFSET, "stroke-dashoffset"},
- {SP_PROP_STROKE_LINECAP, "stroke-linecap"},
- {SP_PROP_STROKE_LINEJOIN, "stroke-linejoin"},
- {SP_PROP_STROKE_MITERLIMIT, "stroke-miterlimit"},
- {SP_PROP_STROKE_OPACITY, "stroke-opacity"},
- {SP_PROP_STROKE_WIDTH, "stroke-width"},
{SP_PROP_TEXT_RENDERING, "text-rendering"},
+
+ /* Interactivity */
+ {SP_PROP_POINTER_EVENTS, "pointer-events"},
+ {SP_PROP_CURSOR, "cursor"},
+
/* Conditional */
{SP_PROP_SYSTEM_LANGUAGE, "systemLanguage"},
{SP_PROP_REQUIRED_FEATURES, "requiredFeatures"},
{SP_PROP_REQUIRED_EXTENSIONS, "requiredExtensions"},
+
/* LivePathEffect */
{SP_PROP_PATH_EFFECT, "effect"},
};
@@ -544,6 +561,8 @@ sp_attribute_lookup(gchar const *key)
if(g_str_equal(const_cast<void *>(static_cast<void const *>(props[i].name)), key))
return GPOINTER_TO_UINT(GINT_TO_POINTER(props[i].code));
}
+ // std::cerr << "sp_attribute_lookup: invalid attribute: "
+ // << (key?key:"Null") << std::endl;
return SP_ATTR_INVALID;
}
diff --git a/src/attributes.h b/src/attributes.h
index f5544d0a1..ff426e8cf 100644
--- a/src/attributes.h
+++ b/src/attributes.h
@@ -24,19 +24,35 @@ unsigned char const *sp_attribute_name(unsigned int id);
*/
#define SP_ATTRIBUTE_IS_CSS(k) (((k) >= SP_PROP_INKSCAPE_FONT_SPEC) && ((k) <= SP_PROP_TEXT_RENDERING))
+/*
+ * Do not change order of attributes and properties. Attribute and
+ * order in an SVG file is (optionally) determined by the order here.
+ * This makes comparing different versions of a drawing easier using
+ * line-by-line comparison. Also, inorder for proper parsing, some
+ * properites must be before others (e.g. 'font' before 'font-family').
+ */
enum SPAttributeEnum {
SP_ATTR_INVALID, ///< Must have value 0.
/* SPObject */
SP_ATTR_ID,
+ SP_ATTR_STYLE,
SP_ATTR_INKSCAPE_COLLECT,
SP_ATTR_INKSCAPE_LABEL,
+ /* SPRoot Put these near top as the apply to the entire SVG */
+ SP_ATTR_VERSION,
+ SP_ATTR_INKSCAPE_VERSION,
+ SP_ATTR_WIDTH,
+ SP_ATTR_HEIGHT,
+ SP_ATTR_VIEWBOX,
+ SP_ATTR_PRESERVEASPECTRATIO,
+ SP_ATTR_ONLOAD,
+ SP_ATTR_SODIPODI_DOCNAME,
/* SPItem */
SP_ATTR_TRANSFORM,
+ SP_ATTR_SODIPODI_TYPE,
SP_ATTR_SODIPODI_INSENSITIVE,
- SP_ATTR_SODIPODI_NONPRINTABLE,
SP_ATTR_CONNECTOR_AVOID,
SP_ATTR_CONNECTION_POINTS,
- SP_ATTR_STYLE,
SP_ATTR_TRANSFORM_CENTER_X,
SP_ATTR_TRANSFORM_CENTER_Y,
SP_ATTR_INKSCAPE_PATH_EFFECT,
@@ -54,14 +70,6 @@ enum SPAttributeEnum {
/* SPGroup */
SP_ATTR_INKSCAPE_GROUPMODE,
SP_ATTR_INKSCAPE_EXPANDED,
- /* SPRoot */
- SP_ATTR_VERSION,
- SP_ATTR_WIDTH,
- SP_ATTR_HEIGHT,
- SP_ATTR_VIEWBOX,
- SP_ATTR_PRESERVEASPECTRATIO,
- SP_ATTR_INKSCAPE_VERSION,
- SP_ATTR_ONLOAD,
/* SPNamedView */
SP_ATTR_VIEWONLY,
SP_ATTR_SHOWGUIDES,
@@ -100,7 +108,7 @@ enum SPAttributeEnum {
SP_ATTR_INKSCAPE_SNAP_BBOX,
SP_ATTR_INKSCAPE_SNAP_NODE,
SP_ATTR_INKSCAPE_SNAP_OTHERS,
- //SP_ATTR_INKSCAPE_SNAP_FROM_GUIDE,
+ SP_ATTR_INKSCAPE_SNAP_FROM_GUIDE,
SP_ATTR_INKSCAPE_SNAP_ROTATION_CENTER,
SP_ATTR_INKSCAPE_SNAP_GRID,
SP_ATTR_INKSCAPE_SNAP_GUIDE,
@@ -122,7 +130,6 @@ enum SPAttributeEnum {
SP_ATTR_INKSCAPE_DOCUMENT_UNITS,
SP_ATTR_INKSCAPE_LOCKGUIDES,
SP_ATTR_UNITS,
- SP_ATTR_INKSCAPE_CONNECTOR_SPACING,
/* SPColorProfile */
SP_ATTR_LOCAL,
SP_ATTR_NAME,
@@ -132,7 +139,10 @@ enum SPAttributeEnum {
SP_ATTR_POSITION,
SP_ATTR_INKSCAPE_COLOR,
SP_ATTR_INKSCAPE_LOCKED,
- /* SPImage */
+ /* Measure tool */
+ SP_ATTR_INKSCAPE_MEASURE_START,
+ SP_ATTR_INKSCAPE_MEASURE_END,
+ /* SPImage, SPRect, etc. */
SP_ATTR_X,
SP_ATTR_Y,
/* SPPath */
@@ -140,6 +150,7 @@ enum SPAttributeEnum {
SP_ATTR_INKSCAPE_ORIGINAL_D,
SP_ATTR_CONNECTOR_TYPE,
SP_ATTR_CONNECTOR_CURVATURE,
+ SP_ATTR_INKSCAPE_CONNECTOR_SPACING,
SP_ATTR_CONNECTION_START,
SP_ATTR_CONNECTION_END,
SP_ATTR_CONNECTION_START_POINT,
@@ -334,6 +345,7 @@ enum SPAttributeEnum {
SP_ATTR_RESTART,
SP_ATTR_REPEATCOUNT,
SP_ATTR_REPEATDUR,
+
/* Interpolating animations */
SP_ATTR_CALCMODE,
//SP_ATTR_VALUES,
@@ -415,14 +427,49 @@ enum SPAttributeEnum {
SP_ATTR_TEXT_EXCLUDE,
SP_ATTR_LAYOUT_OPTIONS,
- /* CSS & SVG Properties */
+ /* CSS & SVG Properties KEEP ORDER */
- /* Custom full font name because Font stuff below is inadequate REMOVE ME */
- SP_PROP_INKSCAPE_FONT_SPEC,
+ /* Paint */
+ SP_PROP_COLOR,
+ SP_PROP_OPACITY,
+ SP_PROP_FILL,
+ SP_PROP_FILL_OPACITY,
+ SP_PROP_FILL_RULE,
+ SP_PROP_STROKE,
+ SP_PROP_STROKE_OPACITY,
+ SP_PROP_STROKE_WIDTH,
+ SP_PROP_STROKE_LINECAP,
+ SP_PROP_STROKE_LINEJOIN,
+ SP_PROP_STROKE_MITERLIMIT,
+ SP_PROP_STROKE_DASHARRAY,
+ SP_PROP_STROKE_DASHOFFSET,
+ SP_PROP_MARKER,
+ SP_PROP_MARKER_END,
+ SP_PROP_MARKER_MID,
+ SP_PROP_MARKER_START,
+ SP_PROP_PAINT_ORDER, /* SVG2 */
+ SP_PROP_SOLID_COLOR,
+ SP_PROP_SOLID_OPACITY,
+
+ /* CSS Blending/Compositing */
+ SP_PROP_MIX_BLEND_MODE,
+ SP_PROP_ISOLATION,
+
+ /* Misc. Display */
+ SP_PROP_DISPLAY,
+ SP_PROP_OVERFLOW,
+ SP_PROP_VISIBILITY,
- /* Font */
+ /* Clip/Mask */
+ SP_PROP_CLIP,
+ SP_PROP_CLIP_PATH,
+ SP_PROP_CLIP_RULE,
+ SP_PROP_MASK,
+
+ /* Font: Order is important! */
SP_PROP_FONT,
SP_PROP_FONT_FAMILY,
+ SP_PROP_INKSCAPE_FONT_SPEC, // Remove me
SP_PROP_FONT_SIZE,
SP_PROP_FONT_SIZE_ADJUST,
SP_PROP_FONT_STRETCH,
@@ -442,12 +489,12 @@ enum SPAttributeEnum {
/* Text Layout */
SP_PROP_TEXT_INDENT,
SP_PROP_TEXT_ALIGN,
-
SP_PROP_LINE_HEIGHT,
SP_PROP_LETTER_SPACING,
SP_PROP_WORD_SPACING,
SP_PROP_TEXT_TRANSFORM,
+ /* Text (CSS3) */
SP_PROP_DIRECTION,
SP_PROP_WRITING_MODE,
SP_PROP_TEXT_ORIENTATION,
@@ -467,32 +514,14 @@ enum SPAttributeEnum {
SP_PROP_SHAPE_PADDING,
SP_PROP_SHAPE_MARGIN,
- /* Text Decoration CSS 2/CSS 3 Shorthand */
- SP_PROP_TEXT_DECORATION,
- /* Text Decoration CSS 3/SVG 2 */
+ /* Text Decoration */
+ SP_PROP_TEXT_DECORATION, // CSS 2/CSS3-Shorthand
SP_PROP_TEXT_DECORATION_LINE,
SP_PROP_TEXT_DECORATION_STYLE,
SP_PROP_TEXT_DECORATION_COLOR,
SP_PROP_TEXT_DECORATION_FILL,
SP_PROP_TEXT_DECORATION_STROKE,
- /* Misc */
- SP_PROP_CLIP,
- SP_PROP_COLOR,
- SP_PROP_CURSOR,
- SP_PROP_DISPLAY,
- SP_PROP_OVERFLOW,
- SP_PROP_VISIBILITY,
- SP_PROP_MIX_BLEND_MODE,
- SP_PROP_ISOLATION,
-
- /* SVG */
- /* Clip/Mask */
- SP_PROP_CLIP_PATH,
- SP_PROP_CLIP_RULE,
- SP_PROP_MASK,
- SP_PROP_OPACITY,
-
/* Filter */
SP_PROP_ENABLE_BACKGROUND,
SP_PROP_FILTER,
@@ -505,36 +534,19 @@ enum SPAttributeEnum {
SP_PROP_STOP_OPACITY,
SP_PROP_STOP_PATH,
- /* Interactivity */
- SP_PROP_POINTER_EVENTS,
-
- /* Paint */
+ /* Rendering */
SP_PROP_COLOR_INTERPOLATION,
SP_PROP_COLOR_INTERPOLATION_FILTERS,
SP_PROP_COLOR_PROFILE,
SP_PROP_COLOR_RENDERING,
- SP_PROP_FILL,
- SP_PROP_FILL_OPACITY,
- SP_PROP_FILL_RULE,
SP_PROP_IMAGE_RENDERING,
- SP_PROP_MARKER,
- SP_PROP_MARKER_END,
- SP_PROP_MARKER_MID,
- SP_PROP_MARKER_START,
- SP_PROP_PAINT_ORDER, /* SVG2 */
SP_PROP_SHAPE_RENDERING,
- SP_PROP_SOLID_COLOR,
- SP_PROP_SOLID_OPACITY,
- SP_PROP_STROKE,
- SP_PROP_STROKE_DASHARRAY,
- SP_PROP_STROKE_DASHOFFSET,
- SP_PROP_STROKE_LINECAP,
- SP_PROP_STROKE_LINEJOIN,
- SP_PROP_STROKE_MITERLIMIT,
- SP_PROP_STROKE_OPACITY,
- SP_PROP_STROKE_WIDTH,
SP_PROP_TEXT_RENDERING,
+ /* Interactivity */
+ SP_PROP_POINTER_EVENTS,
+ SP_PROP_CURSOR,
+
/* Conditional */
SP_PROP_SYSTEM_LANGUAGE,
SP_PROP_REQUIRED_FEATURES,
diff --git a/src/color-profile.cpp b/src/color-profile.cpp
index 523026aa5..9e545df03 100644
--- a/src/color-profile.cpp
+++ b/src/color-profile.cpp
@@ -705,7 +705,16 @@ gint Inkscape::CMSSystem::getChannelCount(ColorProfile const *profile)
#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
-std::vector<Glib::ustring> ColorProfile::getBaseProfileDirs() {
+// sort home dir before the rest, and alphabetically oterhwise
+bool compareProfileBoolPair(const std::pair<Glib::ustring, bool> & a, const std::pair<Glib::ustring, bool> & b)
+{
+ if (a.second != b.second) return a.second; // a comes first iff it's home, i.e., second == true
+ return a.first < b.first;
+}
+
+// the bool return value tells if it's a user's directory or a system location
+// note that this will treat places under $HOME as system directories when they are found via $XDG_DATA_DIRS
+std::vector<std::pair<Glib::ustring, bool> > ColorProfile::getBaseProfileDirs() {
#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
static bool warnSet = false;
if (!warnSet) {
@@ -715,17 +724,17 @@ std::vector<Glib::ustring> ColorProfile::getBaseProfileDirs() {
warnSet = true;
}
#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- std::vector<Glib::ustring> sources;
+ std::vector<std::pair<Glib::ustring, bool> > sources;
// first try user's local dir
gchar* path = g_build_filename(g_get_user_data_dir(), "color", "icc", NULL);
- sources.push_back(path);
+ sources.push_back(std::make_pair(path, true));
g_free(path);
const gchar* const * dataDirs = g_get_system_data_dirs();
for ( int i = 0; dataDirs[i]; i++ ) {
gchar* path = g_build_filename(dataDirs[i], "color", "icc", NULL);
- sources.push_back(path);
+ sources.push_back(std::make_pair(path, false));
g_free(path);
}
@@ -737,14 +746,14 @@ std::vector<Glib::ustring> ColorProfile::getBaseProfileDirs() {
possible.push_back("/Library/ColorSync/Profiles");
for ( std::vector<Glib::ustring>::const_iterator it = possible.begin(); it != possible.end(); ++it ) {
if ( g_file_test(it->c_str(), G_FILE_TEST_EXISTS) && g_file_test(it->c_str(), G_FILE_TEST_IS_DIR) ) {
- sources.push_back(it->c_str());
+ sources.push_back(std::make_pair(it->c_str(), false));
onOSX = true;
}
}
if ( onOSX ) {
gchar* path = g_build_filename(g_get_home_dir(), "Library", "ColorSync", "Profiles", NULL);
if ( g_file_test(path, G_FILE_TEST_EXISTS) && g_file_test(path, G_FILE_TEST_IS_DIR) ) {
- sources.push_back(path);
+ sources.push_back(std::make_pair(path, true));
}
g_free(path);
}
@@ -760,12 +769,17 @@ std::vector<Glib::ustring> ColorProfile::getBaseProfileDirs() {
if ( !g_utf8_validate(utf8Path, -1, NULL) ) {
g_warning( "GetColorDirectoryW() resulted in invalid UTF-8" );
} else {
- sources.push_back(utf8Path);
+ sources.push_back(std::make_pair(utf8Path, false));
}
g_free( utf8Path );
}
#endif // WIN32
+ std::sort(sources.begin(), sources.end(), compareProfileBoolPair);
+ std::vector<std::pair<Glib::ustring, bool> >::iterator last = std::unique(sources.begin(), sources.end());
+ sources.erase(last, sources.end());
+
+
return sources;
}
@@ -808,28 +822,28 @@ static bool isIccFile( gchar const *filepath )
return isIccFile;
}
-std::vector<Glib::ustring> ColorProfile::getProfileFiles()
+std::vector<std::pair<Glib::ustring, bool> > ColorProfile::getProfileFiles()
{
- std::vector<Glib::ustring> files;
+ std::vector<std::pair<Glib::ustring, bool> > files;
- std::list<Glib::ustring> sources;
+ std::list<std::pair<Glib::ustring, bool> > sources;
{
- std::vector<Glib::ustring> tmp = ColorProfile::getBaseProfileDirs();
+ std::vector<std::pair<Glib::ustring, bool> > tmp = ColorProfile::getBaseProfileDirs();
sources.insert(sources.begin(), tmp.begin(), tmp.end());
}
- for ( std::list<Glib::ustring>::const_iterator it = sources.begin(); it != sources.end(); ++it ) {
- if ( g_file_test( it->c_str(), G_FILE_TEST_EXISTS ) && g_file_test( it->c_str(), G_FILE_TEST_IS_DIR ) ) {
+ for ( std::list<std::pair<Glib::ustring, bool> >::const_iterator it = sources.begin(); it != sources.end(); ++it ) {
+ if ( g_file_test( it->first.c_str(), G_FILE_TEST_EXISTS ) && g_file_test( it->first.c_str(), G_FILE_TEST_IS_DIR ) ) {
GError *err = 0;
- GDir *dir = g_dir_open(it->c_str(), 0, &err);
+ GDir *dir = g_dir_open(it->first.c_str(), 0, &err);
if (dir) {
for (gchar const *file = g_dir_read_name(dir); file != NULL; file = g_dir_read_name(dir)) {
- gchar *filepath = g_build_filename(it->c_str(), file, NULL);
+ gchar *filepath = g_build_filename(it->first.c_str(), file, NULL);
if ( g_file_test( filepath, G_FILE_TEST_IS_DIR ) ) {
- sources.push_back( filepath );
+ sources.push_back( std::make_pair(filepath, it->second) );
} else {
if ( isIccFile( filepath ) ) {
- files.push_back( filepath );
+ files.push_back( std::make_pair(filepath, it->second) );
}
}
@@ -838,31 +852,44 @@ std::vector<Glib::ustring> ColorProfile::getProfileFiles()
g_dir_close(dir);
dir = 0;
} else {
- gchar *safeDir = Inkscape::IO::sanitizeString(it->c_str());
+ gchar *safeDir = Inkscape::IO::sanitizeString(it->first.c_str());
g_warning(_("Color profiles directory (%s) is unavailable."), safeDir);
g_free(safeDir);
}
}
}
+ std::sort(files.begin(), files.end(), compareProfileBoolPair);
+ std::vector<std::pair<Glib::ustring, bool> >::iterator last = std::unique(files.begin(), files.end());
+ files.erase(last, files.end());
+
return files;
}
-std::vector<std::pair<Glib::ustring, Glib::ustring> > ColorProfile::getProfileFilesWithNames()
+bool compareProfilePairByName(const std::pair<std::pair<Glib::ustring, bool>, Glib::ustring> & a,
+ const std::pair<std::pair<Glib::ustring, bool>, Glib::ustring> & b)
{
- std::vector<std::pair<Glib::ustring, Glib::ustring> > result;
+ if (a.first.second != b.first.second) return a.first.second;
+ return a.second < b.second;
+}
+
+std::vector<std::pair<std::pair<Glib::ustring, bool>, Glib::ustring> > ColorProfile::getProfileFilesWithNames()
+{
+ std::vector<std::pair<std::pair<Glib::ustring, bool>, Glib::ustring> > result;
#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
- std::vector<Glib::ustring> files = getProfileFiles();
- for ( std::vector<Glib::ustring>::const_iterator it = files.begin(); it != files.end(); ++it ) {
- cmsHPROFILE hProfile = cmsOpenProfileFromFile(it->c_str(), "r");
+ std::vector<std::pair<Glib::ustring, bool> > files = getProfileFiles();
+ for ( std::vector<std::pair<Glib::ustring, bool> >::const_iterator it = files.begin(); it != files.end(); ++it ) {
+ cmsHPROFILE hProfile = cmsOpenProfileFromFile(it->first.c_str(), "r");
if ( hProfile ) {
Glib::ustring name = getNameFromProfile(hProfile);
result.push_back( std::make_pair(*it, name) );
cmsCloseProfile(hProfile);
}
}
- std::sort(result.begin(), result.end());
+
+ std::sort(result.begin(), result.end(), compareProfilePairByName);
+
#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
return result;
@@ -942,12 +969,12 @@ void loadProfiles()
static bool profiles_searched = false;
if ( !profiles_searched ) {
knownProfiles.clear();
- std::vector<Glib::ustring> files = ColorProfile::getProfileFiles();
+ std::vector<std::pair<Glib::ustring, bool> > files = ColorProfile::getProfileFiles();
- for ( std::vector<Glib::ustring>::const_iterator it = files.begin(); it != files.end(); ++it ) {
- cmsHPROFILE prof = cmsOpenProfileFromFile( it->c_str(), "r" );
+ for ( std::vector<std::pair<Glib::ustring, bool> >::const_iterator it = files.begin(); it != files.end(); ++it ) {
+ cmsHPROFILE prof = cmsOpenProfileFromFile( it->first.c_str(), "r" );
if ( prof ) {
- ProfileInfo info( prof, Glib::filename_to_utf8( it->c_str() ) );
+ ProfileInfo info( prof, Glib::filename_to_utf8( it->first.c_str() ) );
cmsCloseProfile( prof );
prof = 0;
diff --git a/src/color-profile.h b/src/color-profile.h
index cb6b25945..fed8c8c13 100644
--- a/src/color-profile.h
+++ b/src/color-profile.h
@@ -33,9 +33,9 @@ public:
friend cmsHPROFILE colorprofile_get_handle( SPDocument*, unsigned int*, char const* );
friend class CMSSystem;
- static std::vector<Glib::ustring> getBaseProfileDirs();
- static std::vector<Glib::ustring> getProfileFiles();
- static std::vector<std::pair<Glib::ustring, Glib::ustring> > getProfileFilesWithNames();
+ static std::vector<std::pair<Glib::ustring, bool> > getBaseProfileDirs();
+ static std::vector<std::pair<Glib::ustring, bool> > getProfileFiles();
+ static std::vector<std::pair<std::pair<Glib::ustring, bool>, Glib::ustring> > getProfileFilesWithNames();
#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
//icColorSpaceSignature getColorSpace() const;
ColorSpaceSig getColorSpace() const;
diff --git a/src/display/nr-filter.cpp b/src/display/nr-filter.cpp
index 8591be7eb..789758d9c 100644
--- a/src/display/nr-filter.cpp
+++ b/src/display/nr-filter.cpp
@@ -108,7 +108,9 @@ int Filter::render(Inkscape::DrawingItem const *item, DrawingContext &graphic, D
graphic.setOperator(CAIRO_OPERATOR_OVER);
return 1;
}
-
+ Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ item->drawing().setFilterQuality(prefs->getInt("/options/filterquality/value", 0));
+ item->drawing().setBlurQuality(prefs->getInt("/options/blurquality/value", 0));
FilterQuality const filterquality = (FilterQuality)item->drawing().filterQuality();
int const blurquality = item->drawing().blurQuality();
diff --git a/src/document.cpp b/src/document.cpp
index 2500a5cee..d8c3f1269 100644
--- a/src/document.cpp
+++ b/src/document.cpp
@@ -369,11 +369,6 @@ SPDocument *SPDocument::createDoc(Inkscape::XML::Document *rdoc,
// Recursively build object tree
document->root->invoke_build(document, rroot, false);
- /* fixme: Not sure about this, but lets assume ::build updates */
- rroot->setAttribute("inkscape:version", Inkscape::version_string);
- /* fixme: Again, I moved these here to allow version determining in ::build (Lauris) */
-
-
/* Eliminate obsolete sodipodi:docbase, for privacy reasons */
rroot->setAttribute("sodipodi:docbase", NULL);
@@ -589,15 +584,6 @@ Inkscape::Util::Unit const* SPDocument::getDisplayUnit() const
return nv ? nv->getDisplayUnit() : unit_table.getUnit("px");
}
-/// guaranteed not to return nullptr
-// returns 'px' units as default, like legacy Inkscape
-// THIS SHOULD NOT BE USED... INSTEAD USE DOCUMENT SCALE
-Inkscape::Util::Unit const& SPDocument::getSVGUnit() const
-{
- SPNamedView const* nv = sp_document_namedview(this, NULL);
- return nv ? nv->getSVGUnit() : *unit_table.getUnit("px");
-}
-
/// Sets document scale (by changing viewBox)
void SPDocument::setDocumentScale( double scaleX, double scaleY ) {
diff --git a/src/document.h b/src/document.h
index 653e9d0db..e95042155 100644
--- a/src/document.h
+++ b/src/document.h
@@ -243,7 +243,6 @@ public:
SPDocument *doRef();
SPDocument *doUnref();
Inkscape::Util::Unit const* getDisplayUnit() const;
- Inkscape::Util::Unit const& getSVGUnit() const;
void setDocumentScale( const double scaleX, const double scaleY );
void setDocumentScale( const double scale );
Geom::Scale getDocumentScale() const;
diff --git a/src/extension/implementation/script.cpp b/src/extension/implementation/script.cpp
index 9aaf4b952..01323bee2 100644
--- a/src/extension/implementation/script.cpp
+++ b/src/extension/implementation/script.cpp
@@ -808,15 +808,17 @@ void Script::effect(Inkscape::Extension::Effect *module,
\param oldroot The root node of the old (destination) document.
\param newroot The root node of the new (source) document.
- This function first deletes all the elements in the old document by
+ This function first deletes all the root attributes in the old document followed
+ by copying all the root attributes from the new document to the old document.
+
+ It then deletes all the elements in the old document by
making two pass, the first to create a list of the old elements and
the second to actually delete them. This two pass approach removes issues
with the list being change while parsing through it... lots of nasty bugs.
Then, it copies all the element in the new document into the old document.
- Finally, it replaces the attributes in the root element of the old document
- by the attributes in root of the new document.
+ Finally, it copies the attributes in namedview.
*/
void Script::copy_doc (Inkscape::XML::Node * oldroot, Inkscape::XML::Node * newroot)
{
@@ -829,6 +831,28 @@ void Script::copy_doc (Inkscape::XML::Node * oldroot, Inkscape::XML::Node * newr
// For copying attributes in root and in namedview
using Inkscape::Util::List;
using Inkscape::XML::AttributeRecord;
+ std::vector<gchar const *> attribs;
+
+ // Must explicitly copy root attributes. This must be done first since
+ // copying grid lines calls "SPGuide::set()" which needs to know the
+ // width, height, and viewBox of the root element.
+
+ // Make a list of all attributes of the old root node.
+ for (List<AttributeRecord const> iter = oldroot->attributeList(); iter; ++iter) {
+ attribs.push_back(g_quark_to_string(iter->key));
+ }
+
+ // Delete the attributes of the old root node.
+ for (std::vector<gchar const *>::const_iterator it = attribs.begin(); it != attribs.end(); ++it) {
+ oldroot->setAttribute(*it, NULL);
+ }
+
+ // Set the new attributes.
+ for (List<AttributeRecord const> iter = newroot->attributeList(); iter; ++iter) {
+ gchar const *name = g_quark_to_string(iter->key);
+ oldroot->setAttribute(name, newroot->attribute(name));
+ }
+
// Question: Why is the "sodipodi:namedview" special? Treating it as a normal
// elmement results in crashes.
@@ -882,30 +906,9 @@ void Script::copy_doc (Inkscape::XML::Node * oldroot, Inkscape::XML::Node * newr
}
}
- std::vector<gchar const *> attribs;
-
- // Must explicitly copy root attributes.
-
- // Make a list of all attributes of the old root node.
- for (List<AttributeRecord const> iter = oldroot->attributeList(); iter; ++iter) {
- attribs.push_back(g_quark_to_string(iter->key));
- }
-
- // Delete the attributes of the old root node.
- for (std::vector<gchar const *>::const_iterator it = attribs.begin(); it != attribs.end(); ++it) {
- oldroot->setAttribute(*it, NULL);
- }
-
- // Set the new attributes.
- for (List<AttributeRecord const> iter = newroot->attributeList(); iter; ++iter) {
- gchar const *name = g_quark_to_string(iter->key);
- oldroot->setAttribute(name, newroot->attribute(name));
- }
-
attribs.clear();
// Must explicitly copy namedview attributes.
-
// Make a list of all attributes of the old namedview node.
for (List<AttributeRecord const> iter = oldroot_namedview->attributeList(); iter; ++iter) {
attribs.push_back(g_quark_to_string(iter->key));
diff --git a/src/extension/internal/bitmap/adaptiveThreshold.cpp b/src/extension/internal/bitmap/adaptiveThreshold.cpp
index 9c9d6796b..3d7475cb3 100644
--- a/src/extension/internal/bitmap/adaptiveThreshold.cpp
+++ b/src/extension/internal/bitmap/adaptiveThreshold.cpp
@@ -38,9 +38,9 @@ AdaptiveThreshold::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Adaptive Threshold") "</name>\n"
"<id>org.inkscape.effect.bitmap.adaptiveThreshold</id>\n"
- "<param name=\"width\" gui-text=\"" N_("Width:") "\" type=\"int\" min=\"-100\" max=\"100\">5</param>\n"
- "<param name=\"height\" gui-text=\"" N_("Height:") "\" type=\"int\" min=\"-100\" max=\"100\">5</param>\n"
- "<param name=\"offset\" gui-text=\"" N_("Offset:") "\" type=\"int\" min=\"0\" max=\"100\">0</param>\n"
+ "<param name=\"width\" _gui-text=\"" N_("Width:") "\" type=\"int\" min=\"-100\" max=\"100\">5</param>\n"
+ "<param name=\"height\" _gui-text=\"" N_("Height:") "\" type=\"int\" min=\"-100\" max=\"100\">5</param>\n"
+ "<param name=\"offset\" _gui-text=\"" N_("Offset:") "\" type=\"int\" min=\"0\" max=\"100\">0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/addNoise.cpp b/src/extension/internal/bitmap/addNoise.cpp
index 0322dec0c..02bb877b7 100644
--- a/src/extension/internal/bitmap/addNoise.cpp
+++ b/src/extension/internal/bitmap/addNoise.cpp
@@ -44,7 +44,7 @@ AddNoise::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Add Noise") "</name>\n"
"<id>org.inkscape.effect.bitmap.addNoise</id>\n"
- "<param name=\"noiseType\" gui-text=\"" N_("Type:") "\" type=\"enum\" >\n"
+ "<param name=\"noiseType\" _gui-text=\"" N_("Type:") "\" type=\"enum\" >\n"
"<_item value='Uniform Noise'>" N_("Uniform Noise") "</_item>\n"
"<_item value='Gaussian Noise'>" N_("Gaussian Noise") "</_item>\n"
"<_item value='Multiplicative Gaussian Noise'>" N_("Multiplicative Gaussian Noise") "</_item>\n"
diff --git a/src/extension/internal/bitmap/blur.cpp b/src/extension/internal/bitmap/blur.cpp
index cc44994ec..37a56b8a9 100644
--- a/src/extension/internal/bitmap/blur.cpp
+++ b/src/extension/internal/bitmap/blur.cpp
@@ -37,8 +37,8 @@ Blur::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Blur") "</name>\n"
"<id>org.inkscape.effect.bitmap.blur</id>\n"
- "<param name=\"radius\" gui-text=\"" N_("Radius:") "\" type=\"float\" min=\"0\" max=\"100\">1</param>\n"
- "<param name=\"sigma\" gui-text=\"" N_("Sigma:") "\" type=\"float\" min=\"0\" max=\"100\">0.5</param>\n"
+ "<param name=\"radius\" _gui-text=\"" N_("Radius:") "\" type=\"float\" min=\"0\" max=\"100\">1</param>\n"
+ "<param name=\"sigma\" _gui-text=\"" N_("Sigma:") "\" type=\"float\" min=\"0\" max=\"100\">0.5</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/channel.cpp b/src/extension/internal/bitmap/channel.cpp
index 372e7456b..57ef0421b 100644
--- a/src/extension/internal/bitmap/channel.cpp
+++ b/src/extension/internal/bitmap/channel.cpp
@@ -47,7 +47,7 @@ Channel::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Channel") "</name>\n"
"<id>org.inkscape.effect.bitmap.channel</id>\n"
- "<param name=\"layer\" gui-text=\"" N_("Layer:") "\" type=\"enum\" >\n"
+ "<param name=\"layer\" _gui-text=\"" N_("Layer:") "\" type=\"enum\" >\n"
"<_item value='Red Channel'>" N_("Red Channel") "</_item>\n"
"<_item value='Green Channel'>" N_("Green Channel") "</_item>\n"
"<_item value='Blue Channel'>" N_("Blue Channel") "</_item>\n"
diff --git a/src/extension/internal/bitmap/charcoal.cpp b/src/extension/internal/bitmap/charcoal.cpp
index f647f8711..2cfd741d1 100644
--- a/src/extension/internal/bitmap/charcoal.cpp
+++ b/src/extension/internal/bitmap/charcoal.cpp
@@ -37,8 +37,8 @@ Charcoal::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Charcoal") "</name>\n"
"<id>org.inkscape.effect.bitmap.charcoal</id>\n"
- "<param name=\"radius\" gui-text=\"" N_("Radius:") "\" type=\"float\" min=\"0\" max=\"100\">1</param>\n"
- "<param name=\"sigma\" gui-text=\"" N_("Sigma:") "\" type=\"float\" min=\"0\" max=\"100\">0.5</param>\n"
+ "<param name=\"radius\" _gui-text=\"" N_("Radius:") "\" type=\"float\" min=\"0\" max=\"100\">1</param>\n"
+ "<param name=\"sigma\" _gui-text=\"" N_("Sigma:") "\" type=\"float\" min=\"0\" max=\"100\">0.5</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/colorize.cpp b/src/extension/internal/bitmap/colorize.cpp
index 0b3b95420..1c4b8a696 100644
--- a/src/extension/internal/bitmap/colorize.cpp
+++ b/src/extension/internal/bitmap/colorize.cpp
@@ -49,7 +49,7 @@ Colorize::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Colorize") "</name>\n"
"<id>org.inkscape.effect.bitmap.colorize</id>\n"
- "<param name=\"color\" gui-text=\"" N_("Color") "\" type=\"color\">0</param>\n"
+ "<param name=\"color\" _gui-text=\"" N_("Color") "\" type=\"color\">0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/contrast.cpp b/src/extension/internal/bitmap/contrast.cpp
index c527536d9..a3be77808 100644
--- a/src/extension/internal/bitmap/contrast.cpp
+++ b/src/extension/internal/bitmap/contrast.cpp
@@ -39,7 +39,7 @@ Contrast::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Contrast") "</name>\n"
"<id>org.inkscape.effect.bitmap.contrast</id>\n"
- "<param name=\"sharpen\" gui-text=\"" N_("Adjust:") "\" type=\"int\" min=\"0\" max=\"10\">0</param>\n"
+ "<param name=\"sharpen\" _gui-text=\"" N_("Adjust:") "\" type=\"int\" min=\"0\" max=\"10\">0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/crop.cpp b/src/extension/internal/bitmap/crop.cpp
index 02d92668b..8f6c503ca 100644
--- a/src/extension/internal/bitmap/crop.cpp
+++ b/src/extension/internal/bitmap/crop.cpp
@@ -65,10 +65,10 @@ Crop::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Crop") "</name>\n"
"<id>org.inkscape.effect.bitmap.crop</id>\n"
- "<param name=\"top\" gui-text=\"" N_("Top (px):") "\" type=\"int\" min=\"0\" max=\"100000\">0</param>\n"
- "<param name=\"bottom\" gui-text=\"" N_("Bottom (px):") "\" type=\"int\" min=\"0\" max=\"100000\">0</param>\n"
- "<param name=\"left\" gui-text=\"" N_("Left (px):") "\" type=\"int\" min=\"0\" max=\"100000\">0</param>\n"
- "<param name=\"right\" gui-text=\"" N_("Right (px):") "\" type=\"int\" min=\"0\" max=\"100000\">0</param>\n"
+ "<param name=\"top\" _gui-text=\"" N_("Top (px):") "\" type=\"int\" min=\"0\" max=\"100000\">0</param>\n"
+ "<param name=\"bottom\" _gui-text=\"" N_("Bottom (px):") "\" type=\"int\" min=\"0\" max=\"100000\">0</param>\n"
+ "<param name=\"left\" _gui-text=\"" N_("Left (px):") "\" type=\"int\" min=\"0\" max=\"100000\">0</param>\n"
+ "<param name=\"right\" _gui-text=\"" N_("Right (px):") "\" type=\"int\" min=\"0\" max=\"100000\">0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/cycleColormap.cpp b/src/extension/internal/bitmap/cycleColormap.cpp
index 349b6d9f5..8d55087a6 100644
--- a/src/extension/internal/bitmap/cycleColormap.cpp
+++ b/src/extension/internal/bitmap/cycleColormap.cpp
@@ -36,7 +36,7 @@ CycleColormap::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Cycle Colormap") "</name>\n"
"<id>org.inkscape.effect.bitmap.cycleColormap</id>\n"
- "<param name=\"amount\" gui-text=\"" N_("Amount:") "\" type=\"int\" min=\"0\" max=\"360\">180</param>\n"
+ "<param name=\"amount\" _gui-text=\"" N_("Amount:") "\" type=\"int\" min=\"0\" max=\"360\">180</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/edge.cpp b/src/extension/internal/bitmap/edge.cpp
index 2d165331f..486ce0e4e 100644
--- a/src/extension/internal/bitmap/edge.cpp
+++ b/src/extension/internal/bitmap/edge.cpp
@@ -36,7 +36,7 @@ Edge::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Edge") "</name>\n"
"<id>org.inkscape.effect.bitmap.edge</id>\n"
- "<param name=\"radius\" gui-text=\"" N_("Radius:") "\" type=\"int\" min=\"0\" max=\"100\">0</param>\n"
+ "<param name=\"radius\" _gui-text=\"" N_("Radius:") "\" type=\"int\" min=\"0\" max=\"100\">0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/emboss.cpp b/src/extension/internal/bitmap/emboss.cpp
index 634c71a98..9518cf320 100644
--- a/src/extension/internal/bitmap/emboss.cpp
+++ b/src/extension/internal/bitmap/emboss.cpp
@@ -37,8 +37,8 @@ Emboss::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Emboss") "</name>\n"
"<id>org.inkscape.effect.bitmap.emboss</id>\n"
- "<param name=\"radius\" gui-text=\"" N_("Radius:") "\" type=\"float\" min=\"0\" max=\"100\">1.0</param>\n"
- "<param name=\"sigma\" gui-text=\"" N_("Sigma:") "\" type=\"float\" min=\"-50\" max=\"50\">0.5</param>\n"
+ "<param name=\"radius\" _gui-text=\"" N_("Radius:") "\" type=\"float\" min=\"0\" max=\"100\">1.0</param>\n"
+ "<param name=\"sigma\" _gui-text=\"" N_("Sigma:") "\" type=\"float\" min=\"-50\" max=\"50\">0.5</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/gaussianBlur.cpp b/src/extension/internal/bitmap/gaussianBlur.cpp
index 7d93ef66a..d68cd59bc 100644
--- a/src/extension/internal/bitmap/gaussianBlur.cpp
+++ b/src/extension/internal/bitmap/gaussianBlur.cpp
@@ -37,8 +37,8 @@ GaussianBlur::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Gaussian Blur") "</name>\n"
"<id>org.inkscape.effect.bitmap.gaussianBlur</id>\n"
- "<param name=\"width\" gui-text=\"" N_("Factor:") "\" type=\"float\" min=\"0\" max=\"100\">5.0</param>\n"
- "<param name=\"sigma\" gui-text=\"" N_("Sigma:") "\" type=\"float\" min=\"0\" max=\"100\">5.0</param>\n"
+ "<param name=\"width\" _gui-text=\"" N_("Factor:") "\" type=\"float\" min=\"0\" max=\"100\">5.0</param>\n"
+ "<param name=\"sigma\" _gui-text=\"" N_("Sigma:") "\" type=\"float\" min=\"0\" max=\"100\">5.0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/implode.cpp b/src/extension/internal/bitmap/implode.cpp
index 15f92f5f6..c24fb7bf5 100644
--- a/src/extension/internal/bitmap/implode.cpp
+++ b/src/extension/internal/bitmap/implode.cpp
@@ -36,7 +36,7 @@ Implode::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Implode") "</name>\n"
"<id>org.inkscape.effect.bitmap.implode</id>\n"
- "<param name=\"factor\" gui-text=\"" N_("Factor:") "\" type=\"float\" min=\"0\" max=\"100\">10</param>\n"
+ "<param name=\"factor\" _gui-text=\"" N_("Factor:") "\" type=\"float\" min=\"0\" max=\"100\">10</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/level.cpp b/src/extension/internal/bitmap/level.cpp
index 9c266eb11..168328e8f 100644
--- a/src/extension/internal/bitmap/level.cpp
+++ b/src/extension/internal/bitmap/level.cpp
@@ -40,9 +40,9 @@ Level::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Level") "</name>\n"
"<id>org.inkscape.effect.bitmap.level</id>\n"
- "<param name=\"blackPoint\" gui-text=\"" N_("Black Point:") "\" type=\"float\" min=\"0\" max=\"100\">0</param>\n"
- "<param name=\"whitePoint\" gui-text=\"" N_("White Point:") "\" type=\"float\" min=\"0\" max=\"100\">100</param>\n"
- "<param name=\"midPoint\" gui-text=\"" N_("Gamma Correction:") "\" type=\"float\" min=\"0\" max=\"10\">1</param>\n"
+ "<param name=\"blackPoint\" _gui-text=\"" N_("Black Point:") "\" type=\"float\" min=\"0\" max=\"100\">0</param>\n"
+ "<param name=\"whitePoint\" _gui-text=\"" N_("White Point:") "\" type=\"float\" min=\"0\" max=\"100\">100</param>\n"
+ "<param name=\"midPoint\" _gui-text=\"" N_("Gamma Correction:") "\" type=\"float\" min=\"0\" max=\"10\">1</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/levelChannel.cpp b/src/extension/internal/bitmap/levelChannel.cpp
index 3e39657c3..d5c636059 100644
--- a/src/extension/internal/bitmap/levelChannel.cpp
+++ b/src/extension/internal/bitmap/levelChannel.cpp
@@ -51,7 +51,7 @@ LevelChannel::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Level (with Channel)") "</name>\n"
"<id>org.inkscape.effect.bitmap.levelChannel</id>\n"
- "<param name=\"channel\" gui-text=\"" N_("Channel:") "\" type=\"enum\" >\n"
+ "<param name=\"channel\" _gui-text=\"" N_("Channel:") "\" type=\"enum\" >\n"
"<_item value='Red Channel'>" N_("Red Channel") "</_item>\n"
"<_item value='Green Channel'>" N_("Green Channel") "</_item>\n"
"<_item value='Blue Channel'>" N_("Blue Channel") "</_item>\n"
@@ -62,9 +62,9 @@ LevelChannel::init(void)
"<_item value='Opacity Channel'>" N_("Opacity Channel") "</_item>\n"
"<_item value='Matte Channel'>" N_("Matte Channel") "</_item>\n"
"</param>\n"
- "<param name=\"blackPoint\" gui-text=\"" N_("Black Point:") "\" type=\"float\" min=\"0.0\" max=\"100.0\">0.0</param>\n"
- "<param name=\"whitePoint\" gui-text=\"" N_("White Point:") "\" type=\"float\" min=\"0.0\" max=\"100.0\">100.0</param>\n"
- "<param name=\"midPoint\" gui-text=\"" N_("Gamma Correction:") "\" type=\"float\" min=\"0.0\" max=\"10.0\">1.0</param>\n"
+ "<param name=\"blackPoint\" _gui-text=\"" N_("Black Point:") "\" type=\"float\" min=\"0.0\" max=\"100.0\">0.0</param>\n"
+ "<param name=\"whitePoint\" _gui-text=\"" N_("White Point:") "\" type=\"float\" min=\"0.0\" max=\"100.0\">100.0</param>\n"
+ "<param name=\"midPoint\" _gui-text=\"" N_("Gamma Correction:") "\" type=\"float\" min=\"0.0\" max=\"10.0\">1.0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/medianFilter.cpp b/src/extension/internal/bitmap/medianFilter.cpp
index 44ff9e543..64837850d 100644
--- a/src/extension/internal/bitmap/medianFilter.cpp
+++ b/src/extension/internal/bitmap/medianFilter.cpp
@@ -36,7 +36,7 @@ MedianFilter::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Median") "</name>\n"
"<id>org.inkscape.effect.bitmap.medianFilter</id>\n"
- "<param name=\"radius\" gui-text=\"" N_("Radius:") "\" type=\"float\" min=\"0\" max=\"100\">0</param>\n"
+ "<param name=\"radius\" _gui-text=\"" N_("Radius:") "\" type=\"float\" min=\"0\" max=\"100\">0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/modulate.cpp b/src/extension/internal/bitmap/modulate.cpp
index d123a5c15..3b3a2495c 100644
--- a/src/extension/internal/bitmap/modulate.cpp
+++ b/src/extension/internal/bitmap/modulate.cpp
@@ -39,9 +39,9 @@ Modulate::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("HSB Adjust") "</name>\n"
"<id>org.inkscape.effect.bitmap.modulate</id>\n"
- "<param name=\"hue\" gui-text=\"" N_("Hue:") "\" type=\"float\" min=\"-360\" max=\"360\">0</param>\n"
- "<param name=\"saturation\" gui-text=\"" N_("Saturation:") "\" type=\"float\" min=\"-200\" max=\"200\">0</param>\n"
- "<param name=\"brightness\" gui-text=\"" N_("Brightness:") "\" type=\"float\" min=\"-200\" max=\"200\">0</param>\n"
+ "<param name=\"hue\" _gui-text=\"" N_("Hue:") "\" type=\"float\" min=\"-360\" max=\"360\">0</param>\n"
+ "<param name=\"saturation\" _gui-text=\"" N_("Saturation:") "\" type=\"float\" min=\"-200\" max=\"200\">0</param>\n"
+ "<param name=\"brightness\" _gui-text=\"" N_("Brightness:") "\" type=\"float\" min=\"-200\" max=\"200\">0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/oilPaint.cpp b/src/extension/internal/bitmap/oilPaint.cpp
index 5377ab2b1..88c85a590 100644
--- a/src/extension/internal/bitmap/oilPaint.cpp
+++ b/src/extension/internal/bitmap/oilPaint.cpp
@@ -36,7 +36,7 @@ OilPaint::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Oil Paint") "</name>\n"
"<id>org.inkscape.effect.bitmap.oilPaint</id>\n"
- "<param name=\"radius\" gui-text=\"" N_("Radius:") "\" type=\"int\" min=\"0\" max=\"50\">3</param>\n"
+ "<param name=\"radius\" _gui-text=\"" N_("Radius:") "\" type=\"int\" min=\"0\" max=\"50\">3</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/opacity.cpp b/src/extension/internal/bitmap/opacity.cpp
index f9b4bbc27..a25e99543 100644
--- a/src/extension/internal/bitmap/opacity.cpp
+++ b/src/extension/internal/bitmap/opacity.cpp
@@ -37,7 +37,7 @@ Opacity::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Opacity") "</name>\n"
"<id>org.inkscape.effect.bitmap.opacity</id>\n"
- "<param name=\"opacity\" gui-text=\"" N_("Opacity:") "\" type=\"float\" min=\"0.0\" max=\"100.0\">80.0</param>\n"
+ "<param name=\"opacity\" _gui-text=\"" N_("Opacity:") "\" type=\"float\" min=\"0.0\" max=\"100.0\">80.0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/raise.cpp b/src/extension/internal/bitmap/raise.cpp
index 9ca832c30..e85cc747a 100644
--- a/src/extension/internal/bitmap/raise.cpp
+++ b/src/extension/internal/bitmap/raise.cpp
@@ -39,9 +39,9 @@ Raise::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Raise") "</name>\n"
"<id>org.inkscape.effect.bitmap.raise</id>\n"
- "<param name=\"width\" gui-text=\"" N_("Width:") "\" type=\"int\" min=\"0\" max=\"800\">6</param>\n"
- "<param name=\"height\" gui-text=\"" N_("Height:") "\" type=\"int\" min=\"0\" max=\"800\">6</param>\n"
- "<param name=\"raisedFlag\" gui-text=\"" N_("Raised") "\" type=\"boolean\">0</param>\n"
+ "<param name=\"width\" _gui-text=\"" N_("Width:") "\" type=\"int\" min=\"0\" max=\"800\">6</param>\n"
+ "<param name=\"height\" _gui-text=\"" N_("Height:") "\" type=\"int\" min=\"0\" max=\"800\">6</param>\n"
+ "<param name=\"raisedFlag\" _gui-text=\"" N_("Raised") "\" type=\"boolean\">0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/reduceNoise.cpp b/src/extension/internal/bitmap/reduceNoise.cpp
index db227ec41..b0d8b9c2d 100644
--- a/src/extension/internal/bitmap/reduceNoise.cpp
+++ b/src/extension/internal/bitmap/reduceNoise.cpp
@@ -39,7 +39,7 @@ ReduceNoise::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Reduce Noise") "</name>\n"
"<id>org.inkscape.effect.bitmap.reduceNoise</id>\n"
- "<param name=\"order\" gui-text=\"" N_("Order:") "\" type=\"int\" min=\"-1\" max=\"100\">-1</param>\n"
+ "<param name=\"order\" _gui-text=\"" N_("Order:") "\" type=\"int\" min=\"-1\" max=\"100\">-1</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/sample.cpp b/src/extension/internal/bitmap/sample.cpp
index 706ae1d5b..081303b73 100644
--- a/src/extension/internal/bitmap/sample.cpp
+++ b/src/extension/internal/bitmap/sample.cpp
@@ -38,8 +38,8 @@ Sample::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Resample") "</name>\n"
"<id>org.inkscape.effect.bitmap.sample</id>\n"
- "<param name=\"width\" gui-text=\"" N_("Width:") "\" type=\"int\" min=\"0\" max=\"6400\">100</param>\n"
- "<param name=\"height\" gui-text=\"" N_("Height:") "\" type=\"int\" min=\"0\" max=\"6400\">100</param>\n"
+ "<param name=\"width\" _gui-text=\"" N_("Width:") "\" type=\"int\" min=\"0\" max=\"6400\">100</param>\n"
+ "<param name=\"height\" _gui-text=\"" N_("Height:") "\" type=\"int\" min=\"0\" max=\"6400\">100</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/shade.cpp b/src/extension/internal/bitmap/shade.cpp
index de7c9d669..927a3a578 100644
--- a/src/extension/internal/bitmap/shade.cpp
+++ b/src/extension/internal/bitmap/shade.cpp
@@ -39,9 +39,9 @@ Shade::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Shade") "</name>\n"
"<id>org.inkscape.effect.bitmap.shade</id>\n"
- "<param name=\"azimuth\" gui-text=\"" N_("Azimuth:") "\" type=\"float\" min=\"-180\" max=\"180\">30</param>\n"
- "<param name=\"elevation\" gui-text=\"" N_("Elevation:") "\" type=\"float\" min=\"-180\" max=\"180\">30</param>\n"
- "<param name=\"colorShading\" gui-text=\"" N_("Colored Shading") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"azimuth\" _gui-text=\"" N_("Azimuth:") "\" type=\"float\" min=\"-180\" max=\"180\">30</param>\n"
+ "<param name=\"elevation\" _gui-text=\"" N_("Elevation:") "\" type=\"float\" min=\"-180\" max=\"180\">30</param>\n"
+ "<param name=\"colorShading\" _gui-text=\"" N_("Colored Shading") "\" type=\"boolean\">false</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/sharpen.cpp b/src/extension/internal/bitmap/sharpen.cpp
index 89181abad..d397d46c8 100644
--- a/src/extension/internal/bitmap/sharpen.cpp
+++ b/src/extension/internal/bitmap/sharpen.cpp
@@ -37,8 +37,8 @@ Sharpen::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Sharpen") "</name>\n"
"<id>org.inkscape.effect.bitmap.sharpen</id>\n"
- "<param name=\"radius\" gui-text=\"" N_("Radius:") "\" type=\"float\" min=\"0\" max=\"50\">1.0</param>\n"
- "<param name=\"sigma\" gui-text=\"" N_("Sigma:") "\" type=\"float\" min=\"0\" max=\"10\">0.5</param>\n"
+ "<param name=\"radius\" _gui-text=\"" N_("Radius:") "\" type=\"float\" min=\"0\" max=\"50\">1.0</param>\n"
+ "<param name=\"sigma\" _gui-text=\"" N_("Sigma:") "\" type=\"float\" min=\"0\" max=\"10\">0.5</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/solarize.cpp b/src/extension/internal/bitmap/solarize.cpp
index d333d2ae8..5f8cdd17c 100644
--- a/src/extension/internal/bitmap/solarize.cpp
+++ b/src/extension/internal/bitmap/solarize.cpp
@@ -38,7 +38,7 @@ Solarize::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Solarize") "</name>\n"
"<id>org.inkscape.effect.bitmap.solarize</id>\n"
- "<param name=\"factor\" gui-text=\"" N_("Factor:") "\" type=\"float\" min=\"0\" max=\"100\">50</param>\n"
+ "<param name=\"factor\" _gui-text=\"" N_("Factor:") "\" type=\"float\" min=\"0\" max=\"100\">50</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/spread.cpp b/src/extension/internal/bitmap/spread.cpp
index 3e9110dd7..e38e2a927 100644
--- a/src/extension/internal/bitmap/spread.cpp
+++ b/src/extension/internal/bitmap/spread.cpp
@@ -36,7 +36,7 @@ Spread::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Dither") "</name>\n"
"<id>org.inkscape.effect.bitmap.spread</id>\n"
- "<param name=\"amount\" gui-text=\"" N_("Amount:") "\" type=\"int\" min=\"0\" max=\"100\">3</param>\n"
+ "<param name=\"amount\" _gui-text=\"" N_("Amount:") "\" type=\"int\" min=\"0\" max=\"100\">3</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/swirl.cpp b/src/extension/internal/bitmap/swirl.cpp
index 1f2776031..98efa6238 100644
--- a/src/extension/internal/bitmap/swirl.cpp
+++ b/src/extension/internal/bitmap/swirl.cpp
@@ -36,7 +36,7 @@ Swirl::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Swirl") "</name>\n"
"<id>org.inkscape.effect.bitmap.swirl</id>\n"
- "<param name=\"degrees\" gui-text=\"" N_("Degrees:") "\" type=\"int\" min=\"-360\" max=\"360\">30</param>\n"
+ "<param name=\"degrees\" _gui-text=\"" N_("Degrees:") "\" type=\"int\" min=\"-360\" max=\"360\">30</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/threshold.cpp b/src/extension/internal/bitmap/threshold.cpp
index 0db0f7749..9f10b2c42 100644
--- a/src/extension/internal/bitmap/threshold.cpp
+++ b/src/extension/internal/bitmap/threshold.cpp
@@ -37,7 +37,7 @@ Threshold::init(void)
// TRANSLATORS: see http://docs.gimp.org/en/gimp-tool-threshold.html
"<name>" N_("Threshold") "</name>\n"
"<id>org.inkscape.effect.bitmap.threshold</id>\n"
- "<param name=\"threshold\" gui-text=\"" N_("Threshold:") "\" type=\"float\" min=\"-100.0\" max=\"100.0\"></param>\n"
+ "<param name=\"threshold\" _gui-text=\"" N_("Threshold:") "\" type=\"float\" min=\"-100.0\" max=\"100.0\"></param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/unsharpmask.cpp b/src/extension/internal/bitmap/unsharpmask.cpp
index 222feae8d..c5a7e9291 100644
--- a/src/extension/internal/bitmap/unsharpmask.cpp
+++ b/src/extension/internal/bitmap/unsharpmask.cpp
@@ -40,10 +40,10 @@ Unsharpmask::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Unsharp Mask") "</name>\n"
"<id>org.inkscape.effect.bitmap.unsharpmask</id>\n"
- "<param name=\"radius\" gui-text=\"" N_("Radius:") "\" type=\"float\" min=\"0.0\" max=\"50.0\">5.0</param>\n"
- "<param name=\"sigma\" gui-text=\"" N_("Sigma:") "\" type=\"float\" min=\"0.0\" max=\"50.0\">5.0</param>\n"
- "<param name=\"amount\" gui-text=\"" N_("Amount:") "\" type=\"float\" min=\"0.0\" max=\"100.0\">50.0</param>\n"
- "<param name=\"threshold\" gui-text=\"" N_("Threshold:") "\" type=\"float\" min=\"0.0\" max=\"50.0\">5.0</param>\n"
+ "<param name=\"radius\" _gui-text=\"" N_("Radius:") "\" type=\"float\" min=\"0.0\" max=\"50.0\">5.0</param>\n"
+ "<param name=\"sigma\" _gui-text=\"" N_("Sigma:") "\" type=\"float\" min=\"0.0\" max=\"50.0\">5.0</param>\n"
+ "<param name=\"amount\" _gui-text=\"" N_("Amount:") "\" type=\"float\" min=\"0.0\" max=\"100.0\">50.0</param>\n"
+ "<param name=\"threshold\" _gui-text=\"" N_("Threshold:") "\" type=\"float\" min=\"0.0\" max=\"50.0\">5.0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bitmap/wave.cpp b/src/extension/internal/bitmap/wave.cpp
index 158ae7e64..1ccaa1d5e 100644
--- a/src/extension/internal/bitmap/wave.cpp
+++ b/src/extension/internal/bitmap/wave.cpp
@@ -37,8 +37,8 @@ Wave::init(void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Wave") "</name>\n"
"<id>org.inkscape.effect.bitmap.wave</id>\n"
- "<param name=\"amplitude\" gui-text=\"" N_("Amplitude:") "\" type=\"float\" min=\"-720.0\" max=\"720.0\">25</param>\n"
- "<param name=\"wavelength\" gui-text=\"" N_("Wavelength:") "\" type=\"float\" min=\"-720.0\" max=\"720.0\">150</param>\n"
+ "<param name=\"amplitude\" _gui-text=\"" N_("Amplitude:") "\" type=\"float\" min=\"-720.0\" max=\"720.0\">25</param>\n"
+ "<param name=\"wavelength\" _gui-text=\"" N_("Wavelength:") "\" type=\"float\" min=\"-720.0\" max=\"720.0\">150</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/bluredge.cpp b/src/extension/internal/bluredge.cpp
index 0e3aa98ce..4a04e3c33 100644
--- a/src/extension/internal/bluredge.cpp
+++ b/src/extension/internal/bluredge.cpp
@@ -131,8 +131,8 @@ BlurEdge::init (void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Inset/Outset Halo") "</name>\n"
"<id>org.inkscape.effect.bluredge</id>\n"
- "<param name=\"blur-width\" gui-text=\"" N_("Width:") "\" gui-description=\"" N_("Width in px of the halo") "\" scope=\"document\" type=\"float\" min=\"1.0\" max=\"50.0\">1.0</param>\n"
- "<param name=\"num-steps\" gui-text=\"" N_("Number of steps:") "\" gui-description=\"" N_("Number of inset/outset copies of the object to make") "\" scope=\"document\" type=\"int\" min=\"5\" max=\"100\">11</param>\n"
+ "<param name=\"blur-width\" _gui-text=\"" N_("Width:") "\" gui-description=\"" N_("Width in px of the halo") "\" scope=\"document\" type=\"float\" min=\"1.0\" max=\"50.0\">1.0</param>\n"
+ "<param name=\"num-steps\" _gui-text=\"" N_("Number of steps:") "\" gui-description=\"" N_("Number of inset/outset copies of the object to make") "\" scope=\"document\" type=\"int\" min=\"5\" max=\"100\">11</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/cairo-ps-out.cpp b/src/extension/internal/cairo-ps-out.cpp
index 5dc412301..e8f47e79e 100644
--- a/src/extension/internal/cairo-ps-out.cpp
+++ b/src/extension/internal/cairo-ps-out.cpp
@@ -326,23 +326,23 @@ CairoPsOutput::init (void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("PostScript") "</name>\n"
"<id>" SP_MODULE_KEY_PRINT_CAIRO_PS "</id>\n"
- "<param name=\"PSlevel\" gui-text=\"" N_("Restrict to PS level:") "\" type=\"enum\" >\n"
+ "<param name=\"PSlevel\" _gui-text=\"" N_("Restrict to PS level:") "\" type=\"enum\" >\n"
"<_item value='PS3'>" N_("PostScript level 3") "</_item>\n"
"<_item value='PS2'>" N_("PostScript level 2") "</_item>\n"
"</param>\n"
- "<param name=\"textToPath\" gui-text=\"" N_("Text output options:") "\" type=\"optiongroup\">\n"
- "<option value=\"embed\">" N_("Embed fonts") "</option>\n"
- "<option value=\"paths\">" N_("Convert text to paths") "</option>\n"
- "<option value=\"LaTeX\">" N_("Omit text in PDF and create LaTeX file") "</option>\n"
+ "<param name=\"textToPath\" _gui-text=\"" N_("Text output options:") "\" type=\"optiongroup\">\n"
+ "<_option value=\"embed\">" N_("Embed fonts") "</_option>\n"
+ "<_option value=\"paths\">" N_("Convert text to paths") "</_option>\n"
+ "<_option value=\"LaTeX\">" N_("Omit text in PDF and create LaTeX file") "</_option>\n"
"</param>\n"
- "<param name=\"blurToBitmap\" gui-text=\"" N_("Rasterize filter effects") "\" type=\"boolean\">true</param>\n"
- "<param name=\"resolution\" gui-text=\"" N_("Resolution for rasterization (dpi):") "\" type=\"int\" min=\"1\" max=\"10000\">96</param>\n"
- "<param name=\"area\" gui-text=\"" N_("Output page size") "\" type=\"optiongroup\" >\n"
+ "<param name=\"blurToBitmap\" _gui-text=\"" N_("Rasterize filter effects") "\" type=\"boolean\">true</param>\n"
+ "<param name=\"resolution\" _gui-text=\"" N_("Resolution for rasterization (dpi):") "\" type=\"int\" min=\"1\" max=\"10000\">96</param>\n"
+ "<param name=\"area\" _gui-text=\"" N_("Output page size") "\" type=\"optiongroup\" >\n"
"<_option value=\"page\">" N_("Use document's page size") "</_option>"
"<_option value=\"drawing\">" N_("Use exported object's size") "</_option>"
"</param>"
- "<param name=\"bleed\" gui-text=\"" N_("Bleed/margin (mm):") "\" type=\"float\" min=\"-10000\" max=\"10000\">0</param>\n"
- "<param name=\"exportId\" gui-text=\"" N_("Limit export to the object with ID:") "\" type=\"string\"></param>\n"
+ "<param name=\"bleed\" _gui-text=\"" N_("Bleed/margin (mm):") "\" type=\"float\" min=\"-10000\" max=\"10000\">0</param>\n"
+ "<param name=\"exportId\" _gui-text=\"" N_("Limit export to the object with ID:") "\" type=\"string\"></param>\n"
"<output>\n"
"<extension>.ps</extension>\n"
"<mimetype>image/x-postscript</mimetype>\n"
@@ -368,23 +368,23 @@ CairoEpsOutput::init (void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Encapsulated PostScript") "</name>\n"
"<id>" SP_MODULE_KEY_PRINT_CAIRO_EPS "</id>\n"
- "<param name=\"PSlevel\" gui-text=\"" N_("Restrict to PS level:") "\" type=\"enum\" >\n"
+ "<param name=\"PSlevel\" _gui-text=\"" N_("Restrict to PS level:") "\" type=\"enum\" >\n"
"<_item value='PS3'>" N_("PostScript level 3") "</_item>\n"
"<_item value='PS2'>" N_("PostScript level 2") "</_item>\n"
"</param>\n"
- "<param name=\"textToPath\" gui-text=\"" N_("Text output options:") "\" type=\"optiongroup\">\n"
- "<option value=\"embed\">" N_("Embed fonts") "</option>\n"
- "<option value=\"paths\">" N_("Convert text to paths") "</option>\n"
- "<option value=\"LaTeX\">" N_("Omit text in PDF and create LaTeX file") "</option>\n"
+ "<param name=\"textToPath\" _gui-text=\"" N_("Text output options:") "\" type=\"optiongroup\">\n"
+ "<_option value=\"embed\">" N_("Embed fonts") "</_option>\n"
+ "<_option value=\"paths\">" N_("Convert text to paths") "</_option>\n"
+ "<_option value=\"LaTeX\">" N_("Omit text in PDF and create LaTeX file") "</_option>\n"
"</param>\n"
- "<param name=\"blurToBitmap\" gui-text=\"" N_("Rasterize filter effects") "\" type=\"boolean\">true</param>\n"
- "<param name=\"resolution\" gui-text=\"" N_("Resolution for rasterization (dpi):") "\" type=\"int\" min=\"1\" max=\"10000\">96</param>\n"
- "<param name=\"area\" gui-text=\"" N_("Output page size") "\" type=\"optiongroup\" >\n"
+ "<param name=\"blurToBitmap\" _gui-text=\"" N_("Rasterize filter effects") "\" type=\"boolean\">true</param>\n"
+ "<param name=\"resolution\" _gui-text=\"" N_("Resolution for rasterization (dpi):") "\" type=\"int\" min=\"1\" max=\"10000\">96</param>\n"
+ "<param name=\"area\" _gui-text=\"" N_("Output page size") "\" type=\"optiongroup\" >\n"
"<_option value=\"page\">" N_("Use document's page size") "</_option>"
"<_option value=\"drawing\">" N_("Use exported object's size") "</_option>"
"</param>"
- "<param name=\"bleed\" gui-text=\"" N_("Bleed/margin (mm)") "\" type=\"float\" min=\"-10000\" max=\"10000\">0</param>\n"
- "<param name=\"exportId\" gui-text=\"" N_("Limit export to the object with ID:") "\" type=\"string\"></param>\n"
+ "<param name=\"bleed\" _gui-text=\"" N_("Bleed/margin (mm)") "\" type=\"float\" min=\"-10000\" max=\"10000\">0</param>\n"
+ "<param name=\"exportId\" _gui-text=\"" N_("Limit export to the object with ID:") "\" type=\"string\"></param>\n"
"<output>\n"
"<extension>.eps</extension>\n"
"<mimetype>image/x-e-postscript</mimetype>\n"
diff --git a/src/extension/internal/cairo-renderer-pdf-out.cpp b/src/extension/internal/cairo-renderer-pdf-out.cpp
index e5c9406c9..5576676b2 100644
--- a/src/extension/internal/cairo-renderer-pdf-out.cpp
+++ b/src/extension/internal/cairo-renderer-pdf-out.cpp
@@ -241,25 +241,25 @@ CairoRendererPdfOutput::init (void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>Portable Document Format</name>\n"
"<id>org.inkscape.output.pdf.cairorenderer</id>\n"
- "<param name=\"PDFversion\" gui-text=\"" N_("Restrict to PDF version:") "\" type=\"enum\" >\n"
+ "<param name=\"PDFversion\" _gui-text=\"" N_("Restrict to PDF version:") "\" type=\"enum\" >\n"
#if (CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1, 10, 0))
"<_item value='PDF-1.5'>" N_("PDF 1.5") "</_item>\n"
#endif
"<_item value='PDF-1.4'>" N_("PDF 1.4") "</_item>\n"
"</param>\n"
- "<param name=\"textToPath\" gui-text=\"" N_("Text output options:") "\" type=\"optiongroup\">\n"
- "<option value=\"embed\">" N_("Embed fonts") "</option>\n"
- "<option value=\"paths\">" N_("Convert text to paths") "</option>\n"
- "<option value=\"LaTeX\">" N_("Omit text in PDF and create LaTeX file") "</option>\n"
+ "<param name=\"textToPath\" _gui-text=\"" N_("Text output options:") "\" type=\"optiongroup\">\n"
+ "<_option value=\"embed\">" N_("Embed fonts") "</_option>\n"
+ "<_option value=\"paths\">" N_("Convert text to paths") "</_option>\n"
+ "<_option value=\"LaTeX\">" N_("Omit text in PDF and create LaTeX file") "</_option>\n"
"</param>\n"
- "<param name=\"blurToBitmap\" gui-text=\"" N_("Rasterize filter effects") "\" type=\"boolean\">true</param>\n"
- "<param name=\"resolution\" gui-text=\"" N_("Resolution for rasterization (dpi):") "\" type=\"int\" min=\"1\" max=\"10000\">96</param>\n"
- "<param name=\"area\" gui-text=\"" N_("Output page size:") "\" type=\"optiongroup\" >\n"
+ "<param name=\"blurToBitmap\" _gui-text=\"" N_("Rasterize filter effects") "\" type=\"boolean\">true</param>\n"
+ "<param name=\"resolution\" _gui-text=\"" N_("Resolution for rasterization (dpi):") "\" type=\"int\" min=\"1\" max=\"10000\">96</param>\n"
+ "<param name=\"area\" _gui-text=\"" N_("Output page size:") "\" type=\"optiongroup\" >\n"
"<_option value=\"page\">" N_("Use document's page size") "</_option>"
"<_option value=\"drawing\">" N_("Use exported object's size") "</_option>"
"</param>"
- "<param name=\"bleed\" gui-text=\"" N_("Bleed/margin (mm):") "\" type=\"float\" min=\"-10000\" max=\"10000\">0</param>\n"
- "<param name=\"exportId\" gui-text=\"" N_("Limit export to the object with ID:") "\" type=\"string\"></param>\n"
+ "<param name=\"bleed\" _gui-text=\"" N_("Bleed/margin (mm):") "\" type=\"float\" min=\"-10000\" max=\"10000\">0</param>\n"
+ "<param name=\"exportId\" _gui-text=\"" N_("Limit export to the object with ID:") "\" type=\"string\"></param>\n"
"<output>\n"
"<extension>.pdf</extension>\n"
"<mimetype>application/pdf</mimetype>\n"
diff --git a/src/extension/internal/emf-inout.cpp b/src/extension/internal/emf-inout.cpp
index 13520c40b..12751c5ec 100644
--- a/src/extension/internal/emf-inout.cpp
+++ b/src/extension/internal/emf-inout.cpp
@@ -3614,17 +3614,17 @@ Emf::init (void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("EMF Output") "</name>\n"
"<id>org.inkscape.output.emf</id>\n"
- "<param name=\"textToPath\" gui-text=\"" N_("Convert texts to paths") "\" type=\"boolean\">true</param>\n"
- "<param name=\"TnrToSymbol\" gui-text=\"" N_("Map Unicode to Symbol font") "\" type=\"boolean\">true</param>\n"
- "<param name=\"TnrToWingdings\" gui-text=\"" N_("Map Unicode to Wingdings") "\" type=\"boolean\">true</param>\n"
- "<param name=\"TnrToZapfDingbats\" gui-text=\"" N_("Map Unicode to Zapf Dingbats") "\" type=\"boolean\">true</param>\n"
- "<param name=\"UsePUA\" gui-text=\"" N_("Use MS Unicode PUA (0xF020-0xF0FF) for converted characters") "\" type=\"boolean\">false</param>\n"
- "<param name=\"FixPPTCharPos\" gui-text=\"" N_("Compensate for PPT font bug") "\" type=\"boolean\">false</param>\n"
- "<param name=\"FixPPTDashLine\" gui-text=\"" N_("Convert dashed/dotted lines to single lines") "\" type=\"boolean\">false</param>\n"
- "<param name=\"FixPPTGrad2Polys\" gui-text=\"" N_("Convert gradients to colored polygon series") "\" type=\"boolean\">false</param>\n"
- "<param name=\"FixPPTLinGrad\" gui-text=\"" N_("Use native rectangular linear gradients") "\" type=\"boolean\">false</param>\n"
- "<param name=\"FixPPTPatternAsHatch\" gui-text=\"" N_("Map all fill patterns to standard EMF hatches") "\" type=\"boolean\">false</param>\n"
- "<param name=\"FixImageRot\" gui-text=\"" N_("Ignore image rotations") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"textToPath\" _gui-text=\"" N_("Convert texts to paths") "\" type=\"boolean\">true</param>\n"
+ "<param name=\"TnrToSymbol\" _gui-text=\"" N_("Map Unicode to Symbol font") "\" type=\"boolean\">true</param>\n"
+ "<param name=\"TnrToWingdings\" _gui-text=\"" N_("Map Unicode to Wingdings") "\" type=\"boolean\">true</param>\n"
+ "<param name=\"TnrToZapfDingbats\" _gui-text=\"" N_("Map Unicode to Zapf Dingbats") "\" type=\"boolean\">true</param>\n"
+ "<param name=\"UsePUA\" _gui-text=\"" N_("Use MS Unicode PUA (0xF020-0xF0FF) for converted characters") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"FixPPTCharPos\" _gui-text=\"" N_("Compensate for PPT font bug") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"FixPPTDashLine\" _gui-text=\"" N_("Convert dashed/dotted lines to single lines") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"FixPPTGrad2Polys\" _gui-text=\"" N_("Convert gradients to colored polygon series") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"FixPPTLinGrad\" _gui-text=\"" N_("Use native rectangular linear gradients") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"FixPPTPatternAsHatch\" _gui-text=\"" N_("Map all fill patterns to standard EMF hatches") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"FixImageRot\" _gui-text=\"" N_("Ignore image rotations") "\" type=\"boolean\">false</param>\n"
"<output>\n"
"<extension>.emf</extension>\n"
"<mimetype>image/x-emf</mimetype>\n"
diff --git a/src/extension/internal/emf-print.cpp b/src/extension/internal/emf-print.cpp
index 1c85182ae..9f3b5475f 100644
--- a/src/extension/internal/emf-print.cpp
+++ b/src/extension/internal/emf-print.cpp
@@ -144,7 +144,7 @@ unsigned int PrintEmf::begin(Inkscape::Extension::Print *mod, SPDocument *doc)
// width and height in px
_width = doc->getWidth().value("px");
_height = doc->getHeight().value("px");
- _doc_unit_scale = Inkscape::Util::Quantity::convert(1, &doc->getSVGUnit(), "px");
+ _doc_unit_scale = doc->getDocumentScale()[Geom::X];
// initialize a few global variables
hbrush = hbrushOld = hpen = 0;
diff --git a/src/extension/internal/filter/bevels.h b/src/extension/internal/filter/bevels.h
index ea9d537ad..68e94ad3d 100644
--- a/src/extension/internal/filter/bevels.h
+++ b/src/extension/internal/filter/bevels.h
@@ -52,10 +52,10 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Diffuse Light") "</name>\n"
"<id>org.inkscape.effect.filter.DiffuseLight</id>\n"
- "<param name=\"smooth\" gui-text=\"" N_("Smoothness") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"10\">6</param>\n"
- "<param name=\"elevation\" gui-text=\"" N_("Elevation (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">25</param>\n"
- "<param name=\"azimuth\" gui-text=\"" N_("Azimuth (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">235</param>\n"
- "<param name=\"color\" gui-text=\"" N_("Lighting color") "\" type=\"color\">-1</param>\n"
+ "<param name=\"smooth\" _gui-text=\"" N_("Smoothness") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"10\">6</param>\n"
+ "<param name=\"elevation\" _gui-text=\"" N_("Elevation (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">25</param>\n"
+ "<param name=\"azimuth\" _gui-text=\"" N_("Azimuth (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">235</param>\n"
+ "<param name=\"color\" _gui-text=\"" N_("Lighting color") "\" type=\"color\">-1</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -132,11 +132,11 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Matte Jelly") "</name>\n"
"<id>org.inkscape.effect.filter.MatteJelly</id>\n"
- "<param name=\"smooth\" gui-text=\"" N_("Smoothness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"10.00\">7</param>\n"
- "<param name=\"bright\" gui-text=\"" N_("Brightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"5.00\">0.9</param>\n"
- "<param name=\"elevation\" gui-text=\"" N_("Elevation (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">60</param>\n"
- "<param name=\"azimuth\" gui-text=\"" N_("Azimuth (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">225</param>\n"
- "<param name=\"color\" gui-text=\"" N_("Lighting color") "\" type=\"color\">-1</param>\n"
+ "<param name=\"smooth\" _gui-text=\"" N_("Smoothness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"10.00\">7</param>\n"
+ "<param name=\"bright\" _gui-text=\"" N_("Brightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"5.00\">0.9</param>\n"
+ "<param name=\"elevation\" _gui-text=\"" N_("Elevation (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">60</param>\n"
+ "<param name=\"azimuth\" _gui-text=\"" N_("Azimuth (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">225</param>\n"
+ "<param name=\"color\" _gui-text=\"" N_("Lighting color") "\" type=\"color\">-1</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -216,11 +216,11 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Specular Light") "</name>\n"
"<id>org.inkscape.effect.filter.SpecularLight</id>\n"
- "<param name=\"smooth\" gui-text=\"" N_("Smoothness") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"10\">6</param>\n"
- "<param name=\"bright\" gui-text=\"" N_("Brightness") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"5\">1</param>\n"
- "<param name=\"elevation\" gui-text=\"" N_("Elevation (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">45</param>\n"
- "<param name=\"azimuth\" gui-text=\"" N_("Azimuth (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">235</param>\n"
- "<param name=\"color\" gui-text=\"" N_("Lighting color") "\" type=\"color\">-1</param>\n"
+ "<param name=\"smooth\" _gui-text=\"" N_("Smoothness") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"10\">6</param>\n"
+ "<param name=\"bright\" _gui-text=\"" N_("Brightness") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"5\">1</param>\n"
+ "<param name=\"elevation\" _gui-text=\"" N_("Elevation (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">45</param>\n"
+ "<param name=\"azimuth\" _gui-text=\"" N_("Azimuth (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">235</param>\n"
+ "<param name=\"color\" _gui-text=\"" N_("Lighting color") "\" type=\"color\">-1</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/filter/blurs.h b/src/extension/internal/filter/blurs.h
index fe1b9c930..77581ed96 100644
--- a/src/extension/internal/filter/blurs.h
+++ b/src/extension/internal/filter/blurs.h
@@ -53,9 +53,9 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Blur") "</name>\n"
"<id>org.inkscape.effect.filter.Blur</id>\n"
- "<param name=\"hblur\" gui-text=\"" N_("Horizontal blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.00\">2</param>\n"
- "<param name=\"vblur\" gui-text=\"" N_("Vertical blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.00\">2</param>\n"
- "<param name=\"content\" gui-text=\"" N_("Blur content only") "\" type=\"boolean\">False</param>\n"
+ "<param name=\"hblur\" _gui-text=\"" N_("Horizontal blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.00\">2</param>\n"
+ "<param name=\"vblur\" _gui-text=\"" N_("Vertical blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.00\">2</param>\n"
+ "<param name=\"content\" _gui-text=\"" N_("Blur content only") "\" type=\"boolean\">False</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -124,7 +124,7 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Clean Edges") "</name>\n"
"<id>org.inkscape.effect.filter.CleanEdges</id>\n"
- "<param name=\"blur\" gui-text=\"" N_("Strength") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"2.00\">0.4</param>\n"
+ "<param name=\"blur\" _gui-text=\"" N_("Strength") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"2.00\">0.4</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -184,11 +184,11 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Cross Blur") "</name>\n"
"<id>org.inkscape.effect.filter.CrossBlur</id>\n"
- "<param name=\"bright\" gui-text=\"" N_("Brightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"10.00\">0</param>\n"
- "<param name=\"fade\" gui-text=\"" N_("Fading") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1.00\">0</param>\n"
- "<param name=\"hblur\" gui-text=\"" N_("Horizontal blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">5</param>\n"
- "<param name=\"vblur\" gui-text=\"" N_("Vertical blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">5</param>\n"
- "<param name=\"blend\" gui-text=\"" N_("Blend:") "\" type=\"enum\">\n"
+ "<param name=\"bright\" _gui-text=\"" N_("Brightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"10.00\">0</param>\n"
+ "<param name=\"fade\" _gui-text=\"" N_("Fading") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1.00\">0</param>\n"
+ "<param name=\"hblur\" _gui-text=\"" N_("Horizontal blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">5</param>\n"
+ "<param name=\"vblur\" _gui-text=\"" N_("Vertical blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">5</param>\n"
+ "<param name=\"blend\" _gui-text=\"" N_("Blend:") "\" type=\"enum\">\n"
"<_item value=\"darken\">" N_("Darken") "</_item>\n"
"<_item value=\"screen\">" N_("Screen") "</_item>\n"
"<_item value=\"multiply\">" N_("Multiply") "</_item>\n"
@@ -259,7 +259,7 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Feather") "</name>\n"
"<id>org.inkscape.effect.filter.Feather</id>\n"
- "<param name=\"blur\" gui-text=\"" N_("Strength") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.00\">5</param>\n"
+ "<param name=\"blur\" _gui-text=\"" N_("Strength") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.00\">5</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -326,22 +326,22 @@ public:
"<id>org.inkscape.effect.filter.ImageBlur</id>\n"
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"Options\">\n"
- "<param name=\"hblur\" gui-text=\"" N_("Horizontal blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"50.00\">3</param>\n"
- "<param name=\"vblur\" gui-text=\"" N_("Vertical blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"50.00\">3</param>\n"
- "<param name=\"dilat\" gui-text=\"" N_("Dilatation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"100\">6</param>\n"
- "<param name=\"erosion\" gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"100\">2</param>\n"
- "<param name=\"opacity\" gui-text=\"" N_("Opacity") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1\">1</param>\n"
+ "<param name=\"hblur\" _gui-text=\"" N_("Horizontal blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"50.00\">3</param>\n"
+ "<param name=\"vblur\" _gui-text=\"" N_("Vertical blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"50.00\">3</param>\n"
+ "<param name=\"dilat\" _gui-text=\"" N_("Dilatation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"100\">6</param>\n"
+ "<param name=\"erosion\" _gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"100\">2</param>\n"
+ "<param name=\"opacity\" _gui-text=\"" N_("Opacity") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1\">1</param>\n"
"</page>\n"
"<page name=\"backgroundtab\" _gui-text=\"Background\">\n"
- "<param name=\"color\" gui-text=\"" N_("Background color") "\" type=\"color\">-1</param>\n"
- "<param name=\"blend\" gui-text=\"" N_("Blend type:") "\" type=\"enum\">\n"
+ "<param name=\"color\" _gui-text=\"" N_("Background color") "\" type=\"color\">-1</param>\n"
+ "<param name=\"blend\" _gui-text=\"" N_("Blend type:") "\" type=\"enum\">\n"
"<_item value=\"normal\">" N_("Normal") "</_item>\n"
"<_item value=\"darken\">" N_("Darken") "</_item>\n"
"<_item value=\"screen\">" N_("Screen") "</_item>\n"
"<_item value=\"multiply\">" N_("Multiply") "</_item>\n"
"<_item value=\"lighten\">" N_("Lighten") "</_item>\n"
"</param>\n"
- "<param name=\"background\" gui-text=\"" N_("Blend to background") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"background\" _gui-text=\"" N_("Blend to background") "\" type=\"boolean\" >false</param>\n"
"</page>\n"
"</param>\n"
"<effect>\n"
diff --git a/src/extension/internal/filter/bumps.h b/src/extension/internal/filter/bumps.h
index b59b1ef50..cbda5ea35 100644
--- a/src/extension/internal/filter/bumps.h
+++ b/src/extension/internal/filter/bumps.h
@@ -81,52 +81,52 @@ public:
"<id>org.inkscape.effect.filter.Bump</id>\n"
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"Options\">\n"
- "<param name=\"simplifyImage\" gui-text=\"" N_("Image simplification") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10.00\">0.01</param>\n"
- "<param name=\"simplifyBump\" gui-text=\"" N_("Bump simplification") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10.00\">0.01</param>\n"
- "<param name=\"crop\" gui-text=\"" N_("Crop") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
+ "<param name=\"simplifyImage\" _gui-text=\"" N_("Image simplification") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10.00\">0.01</param>\n"
+ "<param name=\"simplifyBump\" _gui-text=\"" N_("Bump simplification") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10.00\">0.01</param>\n"
+ "<param name=\"crop\" _gui-text=\"" N_("Crop") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
"<_param name=\"sourceHeader\" type=\"description\" appearance=\"header\">" N_("Bump source") "</_param>\n"
- "<param name=\"red\" gui-text=\"" N_("Red") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
- "<param name=\"green\" gui-text=\"" N_("Green") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
- "<param name=\"blue\" gui-text=\"" N_("Blue") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
- "<param name=\"background\" gui-text=\"" N_("Bump from background") "\" indent=\"1\" type=\"boolean\">false</param>\n"
+ "<param name=\"red\" _gui-text=\"" N_("Red") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
+ "<param name=\"green\" _gui-text=\"" N_("Green") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
+ "<param name=\"blue\" _gui-text=\"" N_("Blue") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">0</param>\n"
+ "<param name=\"background\" _gui-text=\"" N_("Bump from background") "\" indent=\"1\" type=\"boolean\">false</param>\n"
"</page>\n"
"<page name=\"lightingtab\" _gui-text=\"Lighting\">\n"
- "<param name=\"lightType\" gui-text=\"" N_("Lighting type:") "\" type=\"enum\">\n"
+ "<param name=\"lightType\" _gui-text=\"" N_("Lighting type:") "\" type=\"enum\">\n"
"<_item value=\"specular\">" N_("Specular") "</_item>\n"
"<_item value=\"diffuse\">" N_("Diffuse") "</_item>\n"
"</param>\n"
- "<param name=\"height\" gui-text=\"" N_("Height") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"50.\">5</param>\n"
- "<param name=\"lightness\" gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"5.\">1</param>\n"
- "<param name=\"precision\" gui-text=\"" N_("Precision") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"128\">15</param>\n"
- "<param name=\"lightingColor\" gui-text=\"" N_("Color") "\" type=\"color\">-1</param>\n"
+ "<param name=\"height\" _gui-text=\"" N_("Height") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"50.\">5</param>\n"
+ "<param name=\"lightness\" _gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"5.\">1</param>\n"
+ "<param name=\"precision\" _gui-text=\"" N_("Precision") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"128\">15</param>\n"
+ "<param name=\"lightingColor\" _gui-text=\"" N_("Color") "\" type=\"color\">-1</param>\n"
"</page>\n"
"<page name=\"lightsourcetab\" _gui-text=\"" N_("Light source") "\">\n"
- "<param name=\"lightSource\" gui-text=\"" N_("Light source:") "\" type=\"enum\">\n"
+ "<param name=\"lightSource\" _gui-text=\"" N_("Light source:") "\" type=\"enum\">\n"
"<_item value=\"distant\">" N_("Distant") "</_item>\n"
"<_item value=\"point\">" N_("Point") "</_item>\n"
"<_item value=\"spot\">" N_("Spot") "</_item>\n"
"</param>\n"
"<_param name=\"distantHeader\" type=\"description\" appearance=\"header\">" N_("Distant light options") "</_param>\n"
- "<param name=\"distantAzimuth\" gui-text=\"" N_("Azimuth") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"360\">225</param>\n"
- "<param name=\"distantElevation\" gui-text=\"" N_("Elevation") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"180\">45</param>\n"
+ "<param name=\"distantAzimuth\" _gui-text=\"" N_("Azimuth") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"360\">225</param>\n"
+ "<param name=\"distantElevation\" _gui-text=\"" N_("Elevation") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"180\">45</param>\n"
"<_param name=\"pointHeader\" type=\"description\" appearance=\"header\">" N_("Point light options") "</_param>\n"
- "<param name=\"pointX\" gui-text=\"" N_("X location") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">526</param>\n"
- "<param name=\"pointY\" gui-text=\"" N_("Y location") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">372</param>\n"
- "<param name=\"pointZ\" gui-text=\"" N_("Z location") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"5000\">150</param>\n"
+ "<param name=\"pointX\" _gui-text=\"" N_("X location") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">526</param>\n"
+ "<param name=\"pointY\" _gui-text=\"" N_("Y location") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">372</param>\n"
+ "<param name=\"pointZ\" _gui-text=\"" N_("Z location") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"5000\">150</param>\n"
"<_param name=\"spotHeader\" type=\"description\" appearance=\"header\">" N_("Spot light options") "</_param>\n"
- "<param name=\"spotX\" gui-text=\"" N_("X location") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">526</param>\n"
- "<param name=\"spotY\" gui-text=\"" N_("Y location") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">372</param>\n"
- "<param name=\"spotZ\" gui-text=\"" N_("Z location") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">150</param>\n"
- "<param name=\"spotAtX\" gui-text=\"" N_("X target") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">0</param>\n"
- "<param name=\"spotAtY\" gui-text=\"" N_("Y target") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">0</param>\n"
- "<param name=\"spotAtZ\" gui-text=\"" N_("Z target") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"0\">-1000</param>\n"
- "<param name=\"spotExponent\" gui-text=\"" N_("Specular exponent") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"1\" max=\"100\">1</param>\n"
- "<param name=\"spotConeAngle\" gui-text=\"" N_("Cone angle") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"100\">50</param>\n"
+ "<param name=\"spotX\" _gui-text=\"" N_("X location") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">526</param>\n"
+ "<param name=\"spotY\" _gui-text=\"" N_("Y location") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">372</param>\n"
+ "<param name=\"spotZ\" _gui-text=\"" N_("Z location") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">150</param>\n"
+ "<param name=\"spotAtX\" _gui-text=\"" N_("X target") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">0</param>\n"
+ "<param name=\"spotAtY\" _gui-text=\"" N_("Y target") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"5000\">0</param>\n"
+ "<param name=\"spotAtZ\" _gui-text=\"" N_("Z target") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"-5000\" max=\"0\">-1000</param>\n"
+ "<param name=\"spotExponent\" _gui-text=\"" N_("Specular exponent") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"1\" max=\"100\">1</param>\n"
+ "<param name=\"spotConeAngle\" _gui-text=\"" N_("Cone angle") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"100\">50</param>\n"
"</page>\n"
"<page name=\"colortab\" _gui-text=\"Color bump\">\n"
- "<param name=\"imageColor\" gui-text=\"" N_("Image color") "\" type=\"color\">-987158017</param>\n"
- "<param name=\"colorize\" gui-text=\"" N_("Color bump") "\" type=\"boolean\" >false</param>\n"
- "<param name=\"blend\" gui-text=\"" N_("Blend type:") "\" type=\"enum\">\n"
+ "<param name=\"imageColor\" _gui-text=\"" N_("Image color") "\" type=\"color\">-987158017</param>\n"
+ "<param name=\"colorize\" _gui-text=\"" N_("Color bump") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"blend\" _gui-text=\"" N_("Blend type:") "\" type=\"enum\">\n"
"<_item value=\"normal\">" N_("Normal") "</_item>\n"
"<_item value=\"darken\">" N_("Darken") "</_item>\n"
"<_item value=\"screen\">" N_("Screen") "</_item>\n"
@@ -310,35 +310,35 @@ public:
"<id>org.inkscape.effect.filter.WaxBump</id>\n"
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"Options\">\n"
- "<param name=\"simplifyImage\" gui-text=\"" N_("Image simplification") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10.00\">1.5</param>\n"
- "<param name=\"simplifyBump\" gui-text=\"" N_("Bump simplification") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10.00\">1</param>\n"
- "<param name=\"crop\" gui-text=\"" N_("Crop") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">1</param>\n"
+ "<param name=\"simplifyImage\" _gui-text=\"" N_("Image simplification") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10.00\">1.5</param>\n"
+ "<param name=\"simplifyBump\" _gui-text=\"" N_("Bump simplification") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10.00\">1</param>\n"
+ "<param name=\"crop\" _gui-text=\"" N_("Crop") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">1</param>\n"
"<_param name=\"sourceHeader\" type=\"description\" appearance=\"header\">" N_("Bump source") "</_param>\n"
- "<param name=\"red\" gui-text=\"" N_("Red") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0</param>\n"
- "<param name=\"green\" gui-text=\"" N_("Green") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0</param>\n"
- "<param name=\"blue\" gui-text=\"" N_("Blue") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0</param>\n"
- "<param name=\"background\" gui-text=\"" N_("Background:") "\" type=\"enum\">\n"
+ "<param name=\"red\" _gui-text=\"" N_("Red") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0</param>\n"
+ "<param name=\"green\" _gui-text=\"" N_("Green") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0</param>\n"
+ "<param name=\"blue\" _gui-text=\"" N_("Blue") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0</param>\n"
+ "<param name=\"background\" _gui-text=\"" N_("Background:") "\" type=\"enum\">\n"
"<_item value=\"flood1\">" N_("Color") "</_item>\n"
"<_item value=\"SourceGraphic\">" N_("Image") "</_item>\n"
"<_item value=\"blur1\">" N_("Blurred image") "</_item>\n"
"</param>\n"
- "<param name=\"bgopacity\" gui-text=\"" N_("Background opacity") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1.\">0</param>\n"
+ "<param name=\"bgopacity\" _gui-text=\"" N_("Background opacity") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1.\">0</param>\n"
"</page>\n"
"<page name=\"lightingtab\" _gui-text=\"" N_("Lighting") "\">\n"
- "<param name=\"lightingColor\" gui-text=\"" N_("Color") "\" type=\"color\">-1</param>\n"
- "<param name=\"height\" gui-text=\"" N_("Height") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">5</param>\n"
- "<param name=\"lightness\" gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"10.\">1.4</param>\n"
- "<param name=\"precision\" gui-text=\"" N_("Precision") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"50\">35</param>\n"
- "<param name=\"distantAzimuth\" gui-text=\"" N_("Azimuth") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"360\">225</param>\n"
- "<param name=\"distantElevation\" gui-text=\"" N_("Elevation") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"180\">60</param>\n"
- "<param name=\"lightingblend\" gui-text=\"" N_("Lighting blend:") "\" type=\"enum\">\n"
+ "<param name=\"lightingColor\" _gui-text=\"" N_("Color") "\" type=\"color\">-1</param>\n"
+ "<param name=\"height\" _gui-text=\"" N_("Height") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-50.\" max=\"50.\">5</param>\n"
+ "<param name=\"lightness\" _gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"10.\">1.4</param>\n"
+ "<param name=\"precision\" _gui-text=\"" N_("Precision") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"50\">35</param>\n"
+ "<param name=\"distantAzimuth\" _gui-text=\"" N_("Azimuth") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"360\">225</param>\n"
+ "<param name=\"distantElevation\" _gui-text=\"" N_("Elevation") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"180\">60</param>\n"
+ "<param name=\"lightingblend\" _gui-text=\"" N_("Lighting blend:") "\" type=\"enum\">\n"
"<_item value=\"screen\">" N_("Screen") "</_item>\n"
"<_item value=\"normal\">" N_("Normal") "</_item>\n"
"<_item value=\"darken\">" N_("Darken") "</_item>\n"
"<_item value=\"multiply\">" N_("Multiply") "</_item>\n"
"<_item value=\"lighten\">" N_("Lighten") "</_item>\n"
"</param>\n"
- "<param name=\"highlightblend\" gui-text=\"" N_("Highlight blend:") "\" type=\"enum\">\n"
+ "<param name=\"highlightblend\" _gui-text=\"" N_("Highlight blend:") "\" type=\"enum\">\n"
"<_item value=\"screen\">" N_("Screen") "</_item>\n"
"<_item value=\"normal\">" N_("Normal") "</_item>\n"
"<_item value=\"darken\">" N_("Darken") "</_item>\n"
@@ -347,9 +347,9 @@ public:
"</param>\n"
"</page>\n"
"<page name=\"colortab\" _gui-text=\"Bump\">\n"
- "<param name=\"imageColor\" gui-text=\"" N_("Bump color") "\" type=\"color\">-520083713</param>\n"
- "<param name=\"revert\" gui-text=\"" N_("Revert bump") "\" type=\"boolean\" >false</param>\n"
- "<param name=\"transparency\" gui-text=\"" N_("Transparency type:") "\" type=\"enum\">\n"
+ "<param name=\"imageColor\" _gui-text=\"" N_("Bump color") "\" type=\"color\">-520083713</param>\n"
+ "<param name=\"revert\" _gui-text=\"" N_("Revert bump") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"transparency\" _gui-text=\"" N_("Transparency type:") "\" type=\"enum\">\n"
"<_item value=\"atop\">" N_("Atop") "</_item>\n"
"<_item value=\"in\">" N_("In") "</_item>\n"
"</param>\n"
diff --git a/src/extension/internal/filter/color.h b/src/extension/internal/filter/color.h
index b9c76615c..a6b777d20 100644
--- a/src/extension/internal/filter/color.h
+++ b/src/extension/internal/filter/color.h
@@ -72,10 +72,10 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Brilliance") "</name>\n"
"<id>org.inkscape.effect.filter.Brilliance</id>\n"
- "<param name=\"brightness\" gui-text=\"" N_("Brightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"10.00\">2</param>\n"
- "<param name=\"sat\" gui-text=\"" N_("Over-saturation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.0\" max=\"10.00\">0.5</param>\n"
- "<param name=\"lightness\" gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.00\" max=\"10.00\">0</param>\n"
- "<param name=\"invert\" gui-text=\"" N_("Inverted") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"brightness\" _gui-text=\"" N_("Brightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"10.00\">2</param>\n"
+ "<param name=\"sat\" _gui-text=\"" N_("Over-saturation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.0\" max=\"10.00\">0.5</param>\n"
+ "<param name=\"lightness\" _gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.00\" max=\"10.00\">0</param>\n"
+ "<param name=\"invert\" _gui-text=\"" N_("Inverted") "\" type=\"boolean\">false</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -154,15 +154,15 @@ public:
"<id>org.inkscape.effect.filter.ChannelPaint</id>\n"
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"Options\">\n"
- "<param name=\"saturation\" gui-text=\"" N_("Saturation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1.\">1</param>\n"
- "<param name=\"red\" gui-text=\"" N_("Red") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">-1</param>\n"
- "<param name=\"green\" gui-text=\"" N_("Green") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0.5</param>\n"
- "<param name=\"blue\" gui-text=\"" N_("Blue") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0.5</param>\n"
- "<param name=\"alpha\" gui-text=\"" N_("Alpha") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">1</param>\n"
- "<param name=\"invert\" gui-text=\"" N_("Inverted") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"saturation\" _gui-text=\"" N_("Saturation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1.\">1</param>\n"
+ "<param name=\"red\" _gui-text=\"" N_("Red") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">-1</param>\n"
+ "<param name=\"green\" _gui-text=\"" N_("Green") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0.5</param>\n"
+ "<param name=\"blue\" _gui-text=\"" N_("Blue") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0.5</param>\n"
+ "<param name=\"alpha\" _gui-text=\"" N_("Alpha") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">1</param>\n"
+ "<param name=\"invert\" _gui-text=\"" N_("Inverted") "\" type=\"boolean\">false</param>\n"
"</page>\n"
"<page name=\"colortab\" _gui-text=\"Color\">\n"
- "<param name=\"color\" gui-text=\"" N_("Color") "\" type=\"color\">16777215</param>\n"
+ "<param name=\"color\" _gui-text=\"" N_("Color") "\" type=\"color\">16777215</param>\n"
"</page>\n"
"</param>\n"
"<effect>\n"
@@ -255,7 +255,7 @@ public:
"<id>org.inkscape.effect.filter.ColorBlindness</id>\n"
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"Options\">\n"
- "<param name=\"type\" gui-text=\"" N_("Blindness type:") "\" type=\"enum\">\n"
+ "<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_("Green weak (deuteranomaly)") "</_item>\n"
@@ -328,8 +328,8 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Color Shift") "</name>\n"
"<id>org.inkscape.effect.filter.ColorShift</id>\n"
- "<param name=\"shift\" gui-text=\"" N_("Shift (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">330</param>\n"
- "<param name=\"sat\" gui-text=\"" N_("Saturation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1\">0.6</param>\n"
+ "<param name=\"shift\" _gui-text=\"" N_("Shift (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">330</param>\n"
+ "<param name=\"sat\" _gui-text=\"" N_("Saturation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1\">0.6</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -393,17 +393,17 @@ public:
"<id>org.inkscape.effect.filter.Colorize</id>\n"
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"Options\">\n"
- "<param name=\"hlight\" gui-text=\"" N_("Harsh light") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"10\">0</param>\n"
- "<param name=\"nlight\" gui-text=\"" N_("Normal light") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"10\">1</param>\n"
- "<param name=\"duotone\" gui-text=\"" N_("Duotone") "\" type=\"boolean\" >false</param>\n"
- "<param name=\"blend1\" gui-text=\"" N_("Blend 1:") "\" type=\"enum\">\n"
+ "<param name=\"hlight\" _gui-text=\"" N_("Harsh light") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"10\">0</param>\n"
+ "<param name=\"nlight\" _gui-text=\"" N_("Normal light") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"10\">1</param>\n"
+ "<param name=\"duotone\" _gui-text=\"" N_("Duotone") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"blend1\" _gui-text=\"" N_("Blend 1:") "\" type=\"enum\">\n"
"<_item value=\"multiply\">" N_("Multiply") "</_item>\n"
"<_item value=\"normal\">" N_("Normal") "</_item>\n"
"<_item value=\"screen\">" N_("Screen") "</_item>\n"
"<_item value=\"lighten\">" N_("Lighten") "</_item>\n"
"<_item value=\"darken\">" N_("Darken") "</_item>\n"
"</param>\n"
- "<param name=\"blend2\" gui-text=\"" N_("Blend 2:") "\" type=\"enum\">\n"
+ "<param name=\"blend2\" _gui-text=\"" N_("Blend 2:") "\" type=\"enum\">\n"
"<_item value=\"screen\">" N_("Screen") "</_item>\n"
"<_item value=\"multiply\">" N_("Multiply") "</_item>\n"
"<_item value=\"normal\">" N_("Normal") "</_item>\n"
@@ -412,7 +412,7 @@ public:
"</param>\n"
"</page>\n"
"<page name=\"colortab\" _gui-text=\"Color\">\n"
- "<param name=\"color\" gui-text=\"" N_("Color") "\" type=\"color\">-1639776001</param>\n"
+ "<param name=\"color\" _gui-text=\"" N_("Color") "\" type=\"color\">-1639776001</param>\n"
"</page>\n"
"</param>\n"
"<effect>\n"
@@ -498,7 +498,7 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Component Transfer") "</name>\n"
"<id>org.inkscape.effect.filter.ComponentTransfer</id>\n"
- "<param name=\"type\" gui-text=\"" N_("Type:") "\" type=\"enum\">\n"
+ "<param name=\"type\" _gui-text=\"" N_("Type:") "\" type=\"enum\">\n"
"<_item value=\"identity\">" N_("Identity") "</_item>\n"
"<_item value=\"table\">" N_("Table") "</_item>\n"
"<_item value=\"discrete\">" N_("Discrete") "</_item>\n"
@@ -585,8 +585,8 @@ public:
"<id>org.inkscape.effect.filter.Duochrome</id>\n"
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"Options\">\n"
- "<param name=\"fluo\" gui-text=\"" N_("Fluorescence level") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"2\">0</param>\n"
- "<param name=\"swap\" gui-text=\"" N_("Swap:") "\" type=\"enum\">\n"
+ "<param name=\"fluo\" _gui-text=\"" N_("Fluorescence level") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"2\">0</param>\n"
+ "<param name=\"swap\" _gui-text=\"" N_("Swap:") "\" type=\"enum\">\n"
"<_item value=\"none\">" N_("No swap") "</_item>\n"
"<_item value=\"full\">" N_("Color and alpha") "</_item>\n"
"<_item value=\"color\">" N_("Color only") "</_item>\n"
@@ -594,10 +594,10 @@ public:
"</param>\n"
"</page>\n"
"<page name=\"co11tab\" _gui-text=\"Color 1\">\n"
- "<param name=\"color1\" gui-text=\"" N_("Color 1") "\" type=\"color\">1364325887</param>\n"
+ "<param name=\"color1\" _gui-text=\"" N_("Color 1") "\" type=\"color\">1364325887</param>\n"
"</page>\n"
"<page name=\"co12tab\" _gui-text=\"Color 2\">\n"
- "<param name=\"color2\" gui-text=\"" N_("Color 2") "\" type=\"color\">-65281</param>\n"
+ "<param name=\"color2\" _gui-text=\"" N_("Color 2") "\" type=\"color\">-65281</param>\n"
"</page>\n"
"</param>\n"
"<effect>\n"
@@ -708,7 +708,7 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Extract Channel") "</name>\n"
"<id>org.inkscape.effect.filter.ExtractChannel</id>\n"
- "<param name=\"source\" gui-text=\"" N_("Channel:") "\" type=\"enum\">\n"
+ "<param name=\"source\" _gui-text=\"" N_("Channel:") "\" type=\"enum\">\n"
"<_item value=\"r\">" N_("Red") "</_item>\n"
"<_item value=\"g\">" N_("Green") "</_item>\n"
"<_item value=\"b\">" N_("Blue") "</_item>\n"
@@ -716,12 +716,12 @@ public:
"<_item value=\"m\">" N_("Magenta") "</_item>\n"
"<_item value=\"y\">" N_("Yellow") "</_item>\n"
"</param>\n"
- "<param name=\"blend\" gui-text=\"" N_("Background blend mode:") "\" type=\"enum\">\n"
+ "<param name=\"blend\" _gui-text=\"" N_("Background blend mode:") "\" type=\"enum\">\n"
"<_item value=\"multiply\">" N_("Multiply") "</_item>\n"
"<_item value=\"normal\">" N_("Normal") "</_item>\n"
"<_item value=\"screen\">" N_("Screen") "</_item>\n"
"</param>\n"
- "<param name=\"alpha\" gui-text=\"" N_("Channel to alpha") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"alpha\" _gui-text=\"" N_("Channel to alpha") "\" type=\"boolean\">false</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -814,8 +814,8 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Fade to Black or White") "</name>\n"
"<id>org.inkscape.effect.filter.FadeToBW</id>\n"
- "<param name=\"level\" gui-text=\"" N_("Level") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1\">1</param>\n"
- "<param name=\"fadeto\" gui-text=\"" N_("Fade to:") "\" type=\"enum\">\n"
+ "<param name=\"level\" _gui-text=\"" N_("Level") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1\">1</param>\n"
+ "<param name=\"fadeto\" _gui-text=\"" N_("Fade to:") "\" type=\"enum\">\n"
"<_item value=\"black\">" N_("Black") "</_item>\n"
"<_item value=\"white\">" N_("White") "</_item>\n"
"</param>\n"
@@ -893,11 +893,11 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Greyscale") "</name>\n"
"<id>org.inkscape.effect.filter.Greyscale</id>\n"
- "<param name=\"red\" gui-text=\"" N_("Red") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.00\" max=\"10.00\">0.21</param>\n"
- "<param name=\"green\" gui-text=\"" N_("Green") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.00\" max=\"10.00\">0.72</param>\n"
- "<param name=\"blue\" gui-text=\"" N_("Blue") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.00\" max=\"10.00\">0.072</param>\n"
- "<param name=\"strength\" gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.00\" max=\"10.00\">0</param>\n"
- "<param name=\"transparent\" gui-text=\"" N_("Transparent") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"red\" _gui-text=\"" N_("Red") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.00\" max=\"10.00\">0.21</param>\n"
+ "<param name=\"green\" _gui-text=\"" N_("Green") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.00\" max=\"10.00\">0.72</param>\n"
+ "<param name=\"blue\" _gui-text=\"" N_("Blue") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.00\" max=\"10.00\">0.072</param>\n"
+ "<param name=\"strength\" _gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.00\" max=\"10.00\">0</param>\n"
+ "<param name=\"transparent\" _gui-text=\"" N_("Transparent") "\" type=\"boolean\" >false</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -979,16 +979,16 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Invert") "</name>\n"
"<id>org.inkscape.effect.filter.Invert</id>\n"
- "<param name=\"channels\" gui-text=\"" N_("Invert channels:") "\" type=\"enum\">\n"
+ "<param name=\"channels\" _gui-text=\"" N_("Invert channels:") "\" type=\"enum\">\n"
"<_item value=\"0\">" N_("No inversion") "</_item>\n"
"<_item value=\"1\">" N_("Red and blue") "</_item>\n"
"<_item value=\"2\">" N_("Red and green") "</_item>\n"
"<_item value=\"3\">" N_("Green and blue") "</_item>\n"
"</param>\n"
- "<param name=\"opacify\" gui-text=\"" N_("Light transparency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1\">0</param>\n"
- "<param name=\"hue\" gui-text=\"" N_("Invert hue") "\" type=\"boolean\" >false</param>\n"
- "<param name=\"lightness\" gui-text=\"" N_("Invert lightness") "\" type=\"boolean\" >false</param>\n"
- "<param name=\"transparency\" gui-text=\"" N_("Invert transparency") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"opacify\" _gui-text=\"" N_("Light transparency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1\">0</param>\n"
+ "<param name=\"hue\" _gui-text=\"" N_("Invert hue") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"lightness\" _gui-text=\"" N_("Invert lightness") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"transparency\" _gui-text=\"" N_("Invert transparency") "\" type=\"boolean\" >false</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -1114,9 +1114,9 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Lighting") "</name>\n"
"<id>org.inkscape.effect.filter.Lighting</id>\n"
- "<param name=\"amplitude\" gui-text=\"" N_("Lights") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"20.00\">1</param>\n"
- "<param name=\"exponent\" gui-text=\"" N_("Shadows") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"20.00\">1</param>\n"
- "<param name=\"offset\" gui-text=\"" N_("Offset") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-1.00\" max=\"1.00\">0</param>\n"
+ "<param name=\"amplitude\" _gui-text=\"" N_("Lights") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"20.00\">1</param>\n"
+ "<param name=\"exponent\" _gui-text=\"" N_("Shadows") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"20.00\">1</param>\n"
+ "<param name=\"offset\" _gui-text=\"" N_("Offset") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-1.00\" max=\"1.00\">0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -1185,8 +1185,8 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Lightness-Contrast") "</name>\n"
"<id>org.inkscape.effect.filter.LightnessContrast</id>\n"
- "<param name=\"lightness\" gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-100\" max=\"100\">0</param>\n"
- "<param name=\"contrast\" gui-text=\"" N_("Contrast") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-100\" max=\"100\">0</param>\n"
+ "<param name=\"lightness\" _gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-100\" max=\"100\">0</param>\n"
+ "<param name=\"contrast\" _gui-text=\"" N_("Contrast") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-100\" max=\"100\">0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -1267,17 +1267,17 @@ public:
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"offsettab\" _gui-text=\"Offset\">\n"
"<_param name=\"redOffset\" type=\"description\" appearance=\"header\">" N_("Red offset") "</_param>\n"
- "<param name=\"rx\" gui-text=\"" N_("X") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">-6</param>\n"
- "<param name=\"ry\" gui-text=\"" N_("Y") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">-6</param>\n"
+ "<param name=\"rx\" _gui-text=\"" N_("X") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">-6</param>\n"
+ "<param name=\"ry\" _gui-text=\"" N_("Y") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">-6</param>\n"
"<_param name=\"greenOffset\" type=\"description\" appearance=\"header\">" N_("Green offset") "</_param>\n"
- "<param name=\"gx\" gui-text=\"" N_("X") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">6</param>\n"
- "<param name=\"gy\" gui-text=\"" N_("Y") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">7</param>\n"
+ "<param name=\"gx\" _gui-text=\"" N_("X") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">6</param>\n"
+ "<param name=\"gy\" _gui-text=\"" N_("Y") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">7</param>\n"
"<_param name=\"redOffset\" type=\"description\" appearance=\"header\">" N_("Blue offset") "</_param>\n"
- "<param name=\"bx\" gui-text=\"" N_("X") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">1</param>\n"
- "<param name=\"by\" gui-text=\"" N_("Y") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">-16</param>\n"
+ "<param name=\"bx\" _gui-text=\"" N_("X") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">1</param>\n"
+ "<param name=\"by\" _gui-text=\"" N_("Y") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">-16</param>\n"
"</page>\n"
"<page name=\"coltab\" _gui-text=\"Color\">\n"
- "<param name=\"color\" gui-text=\"" N_("Background color") "\" type=\"color\">255</param>\n"
+ "<param name=\"color\" _gui-text=\"" N_("Background color") "\" type=\"color\">255</param>\n"
"</page>\n"
"</param>\n"
"<effect>\n"
@@ -1379,17 +1379,17 @@ public:
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"offsettab\" _gui-text=\"Offset\">\n"
"<_param name=\"cyanOffset\" type=\"description\" appearance=\"header\">" N_("Cyan offset") "</_param>\n"
- "<param name=\"cx\" gui-text=\"" N_("X") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">-6</param>\n"
- "<param name=\"cy\" gui-text=\"" N_("Y") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">-6</param>\n"
+ "<param name=\"cx\" _gui-text=\"" N_("X") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">-6</param>\n"
+ "<param name=\"cy\" _gui-text=\"" N_("Y") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">-6</param>\n"
"<_param name=\"magentaOffset\" type=\"description\" appearance=\"header\">" N_("Magenta offset") "</_param>\n"
- "<param name=\"mx\" gui-text=\"" N_("X") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">6</param>\n"
- "<param name=\"my\" gui-text=\"" N_("Y") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">7</param>\n"
+ "<param name=\"mx\" _gui-text=\"" N_("X") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">6</param>\n"
+ "<param name=\"my\" _gui-text=\"" N_("Y") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">7</param>\n"
"<_param name=\"yellowOffset\" type=\"description\" appearance=\"header\">" N_("Yellow offset") "</_param>\n"
- "<param name=\"yx\" gui-text=\"" N_("X") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">1</param>\n"
- "<param name=\"yy\" gui-text=\"" N_("Y") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">-16</param>\n"
+ "<param name=\"yx\" _gui-text=\"" N_("X") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">1</param>\n"
+ "<param name=\"yy\" _gui-text=\"" N_("Y") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-100.\" max=\"100.\">-16</param>\n"
"</page>\n"
"<page name=\"coltab\" _gui-text=\"Color\">\n"
- "<param name=\"color\" gui-text=\"" N_("Background color") "\" type=\"color\">-1</param>\n"
+ "<param name=\"color\" _gui-text=\"" N_("Background color") "\" type=\"color\">-1</param>\n"
"</page>\n"
"</param>\n"
"<effect>\n"
@@ -1482,15 +1482,15 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Quadritone fantasy") "</name>\n"
"<id>org.inkscape.effect.filter.Quadritone</id>\n"
- "<param name=\"dist\" gui-text=\"" N_("Hue distribution (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">280</param>\n"
- "<param name=\"colors\" gui-text=\"" N_("Colors") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">100</param>\n"
- "<param name=\"blend1\" gui-text=\"" N_("Blend 1:") "\" type=\"enum\">\n"
+ "<param name=\"dist\" _gui-text=\"" N_("Hue distribution (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">280</param>\n"
+ "<param name=\"colors\" _gui-text=\"" N_("Colors") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">100</param>\n"
+ "<param name=\"blend1\" _gui-text=\"" N_("Blend 1:") "\" type=\"enum\">\n"
"<_item value=\"normal\">" N_("Normal") "</_item>\n"
"<_item value=\"multiply\">" N_("Multiply") "</_item>\n"
"<_item value=\"screen\">" N_("Screen") "</_item>\n"
"</param>\n"
- "<param name=\"sat\" gui-text=\"" N_("Over-saturation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"1.00\">0</param>\n"
- "<param name=\"blend2\" gui-text=\"" N_("Blend 2:") "\" type=\"enum\">\n"
+ "<param name=\"sat\" _gui-text=\"" N_("Over-saturation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"1.00\">0</param>\n"
+ "<param name=\"blend2\" _gui-text=\"" N_("Blend 2:") "\" type=\"enum\">\n"
"<_item value=\"normal\">" N_("Normal") "</_item>\n"
"<_item value=\"screen\">" N_("Screen") "</_item>\n"
"<_item value=\"multiply\">" N_("Multiply") "</_item>\n"
@@ -1568,8 +1568,8 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Solarize") "</name>\n"
"<id>org.inkscape.effect.filter.Solarize</id>\n"
- "<param name=\"rotate\" gui-text=\"" N_("Hue rotation (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">0</param>\n"
- "<param name=\"type\" gui-text=\"" N_("Type:") "\" type=\"enum\">\n"
+ "<param name=\"rotate\" _gui-text=\"" N_("Hue rotation (°)") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">0</param>\n"
+ "<param name=\"type\" _gui-text=\"" N_("Type:") "\" type=\"enum\">\n"
"<_item value=\"solarize\">" N_("Solarize") "</_item>\n"
"<_item value=\"moonarize\">" N_("Moonarize") "</_item>\n"
"</param>\n"
@@ -1657,31 +1657,31 @@ public:
"<id>org.inkscape.effect.filter.Tritone</id>\n"
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"Options\">\n"
- "<param name=\"type\" gui-text=\"" N_("Type:") "\" type=\"enum\">\n"
+ "<param name=\"type\" _gui-text=\"" N_("Type:") "\" type=\"enum\">\n"
"<_item value=\"normal\">" N_("Normal") "</_item>\n"
"<_item value=\"enhue\">" N_("Enhance hue") "</_item>\n"
"<_item value=\"phospho\">" N_("Phosphorescence") "</_item>\n"
"<_item value=\"phosphoB\">" N_("Colored nights") "</_item>\n"
"<_item value=\"htb\">" N_("Hue to background") "</_item>\n"
"</param>\n"
- "<param name=\"globalblend\" gui-text=\"" N_("Global blend:") "\" type=\"enum\">\n"
+ "<param name=\"globalblend\" _gui-text=\"" N_("Global blend:") "\" type=\"enum\">\n"
"<_item value=\"lighten\">" N_("Lighten") "</_item>\n"
"<_item value=\"screen\">" N_("Screen") "</_item>\n"
"<_item value=\"multiply\">" N_("Multiply") "</_item>\n"
"<_item value=\"darken\">" N_("Darken") "</_item>\n"
"</param>\n"
- "<param name=\"glow\" gui-text=\"" N_("Glow") "\" type=\"float\" appearance=\"full\" min=\"0.01\" max=\"10\">0.01</param>\n"
- "<param name=\"glowblend\" gui-text=\"" N_("Glow blend:") "\" type=\"enum\">\n"
+ "<param name=\"glow\" _gui-text=\"" N_("Glow") "\" type=\"float\" appearance=\"full\" min=\"0.01\" max=\"10\">0.01</param>\n"
+ "<param name=\"glowblend\" _gui-text=\"" N_("Glow blend:") "\" type=\"enum\">\n"
"<_item value=\"normal\">" N_("Normal") "</_item>\n"
"<_item value=\"multiply\">" N_("Multiply") "</_item>\n"
"<_item value=\"darken\">" N_("Darken") "</_item>\n"
"</param>\n"
- "<param name=\"llight\" gui-text=\"" N_("Local light") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"10\">0</param>\n"
- "<param name=\"glight\" gui-text=\"" N_("Global light") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"10\">1</param>\n"
+ "<param name=\"llight\" _gui-text=\"" N_("Local light") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"10\">0</param>\n"
+ "<param name=\"glight\" _gui-text=\"" N_("Global light") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"10\">1</param>\n"
"</page>\n"
"<page name=\"co1tab\" _gui-text=\"Color\">\n"
- "<param name=\"dist\" gui-text=\"" N_("Hue distribution (°):") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">0</param>\n"
- "<param name=\"color\" gui-text=\"" N_("Color") "\" type=\"color\">-73203457</param>\n"
+ "<param name=\"dist\" _gui-text=\"" N_("Hue distribution (°):") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"360\">0</param>\n"
+ "<param name=\"color\" _gui-text=\"" N_("Color") "\" type=\"color\">-73203457</param>\n"
"</page>\n"
"</param>\n"
"<effect>\n"
diff --git a/src/extension/internal/filter/distort.h b/src/extension/internal/filter/distort.h
index 586d34226..56aab51f5 100644
--- a/src/extension/internal/filter/distort.h
+++ b/src/extension/internal/filter/distort.h
@@ -66,29 +66,29 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Felt Feather") "</name>\n"
"<id>org.inkscape.effect.filter.FeltFeather</id>\n"
- "<param name=\"type\" gui-text=\"" N_("Type:") "\" type=\"enum\">\n"
+ "<param name=\"type\" _gui-text=\"" N_("Type:") "\" type=\"enum\">\n"
"<_item value=\"in\">" N_("In") "</_item>\n"
"<_item value=\"out\">" N_("Out") "</_item>\n"
"</param>\n"
- "<param name=\"hblur\" gui-text=\"" N_("Horizontal blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"30.00\">15</param>\n"
- "<param name=\"vblur\" gui-text=\"" N_("Vertical blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"30.00\">15</param>\n"
- "<param name=\"dilat\" gui-text=\"" N_("Dilatation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"100\">1</param>\n"
- "<param name=\"erosion\" gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"100\">0</param>\n"
- "<param name=\"stroke\" gui-text=\"" N_("Stroke:") "\" type=\"enum\">\n"
+ "<param name=\"hblur\" _gui-text=\"" N_("Horizontal blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"30.00\">15</param>\n"
+ "<param name=\"vblur\" _gui-text=\"" N_("Vertical blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"30.00\">15</param>\n"
+ "<param name=\"dilat\" _gui-text=\"" N_("Dilatation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"100\">1</param>\n"
+ "<param name=\"erosion\" _gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"100\">0</param>\n"
+ "<param name=\"stroke\" _gui-text=\"" N_("Stroke:") "\" type=\"enum\">\n"
"<_item value=\"atop\">" N_("Normal") "</_item>\n"
"<_item value=\"over\">" N_("Wide") "</_item>\n"
"<_item value=\"in\">" N_("Narrow") "</_item>\n"
"<_item value=\"xor\">" N_("No fill") "</_item>\n"
"</param>\n"
- "<param name=\"turbulence\" indent=\"1\" gui-text=\"" N_("Turbulence:") "\" type=\"enum\">\n"
+ "<param name=\"turbulence\" indent=\"1\" _gui-text=\"" N_("Turbulence:") "\" type=\"enum\">\n"
"<_item value=\"fractalNoise\">" N_("Fractal noise") "</_item>\n"
"<_item value=\"turbulence\">" N_("Turbulence") "</_item>\n"
"</param>\n"
- "<param name=\"hfreq\" gui-text=\"" N_("Horizontal frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.\">5</param>\n"
- "<param name=\"vfreq\" gui-text=\"" N_("Vertical frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.\">5</param>\n"
- "<param name=\"complexity\" gui-text=\"" N_("Complexity") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"5\">3</param>\n"
- "<param name=\"variation\" gui-text=\"" N_("Variation") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"100\">0</param>\n"
- "<param name=\"intensity\" gui-text=\"" N_("Intensity") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"100\">30</param>\n"
+ "<param name=\"hfreq\" _gui-text=\"" N_("Horizontal frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.\">5</param>\n"
+ "<param name=\"vfreq\" _gui-text=\"" N_("Vertical frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.\">5</param>\n"
+ "<param name=\"complexity\" _gui-text=\"" N_("Complexity") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"5\">3</param>\n"
+ "<param name=\"variation\" _gui-text=\"" N_("Variation") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"100\">0</param>\n"
+ "<param name=\"intensity\" _gui-text=\"" N_("Intensity") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"100\">30</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -189,15 +189,15 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Roughen") "</name>\n"
"<id>org.inkscape.effect.filter.Roughen</id>\n"
- "<param name=\"type\" gui-text=\"" N_("Turbulence type:") "\" type=\"enum\">\n"
+ "<param name=\"type\" _gui-text=\"" N_("Turbulence type:") "\" type=\"enum\">\n"
"<_item value=\"fractalNoise\">" N_("Fractal noise") "</_item>\n"
"<_item value=\"turbulence\">" N_("Turbulence") "</_item>\n"
"</param>\n"
- "<param name=\"hfreq\" gui-text=\"" N_("Horizontal frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.1\" max=\"1000.00\">1.3</param>\n"
- "<param name=\"vfreq\" gui-text=\"" N_("Vertical frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.1\" max=\"1000.00\">1.3</param>\n"
- "<param name=\"complexity\" gui-text=\"" N_("Complexity") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"5\">5</param>\n"
- "<param name=\"variation\" gui-text=\"" N_("Variation") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"360\">0</param>\n"
- "<param name=\"intensity\" gui-text=\"" N_("Intensity") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"50\">6.6</param>\n"
+ "<param name=\"hfreq\" _gui-text=\"" N_("Horizontal frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.1\" max=\"1000.00\">1.3</param>\n"
+ "<param name=\"vfreq\" _gui-text=\"" N_("Vertical frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.1\" max=\"1000.00\">1.3</param>\n"
+ "<param name=\"complexity\" _gui-text=\"" N_("Complexity") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"5\">5</param>\n"
+ "<param name=\"variation\" _gui-text=\"" N_("Variation") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"360\">0</param>\n"
+ "<param name=\"intensity\" _gui-text=\"" N_("Intensity") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"50\">6.6</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/filter/image.h b/src/extension/internal/filter/image.h
index 00cd2cf21..868588f80 100644
--- a/src/extension/internal/filter/image.h
+++ b/src/extension/internal/filter/image.h
@@ -48,13 +48,13 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Edge Detect") "</name>\n"
"<id>org.inkscape.effect.filter.EdgeDetect</id>\n"
- "<param name=\"type\" gui-text=\"" N_("Detect:") "\" type=\"enum\" >\n"
+ "<param name=\"type\" _gui-text=\"" N_("Detect:") "\" type=\"enum\" >\n"
"<_item value=\"all\">" N_("All") "</_item>\n"
"<_item value=\"vertical\">" N_("Vertical lines") "</_item>\n"
"<_item value=\"horizontal\">" N_("Horizontal lines") "</_item>\n"
"</param>\n"
- "<param name=\"level\" gui-text=\"" N_("Level") "\" type=\"float\" appearance=\"full\" min=\"0.1\" max=\"100.0\">1.0</param>\n"
- "<param name=\"inverted\" gui-text=\"" N_("Invert colors") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"level\" _gui-text=\"" N_("Level") "\" type=\"float\" appearance=\"full\" min=\"0.1\" max=\"100.0\">1.0</param>\n"
+ "<param name=\"inverted\" _gui-text=\"" N_("Invert colors") "\" type=\"boolean\" >false</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/filter/morphology.h b/src/extension/internal/filter/morphology.h
index 7e10884a1..e1785f7d3 100644
--- a/src/extension/internal/filter/morphology.h
+++ b/src/extension/internal/filter/morphology.h
@@ -57,17 +57,17 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Cross-smooth") "</name>\n"
"<id>org.inkscape.effect.filter.crosssmooth</id>\n"
- "<param name=\"type\" gui-text=\"" N_("Type:") "\" type=\"enum\">\n"
+ "<param name=\"type\" _gui-text=\"" N_("Type:") "\" type=\"enum\">\n"
"<_item value=\"in\">" N_("Inner") "</_item>\n"
"<_item value=\"over\">" N_("Outer") "</_item>\n"
"<_item value=\"xor\">" N_("Open") "</_item>\n"
"</param>\n"
- "<param name=\"width\" gui-text=\"" N_("Width") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"30.\">10</param>\n"
- "<param name=\"level\" gui-text=\"" N_("Level") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.2\" max=\"2\">1</param>\n"
- "<param name=\"dilat\" gui-text=\"" N_("Dilatation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"100\">10</param>\n"
- "<param name=\"erosion\" gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"100\">1</param>\n"
- "<param name=\"antialias\" gui-text=\"" N_("Antialiasing") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"1\">1</param>\n"
- "<param name=\"content\" gui-text=\"" N_("Blur content") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"width\" _gui-text=\"" N_("Width") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"30.\">10</param>\n"
+ "<param name=\"level\" _gui-text=\"" N_("Level") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.2\" max=\"2\">1</param>\n"
+ "<param name=\"dilat\" _gui-text=\"" N_("Dilatation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"100\">10</param>\n"
+ "<param name=\"erosion\" _gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"100\">1</param>\n"
+ "<param name=\"antialias\" _gui-text=\"" N_("Antialiasing") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"1\">1</param>\n"
+ "<param name=\"content\" _gui-text=\"" N_("Blur content") "\" type=\"boolean\" >false</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
@@ -167,33 +167,33 @@ public:
"<id>org.inkscape.effect.filter.Outline</id>\n"
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"Options\">\n"
- "<param name=\"fill\" gui-text=\"" N_("Fill image") "\" type=\"boolean\" >false</param>\n"
- "<param name=\"outline\" gui-text=\"" N_("Hide image") "\" type=\"boolean\" >false</param>\n"
- "<param name=\"type\" gui-text=\"" N_("Composite type:") "\" type=\"enum\">\n"
+ "<param name=\"fill\" _gui-text=\"" N_("Fill image") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"outline\" _gui-text=\"" N_("Hide image") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"type\" _gui-text=\"" N_("Composite type:") "\" type=\"enum\">\n"
"<_item value=\"over\">" N_("Over") "</_item>\n"
"<_item value=\"in\">" N_("In") "</_item>\n"
"<_item value=\"out\">" N_("Out") "</_item>\n"
"<_item value=\"atop\">" N_("Atop") "</_item>\n"
"<_item value=\"xor\">" N_("XOR") "</_item>\n"
"</param>\n"
- "<param name=\"position\" gui-text=\"" N_("Position:") "\" type=\"enum\">\n"
+ "<param name=\"position\" _gui-text=\"" N_("Position:") "\" type=\"enum\">\n"
"<_item value=\"inside\">" N_("Inside") "</_item>\n"
"<_item value=\"outside\">" N_("Outside") "</_item>\n"
"<_item value=\"overlayed\">" N_("Overlayed") "</_item>\n"
"</param>\n"
- "<param name=\"width1\" gui-text=\"" N_("Width 1") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">4</param>\n"
- "<param name=\"dilat1\" gui-text=\"" N_("Dilatation 1") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"100\">100</param>\n"
- "<param name=\"erosion1\" gui-text=\"" N_("Erosion 1") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"100\">1</param>\n"
- "<param name=\"width2\" gui-text=\"" N_("Width 2") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">0.5</param>\n"
- "<param name=\"dilat2\" gui-text=\"" N_("Dilatation 2") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"100\">50</param>\n"
- "<param name=\"erosion2\" gui-text=\"" N_("Erosion 2") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"100\">5</param>\n"
- "<param name=\"antialias\" gui-text=\"" N_("Antialiasing") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"1\">1</param>\n"
- "<param name=\"smooth\" gui-text=\"" N_("Smooth") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"width1\" _gui-text=\"" N_("Width 1") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">4</param>\n"
+ "<param name=\"dilat1\" _gui-text=\"" N_("Dilatation 1") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"100\">100</param>\n"
+ "<param name=\"erosion1\" _gui-text=\"" N_("Erosion 1") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"100\">1</param>\n"
+ "<param name=\"width2\" _gui-text=\"" N_("Width 2") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">0.5</param>\n"
+ "<param name=\"dilat2\" _gui-text=\"" N_("Dilatation 2") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"100\">50</param>\n"
+ "<param name=\"erosion2\" _gui-text=\"" N_("Erosion 2") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"100\">5</param>\n"
+ "<param name=\"antialias\" _gui-text=\"" N_("Antialiasing") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"1\">1</param>\n"
+ "<param name=\"smooth\" _gui-text=\"" N_("Smooth") "\" type=\"boolean\" >false</param>\n"
"</page>\n"
"<page name=\"co11tab\" _gui-text=\"Color\">\n"
- "<param name=\"color\" gui-text=\"" N_("Color") "\" type=\"color\">255</param>\n"
- "<param name=\"fopacity\" gui-text=\"" N_("Fill opacity:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1\">1</param>\n"
- "<param name=\"sopacity\" gui-text=\"" N_("Stroke opacity:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1\">1</param>\n"
+ "<param name=\"color\" _gui-text=\"" N_("Color") "\" type=\"color\">255</param>\n"
+ "<param name=\"fopacity\" _gui-text=\"" N_("Fill opacity:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1\">1</param>\n"
+ "<param name=\"sopacity\" _gui-text=\"" N_("Stroke opacity:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1\">1</param>\n"
"</page>\n"
"</param>\n"
"<effect>\n"
diff --git a/src/extension/internal/filter/overlays.h b/src/extension/internal/filter/overlays.h
index 1ca745166..f6c0509c8 100644
--- a/src/extension/internal/filter/overlays.h
+++ b/src/extension/internal/filter/overlays.h
@@ -57,20 +57,20 @@ public:
"<id>org.inkscape.effect.filter.NoiseFill</id>\n"
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"" N_("Options") "\">\n"
- "<param name=\"type\" gui-text=\"" N_("Turbulence type:") "\" type=\"enum\">\n"
+ "<param name=\"type\" _gui-text=\"" N_("Turbulence type:") "\" type=\"enum\">\n"
"<_item value=\"fractalNoise\">" N_("Fractal noise") "</_item>\n"
"<_item value=\"turbulence\">" N_("Turbulence") "</_item>\n"
"</param>\n"
- "<param name=\"hfreq\" gui-text=\"" N_("Horizontal frequency:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10000.00\">20</param>\n"
- "<param name=\"vfreq\" gui-text=\"" N_("Vertical frequency:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10000.00\">40</param>\n"
- "<param name=\"complexity\" gui-text=\"" N_("Complexity:") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"5\">5</param>\n"
- "<param name=\"variation\" gui-text=\"" N_("Variation:") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"360\">0</param>\n"
- "<param name=\"dilat\" gui-text=\"" N_("Dilatation:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"50\">3</param>\n"
- "<param name=\"erosion\" gui-text=\"" N_("Erosion:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"50\">1</param>\n"
- "<param name=\"inverted\" gui-text=\"" N_("Inverted") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"hfreq\" _gui-text=\"" N_("Horizontal frequency:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10000.00\">20</param>\n"
+ "<param name=\"vfreq\" _gui-text=\"" N_("Vertical frequency:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10000.00\">40</param>\n"
+ "<param name=\"complexity\" _gui-text=\"" N_("Complexity:") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"5\">5</param>\n"
+ "<param name=\"variation\" _gui-text=\"" N_("Variation:") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"360\">0</param>\n"
+ "<param name=\"dilat\" _gui-text=\"" N_("Dilatation:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"50\">3</param>\n"
+ "<param name=\"erosion\" _gui-text=\"" N_("Erosion:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"50\">1</param>\n"
+ "<param name=\"inverted\" _gui-text=\"" N_("Inverted") "\" type=\"boolean\" >false</param>\n"
"</page>\n"
"<page name=\"co11tab\" _gui-text=\"" N_("Noise color") "\">\n"
- "<param name=\"color\" gui-text=\"" N_("Color") "\" type=\"color\">354957823</param>\n"
+ "<param name=\"color\" _gui-text=\"" N_("Color") "\" type=\"color\">354957823</param>\n"
"</page>\n"
"</param>\n"
"<effect>\n"
diff --git a/src/extension/internal/filter/paint.h b/src/extension/internal/filter/paint.h
index 941177f39..43f4b6c90 100644
--- a/src/extension/internal/filter/paint.h
+++ b/src/extension/internal/filter/paint.h
@@ -72,32 +72,32 @@ public:
"<id>org.inkscape.effect.filter.Chromolitho</id>\n"
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"Options\">\n"
- "<param name=\"drawing\" gui-text=\"" N_("Drawing mode") "\" type=\"boolean\" >true</param>\n"
- "<param name=\"dblend\" gui-text=\"" N_("Drawing blend:") "\" type=\"enum\">\n"
+ "<param name=\"drawing\" _gui-text=\"" N_("Drawing mode") "\" type=\"boolean\" >true</param>\n"
+ "<param name=\"dblend\" _gui-text=\"" N_("Drawing blend:") "\" type=\"enum\">\n"
"<_item value=\"darken\">Darken</_item>\n"
"<_item value=\"normal\">Normal</_item>\n"
"<_item value=\"multiply\">Multiply</_item>\n"
"<_item value=\"screen\">Screen</_item>\n"
"<_item value=\"lighten\">Lighten</_item>\n"
"</param>\n"
- "<param name=\"transparent\" gui-text=\"" N_("Transparent") "\" type=\"boolean\" >false</param>\n"
- "<param name=\"dented\" gui-text=\"" N_("Dented") "\" type=\"boolean\" >false</param>\n"
- "<param name=\"inverted\" gui-text=\"" N_("Inverted") "\" type=\"boolean\" >false</param>\n"
- "<param name=\"light\" gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"10\">0</param>\n"
- "<param name=\"saturation\" gui-text=\"" N_("Saturation") "\" type=\"float\" precision=\"2\" appearance=\"full\" min=\"0\" max=\"1\">1</param>\n"
- "<param name=\"noise\" gui-text=\"" N_("Noise reduction") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"1000\">10</param>\n"
- "<param name=\"smooth\" gui-text=\"" N_("Smoothness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10.00\">1</param>\n"
+ "<param name=\"transparent\" _gui-text=\"" N_("Transparent") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"dented\" _gui-text=\"" N_("Dented") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"inverted\" _gui-text=\"" N_("Inverted") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"light\" _gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"10\">0</param>\n"
+ "<param name=\"saturation\" _gui-text=\"" N_("Saturation") "\" type=\"float\" precision=\"2\" appearance=\"full\" min=\"0\" max=\"1\">1</param>\n"
+ "<param name=\"noise\" _gui-text=\"" N_("Noise reduction") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"1000\">10</param>\n"
+ "<param name=\"smooth\" _gui-text=\"" N_("Smoothness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"10.00\">1</param>\n"
"</page>\n"
"<page name=\"graintab\" _gui-text=\"" N_("Grain") "\">\n"
- "<param name=\"grain\" gui-text=\"" N_("Grain mode") "\" type=\"boolean\" >true</param>\n"
- "<param name=\"grainxf\" gui-text=\"" N_("Horizontal frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1000\">1000</param>\n"
- "<param name=\"grainyf\" gui-text=\"" N_("Vertical frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1000\">1000</param>\n"
- "<param name=\"grainc\" gui-text=\"" N_("Complexity") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"5\">1</param>\n"
- "<param name=\"grainv\" gui-text=\"" N_("Variation") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"1000\">0</param>\n"
- "<param name=\"grainexp\" gui-text=\"" N_("Expansion") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"50\">1</param>\n"
- "<param name=\"grainero\" gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"40\">0</param>\n"
- "<param name=\"graincol\" gui-text=\"" N_("Color") "\" type=\"boolean\" >true</param>\n"
- "<param name=\"gblend\" gui-text=\"" N_("Grain blend:") "\" type=\"enum\">\n"
+ "<param name=\"grain\" _gui-text=\"" N_("Grain mode") "\" type=\"boolean\" >true</param>\n"
+ "<param name=\"grainxf\" _gui-text=\"" N_("Horizontal frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1000\">1000</param>\n"
+ "<param name=\"grainyf\" _gui-text=\"" N_("Vertical frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1000\">1000</param>\n"
+ "<param name=\"grainc\" _gui-text=\"" N_("Complexity") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"5\">1</param>\n"
+ "<param name=\"grainv\" _gui-text=\"" N_("Variation") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"1000\">0</param>\n"
+ "<param name=\"grainexp\" _gui-text=\"" N_("Expansion") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"1\" max=\"50\">1</param>\n"
+ "<param name=\"grainero\" _gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"40\">0</param>\n"
+ "<param name=\"graincol\" _gui-text=\"" N_("Color") "\" type=\"boolean\" >true</param>\n"
+ "<param name=\"gblend\" _gui-text=\"" N_("Grain blend:") "\" type=\"enum\">\n"
"<_item value=\"normal\">Normal</_item>\n"
"<_item value=\"multiply\">Multiply</_item>\n"
"<_item value=\"screen\">Screen</_item>\n"
@@ -231,12 +231,12 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Cross Engraving") "</name>\n"
"<id>org.inkscape.effect.filter.CrossEngraving</id>\n"
- "<param name=\"clean\" gui-text=\"" N_("Clean-up") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"500\">30</param>\n"
- "<param name=\"dilat\" gui-text=\"" N_("Dilatation") "\" type=\"float\" appearance=\"full\" min=\"1\" max=\"50\">1</param>\n"
- "<param name=\"erosion\" gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"50\">0</param>\n"
- "<param name=\"strength\" gui-text=\"" N_("Strength") "\" type=\"float\" appearance=\"full\" min=\"0.1\" max=\"10\">0.5</param>\n"
- "<param name=\"length\" gui-text=\"" N_("Length") "\" type=\"float\" appearance=\"full\" min=\"0.5\" max=\"20\">4</param>\n"
- "<param name=\"trans\" gui-text=\"" N_("Transparent") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"clean\" _gui-text=\"" N_("Clean-up") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"500\">30</param>\n"
+ "<param name=\"dilat\" _gui-text=\"" N_("Dilatation") "\" type=\"float\" appearance=\"full\" min=\"1\" max=\"50\">1</param>\n"
+ "<param name=\"erosion\" _gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"50\">0</param>\n"
+ "<param name=\"strength\" _gui-text=\"" N_("Strength") "\" type=\"float\" appearance=\"full\" min=\"0.1\" max=\"10\">0.5</param>\n"
+ "<param name=\"length\" _gui-text=\"" N_("Length") "\" type=\"float\" appearance=\"full\" min=\"0.5\" max=\"20\">4</param>\n"
+ "<param name=\"trans\" _gui-text=\"" N_("Transparent") "\" type=\"boolean\" >false</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -333,27 +333,27 @@ public:
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"Options\">\n"
"<_param name=\"simplifyheader\" type=\"description\" appearance=\"header\">" N_("Simplify") "</_param>\n"
- "<param name=\"simply\" gui-text=\"" N_("Strength") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">0.6</param>\n"
- "<param name=\"clean\" gui-text=\"" N_("Clean-up") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"1\" max=\"500\">10</param>\n"
- "<param name=\"erase\" gui-text=\"" N_("Erase") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"60\">0</param>\n"
- "<param name=\"translucent\" gui-text=\"" N_("Translucent") "\" indent=\"1\" type=\"boolean\" >false</param>\n"
+ "<param name=\"simply\" _gui-text=\"" N_("Strength") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">0.6</param>\n"
+ "<param name=\"clean\" _gui-text=\"" N_("Clean-up") "\" type=\"int\" indent=\"1\" appearance=\"full\" min=\"1\" max=\"500\">10</param>\n"
+ "<param name=\"erase\" _gui-text=\"" N_("Erase") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"60\">0</param>\n"
+ "<param name=\"translucent\" _gui-text=\"" N_("Translucent") "\" indent=\"1\" type=\"boolean\" >false</param>\n"
"<_param name=\"smoothheader\" type=\"description\" appearance=\"header\">" N_("Smoothness") "</_param>\n"
- "<param name=\"smooth\" gui-text=\"" N_("Strength") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">0.6</param>\n"
- "<param name=\"dilat\" gui-text=\"" N_("Dilatation") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"1\" max=\"50\">6</param>\n"
- "<param name=\"erosion\" gui-text=\"" N_("Erosion") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"50\">2</param>\n"
+ "<param name=\"smooth\" _gui-text=\"" N_("Strength") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">0.6</param>\n"
+ "<param name=\"dilat\" _gui-text=\"" N_("Dilatation") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"1\" max=\"50\">6</param>\n"
+ "<param name=\"erosion\" _gui-text=\"" N_("Erosion") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"50\">2</param>\n"
"<_param name=\"meltheader\" type=\"description\" appearance=\"header\">" N_("Melt") "</_param>\n"
- "<param name=\"blur\" gui-text=\"" N_("Level") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">1</param>\n"
- "<param name=\"bdilat\" gui-text=\"" N_("Dilatation") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"1\" max=\"50\">6</param>\n"
- "<param name=\"berosion\" gui-text=\"" N_("Erosion") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"50\">2</param>\n"
+ "<param name=\"blur\" _gui-text=\"" N_("Level") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">1</param>\n"
+ "<param name=\"bdilat\" _gui-text=\"" N_("Dilatation") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"1\" max=\"50\">6</param>\n"
+ "<param name=\"berosion\" _gui-text=\"" N_("Erosion") "\" type=\"float\" indent=\"1\" appearance=\"full\" min=\"0\" max=\"50\">2</param>\n"
"</page>\n"
"<page name=\"co11tab\" _gui-text=\"Fill color\">\n"
- "<param name=\"fcolor\" gui-text=\"" N_("Fill color") "\" type=\"color\">-1515870721</param>\n"
- "<param name=\"iof\" gui-text=\"" N_("Image on fill") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"fcolor\" _gui-text=\"" N_("Fill color") "\" type=\"color\">-1515870721</param>\n"
+ "<param name=\"iof\" _gui-text=\"" N_("Image on fill") "\" type=\"boolean\" >false</param>\n"
"</page>\n"
"<page name=\"co12tab\" _gui-text=\"Stroke color\">\n"
- "<param name=\"scolor\" gui-text=\"" N_("Stroke color") "\" type=\"color\">589505535</param>\n"
- "<param name=\"ios\" gui-text=\"" N_("Image on stroke") "\" type=\"boolean\" >false</param>\n"
- "<param name=\"offset\" gui-text=\"" N_("Offset") "\" type=\"int\" appearance=\"full\" min=\"-100\" max=\"100\">0</param>\n"
+ "<param name=\"scolor\" _gui-text=\"" N_("Stroke color") "\" type=\"color\">589505535</param>\n"
+ "<param name=\"ios\" _gui-text=\"" N_("Image on stroke") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"offset\" _gui-text=\"" N_("Offset") "\" type=\"int\" appearance=\"full\" min=\"-100\" max=\"100\">0</param>\n"
"</page>\n"
"</param>\n"
"<effect>\n"
@@ -493,13 +493,13 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Electrize") "</name>\n"
"<id>org.inkscape.effect.filter.Electrize</id>\n"
- "<param name=\"blur\" gui-text=\"" N_("Simplify") "\" type=\"float\" appearance=\"full\" min=\"0.01\" max=\"10.0\">2.0</param>\n"
- "<param name=\"type\" gui-text=\"" N_("Effect type:") "\" type=\"enum\">\n"
+ "<param name=\"blur\" _gui-text=\"" N_("Simplify") "\" type=\"float\" appearance=\"full\" min=\"0.01\" max=\"10.0\">2.0</param>\n"
+ "<param name=\"type\" _gui-text=\"" N_("Effect type:") "\" type=\"enum\">\n"
"<_item value=\"table\">" N_("Table") "</_item>\n"
"<_item value=\"discrete\">" N_("Discrete") "</_item>\n"
"</param>\n"
- "<param name=\"levels\" gui-text=\"" N_("Levels") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"10\">3</param>\n"
- "<param name=\"invert\" gui-text=\"" N_("Inverted") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"levels\" _gui-text=\"" N_("Levels") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"10\">3</param>\n"
+ "<param name=\"invert\" _gui-text=\"" N_("Inverted") "\" type=\"boolean\">false</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -583,14 +583,14 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Neon Draw") "</name>\n"
"<id>org.inkscape.effect.filter.NeonDraw</id>\n"
- "<param name=\"type\" gui-text=\"" N_("Line type:") "\" type=\"enum\">\n"
+ "<param name=\"type\" _gui-text=\"" N_("Line type:") "\" type=\"enum\">\n"
"<_item value=\"table\">" N_("Smoothed") "</_item>\n"
"<_item value=\"discrete\">" N_("Contrasted") "</_item>\n"
"</param>\n"
- "<param name=\"simply\" gui-text=\"" N_("Simplify") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">3</param>\n"
- "<param name=\"width\" gui-text=\"" N_("Line width") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">3</param>\n"
- "<param name=\"lightness\" gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"10.00\">1</param>\n"
- "<param name=\"blend\" gui-text=\"" N_("Blend mode:") "\" type=\"enum\">\n"
+ "<param name=\"simply\" _gui-text=\"" N_("Simplify") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">3</param>\n"
+ "<param name=\"width\" _gui-text=\"" N_("Line width") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">3</param>\n"
+ "<param name=\"lightness\" _gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"10.00\">1</param>\n"
+ "<param name=\"blend\" _gui-text=\"" N_("Blend mode:") "\" type=\"enum\">\n"
"<_item value=\"normal\">Normal</_item>\n"
"<_item value=\"multiply\">Multiply</_item>\n"
"<_item value=\"screen\">Screen</_item>\n"
@@ -688,34 +688,34 @@ public:
"<id>org.inkscape.effect.filter.PointEngraving</id>\n"
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"" N_("Options") "\">\n"
- "<param name=\"type\" gui-text=\"" N_("Turbulence type:") "\" type=\"enum\">\n"
+ "<param name=\"type\" _gui-text=\"" N_("Turbulence type:") "\" type=\"enum\">\n"
"<_item value=\"fractalNoise\">" N_("Fractal noise") "</_item>\n"
"<_item value=\"turbulence\">" N_("Turbulence") "</_item>\n"
"</param>\n"
- "<param name=\"hfreq\" gui-text=\"" N_("Horizontal frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.1\" max=\"100.00\">100</param>\n"
- "<param name=\"vfreq\" gui-text=\"" N_("Vertical frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.1\" max=\"100.00\">100</param>\n"
- "<param name=\"complexity\" gui-text=\"" N_("Complexity") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"5\">1</param>\n"
- "<param name=\"variation\" gui-text=\"" N_("Variation") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"100\">0</param>\n"
- "<param name=\"reduction\" gui-text=\"" N_("Noise reduction") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"500\">45</param>\n"
- "<param name=\"blend\" gui-text=\"" N_("Noise blend:") "\" type=\"enum\">\n"
+ "<param name=\"hfreq\" _gui-text=\"" N_("Horizontal frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.1\" max=\"100.00\">100</param>\n"
+ "<param name=\"vfreq\" _gui-text=\"" N_("Vertical frequency") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.1\" max=\"100.00\">100</param>\n"
+ "<param name=\"complexity\" _gui-text=\"" N_("Complexity") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"5\">1</param>\n"
+ "<param name=\"variation\" _gui-text=\"" N_("Variation") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"100\">0</param>\n"
+ "<param name=\"reduction\" _gui-text=\"" N_("Noise reduction") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"500\">45</param>\n"
+ "<param name=\"blend\" _gui-text=\"" N_("Noise blend:") "\" type=\"enum\">\n"
"<_item value=\"multiply\">" N_("Multiply") "</_item>\n"
"<_item value=\"normal\">" N_("Normal") "</_item>\n"
"<_item value=\"screen\">" N_("Screen") "</_item>\n"
"<_item value=\"lighten\">" N_("Lighten") "</_item>\n"
"<_item value=\"darken\">" N_("Darken") "</_item>\n"
"</param>\n"
- "<param name=\"lightness\" gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"10\">2.5</param>\n"
- "<param name=\"grain\" gui-text=\"" N_("Grain lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"10\">1.3</param>\n"
- "<param name=\"erase\" gui-text=\"" N_("Erase") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1\">0</param>\n"
- "<param name=\"blur\" gui-text=\"" N_("Blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"2\">0.5</param>\n"
+ "<param name=\"lightness\" _gui-text=\"" N_("Lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"10\">2.5</param>\n"
+ "<param name=\"grain\" _gui-text=\"" N_("Grain lightness") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"10\">1.3</param>\n"
+ "<param name=\"erase\" _gui-text=\"" N_("Erase") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0\" max=\"1\">0</param>\n"
+ "<param name=\"blur\" _gui-text=\"" N_("Blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"2\">0.5</param>\n"
"</page>\n"
"<page name=\"fcolortab\" _gui-text=\"" N_("Fill color") "\">\n"
- "<param name=\"fcolor\" gui-text=\"" N_("Color") "\" type=\"color\">-1</param>\n"
- "<param name=\"iof\" gui-text=\"" N_("Image on fill") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"fcolor\" _gui-text=\"" N_("Color") "\" type=\"color\">-1</param>\n"
+ "<param name=\"iof\" _gui-text=\"" N_("Image on fill") "\" type=\"boolean\" >false</param>\n"
"</page>\n"
"<page name=\"pcolortab\" _gui-text=\"" N_("Points color") "\">\n"
- "<param name=\"pcolor\" gui-text=\"" N_("Color") "\" type=\"color\">1666789119</param>\n"
- "<param name=\"iop\" gui-text=\"" N_("Image on points") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"pcolor\" _gui-text=\"" N_("Color") "\" type=\"color\">1666789119</param>\n"
+ "<param name=\"iop\" _gui-text=\"" N_("Image on points") "\" type=\"boolean\" >false</param>\n"
"</page>\n"
"</param>\n"
"<effect>\n"
@@ -849,27 +849,27 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Poster Paint") "</name>\n"
"<id>org.inkscape.effect.filter.Posterize</id>\n"
- "<param name=\"type\" gui-text=\"" N_("Effect type:") "\" type=\"enum\">\n"
+ "<param name=\"type\" _gui-text=\"" N_("Effect type:") "\" type=\"enum\">\n"
"<_item value=\"normal\">Normal</_item>\n"
"<_item value=\"dented\">Dented</_item>\n"
"</param>\n"
- "<param name=\"table\" gui-text=\"" N_("Transfer type:") "\" type=\"enum\">\n"
+ "<param name=\"table\" _gui-text=\"" N_("Transfer type:") "\" type=\"enum\">\n"
"<_item value=\"discrete\">" N_("Poster") "</_item>\n"
"<_item value=\"table\">" N_("Painting") "</_item>\n"
"</param>\n"
- "<param name=\"levels\" gui-text=\"" N_("Levels") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"15\">5</param>\n"
- "<param name=\"blend\" gui-text=\"" N_("Blend mode:") "\" type=\"enum\">\n"
+ "<param name=\"levels\" _gui-text=\"" N_("Levels") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"15\">5</param>\n"
+ "<param name=\"blend\" _gui-text=\"" N_("Blend mode:") "\" type=\"enum\">\n"
"<_item value=\"lighten\">Lighten</_item>\n"
"<_item value=\"normal\">Normal</_item>\n"
"<_item value=\"darken\">Darken</_item>\n"
"<_item value=\"multiply\">Multiply</_item>\n"
"<_item value=\"screen\">Screen</_item>\n"
"</param>\n"
- "<param name=\"blur1\" gui-text=\"" N_("Simplify (primary)") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.00\">4.0</param>\n"
- "<param name=\"blur2\" gui-text=\"" N_("Simplify (secondary)") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.00\">0.5</param>\n"
- "<param name=\"presaturation\" gui-text=\"" N_("Pre-saturation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"1.00\">1.00</param>\n"
- "<param name=\"postsaturation\" gui-text=\"" N_("Post-saturation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"1.00\">1.00</param>\n"
- "<param name=\"antialiasing\" gui-text=\"" N_("Simulate antialiasing") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"blur1\" _gui-text=\"" N_("Simplify (primary)") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.00\">4.0</param>\n"
+ "<param name=\"blur2\" _gui-text=\"" N_("Simplify (secondary)") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.00\">0.5</param>\n"
+ "<param name=\"presaturation\" _gui-text=\"" N_("Pre-saturation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"1.00\">1.00</param>\n"
+ "<param name=\"postsaturation\" _gui-text=\"" N_("Post-saturation") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.00\" max=\"1.00\">1.00</param>\n"
+ "<param name=\"antialiasing\" _gui-text=\"" N_("Simulate antialiasing") "\" type=\"boolean\">false</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -972,8 +972,8 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Posterize Basic") "</name>\n"
"<id>org.inkscape.effect.filter.PosterizeBasic</id>\n"
- "<param name=\"levels\" gui-text=\"" N_("Levels") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"20\">5</param>\n"
- "<param name=\"blur\" gui-text=\"" N_("Simplify") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">4.0</param>\n"
+ "<param name=\"levels\" _gui-text=\"" N_("Levels") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"20\">5</param>\n"
+ "<param name=\"blur\" _gui-text=\"" N_("Simplify") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"20.00\">4.0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/filter/protrusions.h b/src/extension/internal/filter/protrusions.h
index 965a1bdc5..ad75d8896 100644
--- a/src/extension/internal/filter/protrusions.h
+++ b/src/extension/internal/filter/protrusions.h
@@ -47,7 +47,7 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Snow crest") "</name>\n"
"<id>org.inkscape.effect.filter.snow</id>\n"
- "<param name=\"drift\" gui-text=\"" N_("Drift Size") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"20.0\">3.5</param>\n"
+ "<param name=\"drift\" _gui-text=\"" N_("Drift Size") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"20.0\">3.5</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/filter/shadows.h b/src/extension/internal/filter/shadows.h
index 0d54950bf..e69e05669 100644
--- a/src/extension/internal/filter/shadows.h
+++ b/src/extension/internal/filter/shadows.h
@@ -58,10 +58,10 @@ public:
"<id>org.inkscape.effect.filter.ColorDropShadow</id>\n"
"<param name=\"tab\" type=\"notebook\">\n"
"<page name=\"optionstab\" _gui-text=\"" N_("Options") "\">\n"
- "<param name=\"blur\" gui-text=\"" N_("Blur radius (px)") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"200.0\">3.0</param>\n"
- "<param name=\"xoffset\" gui-text=\"" N_("Horizontal offset (px)") "\" type=\"float\" appearance=\"full\" min=\"-50.0\" max=\"50.0\">6.0</param>\n"
- "<param name=\"yoffset\" gui-text=\"" N_("Vertical offset (px)") "\" type=\"float\" appearance=\"full\" min=\"-50.0\" max=\"50.0\">6.0</param>\n"
- "<param name=\"type\" gui-text=\"" N_("Shadow type:") "\" type=\"enum\" >\n"
+ "<param name=\"blur\" _gui-text=\"" N_("Blur radius (px)") "\" type=\"float\" appearance=\"full\" min=\"0.0\" max=\"200.0\">3.0</param>\n"
+ "<param name=\"xoffset\" _gui-text=\"" N_("Horizontal offset (px)") "\" type=\"float\" appearance=\"full\" min=\"-50.0\" max=\"50.0\">6.0</param>\n"
+ "<param name=\"yoffset\" _gui-text=\"" N_("Vertical offset (px)") "\" type=\"float\" appearance=\"full\" min=\"-50.0\" max=\"50.0\">6.0</param>\n"
+ "<param name=\"type\" _gui-text=\"" N_("Shadow type:") "\" type=\"enum\" >\n"
"<_item value=\"outer\">" N_("Outer") "</_item>\n"
"<_item value=\"inner\">" N_("Inner") "</_item>\n"
"<_item value=\"outercut\">" N_("Outer cutout") "</_item>\n"
@@ -70,8 +70,8 @@ public:
"</param>\n"
"</page>\n"
"<page name=\"coltab\" _gui-text=\"" N_("Blur color") "\">\n"
- "<param name=\"color\" gui-text=\"" N_("Color") "\" type=\"color\">127</param>\n"
- "<param name=\"objcolor\" gui-text=\"" N_("Use object's color") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"color\" _gui-text=\"" N_("Color") "\" type=\"color\">127</param>\n"
+ "<param name=\"objcolor\" _gui-text=\"" N_("Use object's color") "\" type=\"boolean\" >false</param>\n"
"</page>\n"
"</param>\n"
"<effect>\n"
diff --git a/src/extension/internal/filter/textures.h b/src/extension/internal/filter/textures.h
index 32eef6054..a2584c627 100644
--- a/src/extension/internal/filter/textures.h
+++ b/src/extension/internal/filter/textures.h
@@ -61,18 +61,18 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Ink Blot") "</name>\n"
"<id>org.inkscape.effect.filter.InkBlot</id>\n"
- "<param name=\"type\" gui-text=\"" N_("Turbulence type:") "\" type=\"enum\">\n"
+ "<param name=\"type\" _gui-text=\"" N_("Turbulence type:") "\" type=\"enum\">\n"
"<_item value=\"fractalNoise\">Fractal noise</_item>\n"
"<_item value=\"turbulence\">Turbulence</_item>\n"
"</param>\n"
- "<param name=\"freq\" gui-text=\"" N_("Frequency:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.00\">4</param>\n"
- "<param name=\"complexity\" gui-text=\"" N_("Complexity:") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"5\">3</param>\n"
- "<param name=\"variation\" gui-text=\"" N_("Variation:") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"100\">0</param>\n"
- "<param name=\"hblur\" gui-text=\"" N_("Horizontal inlay:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"30.00\">10</param>\n"
- "<param name=\"vblur\" gui-text=\"" N_("Vertical inlay:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"30.00\">10</param>\n"
- "<param name=\"displacement\" gui-text=\"" N_("Displacement:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"100.00\">50</param>\n"
- "<param name=\"blend\" gui-text=\"" N_("Blend:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"30.00\">5</param>\n"
- "<param name=\"stroke\" gui-text=\"" N_("Stroke:") "\" type=\"enum\">\n"
+ "<param name=\"freq\" _gui-text=\"" N_("Frequency:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"100.00\">4</param>\n"
+ "<param name=\"complexity\" _gui-text=\"" N_("Complexity:") "\" type=\"int\" appearance=\"full\" min=\"1\" max=\"5\">3</param>\n"
+ "<param name=\"variation\" _gui-text=\"" N_("Variation:") "\" type=\"int\" appearance=\"full\" min=\"0\" max=\"100\">0</param>\n"
+ "<param name=\"hblur\" _gui-text=\"" N_("Horizontal inlay:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"30.00\">10</param>\n"
+ "<param name=\"vblur\" _gui-text=\"" N_("Vertical inlay:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"30.00\">10</param>\n"
+ "<param name=\"displacement\" _gui-text=\"" N_("Displacement:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"100.00\">50</param>\n"
+ "<param name=\"blend\" _gui-text=\"" N_("Blend:") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"30.00\">5</param>\n"
+ "<param name=\"stroke\" _gui-text=\"" N_("Stroke:") "\" type=\"enum\">\n"
"<_item value=\"over\">" N_("Wide") "</_item>\n"
"<_item value=\"atop\">" N_("Normal") "</_item>\n"
"<_item value=\"in\">" N_("Narrow") "</_item>\n"
@@ -81,9 +81,9 @@ public:
"<_item value=\"arithmetic\">" N_("Custom") "</_item>\n"
"</param>\n"
"<_param name=\"customHeader\" type=\"description\" appearance=\"header\">" N_("Custom stroke options") "</_param>\n"
- "<param name=\"k1\" gui-text=\"" N_("k1:") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">1.5</param>\n"
- "<param name=\"k2\" gui-text=\"" N_("k2:") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">-0.25</param>\n"
- "<param name=\"k3\" gui-text=\"" N_("k3:") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0.5</param>\n"
+ "<param name=\"k1\" _gui-text=\"" N_("k1:") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">1.5</param>\n"
+ "<param name=\"k2\" _gui-text=\"" N_("k2:") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">-0.25</param>\n"
+ "<param name=\"k3\" _gui-text=\"" N_("k3:") "\" type=\"float\" indent=\"1\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0.5</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/filter/transparency.h b/src/extension/internal/filter/transparency.h
index dcbae26b5..da89498bb 100644
--- a/src/extension/internal/filter/transparency.h
+++ b/src/extension/internal/filter/transparency.h
@@ -52,11 +52,11 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Blend") "</name>\n"
"<id>org.inkscape.effect.filter.Blend</id>\n"
- "<param name=\"source\" gui-text=\"" N_("Source:") "\" type=\"enum\">\n"
+ "<param name=\"source\" _gui-text=\"" N_("Source:") "\" type=\"enum\">\n"
"<_item value=\"BackgroundImage\">" N_("Background") "</_item>\n"
"<_item value=\"SourceGraphic\">" N_("Image") "</_item>\n"
"</param>\n"
- "<param name=\"mode\" gui-text=\"" N_("Mode:") "\" type=\"enum\">\n"
+ "<param name=\"mode\" _gui-text=\"" N_("Mode:") "\" type=\"enum\">\n"
"<_item value=\"multiply\">" N_("Multiply") "</_item>\n"
"<_item value=\"normal\">" N_("Normal") "</_item>\n"
"<_item value=\"screen\">" N_("Screen") "</_item>\n"
@@ -129,11 +129,11 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Channel Transparency") "</name>\n"
"<id>org.inkscape.effect.filter.ChannelTransparency</id>\n"
- "<param name=\"red\" gui-text=\"" N_("Red") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">-1</param>\n"
- "<param name=\"green\" gui-text=\"" N_("Green") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0.5</param>\n"
- "<param name=\"blue\" gui-text=\"" N_("Blue") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0.5</param>\n"
- "<param name=\"alpha\" gui-text=\"" N_("Alpha") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">1</param>\n"
- "<param name=\"invert\" gui-text=\"" N_("Inverted") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"red\" _gui-text=\"" N_("Red") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">-1</param>\n"
+ "<param name=\"green\" _gui-text=\"" N_("Green") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0.5</param>\n"
+ "<param name=\"blue\" _gui-text=\"" N_("Blue") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">0.5</param>\n"
+ "<param name=\"alpha\" _gui-text=\"" N_("Alpha") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"-10.\" max=\"10.\">1</param>\n"
+ "<param name=\"invert\" _gui-text=\"" N_("Inverted") "\" type=\"boolean\">false</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -204,10 +204,10 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Light Eraser") "</name>\n"
"<id>org.inkscape.effect.filter.LightEraser</id>\n"
- "<param name=\"expand\" gui-text=\"" N_("Expansion") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"1000\">50</param>\n"
- "<param name=\"erode\" gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" min=\"1\" max=\"1000\">100</param>\n"
- "<param name=\"opacity\" gui-text=\"" N_("Global opacity") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1.\">1</param>\n"
- "<param name=\"invert\" gui-text=\"" N_("Inverted") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"expand\" _gui-text=\"" N_("Expansion") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"1000\">50</param>\n"
+ "<param name=\"erode\" _gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" min=\"1\" max=\"1000\">100</param>\n"
+ "<param name=\"opacity\" _gui-text=\"" N_("Global opacity") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1.\">1</param>\n"
+ "<param name=\"invert\" _gui-text=\"" N_("Inverted") "\" type=\"boolean\">false</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -278,9 +278,9 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Opacity") "</name>\n"
"<id>org.inkscape.effect.filter.Opacity</id>\n"
- "<param name=\"expand\" gui-text=\"" N_("Expansion") "\" type=\"float\" appearance=\"full\" min=\"1\" max=\"1000\">5</param>\n"
- "<param name=\"erode\" gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"1000\">1</param>\n"
- "<param name=\"opacity\" gui-text=\"" N_("Global opacity") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1.\">1</param>\n"
+ "<param name=\"expand\" _gui-text=\"" N_("Expansion") "\" type=\"float\" appearance=\"full\" min=\"1\" max=\"1000\">5</param>\n"
+ "<param name=\"erode\" _gui-text=\"" N_("Erosion") "\" type=\"float\" appearance=\"full\" min=\"0\" max=\"1000\">1</param>\n"
+ "<param name=\"opacity\" _gui-text=\"" N_("Global opacity") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.\" max=\"1.\">1</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
@@ -340,9 +340,9 @@ public:
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Silhouette") "</name>\n"
"<id>org.inkscape.effect.filter.Silhouette</id>\n"
- "<param name=\"blur\" gui-text=\"" N_("Blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"50.00\">0.01</param>\n"
- "<param name=\"cutout\" gui-text=\"" N_("Cutout") "\" type=\"boolean\">false</param>\n"
- "<param name=\"color\" gui-text=\"" N_("Color") "\" type=\"color\">255</param>\n"
+ "<param name=\"blur\" _gui-text=\"" N_("Blur") "\" type=\"float\" appearance=\"full\" precision=\"2\" min=\"0.01\" max=\"50.00\">0.01</param>\n"
+ "<param name=\"cutout\" _gui-text=\"" N_("Cutout") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"color\" _gui-text=\"" N_("Color") "\" type=\"color\">255</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/gdkpixbuf-input.cpp b/src/extension/internal/gdkpixbuf-input.cpp
index c15e28854..b30c67a4d 100644
--- a/src/extension/internal/gdkpixbuf-input.cpp
+++ b/src/extension/internal/gdkpixbuf-input.cpp
@@ -208,7 +208,7 @@ GdkpixbufInput::init(void)
"<_option value='optimizeSpeed' >" N_("Blocky (optimizeSpeed)") "</_option>\n"
"</param>\n"
- "<param name=\"do_not_ask\" _gui-description='" N_("Hide the dialog next time and always apply the same actions.") "' gui-text=\"" N_("Don't ask again") "\" type=\"boolean\" >false</param>\n"
+ "<param name=\"do_not_ask\" _gui-description='" N_("Hide the dialog next time and always apply the same actions.") "' _gui-text=\"" N_("Don't ask again") "\" type=\"boolean\" >false</param>\n"
"<input>\n"
"<extension>.%s</extension>\n"
"<mimetype>%s</mimetype>\n"
diff --git a/src/extension/internal/grid.cpp b/src/extension/internal/grid.cpp
index 8a9c7a72f..c766bd828 100644
--- a/src/extension/internal/grid.cpp
+++ b/src/extension/internal/grid.cpp
@@ -108,7 +108,8 @@ Grid::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *doc
bounding_area = temprec;
}
- gdouble scale = Inkscape::Util::Quantity::convert(1, "px", &document->doc()->getSVGUnit());
+ double scale = document->doc()->getDocumentScale().inverse()[Geom::X];
+
bounding_area *= Geom::Scale(scale);
Geom::Point spacings( scale * module->get_param_float("xspacing"),
scale * module->get_param_float("yspacing") );
@@ -127,15 +128,9 @@ Grid::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *doc
path->setAttribute("d", path_data.c_str());
- Glib::ustring style("fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000");
- style += ";stroke-width:";
- gchar floatstring[64];
std::ostringstream stringstream;
- stringstream << line_width;
- sprintf(floatstring, "%s", stringstream.str().c_str());
- style += floatstring;
- style += "pt";
- path->setAttribute("style", style.c_str());
+ stringstream << "fill:none;stroke:#000000;stroke-width:" << line_width << "px";
+ path->setAttribute("style", stringstream.str().c_str());
current_layer->appendChild(path);
Inkscape::GC::release(path);
@@ -203,11 +198,11 @@ Grid::init (void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("Grid") "</name>\n"
"<id>org.inkscape.effect.grid</id>\n"
- "<param name=\"lineWidth\" gui-text=\"" N_("Line Width:") "\" type=\"float\">1.0</param>\n"
- "<param name=\"xspacing\" gui-text=\"" N_("Horizontal Spacing:") "\" type=\"float\" min=\"0.1\" max=\"1000\">10.0</param>\n"
- "<param name=\"yspacing\" gui-text=\"" N_("Vertical Spacing:") "\" type=\"float\" min=\"0.1\" max=\"1000\">10.0</param>\n"
- "<param name=\"xoffset\" gui-text=\"" N_("Horizontal Offset:") "\" type=\"float\" min=\"0.0\" max=\"1000\">0.0</param>\n"
- "<param name=\"yoffset\" gui-text=\"" N_("Vertical Offset:") "\" type=\"float\" min=\"0.0\" max=\"1000\">0.0</param>\n"
+ "<param name=\"lineWidth\" _gui-text=\"" N_("Line Width:") "\" type=\"float\">1.0</param>\n"
+ "<param name=\"xspacing\" _gui-text=\"" N_("Horizontal Spacing:") "\" type=\"float\" min=\"0.1\" max=\"1000\">10.0</param>\n"
+ "<param name=\"yspacing\" _gui-text=\"" N_("Vertical Spacing:") "\" type=\"float\" min=\"0.1\" max=\"1000\">10.0</param>\n"
+ "<param name=\"xoffset\" _gui-text=\"" N_("Horizontal Offset:") "\" type=\"float\" min=\"0.0\" max=\"1000\">0.0</param>\n"
+ "<param name=\"yoffset\" _gui-text=\"" N_("Vertical Offset:") "\" type=\"float\" min=\"0.0\" max=\"1000\">0.0</param>\n"
"<effect>\n"
"<object-type>all</object-type>\n"
"<effects-menu>\n"
diff --git a/src/extension/internal/wmf-inout.cpp b/src/extension/internal/wmf-inout.cpp
index b8b0c73de..c7226a58a 100644
--- a/src/extension/internal/wmf-inout.cpp
+++ b/src/extension/internal/wmf-inout.cpp
@@ -3193,15 +3193,15 @@ Wmf::init (void)
"<inkscape-extension xmlns=\"" INKSCAPE_EXTENSION_URI "\">\n"
"<name>" N_("WMF Output") "</name>\n"
"<id>org.inkscape.output.wmf</id>\n"
- "<param name=\"textToPath\" gui-text=\"" N_("Convert texts to paths") "\" type=\"boolean\">true</param>\n"
- "<param name=\"TnrToSymbol\" gui-text=\"" N_("Map Unicode to Symbol font") "\" type=\"boolean\">true</param>\n"
- "<param name=\"TnrToWingdings\" gui-text=\"" N_("Map Unicode to Wingdings") "\" type=\"boolean\">true</param>\n"
- "<param name=\"TnrToZapfDingbats\" gui-text=\"" N_("Map Unicode to Zapf Dingbats") "\" type=\"boolean\">true</param>\n"
- "<param name=\"UsePUA\" gui-text=\"" N_("Use MS Unicode PUA (0xF020-0xF0FF) for converted characters") "\" type=\"boolean\">false</param>\n"
- "<param name=\"FixPPTCharPos\" gui-text=\"" N_("Compensate for PPT font bug") "\" type=\"boolean\">false</param>\n"
- "<param name=\"FixPPTDashLine\" gui-text=\"" N_("Convert dashed/dotted lines to single lines") "\" type=\"boolean\">false</param>\n"
- "<param name=\"FixPPTGrad2Polys\" gui-text=\"" N_("Convert gradients to colored polygon series") "\" type=\"boolean\">false</param>\n"
- "<param name=\"FixPPTPatternAsHatch\" gui-text=\"" N_("Map all fill patterns to standard WMF hatches") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"textToPath\" _gui-text=\"" N_("Convert texts to paths") "\" type=\"boolean\">true</param>\n"
+ "<param name=\"TnrToSymbol\" _gui-text=\"" N_("Map Unicode to Symbol font") "\" type=\"boolean\">true</param>\n"
+ "<param name=\"TnrToWingdings\" _gui-text=\"" N_("Map Unicode to Wingdings") "\" type=\"boolean\">true</param>\n"
+ "<param name=\"TnrToZapfDingbats\" _gui-text=\"" N_("Map Unicode to Zapf Dingbats") "\" type=\"boolean\">true</param>\n"
+ "<param name=\"UsePUA\" _gui-text=\"" N_("Use MS Unicode PUA (0xF020-0xF0FF) for converted characters") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"FixPPTCharPos\" _gui-text=\"" N_("Compensate for PPT font bug") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"FixPPTDashLine\" _gui-text=\"" N_("Convert dashed/dotted lines to single lines") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"FixPPTGrad2Polys\" _gui-text=\"" N_("Convert gradients to colored polygon series") "\" type=\"boolean\">false</param>\n"
+ "<param name=\"FixPPTPatternAsHatch\" _gui-text=\"" N_("Map all fill patterns to standard WMF hatches") "\" type=\"boolean\">false</param>\n"
"<output>\n"
"<extension>.wmf</extension>\n"
"<mimetype>image/x-wmf</mimetype>\n"
diff --git a/src/extension/param/bool.cpp b/src/extension/param/bool.cpp
index de9b1c586..d64f798ba 100644
--- a/src/extension/param/bool.cpp
+++ b/src/extension/param/bool.cpp
@@ -19,7 +19,6 @@
#include "../extension.h"
#include "bool.h"
#include "preferences.h"
-#include <glibmm/i18n.h>
namespace Inkscape {
namespace Extension {
@@ -137,7 +136,7 @@ Gtk::Widget *ParamBool::get_widget(SPDocument * doc, Inkscape::XML::Node * node,
Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false, 4));
#endif
- Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_START));
+ Gtk::Label * label = Gtk::manage(new Gtk::Label(_text, Gtk::ALIGN_START));
label->show();
hbox->pack_end(*label, true, true);
diff --git a/src/extension/param/enum.cpp b/src/extension/param/enum.cpp
index 8bc0fbda7..4e7420807 100644
--- a/src/extension/param/enum.cpp
+++ b/src/extension/param/enum.cpp
@@ -251,7 +251,7 @@ Gtk::Widget *ParamComboBox::get_widget(SPDocument * doc, Inkscape::XML::Node * n
}
Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false, 4));
- Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_START));
+ Gtk::Label * label = Gtk::manage(new Gtk::Label(_text, Gtk::ALIGN_START));
label->show();
hbox->pack_start(*label, false, false, _indent);
diff --git a/src/extension/param/float.cpp b/src/extension/param/float.cpp
index 81508f6c0..dff7cbf46 100644
--- a/src/extension/param/float.cpp
+++ b/src/extension/param/float.cpp
@@ -20,7 +20,6 @@
#include "extension/extension.h"
#include "preferences.h"
#include "float.h"
-#include <glibmm/i18n.h>
namespace Inkscape {
namespace Extension {
@@ -186,7 +185,7 @@ Gtk::Widget * ParamFloat::get_widget(SPDocument * doc, Inkscape::XML::Node * nod
if (_mode == FULL) {
- UI::Widget::SpinScale *scale = new UI::Widget::SpinScale(_(_text), fadjust, _precision);
+ UI::Widget::SpinScale *scale = new UI::Widget::SpinScale(_text, fadjust, _precision);
scale->set_size_request(400, -1);
scale->show();
hbox->pack_start(*scale, false, false);
@@ -194,7 +193,7 @@ Gtk::Widget * ParamFloat::get_widget(SPDocument * doc, Inkscape::XML::Node * nod
}
else if (_mode == MINIMAL) {
- Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_START));
+ Gtk::Label * label = Gtk::manage(new Gtk::Label(_text, Gtk::ALIGN_START));
label->show();
hbox->pack_start(*label, true, true, _indent);
diff --git a/src/extension/param/int.cpp b/src/extension/param/int.cpp
index c286018fd..dda801282 100644
--- a/src/extension/param/int.cpp
+++ b/src/extension/param/int.cpp
@@ -20,7 +20,6 @@
#include "extension/extension.h"
#include "preferences.h"
#include "int.h"
-#include <glibmm/i18n.h>
namespace Inkscape {
namespace Extension {
@@ -168,14 +167,14 @@ ParamInt::get_widget (SPDocument * doc, Inkscape::XML::Node * node, sigc::signal
if (_mode == FULL) {
- UI::Widget::SpinScale *scale = new UI::Widget::SpinScale(_(_text), fadjust, 0);
+ UI::Widget::SpinScale *scale = new UI::Widget::SpinScale(_text, fadjust, 0);
scale->set_size_request(400, -1);
scale->show();
hbox->pack_start(*scale, false, false);
}
else if (_mode == MINIMAL) {
- Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_START));
+ Gtk::Label * label = Gtk::manage(new Gtk::Label(_text, Gtk::ALIGN_START));
label->show();
hbox->pack_start(*label, true, true, _indent);
diff --git a/src/extension/param/parameter.cpp b/src/extension/param/parameter.cpp
index 10029893f..e4a614667 100644
--- a/src/extension/param/parameter.cpp
+++ b/src/extension/param/parameter.cpp
@@ -40,6 +40,8 @@
#include "radiobutton.h"
#include "string.h"
+#include <glibmm/i18n.h>
+
namespace Inkscape {
namespace Extension {
@@ -56,6 +58,16 @@ Parameter *Parameter::make(Inkscape::XML::Node *in_repr, Inkscape::Extension::Ex
const char *guitext = in_repr->attribute("gui-text");
if (guitext == NULL) {
guitext = in_repr->attribute("_gui-text");
+ if (guitext == NULL) {
+ // guitext = ""; // propably better to require devs to explicitly set an empty gui-text if this is what they want
+ } else {
+ const char *context = in_repr->attribute("msgctxt");
+ if (context != NULL) {
+ guitext = g_dpgettext2(NULL, context, guitext);
+ } else {
+ guitext = _(guitext);
+ }
+ }
}
const char *gui_tip = in_repr->attribute("gui-tip");
if (gui_tip == NULL) {
diff --git a/src/extension/param/radiobutton.cpp b/src/extension/param/radiobutton.cpp
index 8181c6f51..1d1b860c6 100644
--- a/src/extension/param/radiobutton.cpp
+++ b/src/extension/param/radiobutton.cpp
@@ -313,7 +313,7 @@ Gtk::Widget * ParamRadioButton::get_widget(SPDocument * doc, Inkscape::XML::Node
Gtk::VBox * vbox = Gtk::manage(new Gtk::VBox(false, 0));
#endif
- Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_START, Gtk::ALIGN_START));
+ Gtk::Label * label = Gtk::manage(new Gtk::Label(_text, Gtk::ALIGN_START, Gtk::ALIGN_START));
label->show();
hbox->pack_start(*label, false, false, _indent);
diff --git a/src/extension/param/string.cpp b/src/extension/param/string.cpp
index 1d9205502..6b082b133 100644
--- a/src/extension/param/string.cpp
+++ b/src/extension/param/string.cpp
@@ -166,7 +166,7 @@ Gtk::Widget * ParamString::get_widget(SPDocument * doc, Inkscape::XML::Node * no
}
Gtk::HBox * hbox = Gtk::manage(new Gtk::HBox(false, 4));
- Gtk::Label * label = Gtk::manage(new Gtk::Label(_(_text), Gtk::ALIGN_START));
+ Gtk::Label * label = Gtk::manage(new Gtk::Label(_text, Gtk::ALIGN_START));
label->show();
hbox->pack_start(*label, false, false, _indent);
diff --git a/src/extension/plugins/grid2/grid.cpp b/src/extension/plugins/grid2/grid.cpp
index 3a2ed7867..6880c574d 100644
--- a/src/extension/plugins/grid2/grid.cpp
+++ b/src/extension/plugins/grid2/grid.cpp
@@ -114,7 +114,8 @@ Grid::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *doc
bounding_area = temprec;
}
- gdouble scale = Inkscape::Util::Quantity::convert(1, "px", &document->doc()->getSVGUnit());
+ double scale = document->doc()->getDocumentScale().inverse()[Geom::X];
+
bounding_area *= Geom::Scale(scale);
Geom::Point spacings( scale * module->get_param_float("xspacing"),
scale * module->get_param_float("yspacing") );
@@ -133,15 +134,9 @@ Grid::effect (Inkscape::Extension::Effect *module, Inkscape::UI::View::View *doc
path->setAttribute("d", path_data.c_str());
- Glib::ustring style("fill:none;fill-opacity:0.75000000;fill-rule:evenodd;stroke:#000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1.0000000");
- style += ";stroke-width:";
- gchar floatstring[64];
std::ostringstream stringstream;
- stringstream << line_width;
- sprintf(floatstring, "%s", stringstream.str().c_str());
- style += floatstring;
- style += "pt";
- path->setAttribute("style", style.c_str());
+ stringstream << "fill:none;stroke:#000000;stroke-width:" << line_width << "px";
+ path->setAttribute("style", stringstream.str().c_str());
current_layer->appendChild(path);
Inkscape::GC::release(path);
diff --git a/src/extension/prefdialog.cpp b/src/extension/prefdialog.cpp
index 0ea15a5cd..2521dc1de 100644
--- a/src/extension/prefdialog.cpp
+++ b/src/extension/prefdialog.cpp
@@ -273,7 +273,7 @@ PrefDialog::on_response (int signal) {
#include "internal/clear-n_.h"
-const char * PrefDialog::live_param_xml = "<param name=\"__live_effect__\" type=\"boolean\" gui-text=\"" N_("Live preview") "\" gui-description=\"" N_("Is the effect previewed live on canvas?") "\" scope=\"user\">false</param>";
+const char * PrefDialog::live_param_xml = "<param name=\"__live_effect__\" type=\"boolean\" _gui-text=\"" N_("Live preview") "\" gui-description=\"" N_("Is the effect previewed live on canvas?") "\" scope=\"user\">false</param>";
}; }; /* namespace Inkscape, Extension */
diff --git a/src/file.cpp b/src/file.cpp
index 9d390908e..650ce5d0f 100644
--- a/src/file.cpp
+++ b/src/file.cpp
@@ -45,7 +45,7 @@
#include "helper/png-write.h"
#include "id-clash.h"
#include "inkscape.h"
-#include "inkscape.h"
+#include "inkscape-version.h"
#include "ui/interface.h"
#include "io/sys.h"
#include "message.h"
@@ -318,6 +318,12 @@ bool sp_file_open(const Glib::ustring &uri,
// everyone who cares now has a reference, get rid of our`s
doc->doUnref();
+ SPRoot *root = doc->getRoot();
+
+ // This is the only place original values should be set.
+ root->original.inkscape = root->version.inkscape;
+ root->original.svg = root->version.svg;
+
// resize the window to match the document properties
sp_namedview_window_from_document(desktop);
sp_namedview_update_layers_from_document(desktop);
@@ -669,6 +675,8 @@ file_save(Gtk::Window &parentWindow, SPDocument *doc, const Glib::ustring &uri,
if (!doc || uri.size()<1) //Safety check
return false;
+ Inkscape::Version save = doc->getRoot()->version.inkscape;
+ doc->getReprRoot()->setAttribute("inkscape:version", Inkscape::version_string);
try {
Inkscape::Extension::save(key, doc, uri.c_str(),
false,
@@ -681,6 +689,8 @@ file_save(Gtk::Window &parentWindow, SPDocument *doc, const Glib::ustring &uri,
sp_ui_error_dialog(text);
g_free(text);
g_free(safeUri);
+ // Restore Inkscape version
+ doc->getReprRoot()->setAttribute("inkscape:version", sp_version_to_string( save ));
return false;
} catch (Inkscape::Extension::Output::file_read_only &e) {
gchar *safeUri = Inkscape::IO::sanitizeString(uri.c_str());
@@ -689,6 +699,7 @@ file_save(Gtk::Window &parentWindow, SPDocument *doc, const Glib::ustring &uri,
sp_ui_error_dialog(text);
g_free(text);
g_free(safeUri);
+ doc->getReprRoot()->setAttribute("inkscape:version", sp_version_to_string( save ));
return false;
} catch (Inkscape::Extension::Output::save_failed &e) {
gchar *safeUri = Inkscape::IO::sanitizeString(uri.c_str());
@@ -697,14 +708,17 @@ file_save(Gtk::Window &parentWindow, SPDocument *doc, const Glib::ustring &uri,
sp_ui_error_dialog(text);
g_free(text);
g_free(safeUri);
+ doc->getReprRoot()->setAttribute("inkscape:version", sp_version_to_string( save ));
return false;
} catch (Inkscape::Extension::Output::save_cancelled &e) {
SP_ACTIVE_DESKTOP->messageStack()->flash(Inkscape::ERROR_MESSAGE, _("Document not saved."));
+ doc->getReprRoot()->setAttribute("inkscape:version", sp_version_to_string( save ));
return false;
} catch (Inkscape::Extension::Output::no_overwrite &e) {
return sp_file_save_dialog(parentWindow, doc, save_method);
} catch (...) {
SP_ACTIVE_DESKTOP->messageStack()->flash(Inkscape::ERROR_MESSAGE, _("Document not saved."));
+ doc->getReprRoot()->setAttribute("inkscape:version", sp_version_to_string( save ));
return false;
}
diff --git a/src/inkscape-x64.rc b/src/inkscape-x64.rc
index 7f4d5b9ae..2f4710a36 100644
--- a/src/inkscape-x64.rc
+++ b/src/inkscape-x64.rc
@@ -3,8 +3,8 @@ APPLICATION_ICON ICON DISCARDABLE "../inkscape.ico"
1 24 DISCARDABLE "./inkscape-manifest-x64.xml"
1 VERSIONINFO
- FILEVERSION 0,91,0,9
- PRODUCTVERSION 0,91,0,9
+ FILEVERSION 0,92,0,0
+ PRODUCTVERSION 0,92,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
@@ -13,11 +13,11 @@ BEGIN
VALUE "Comments", "Published under the GNU GPL"
VALUE "CompanyName", "inkscape.org"
VALUE "FileDescription", "Inkscape"
- VALUE "FileVersion", "0.91+devel"
+ VALUE "FileVersion", "0.92pre1"
VALUE "InternalName", "Inkscape"
VALUE "LegalCopyright", "© 2014 Inkscape"
VALUE "ProductName", "Inkscape"
- VALUE "ProductVersion", "0.91+devel"
+ VALUE "ProductVersion", "0.92pre1"
END
END
BLOCK "VarFileInfo"
diff --git a/src/inkscape.rc b/src/inkscape.rc
index 92d38f60e..087c5862d 100644
--- a/src/inkscape.rc
+++ b/src/inkscape.rc
@@ -3,8 +3,8 @@ APPLICATION_ICON ICON DISCARDABLE "../inkscape.ico"
1 24 DISCARDABLE "./inkscape-manifest.xml"
1 VERSIONINFO
- FILEVERSION 0,91,0,9
- PRODUCTVERSION 0,91,0,9
+ FILEVERSION 0,92,0,0
+ PRODUCTVERSION 0,92,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
@@ -13,11 +13,11 @@ BEGIN
VALUE "Comments", "Published under the GNU GPL"
VALUE "CompanyName", "inkscape.org"
VALUE "FileDescription", "Inkscape"
- VALUE "FileVersion", "0.91+devel"
+ VALUE "FileVersion", "0.92pre1"
VALUE "InternalName", "Inkscape"
VALUE "LegalCopyright", "© 2014 Inkscape"
VALUE "ProductName", "Inkscape"
- VALUE "ProductVersion", "0.91+devel"
+ VALUE "ProductVersion", "0.92pre1"
END
END
BLOCK "VarFileInfo"
diff --git a/src/inkview-x64.rc b/src/inkview-x64.rc
index 1b7287993..465de4af1 100644
--- a/src/inkview-x64.rc
+++ b/src/inkview-x64.rc
@@ -3,8 +3,8 @@ APPLICATION_ICON ICON DISCARDABLE "../inkscape.ico"
1 24 DISCARDABLE "./inkview-manifest-x64.xml"
1 VERSIONINFO
- FILEVERSION 0,91,0,9
- PRODUCTVERSION 0,91,0,9
+ FILEVERSION 0,92,0,0
+ PRODUCTVERSION 0,92,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
@@ -13,11 +13,11 @@ BEGIN
VALUE "Comments", "Published under the GNU GPL"
VALUE "CompanyName", "inkscape.org"
VALUE "FileDescription", "Inkview"
- VALUE "FileVersion", "0.91+devel"
+ VALUE "FileVersion", "0.92pre1"
VALUE "InternalName", "Inkview"
VALUE "LegalCopyright", "© 2014 Inkscape"
VALUE "ProductName", "Inkview"
- VALUE "ProductVersion", "0.91+devel"
+ VALUE "ProductVersion", "0.92pre1"
END
END
BLOCK "VarFileInfo"
diff --git a/src/inkview.rc b/src/inkview.rc
index 326b0873a..34632bd14 100644
--- a/src/inkview.rc
+++ b/src/inkview.rc
@@ -3,8 +3,8 @@ APPLICATION_ICON ICON DISCARDABLE "../inkscape.ico"
1 24 DISCARDABLE "./inkview-manifest.xml"
1 VERSIONINFO
- FILEVERSION 0,91,0,9
- PRODUCTVERSION 0,91,0,9
+ FILEVERSION 0,92,0,0
+ PRODUCTVERSION 0,92,0,0
BEGIN
BLOCK "StringFileInfo"
BEGIN
@@ -13,11 +13,11 @@ BEGIN
VALUE "Comments", "Published under the GNU GPL"
VALUE "CompanyName", "inkscape.org"
VALUE "FileDescription", "Inkview"
- VALUE "FileVersion", "0.91+devel"
+ VALUE "FileVersion", "0.92pre1"
VALUE "InternalName", "Inkview"
VALUE "LegalCopyright", "© 2014 Inkscape"
VALUE "ProductName", "Inkview"
- VALUE "ProductVersion", "0.91+devel"
+ VALUE "ProductVersion", "0.92pre1"
END
END
BLOCK "VarFileInfo"
diff --git a/src/libnrtype/Layout-TNG-Compute.cpp b/src/libnrtype/Layout-TNG-Compute.cpp
index 337d2a656..6b1aba53f 100644
--- a/src/libnrtype/Layout-TNG-Compute.cpp
+++ b/src/libnrtype/Layout-TNG-Compute.cpp
@@ -243,8 +243,11 @@ static void dumpUnbrokenSpans(ParagraphInfo *para){
bool _goToNextWrapShape();
- bool _findChunksForLine(ParagraphInfo const &para, UnbrokenSpanPosition *start_span_pos,
- std::vector<ChunkInfo> *chunk_info, FontMetrics *line_box_height);
+ bool _findChunksForLine(ParagraphInfo const &para,
+ UnbrokenSpanPosition *start_span_pos,
+ std::vector<ChunkInfo> *chunk_info,
+ FontMetrics *line_box_height,
+ FontMetrics const *strut_height);
static inline PangoLogAttr const &_charAttributes(ParagraphInfo const &para,
UnbrokenSpanPosition const &span_pos)
@@ -1138,31 +1141,17 @@ void Layout::Calculator::_buildPangoItemizationForPara(ParagraphInfo *para) con
*/
double Layout::Calculator::_computeFontLineHeight( SPStyle const *style )
{
- // yet another borked SPStyle member that we're going to have to fix ourselves
- // We shouldn't need to climb the element tree...
- for ( ; ; ) {
- if (style->line_height.set && !style->line_height.inherit) {
- if (style->line_height.normal)
- break;
- switch (style->line_height.unit) {
- case SP_CSS_UNIT_NONE:
- return style->line_height.computed;
- case SP_CSS_UNIT_EX:
- return style->line_height.value * 0.5;
- // 0.5 is an approximation of the x-height. Fixme.
- case SP_CSS_UNIT_EM:
- case SP_CSS_UNIT_PERCENT:
- return style->line_height.value;
- default: // absolute values
- return style->line_height.computed / style->font_size.computed;
- }
- break;
- }
- if (style->object == NULL || style->object->parent == NULL) break;
- style = style->object->parent->style;
- if (style == NULL) break;
+ // This is a bit backwards... we should be returning the absolute height
+ // but as the code expects line_height_multiplier we return that.
+ if (style->line_height.normal) {
+ return (LINE_HEIGHT_NORMAL);
+ } else if (style->line_height.unit == SP_CSS_UNIT_NONE) {
+ // Special case per CSS, computed value is multiplier
+ return style->line_height.computed;
+ } else {
+ // Normal case, computed value is absolute height. Turn it into multiplier.
+ return style->line_height.computed / style->font_size.computed;
}
- return (LINE_HEIGHT_NORMAL);
}
bool compareGlyphWidth(const PangoGlyphInfo &a, const PangoGlyphInfo &b)
@@ -1449,35 +1438,25 @@ bool Layout::Calculator::_goToNextWrapShape()
* line to #_flow. Returns with \a start_span_pos set to the end of the
* text that was fitted, \a chunk_info completely filled out and
* \a line_box_height set with the largest ascent and the largest
- * descent (individually per CSS) on the line. The return
+ * descent (individually per CSS) on the line. The line_box_height
+ * can never be smaller than the line_box_strut (which is determined
+ * by the block level value of line_height). The return
* value is false only if we've run out of shapes to wrap inside (and
* hence couldn't create any chunks).
*/
bool Layout::Calculator::_findChunksForLine(ParagraphInfo const &para,
UnbrokenSpanPosition *start_span_pos,
std::vector<ChunkInfo> *chunk_info,
- FontMetrics *line_box_height)
+ FontMetrics *line_box_height,
+ FontMetrics const *strut_height)
{
TRACE((" begin _findChunksForLine: chunks: %lu, em size: %f\n", chunk_info->size(), line_box_height->emSize() ));
- // CSS 2.1 dictates that the minimum line height (i.e. the strut height) is found from the block element. This,
- // however, is not what the browsers seem to be doing. Instead, find the height from the first text source.
- InputStreamTextSource const *text_source = static_cast<InputStreamTextSource const *>(_flow._input_stream.front());
- font_instance *font = text_source->styleGetFontInstance();
- if (font) {
- double multiplier = _computeFontLineHeight(text_source->style);
- line_box_height->set( font );
- *line_box_height *= text_source->style->font_size.computed;
- font->Unref();
- line_box_height->computeEffective( multiplier );
- } else {
- std::cerr << "Layout::Calculator::_findChunksForLine: Font not found." << std::endl;
- }
+ // CSS 2.1 dictates that the minimum line height (i.e. the strut height)
+ // is found from the block element.
+ *line_box_height = *strut_height;
TRACE((" initial line_box_height (em size): %f\n", line_box_height->emSize() ));
- // Save strut height for use when recalculating line height after backing out chunks that don't fit.
- FontMetrics strut_height = *line_box_height;
-
UnbrokenSpanPosition span_pos;
for( ; ; ) {
std::vector<ScanlineMaker::ScanRun> scan_runs;
@@ -1495,7 +1474,7 @@ bool Layout::Calculator::_findChunksForLine(ParagraphInfo const &para,
unsigned scan_run_index;
span_pos = *start_span_pos;
for (scan_run_index = 0 ; scan_run_index < scan_runs.size() ; scan_run_index++) {
- if (!_buildChunksInScanRun(para, span_pos, scan_runs[scan_run_index], chunk_info, line_box_height, &strut_height))
+ if (!_buildChunksInScanRun(para, span_pos, scan_runs[scan_run_index], chunk_info, line_box_height, strut_height))
break;
if (!chunk_info->empty() && !chunk_info->back().broken_spans.empty())
span_pos = chunk_info->back().broken_spans.back().end;
@@ -1568,6 +1547,7 @@ bool Layout::Calculator::_buildChunksInScanRun(ParagraphInfo const &para,
// see if this span is too tall to fit on the current line
FontMetrics new_span_height = new_span.start.iter_span->line_height;
new_span_height.computeEffective( new_span.start.iter_span->line_height_multiplier );
+
/* floating point 80-bit/64-bit rounding problems require epsilon. See
discussion http://inkscape.gristle.org/2005-03-16.txt around 22:00 */
if ( new_span_height.ascent > line_height->ascent + std::numeric_limits<float>::epsilon() ||
@@ -1705,11 +1685,13 @@ bool Layout::Calculator::calculate()
pango_context_set_base_gravity(_pango_context, PANGO_GRAVITY_AUTO);
}
+ // Minimum line box height determined by block container.
+ FontMetrics strut_height = _flow.strut;
_y_offset = 0.0;
_createFirstScanlineMaker();
ParagraphInfo para;
- FontMetrics line_box_height; // needs to be maintained across paragraphs to be able to deal with blank paras
+ FontMetrics line_box_height; // Current value of line box height for line.
for(para.first_input_index = 0 ; para.first_input_index < _flow._input_stream.size() ; ) {
// jump to the next wrap shape if this is a SHAPE_BREAK control code
if (_flow._input_stream[para.first_input_index]->Type() == CONTROL_CODE) {
@@ -1749,7 +1731,7 @@ bool Layout::Calculator::calculate()
do { // for each line in the paragraph
TRACE(("begin line\n"));
std::vector<ChunkInfo> line_chunk_info;
- if (!_findChunksForLine(para, &span_pos, &line_chunk_info, &line_box_height))
+ if (!_findChunksForLine(para, &span_pos, &line_chunk_info, &line_box_height, &strut_height ))
break; // out of shapes to wrap in to
_outputLine(para, line_box_height, line_chunk_info);
diff --git a/src/libnrtype/Layout-TNG.h b/src/libnrtype/Layout-TNG.h
index 97a05bde8..8b46758f0 100644
--- a/src/libnrtype/Layout-TNG.h
+++ b/src/libnrtype/Layout-TNG.h
@@ -671,6 +671,9 @@ public:
}; // End FontMetrics
+ /** The strut is the minimum value used in calculating line height. */
+ FontMetrics strut;
+
/// see _enum_converter()
struct EnumConversionItem {
int input, output;
diff --git a/src/live_effects/effect.cpp b/src/live_effects/effect.cpp
index 0d28836ca..663fc435a 100644
--- a/src/live_effects/effect.cpp
+++ b/src/live_effects/effect.cpp
@@ -721,6 +721,7 @@ Effect::getParameter(const char * key)
{
Glib::ustring stringkey(key);
+ if (param_vector.empty()) return NULL;
std::vector<Parameter *>::iterator it = param_vector.begin();
while (it != param_vector.end()) {
Parameter * param = *it;
diff --git a/src/live_effects/lpe-perspective-envelope.cpp b/src/live_effects/lpe-perspective-envelope.cpp
index 5b29df4a7..ae951dfc9 100644
--- a/src/live_effects/lpe-perspective-envelope.cpp
+++ b/src/live_effects/lpe-perspective-envelope.cpp
@@ -42,6 +42,7 @@ LPEPerspectiveEnvelope::LPEPerspectiveEnvelope(LivePathEffectObject *lpeobject)
Effect(lpeobject),
horizontal_mirror(_("Mirror movements in horizontal"), _("Mirror movements in horizontal"), "horizontal_mirror", &wr, this, false),
vertical_mirror(_("Mirror movements in vertical"), _("Mirror movements in vertical"), "vertical_mirror", &wr, this, false),
+ overflow_perspective(_("Overflow perspective"), _("Overflow perspective"), "overflow_perspective", &wr, this, false),
deform_type(_("Type"), _("Select the type of deformation"), "deform_type", DeformationTypeConverter, &wr, this, DEFORMATION_PERSPECTIVE),
up_left_point(_("Top Left"), _("Top Left - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"), "up_left_point", &wr, this),
up_right_point(_("Top Right"), _("Top Right - <b>Ctrl+Alt+Click</b>: reset, <b>Ctrl</b>: move along axes"), "up_right_point", &wr, this),
@@ -52,6 +53,7 @@ LPEPerspectiveEnvelope::LPEPerspectiveEnvelope(LivePathEffectObject *lpeobject)
registerParameter(&deform_type);
registerParameter(&horizontal_mirror);
registerParameter(&vertical_mirror);
+ registerParameter(&overflow_perspective);
registerParameter(&up_left_point);
registerParameter(&up_right_point);
registerParameter(&down_left_point);
@@ -76,11 +78,107 @@ void LPEPerspectiveEnvelope::doEffect(SPCurve *curve)
}
double projmatrix[3][3];
if(deform_type == DEFORMATION_PERSPECTIVE) {
- std::vector<Geom::Point> handles(4);
- handles[0] = down_left_point;
- handles[1] = up_left_point;
- handles[2] = up_right_point;
- handles[3] = down_right_point;
+ if (!overflow_perspective && handles.size() == 4) {
+ bool move0 = false;
+ if (handles[0] != down_left_point) {
+ move0 = true;
+ }
+ bool move1 = false;
+ if (handles[1] != up_left_point) {
+ move1 = true;
+ }
+ bool move2 = false;
+ if (handles[2] != up_right_point) {
+ move2 = true;
+ }
+ bool move3 = false;
+ if (handles[3] != down_right_point) {
+ move3 = true;
+ }
+ handles.resize(4);
+ handles[0] = down_left_point;
+ handles[1] = up_left_point;
+ handles[2] = up_right_point;
+ handles[3] = down_right_point;
+ Geom::Line line_a(handles[3],handles[1]);
+ Geom::Line line_b(handles[1],handles[2]);
+ Geom::Line line_c(handles[2],handles[3]);
+ int position_a = Geom::sgn(Geom::cross(handles[3] - handles[1], handles[0] - handles[1]));
+ int position_b = Geom::sgn(Geom::cross(handles[1] - handles[2], handles[0] - handles[2]));
+ int position_c = Geom::sgn(Geom::cross(handles[2] - handles[3], handles[0] - handles[3]));
+ if (position_a != 1 && move0) {
+ Geom::Point point_a = line_a.pointAt(line_a.nearestTime(handles[0]));
+ down_left_point.param_setValue(point_a, true);
+ }
+ if (position_b == 1 && move0) {
+ Geom::Point point_b = line_b.pointAt(line_b.nearestTime(handles[0]));
+ down_left_point.param_setValue(point_b, true);
+ }
+ if (position_c == 1 && move0) {
+ Geom::Point point_c = line_c.pointAt(line_c.nearestTime(handles[0]));
+ down_left_point.param_setValue(point_c, true);
+ }
+ line_a.setPoints(handles[0],handles[2]);
+ line_b.setPoints(handles[2],handles[3]);
+ line_c.setPoints(handles[3],handles[0]);
+ position_a = Geom::sgn(Geom::cross(handles[0] - handles[2], handles[1] - handles[2]));
+ position_b = Geom::sgn(Geom::cross(handles[2] - handles[3], handles[1] - handles[3]));
+ position_c = Geom::sgn(Geom::cross(handles[3] - handles[0], handles[1] - handles[0]));
+ if (position_a != 1 && move1) {
+ Geom::Point point_a = line_a.pointAt(line_a.nearestTime(handles[1]));
+ up_left_point.param_setValue(point_a, true);
+ }
+ if (position_b == 1 && move1) {
+ Geom::Point point_b = line_b.pointAt(line_b.nearestTime(handles[1]));
+ up_left_point.param_setValue(point_b, true);
+ }
+ if (position_c == 1 && move1) {
+ Geom::Point point_c = line_c.pointAt(line_c.nearestTime(handles[1]));
+ up_left_point.param_setValue(point_c, true);
+ }
+ line_a.setPoints(handles[1],handles[3]);
+ line_b.setPoints(handles[3],handles[0]);
+ line_c.setPoints(handles[0],handles[1]);
+ position_a = Geom::sgn(Geom::cross(handles[1] - handles[3], handles[2] - handles[3]));
+ position_b = Geom::sgn(Geom::cross(handles[3] - handles[0], handles[2] - handles[0]));
+ position_c = Geom::sgn(Geom::cross(handles[0] - handles[1], handles[2] - handles[1]));
+ if (position_a != 1 && move2) {
+ Geom::Point point_a = line_a.pointAt(line_a.nearestTime(handles[2]));
+ up_right_point.param_setValue(point_a, true);
+ }
+ if (position_b == 1 && move2) {
+ Geom::Point point_b = line_b.pointAt(line_b.nearestTime(handles[2]));
+ up_right_point.param_setValue(point_b, true);
+ }
+ if (position_c == 1 && move2) {
+ Geom::Point point_c = line_c.pointAt(line_c.nearestTime(handles[2]));
+ up_right_point.param_setValue(point_c, true);
+ }
+ line_a.setPoints(handles[2],handles[0]);
+ line_b.setPoints(handles[0],handles[1]);
+ line_c.setPoints(handles[1],handles[2]);
+ position_a = Geom::sgn(Geom::cross(handles[2] - handles[0], handles[3] - handles[0]));
+ position_b = Geom::sgn(Geom::cross(handles[0] - handles[1], handles[3] - handles[1]));
+ position_c = Geom::sgn(Geom::cross(handles[1] - handles[2], handles[3] - handles[2]));
+ if (position_a != 1 && move3) {
+ Geom::Point point_a = line_a.pointAt(line_a.nearestTime(handles[3]));
+ down_right_point.param_setValue(point_a, true);
+ }
+ if (position_b == 1 && move3) {
+ Geom::Point point_b = line_b.pointAt(line_b.nearestTime(handles[3]));
+ down_right_point.param_setValue(point_b, true);
+ }
+ if (position_c == 1 && move3) {
+ Geom::Point point_c = line_c.pointAt(line_c.nearestTime(handles[3]));
+ down_right_point.param_setValue(point_c, true);
+ }
+ } else {
+ handles.resize(4);
+ handles[0] = down_left_point;
+ handles[1] = up_left_point;
+ handles[2] = up_right_point;
+ handles[3] = down_right_point;
+ }
std::vector<Geom::Point> source_handles(4);
source_handles[0] = Geom::Point(boundingbox_X.min(), boundingbox_Y.max());
source_handles[1] = Geom::Point(boundingbox_X.min(), boundingbox_Y.min());
@@ -206,14 +304,14 @@ LPEPerspectiveEnvelope::projectPoint(Geom::Point p)
double delta_y = boundingbox_Y.max() - p[Y];
Geom::Coord x_ratio = (delta_x * -1) / width;
Geom::Coord y_ratio = delta_y / height;
- Geom::Line* horiz = new Geom::Line();
- Geom::Line* vert = new Geom::Line();
- vert->setPoints (pointAtRatio(y_ratio,down_left_point,up_left_point),pointAtRatio(y_ratio,down_right_point,up_right_point));
- horiz->setPoints (pointAtRatio(x_ratio,down_left_point,down_right_point),pointAtRatio(x_ratio,up_left_point,up_right_point));
+ Geom::Line horiz;
+ Geom::Line vert;
+ vert.setPoints (pointAtRatio(y_ratio,down_left_point,up_left_point),pointAtRatio(y_ratio,down_right_point,up_right_point));
+ horiz.setPoints (pointAtRatio(x_ratio,down_left_point,down_right_point),pointAtRatio(x_ratio,up_left_point,up_right_point));
- OptCrossing crossPoint = intersection(*horiz,*vert);
+ OptCrossing crossPoint = intersection(horiz,vert);
if(crossPoint) {
- return horiz->pointAt(Geom::Coord(crossPoint->ta));
+ return horiz.pointAt(Geom::Coord(crossPoint->ta));
} else {
return p;
}
diff --git a/src/live_effects/lpe-perspective-envelope.h b/src/live_effects/lpe-perspective-envelope.h
index dd14dc212..727b7839d 100644
--- a/src/live_effects/lpe-perspective-envelope.h
+++ b/src/live_effects/lpe-perspective-envelope.h
@@ -60,12 +60,13 @@ private:
BoolParam horizontal_mirror;
BoolParam vertical_mirror;
+ BoolParam overflow_perspective;
EnumParam<unsigned> deform_type;
PointParam up_left_point;
PointParam up_right_point;
PointParam down_left_point;
PointParam down_right_point;
-
+ std::vector<Geom::Point> handles;
LPEPerspectiveEnvelope(const LPEPerspectiveEnvelope&);
LPEPerspectiveEnvelope& operator=(const LPEPerspectiveEnvelope&);
};
diff --git a/src/live_effects/parameter/path.cpp b/src/live_effects/parameter/path.cpp
index 7ea1d465c..bed191e83 100644
--- a/src/live_effects/parameter/path.cpp
+++ b/src/live_effects/parameter/path.cpp
@@ -73,7 +73,21 @@ PathParam::PathParam( const Glib::ustring& label, const Glib::ustring& tip,
PathParam::~PathParam()
{
remove_link();
-
+ using namespace Inkscape::UI;
+ SPDesktop *desktop = SP_ACTIVE_DESKTOP;
+ if (desktop) {
+ if (tools_isactive(desktop, TOOLS_NODES)) {
+ SPItem * item = SP_ACTIVE_DESKTOP->getSelection()->singleItem();
+ if (item != NULL) {
+ Inkscape::UI::Tools::NodeTool *nt = static_cast<Inkscape::UI::Tools::NodeTool*>(desktop->event_context);
+ std::set<ShapeRecord> shapes;
+ ShapeRecord r;
+ r.item = item;
+ shapes.insert(r);
+ nt->_multipath->setItems(shapes);
+ }
+ }
+ }
g_free(defvalue);
}
@@ -207,6 +221,9 @@ PathParam::param_newWidget()
void
PathParam::param_editOncanvas(SPItem *item, SPDesktop * dt)
{
+ SPDocument *document = dt->getDocument();
+ bool saved = DocumentUndo::getUndoSensitive(document);
+ DocumentUndo::setUndoSensitive(document, false);
using namespace Inkscape::UI;
// TODO remove the tools_switch atrocity.
@@ -220,14 +237,20 @@ PathParam::param_editOncanvas(SPItem *item, SPDesktop * dt)
r.role = SHAPE_ROLE_LPE_PARAM;
r.edit_transform = item->i2dt_affine(); // TODO is it right?
+ r.edit_transform *= item->transform.inverse();
if (!href) {
r.item = reinterpret_cast<SPItem*>(param_effect->getLPEObj());
r.lpe_key = param_key;
+ Geom::PathVector stored_pv = _pathvector;
+ param_write_to_repr("M0,0 L1,0");
+ const char *svgd = sp_svg_write_path(stored_pv);
+ param_write_to_repr(svgd);
} else {
r.item = ref.getObject();
}
shapes.insert(r);
nt->_multipath->setItems(shapes);
+ DocumentUndo::setUndoSensitive(document, saved);
}
void
@@ -435,7 +458,8 @@ PathParam::paste_param_path(const char *svgd)
SPItem * item = SP_ACTIVE_DESKTOP->getSelection()->singleItem();
if (item != NULL) {
Geom::PathVector path_clipboard = sp_svg_read_pathv(svgd);
- path_clipboard *= item->i2doc_affine().inverse();
+ path_clipboard *= item->i2doc_affine().inverse() * item->transform;
+ path_clipboard *= Geom::Translate(path_clipboard.initialPoint() - _pathvector.initialPoint()).inverse();
svgd = sp_svg_write_path( path_clipboard );
}
diff --git a/src/preferences-skeleton.h b/src/preferences-skeleton.h
index 9f2e68b1d..38196a58e 100644
--- a/src/preferences-skeleton.h
+++ b/src/preferences-skeleton.h
@@ -91,11 +91,11 @@ static char const preferences_skeleton[] =
" <eventcontext id=\"spiral\" style=\"fill:none;\" usecurrent=\"0\"/>\n"
" </group>\n"
" <group id=\"freehand\"\n"
-" style=\"fill:none;fill-rule:evenodd;stroke:black;stroke-opacity:1;stroke-linejoin:miter;stroke-linecap:butt;\">\n"
+" style=\"fill:none;stroke:black;stroke-opacity:1;stroke-linejoin:miter;stroke-linecap:butt;\">\n"
" <eventcontext id=\"pencil\" tolerance=\"4.0\" selcue=\"1\" style=\"stroke-width:1px;\" usecurrent=\"0\" average_all_sketches=\"1\"/>\n"
" <eventcontext id=\"pen\" mode=\"drag\" selcue=\"1\" style=\"stroke-width:1px;\" usecurrent=\"0\"/>\n"
" </group>\n"
-" <eventcontext id=\"calligraphic\" style=\"fill:black;fill-opacity:1;stroke:none;\"\n"
+" <eventcontext id=\"calligraphic\" style=\"fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;\"\n"
" mass=\"2\" angle=\"30\" width=\"15\" thinning=\"10\" flatness=\"90\" cap_rounding=\"0.0\" usecurrent=\"1\"\n"
" tracebackground=\"0\" usepressure=\"1\" usetilt=\"0\" keep_selected=\"1\">\n"
" <group id=\"preset\">\n"
@@ -338,7 +338,8 @@ static char const preferences_skeleton[] =
" style_defaults_remove=\"0\" "
" check_on_reading=\"0\" "
" check_on_editing=\"0\" "
-" check_on_writing=\"0\"/>\n"
+" check_on_writing=\"0\" "
+" sort_attributes=\"0\"/>\n"
" <group id=\"externalresources\">\n"
" <group id=\"xml\" "
" allow_net_access=\"0\"/>\n"
diff --git a/src/sp-flowtext.cpp b/src/sp-flowtext.cpp
index b87507e18..51fb3ae89 100644
--- a/src/sp-flowtext.cpp
+++ b/src/sp-flowtext.cpp
@@ -30,6 +30,8 @@
#include "text-editing.h"
#include "sp-text.h"
+#include "libnrtype/font-instance.h"
+
#include "livarot/Shape.h"
#include "display/drawing-text.h"
@@ -339,6 +341,26 @@ void SPFlowtext::_buildLayoutInput(SPObject *root, Shape const *exclusion_shape,
bool with_indent = false;
if (dynamic_cast<SPFlowpara *>(root)) {
+
+ layout.strut.reset();
+ if (style) {
+ font_instance *font = font_factory::Default()->FaceFromStyle( style );
+ if (font) {
+ font->FontMetrics(layout.strut.ascent, layout.strut.descent, layout.strut.xheight);
+ font->Unref();
+ }
+ layout.strut *= style->font_size.computed;
+ if (style->line_height.normal ) {
+ layout.strut.computeEffective( Inkscape::Text::Layout::LINE_HEIGHT_NORMAL );
+ } else if (style->line_height.unit == SP_CSS_UNIT_NONE) {
+ layout.strut.computeEffective( style->line_height.computed );
+ } else {
+ if( style->font_size.computed > 0.0 ) {
+ layout.strut.computeEffective( style->line_height.computed/style->font_size.computed );
+ }
+ }
+ }
+
// emulate par-indent with the first char's kern
SPObject *t = root;
SPFlowtext *ft = NULL;
diff --git a/src/sp-guide.cpp b/src/sp-guide.cpp
index c80fc7122..58a1a746e 100644
--- a/src/sp-guide.cpp
+++ b/src/sp-guide.cpp
@@ -196,6 +196,7 @@ void SPGuide::set(unsigned int key, const gchar *value) {
}
}
+/* Only used internally and in sp-line.cpp */
SPGuide *SPGuide::createSPGuide(SPDocument *doc, Geom::Point const &pt1, Geom::Point const &pt2)
{
Inkscape::XML::Document *xml_doc = doc->getReprDoc();
diff --git a/src/sp-item.cpp b/src/sp-item.cpp
index af81194c2..9fd6e8ecc 100644
--- a/src/sp-item.cpp
+++ b/src/sp-item.cpp
@@ -399,7 +399,6 @@ void SPItem::build(SPDocument *document, Inkscape::XML::Node *repr) {
object->readAttr( "clip-path" );
object->readAttr( "mask" );
object->readAttr( "sodipodi:insensitive" );
- object->readAttr( "sodipodi:nonprintable" );
object->readAttr( "inkscape:transform-center-x" );
object->readAttr( "inkscape:transform-center-y" );
object->readAttr( "inkscape:connector-avoid" );
diff --git a/src/sp-namedview.cpp b/src/sp-namedview.cpp
index 9598a14ec..616ec3921 100644
--- a/src/sp-namedview.cpp
+++ b/src/sp-namedview.cpp
@@ -59,25 +59,25 @@ static gboolean sp_str_to_bool(const gchar *str);
static gboolean sp_nv_read_opacity(const gchar *str, guint32 *color);
SPNamedView::SPNamedView() : SPObjectGroup(), snap_manager(this) {
- this->zoom = 0;
- this->guidecolor = 0;
- this->guidehicolor = 0;
- this->views.clear();
- this->borderlayer = 0;
- this->page_size_units = NULL;
- this->window_x = 0;
- this->cy = 0;
- this->window_y = 0;
- this->svg_units = unit_table.getUnit("px"); // legacy behavior: if no viewbox present, default to 'px' units
+
+ this->zoom = 0;
+ this->guidecolor = 0;
+ this->guidehicolor = 0;
+ this->views.clear();
+ this->borderlayer = 0;
+ this->page_size_units = NULL;
+ this->window_x = 0;
+ this->cy = 0;
+ this->window_y = 0;
this->display_units = NULL;
- this->page_size_units = NULL;
- this->pagecolor = 0;
- this->cx = 0;
- this->pageshadow = 0;
- this->window_width = 0;
- this->window_height = 0;
- this->window_maximized = 0;
- this->bordercolor = 0;
+ this->page_size_units = NULL;
+ this->pagecolor = 0;
+ this->cx = 0;
+ this->pageshadow = 0;
+ this->window_width = 0;
+ this->window_height = 0;
+ this->window_maximized = 0;
+ this->bordercolor = 0;
this->editable = TRUE;
this->showguides = TRUE;
@@ -261,16 +261,6 @@ void SPNamedView::build(SPDocument *document, Inkscape::XML::Node *repr) {
// backwards compatibility with grid settings (pre 0.46)
sp_namedview_generate_old_grid(this, document, repr);
-
- // If viewbox defined: try to calculate the SVG unit from document width and viewbox
- if (document->getRoot()->viewBox_set) {
- Inkscape::Util::Quantity svgwidth = document->getWidth();
- Geom::Rect viewbox = document->getRoot()->viewBox;
- double factor = svgwidth.value(unit_table.primary(Inkscape::Util::UNIT_TYPE_LINEAR)) / viewbox.width();
- svg_units = unit_table.findUnit(factor, Inkscape::Util::UNIT_TYPE_LINEAR);
- } else { // force the document units to be px
- repr->setAttribute("inkscape:document-units", "px");
- }
}
void SPNamedView::release() {
@@ -1098,7 +1088,6 @@ void SPNamedView::setGuides(bool v)
g_assert(this->getRepr() != NULL);
sp_repr_set_boolean(this->getRepr(), "showguides", v);
sp_repr_set_boolean(this->getRepr(), "inkscape:guide-bbox", v);
- sp_repr_set_boolean(this->getRepr(), "inkscape:locked", false);
}
bool SPNamedView::getGuides()
@@ -1155,12 +1144,6 @@ Inkscape::Util::Unit const * SPNamedView::getDisplayUnit() const
return display_units ? display_units : unit_table.getUnit("px");
}
-Inkscape::Util::Unit const & SPNamedView::getSVGUnit() const
-{
- assert(svg_units);
- return *svg_units;
-}
-
/**
* Returns the first grid it could find that isEnabled(). Returns NULL, if none is enabled
*/
diff --git a/src/sp-namedview.h b/src/sp-namedview.h
index 3d63f2b97..d8ac1a77e 100644
--- a/src/sp-namedview.h
+++ b/src/sp-namedview.h
@@ -64,7 +64,6 @@ public:
std::vector<Inkscape::CanvasGrid *> grids;
bool grids_visible;
- Inkscape::Util::Unit const *svg_units; // Units used for the values in SVG
Inkscape::Util::Unit const *display_units; // Units used for the UI (*not* the same as units of SVG coordinates)
Inkscape::Util::Unit const *page_size_units; // Only used in "Custom size" part of Document Properties dialog
@@ -90,7 +89,6 @@ public:
unsigned int getViewCount();
std::vector<SPDesktop *> const getViewList() const;
Inkscape::Util::Unit const * getDisplayUnit() const;
- Inkscape::Util::Unit const & getSVGUnit() const;
void translateGuides(Geom::Translate const &translation);
void translateGrids(Geom::Translate const &translation);
diff --git a/src/sp-root.cpp b/src/sp-root.cpp
index 8bedec0a5..98eae2159 100644
--- a/src/sp-root.cpp
+++ b/src/sp-root.cpp
@@ -313,9 +313,11 @@ Inkscape::XML::Node *SPRoot::write(Inkscape::XML::Document *xml_doc, Inkscape::X
repr = xml_doc->createElement("svg:svg");
}
- if (flags & SP_OBJECT_WRITE_EXT) {
- repr->setAttribute("inkscape:version", Inkscape::version_string);
- }
+ /* Only update version string on successful write to file. This is handled by 'file_save()'.
+ * if (flags & SP_OBJECT_WRITE_EXT) {
+ * repr->setAttribute("inkscape:version", Inkscape::version_string);
+ * }
+ */
if (!repr->attribute("version")) {
gchar *myversion = sp_version_to_string(this->version.svg);
diff --git a/src/sp-text.cpp b/src/sp-text.cpp
index 6ae1c4fba..4afc38524 100644
--- a/src/sp-text.cpp
+++ b/src/sp-text.cpp
@@ -535,7 +535,28 @@ unsigned SPText::_buildLayoutInput(SPObject *root, Inkscape::Text::Layout::Optio
if (SP_IS_TEXT(root)) {
SP_TEXT(root)->attributes.mergeInto(&optional_attrs, parent_optional_attrs, parent_attrs_offset, true, true);
- if (SP_TEXT(root)->attributes.getTextLength()->_set) { // set textLength on the entire layout, see note in TNG-Layout.h
+
+ layout.strut.reset();
+ if (style) {
+ font_instance *font = font_factory::Default()->FaceFromStyle( style );
+ if (font) {
+ font->FontMetrics(layout.strut.ascent, layout.strut.descent, layout.strut.xheight);
+ font->Unref();
+ }
+ layout.strut *= style->font_size.computed;
+ if (style->line_height.normal ) {
+ layout.strut.computeEffective( Inkscape::Text::Layout::LINE_HEIGHT_NORMAL );
+ } else if (style->line_height.unit == SP_CSS_UNIT_NONE) {
+ layout.strut.computeEffective( style->line_height.computed );
+ } else {
+ if( style->font_size.computed > 0.0 ) {
+ layout.strut.computeEffective( style->line_height.computed/style->font_size.computed );
+ }
+ }
+ }
+
+ // set textLength on the entire layout, see note in TNG-Layout.h
+ if (SP_TEXT(root)->attributes.getTextLength()->_set) {
layout.textLength._set = true;
layout.textLength.value = SP_TEXT(root)->attributes.getTextLength()->value;
layout.textLength.computed = SP_TEXT(root)->attributes.getTextLength()->computed;
diff --git a/src/style-internal.cpp b/src/style-internal.cpp
index b425a1c80..62b0de52d 100644
--- a/src/style-internal.cpp
+++ b/src/style-internal.cpp
@@ -1810,9 +1810,11 @@ SPIDashArray::read( gchar const *str ) {
return;
}
+ // std::vector<Glib::ustring> tokens = Glib::Regex::split_simple("[,\\s]+", str );
+
gchar *e = NULL;
bool LineSolid = true;
- while (e != str) {
+ while (e != str && *str != '\0') {
/* TODO: Should allow <length> rather than just a unitless (px) number. */
double number = g_ascii_strtod(str, (char **) &e);
values.push_back( number );
@@ -1821,7 +1823,7 @@ SPIDashArray::read( gchar const *str ) {
if (e != str) {
str = e;
}
- while (str && *str && !isalnum(*str)) str += 1;
+ while (str && *str && !(isalnum(*str) || *str=='.')) str += 1;
}
if (LineSolid) {
diff --git a/src/style-internal.h b/src/style-internal.h
index 767552784..6cc8c6c4e 100644
--- a/src/style-internal.h
+++ b/src/style-internal.h
@@ -520,7 +520,7 @@ public:
{}
SPIEnumBits( Glib::ustring const &name, SPStyleEnum const *enums, unsigned value = 0, bool inherits = true ) :
- SPIEnum( name, enums, value, inherit )
+ SPIEnum( name, enums, value, inherits )
{}
virtual ~SPIEnumBits()
diff --git a/src/ui/dialog/clonetiler.cpp b/src/ui/dialog/clonetiler.cpp
index 9656878e0..b727c87ee 100644
--- a/src/ui/dialog/clonetiler.cpp
+++ b/src/ui/dialog/clonetiler.cpp
@@ -2266,7 +2266,8 @@ void CloneTiler::clonetiler_apply(GtkWidget */*widget*/, GtkWidget *dlg)
clonetiler_remove (NULL, dlg, false);
- double scale_units = Inkscape::Util::Quantity::convert(1, "px", &desktop->getDocument()->getSVGUnit());
+ Geom::Scale scale = desktop->getDocument()->getDocumentScale().inverse();
+ double scale_units = scale[Geom::X]; // Use just x direction....
double shiftx_per_i = 0.01 * prefs->getDoubleLimited(prefs_path + "shiftx_per_i", 0, -10000, 10000);
double shifty_per_i = 0.01 * prefs->getDoubleLimited(prefs_path + "shifty_per_i", 0, -10000, 10000);
diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp
index 12eaba72a..589973162 100644
--- a/src/ui/dialog/document-properties.cpp
+++ b/src/ui/dialog/document-properties.cpp
@@ -283,7 +283,7 @@ inline void attach_all(Gtk::Table &table, Gtk::Widget *const arr[], unsigned con
} else {
#if WITH_GTKMM_3_0
arr[i+1]->set_hexpand();
-
+
if (yoptions & Gtk::EXPAND)
arr[i+1]->set_vexpand();
else
@@ -428,13 +428,30 @@ void DocumentProperties::build_snap()
#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
/// Populates the available color profiles combo box
void DocumentProperties::populate_available_profiles(){
- _combo_avail.remove_all(); // Clear any existing items in the combo box
+ _AvailableProfilesListStore->clear(); // Clear any existing items in the combo box
// Iterate through the list of profiles and add the name to the combo box.
- std::vector<std::pair<Glib::ustring, Glib::ustring> > pairs = ColorProfile::getProfileFilesWithNames();
- for ( std::vector<std::pair<Glib::ustring, Glib::ustring> >::const_iterator it = pairs.begin(); it != pairs.end(); ++it ) {
+ std::vector<std::pair<std::pair<Glib::ustring, bool>, Glib::ustring> > pairs = ColorProfile::getProfileFilesWithNames();
+ bool home = true; // initial value doesn't matter, it's just to avoid a compiler warning
+ for ( std::vector<std::pair<std::pair<Glib::ustring, bool>, Glib::ustring> >::const_iterator it = pairs.begin(); it != pairs.end(); ++it ) {
+ Gtk::TreeModel::Row row;
+ Glib::ustring file = it->first.first;
Glib::ustring name = it->second;
- _combo_avail.append(name);
+
+ // add a separator between profiles from the user's home directory and system profiles
+ if (it != pairs.begin() && it->first.second != home)
+ {
+ row = *(_AvailableProfilesListStore->append());
+ row[_AvailableProfilesListColumns.fileColumn] = "<separator>";
+ row[_AvailableProfilesListColumns.nameColumn] = "<separator>";
+ row[_AvailableProfilesListColumns.separatorColumn] = true;
+ }
+ home = it->first.second;
+
+ row = *(_AvailableProfilesListStore->append());
+ row[_AvailableProfilesListColumns.fileColumn] = file;
+ row[_AvailableProfilesListColumns.nameColumn] = name;
+ row[_AvailableProfilesListColumns.separatorColumn] = false;
}
}
@@ -442,7 +459,7 @@ void DocumentProperties::populate_available_profiles(){
* Cleans up name to remove disallowed characters.
* Some discussion at http://markmail.org/message/bhfvdfptt25kgtmj
* Allowed ASCII first characters: ':', 'A'-'Z', '_', 'a'-'z'
- * Allowed ASCII remaining chars add: '-', '.', '0'-'9',
+ * Allowed ASCII remaining chars add: '-', '.', '0'-'9',
*
* @param str the string to clean up.
*/
@@ -474,24 +491,23 @@ static void sanitizeName( Glib::ustring& str )
/// Links the selected color profile in the combo box to the document
void DocumentProperties::linkSelectedProfile()
{
-//store this profile in the SVG document (create <color-profile> element in the XML)
+ //store this profile in the SVG document (create <color-profile> element in the XML)
// TODO remove use of 'active' desktop
SPDesktop *desktop = SP_ACTIVE_DESKTOP;
if (!desktop){
g_warning("No active desktop");
} else {
- // Find the index of the currently-selected row in the color profiles combobox
- int row = _combo_avail.get_active_row_number();
+ // Find the index of the currently-selected row in the color profiles combobox
+ Gtk::TreeModel::iterator iter = _AvailableProfilesList.get_active();
- if (row == -1){
+ if (!iter) {
g_warning("No color profile available.");
return;
}
- // Read the filename and description from the list of available profiles
- std::vector<std::pair<Glib::ustring, Glib::ustring> > pairs = ColorProfile::getProfileFilesWithNames();
- Glib::ustring file = pairs[row].first;
- Glib::ustring name = pairs[row].second;
+ // Read the filename and description from the list of available profiles
+ Glib::ustring file = (*iter)[_AvailableProfilesListColumns.fileColumn];
+ Glib::ustring name = (*iter)[_AvailableProfilesListColumns.nameColumn];
std::vector<SPObject *> current = SP_ACTIVE_DOCUMENT->getResourceList( "iccprofile" );
for (std::vector<SPObject *>::const_iterator it = current.begin(); it != current.end(); ++it) {
SPObject* obj = *it;
@@ -511,7 +527,7 @@ void DocumentProperties::linkSelectedProfile()
// Checks whether there is a defs element. Creates it when needed
Inkscape::XML::Node *defsRepr = sp_repr_lookup_name(xml_doc, "svg:defs");
- if (!defsRepr){
+ if (!defsRepr) {
defsRepr = xml_doc->createElement("svg:defs");
xml_doc->root()->addChild(defsRepr, NULL);
}
@@ -529,6 +545,20 @@ void DocumentProperties::linkSelectedProfile()
}
}
+struct _cmp {
+ bool operator()(const SPObject * const & a, const SPObject * const & b)
+ {
+ const Inkscape::ColorProfile &a_prof = reinterpret_cast<const Inkscape::ColorProfile &>(*a);
+ const Inkscape::ColorProfile &b_prof = reinterpret_cast<const Inkscape::ColorProfile &>(*b);
+ gchar *a_name_casefold = g_utf8_casefold(a_prof.name, -1 );
+ gchar *b_name_casefold = g_utf8_casefold(b_prof.name, -1 );
+ int result = g_strcmp0(a_name_casefold, b_name_casefold);
+ g_free(a_name_casefold);
+ g_free(b_name_casefold);
+ return result < 0;
+ }
+};
+
void DocumentProperties::populate_linked_profiles_box()
{
_LinkedProfilesListStore->clear();
@@ -536,7 +566,8 @@ void DocumentProperties::populate_linked_profiles_box()
if (! current.empty()) {
_emb_profiles_observer.set((*(current.begin()))->parent);
}
- for (std::vector<SPObject *>::const_iterator it = current.begin(); it != current.end(); ++it) {
+ std::set<SPObject *, _cmp> _current (current.begin(), current.end());
+ for (std::set<SPObject *, _cmp>::const_iterator it = _current.begin(); it != _current.end(); ++it) {
SPObject* obj = *it;
Inkscape::ColorProfile* prof = reinterpret_cast<Inkscape::ColorProfile*>(obj);
Gtk::TreeModel::Row row = *(_LinkedProfilesListStore->append());
@@ -629,6 +660,12 @@ void DocumentProperties::removeSelectedProfile(){
onColorProfileSelectRow();
}
+bool DocumentProperties::_AvailableProfilesList_separator(const Glib::RefPtr<Gtk::TreeModel>& model, const Gtk::TreeModel::iterator& iter)
+{
+ bool separator = (*iter)[_AvailableProfilesListColumns.separatorColumn];
+ return separator;
+}
+
void DocumentProperties::build_cms()
{
_page_cms->show();
@@ -694,9 +731,9 @@ void DocumentProperties::build_cms()
row++;
#if WITH_GTKMM_3_0
- _combo_avail.set_hexpand();
- _combo_avail.set_valign(Gtk::ALIGN_CENTER);
- _page_cms->table().attach(_combo_avail, 0, row, 1, 1);
+ _AvailableProfilesList.set_hexpand();
+ _AvailableProfilesList.set_valign(Gtk::ALIGN_CENTER);
+ _page_cms->table().attach(_AvailableProfilesList, 0, row, 1, 1);
_link_btn.set_halign(Gtk::ALIGN_CENTER);
_link_btn.set_valign(Gtk::ALIGN_CENTER);
@@ -708,11 +745,17 @@ void DocumentProperties::build_cms()
_unlink_btn.set_valign(Gtk::ALIGN_CENTER);
_page_cms->table().attach(_unlink_btn, 2, row, 1, 1);
#else
- _page_cms->table().attach(_combo_avail, 0, 1, row, row + 1, Gtk::FILL|Gtk::EXPAND, (Gtk::AttachOptions)0, 0, 0);
+ _page_cms->table().attach(_AvailableProfilesList, 0, 1, row, row + 1, Gtk::FILL|Gtk::EXPAND, (Gtk::AttachOptions)0, 0, 0);
_page_cms->table().attach(_link_btn, 1, 2, row, row + 1, (Gtk::AttachOptions)0, (Gtk::AttachOptions)0, 2, 0);
_page_cms->table().attach(_unlink_btn, 2, 3, row, row + 1, (Gtk::AttachOptions)0, (Gtk::AttachOptions)0, 0, 0);
#endif
+ // Set up the Avialable Profiles combo box
+ _AvailableProfilesListStore = Gtk::ListStore::create(_AvailableProfilesListColumns);
+ _AvailableProfilesList.set_model(_AvailableProfilesListStore);
+ _AvailableProfilesList.pack_start(_AvailableProfilesListColumns.nameColumn);
+ _AvailableProfilesList.set_row_separator_func(sigc::mem_fun(*this, &DocumentProperties::_AvailableProfilesList_separator));
+
populate_available_profiles();
//# Set up the Linked Profiles combo box
@@ -1693,7 +1736,7 @@ void DocumentProperties::onDocUnitChange()
// Disable changing of SVG Units. The intent here is to change the units in the UI, not the units in SVG.
// This code should be moved (and fixed) once we have an "SVG Units" setting that sets what units are used in SVG data.
-#if 0
+#if 0
// Set viewBox
if (doc->getRoot()->viewBox_set) {
gdouble scale = Inkscape::Util::Quantity::convert(1, old_doc_unit, doc_unit);
@@ -1703,12 +1746,12 @@ void DocumentProperties::onDocUnitChange()
Inkscape::Util::Quantity height = doc->getHeight();
doc->setViewBox(Geom::Rect::from_xywh(0, 0, width.value(doc_unit), height.value(doc_unit)));
}
-
+
// TODO: Fix bug in nodes tool instead of switching away from it
if (tools_active(getDesktop()) == TOOLS_NODES) {
tools_switch(getDesktop(), TOOLS_SELECT);
}
-
+
// Scale and translate objects
// set transform options to scale all things with the transform, so all things scale properly after the viewbox change.
/// \todo this "low-level" code of changing viewbox/unit should be moved somewhere else
@@ -1748,7 +1791,7 @@ void DocumentProperties::onDocUnitChange()
#endif
doc->setModifiedSinceSave();
-
+
DocumentUndo::done(doc, SP_VERB_NONE, _("Changed default display unit"));
}
diff --git a/src/ui/dialog/document-properties.h b/src/ui/dialog/document-properties.h
index 7340b67f5..7f91d9ea0 100644
--- a/src/ui/dialog/document-properties.h
+++ b/src/ui/dialog/document-properties.h
@@ -139,14 +139,26 @@ protected:
UI::Widget::RegisteredCheckButton _rcb_perp;
UI::Widget::RegisteredCheckButton _rcb_tang;
//---------------------------------------------------------------
- Gtk::ComboBoxText _combo_avail;
Gtk::Button _link_btn;
Gtk::Button _unlink_btn;
+ class AvailableProfilesColumns : public Gtk::TreeModel::ColumnRecord
+ {
+ public:
+ AvailableProfilesColumns()
+ { add(fileColumn); add(nameColumn); add(separatorColumn); }
+ Gtk::TreeModelColumn<Glib::ustring> fileColumn;
+ Gtk::TreeModelColumn<Glib::ustring> nameColumn;
+ Gtk::TreeModelColumn<bool> separatorColumn;
+ };
+ AvailableProfilesColumns _AvailableProfilesListColumns;
+ Glib::RefPtr<Gtk::ListStore> _AvailableProfilesListStore;
+ Gtk::ComboBox _AvailableProfilesList;
+ bool _AvailableProfilesList_separator(const Glib::RefPtr<Gtk::TreeModel>& model, const Gtk::TreeModel::iterator& iter);
class LinkedProfilesColumns : public Gtk::TreeModel::ColumnRecord
{
public:
LinkedProfilesColumns()
- { add(nameColumn); add(previewColumn); }
+ { add(nameColumn); add(previewColumn); }
Gtk::TreeModelColumn<Glib::ustring> nameColumn;
Gtk::TreeModelColumn<Glib::ustring> previewColumn;
};
@@ -218,7 +230,7 @@ private:
// callback methods for buttons on grids page.
void onNewGrid();
void onRemoveGrid();
-
+
// callback for document unit change
void onDocUnitChange();
};
diff --git a/src/ui/dialog/inkscape-preferences.cpp b/src/ui/dialog/inkscape-preferences.cpp
index 30bbd95c9..6dd62d3bb 100644
--- a/src/ui/dialog/inkscape-preferences.cpp
+++ b/src/ui/dialog/inkscape-preferences.cpp
@@ -514,7 +514,7 @@ void InkscapePreferences::initPageTools()
this->AddPage(_page_dropper, _("Dropper"), iter_tools, PREFS_PAGE_TOOLS_DROPPER);
this->AddSelcueCheckbox(_page_dropper, "/tools/dropper", true);
this->AddGradientCheckbox(_page_dropper, "/tools/dropper", true);
-
+
//Connector
this->AddPage(_page_connector, _("Connector"), iter_tools, PREFS_PAGE_TOOLS_CONNECTOR);
this->AddSelcueCheckbox(_page_connector, "/tools/connector", true);
@@ -665,16 +665,16 @@ void InkscapePreferences::initPageUI()
_dockbar_style.init( "/options/dock/dockbarstyle", dockbarstyleLabels, dockbarstyleValues, G_N_ELEMENTS(dockbarstyleLabels), 0);
_page_ui.add_line(false, _("Dockbar style (requires restart):"), _dockbar_style, "",
_("Selects whether the vertical bars on the dockbar will show text labels, icons, or both"), false);
-
+
Glib::ustring switcherstyleLabels[] = {_("Text only"), _("Icons only"), _("Icons and text")}; /* see bug #1098437 */
int switcherstyleValues[] = {0, 1, 2};
-
+
/* switcher style */
_switcher_style.init( "/options/dock/switcherstyle", switcherstyleLabels, switcherstyleValues, G_N_ELEMENTS(switcherstyleLabels), 0);
_page_ui.add_line(false, _("Switcher style (requires restart):"), _switcher_style, "",
_("Selects whether the dockbar switcher will show text labels, icons, or both"), false);
}
-
+
// Windows
_win_save_geom.init ( _("Save and restore window geometry for each document"), "/options/savewindowgeometry/value", 1, true, 0);
_win_save_geom_prefs.init ( _("Remember and use last window's geometry"), "/options/savewindowgeometry/value", 2, false, &_win_save_geom);
@@ -689,7 +689,7 @@ void InkscapePreferences::initPageUI()
_win_native.init ( _("Native open/save dialogs"), "/options/desktopintegration/value", 1, true, 0);
_win_gtk.init ( _("GTK open/save dialogs"), "/options/desktopintegration/value", 0, false, &_win_native);
-
+
_win_hide_task.init ( _("Dialogs are hidden in taskbar"), "/options/dialogsskiptaskbar/value", true);
_win_save_viewport.init ( _("Save and restore documents viewport"), "/options/savedocviewport/value", true);
_win_zoom_resize.init ( _("Zoom when window is resized"), "/options/stickyzoom/value", false);
@@ -1005,9 +1005,9 @@ void InkscapePreferences::initPageIO()
_page_cms.add_group_header( _("Display adjustment"));
Glib::ustring tmpStr;
- std::vector<Glib::ustring> sources = ColorProfile::getBaseProfileDirs();
- for ( std::vector<Glib::ustring>::const_iterator it = sources.begin(); it != sources.end(); ++it ) {
- gchar* part = g_strdup_printf( "\n%s", it->c_str() );
+ std::vector<std::pair<Glib::ustring, bool> > sources = ColorProfile::getBaseProfileDirs();
+ for ( std::vector<std::pair<Glib::ustring, bool> >::const_iterator it = sources.begin(); it != sources.end(); ++it ) {
+ gchar* part = g_strdup_printf( "\n%s", it->first.c_str() );
tmpStr += part;
g_free(part);
}
@@ -1377,28 +1377,28 @@ void InkscapePreferences::initPageBehavior()
_mask_mask_remove.init ( _("Remove clippath/mask object after applying"), "/options/maskobject/remove", true);
_page_mask.add_line(false, "", _mask_mask_remove, "",
_("After applying, remove the object used as the clipping path or mask from the drawing"));
-
+
_page_mask.add_group_header( _("Before applying"));
-
+
_mask_grouping_none.init( _("Do not group clipped/masked objects"), "/options/maskobject/grouping", PREFS_MASKOBJECT_GROUPING_NONE, true, 0);
_mask_grouping_separate.init( _("Put every clipped/masked object in its own group"), "/options/maskobject/grouping", PREFS_MASKOBJECT_GROUPING_SEPARATE, false, &_mask_grouping_none);
_mask_grouping_all.init( _("Put all clipped/masked objects into one group"), "/options/maskobject/grouping", PREFS_MASKOBJECT_GROUPING_ALL, false, &_mask_grouping_none);
-
+
_page_mask.add_line(true, "", _mask_grouping_none, "",
_("Apply clippath/mask to every object"));
-
+
_page_mask.add_line(true, "", _mask_grouping_separate, "",
_("Apply clippath/mask to groups containing single object"));
-
+
_page_mask.add_line(true, "", _mask_grouping_all, "",
_("Apply clippath/mask to group containing all objects"));
-
+
_page_mask.add_group_header( _("After releasing"));
-
+
_mask_ungrouping.init ( _("Ungroup automatically created groups"), "/options/maskobject/ungrouping", true);
_page_mask.add_line(true, "", _mask_ungrouping, "",
_("Ungroup groups created when setting clip/mask"));
-
+
this->AddPage(_page_mask, _("Clippaths and masks"), iter_behavior, PREFS_PAGE_BEHAVIOR_MASKS);
@@ -1411,8 +1411,8 @@ void InkscapePreferences::initPageBehavior()
_("Update marker color when object color changes"));
this->AddPage(_page_markers, _("Markers"), iter_behavior, PREFS_PAGE_BEHAVIOR_MARKERS);
-
-
+
+
_page_cleanup.add_group_header( _("Document cleanup"));
_cleanup_swatches.init ( _("Remove unused swatches when doing a document cleanup"), "/options/cleanupswatches/value", false); // text label
_page_cleanup.add_line( true, "", _cleanup_swatches, "",
@@ -1896,15 +1896,15 @@ void InkscapePreferences::initPageSpellcheck()
/* the returned pointer should _not_ need to be deleted */
AspellDictInfoList *dlist = get_aspell_dict_info_list(config);
-
+
/* config is no longer needed */
delete_aspell_config(config);
-
+
AspellDictInfoEnumeration *dels = aspell_dict_info_list_elements(dlist);
-
+
languages.push_back(Glib::ustring(C_("Spellchecker language", "None")));
langValues.push_back(Glib::ustring(""));
-
+
const AspellDictInfo *entry;
int en_index = 0;
int i = 0;
diff --git a/src/ui/tool/node.cpp b/src/ui/tool/node.cpp
index d70147f80..9268d9730 100644
--- a/src/ui/tool/node.cpp
+++ b/src/ui/tool/node.cpp
@@ -526,7 +526,7 @@ Glib::ustring Handle::_getTip(unsigned state) const
snap_increment_degrees());
} else if(isBSpline){
return format_tip(C_("Path handle tip",
- "<b>Ctrl</b>: Move handle by his actual steps in BSpline Live Effect"));
+ "<b>Ctrl</b>: Snap handle to steps defined in BSpline Live Path Effect"));
}else{
return format_tip(C_("Path handle tip",
"<b>Ctrl</b>: snap rotation angle to %g° increments, click to retract"),
diff --git a/src/ui/tools/measure-tool.cpp b/src/ui/tools/measure-tool.cpp
index 287828d32..5900a2359 100644
--- a/src/ui/tools/measure-tool.cpp
+++ b/src/ui/tools/measure-tool.cpp
@@ -778,7 +778,7 @@ void MeasureTool::toPhantom()
measure_tmp_items.clear();
showCanvasItems(false, false, true);
doc->ensureUpToDate();
- DocumentUndo::done(desktop->getDocument(), SP_VERB_CONTEXT_MEASURE,_("Add Stored to measure tool"));
+ DocumentUndo::done(desktop->getDocument(), SP_VERB_CONTEXT_MEASURE,_("Keep last measure on the canvas, for reference"));
}
void MeasureTool::toItem()
diff --git a/src/ui/tools/node-tool.cpp b/src/ui/tools/node-tool.cpp
index 4149403ea..23aaf6bb1 100644
--- a/src/ui/tools/node-tool.cpp
+++ b/src/ui/tools/node-tool.cpp
@@ -164,11 +164,6 @@ NodeTool::~NodeTool() {
if (this->helperpath_tmpitem) {
this->desktop->remove_temporary_canvasitem(this->helperpath_tmpitem);
}
-
- if (this->helperpath_tmpitem) {
- this->desktop->remove_temporary_canvasitem(this->helperpath_tmpitem);
- }
-
this->_selection_changed_connection.disconnect();
//this->_selection_modified_connection.disconnect();
this->_mouseover_changed_connection.disconnect();
diff --git a/src/ui/tools/tool-base.cpp b/src/ui/tools/tool-base.cpp
index abac2c091..36fe26e76 100644
--- a/src/ui/tools/tool-base.cpp
+++ b/src/ui/tools/tool-base.cpp
@@ -683,6 +683,11 @@ bool ToolBase::root_handler(GdkEvent* event) {
}
break;
+ case GDK_KEY_Menu:
+ sp_event_root_menu_popup(desktop, NULL, event);
+ ret = TRUE;
+ break;
+
case GDK_KEY_F10:
if (MOD__SHIFT_ONLY(event)) {
sp_event_root_menu_popup(desktop, NULL, event);
diff --git a/src/ui/widget/color-icc-selector.cpp b/src/ui/widget/color-icc-selector.cpp
index 2e30a48b5..b422892fe 100644
--- a/src/ui/widget/color-icc-selector.cpp
+++ b/src/ui/widget/color-icc-selector.cpp
@@ -671,6 +671,20 @@ void ColorICCSelectorImpl::_switchToProfile(gchar const *name)
#endif // defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
#if defined(HAVE_LIBLCMS1) || defined(HAVE_LIBLCMS2)
+struct _cmp {
+ bool operator()(const SPObject * const & a, const SPObject * const & b)
+ {
+ const Inkscape::ColorProfile &a_prof = reinterpret_cast<const Inkscape::ColorProfile &>(*a);
+ const Inkscape::ColorProfile &b_prof = reinterpret_cast<const Inkscape::ColorProfile &>(*b);
+ gchar *a_name_casefold = g_utf8_casefold(a_prof.name, -1 );
+ gchar *b_name_casefold = g_utf8_casefold(b_prof.name, -1 );
+ int result = g_strcmp0(a_name_casefold, b_name_casefold);
+ g_free(a_name_casefold);
+ g_free(b_name_casefold);
+ return result < 0;
+ }
+};
+
void ColorICCSelectorImpl::_profilesChanged(std::string const &name)
{
GtkComboBox *combo = GTK_COMBO_BOX(_profileSel);
@@ -688,7 +702,8 @@ void ColorICCSelectorImpl::_profilesChanged(std::string const &name)
int index = 1;
std::vector<SPObject *> current = SP_ACTIVE_DOCUMENT->getResourceList("iccprofile");
- for (std::vector<SPObject *>::const_iterator it = current.begin(); it != current.end(); ++it) {
+ std::set<SPObject *, _cmp> _current(current.begin(), current.end());
+ for (std::set<SPObject *, _cmp>::const_iterator it = _current.begin(); it != _current.end(); ++it) {
SPObject *obj = *it;
Inkscape::ColorProfile *prof = reinterpret_cast<Inkscape::ColorProfile *>(obj);
diff --git a/src/util/expression-evaluator.cpp b/src/util/expression-evaluator.cpp
index 48064e647..dd7ce97f7 100644
--- a/src/util/expression-evaluator.cpp
+++ b/src/util/expression-evaluator.cpp
@@ -28,6 +28,8 @@
#include "util/expression-evaluator.h"
#include "util/units.h"
+#include <glib/gconvert.h>
+
#include <math.h>
#include <string.h>
@@ -49,7 +51,7 @@ EvaluatorToken::EvaluatorToken()
}
ExpressionEvaluator::ExpressionEvaluator(const char *string, Unit const *unit) :
- string(string),
+ string(g_locale_to_utf8(string,-1,0,0,0)),
unit(unit)
{
current_token.type = TOKEN_END;
@@ -206,8 +208,11 @@ EvaluatorQuantity ExpressionEvaluator::evaluateFactor()
{
EvaluatorQuantity evaluated_factor = EvaluatorQuantity();
EvaluatorToken consumed_token = EvaluatorToken();
-
- if (acceptToken(TOKEN_NUM, &consumed_token)) {
+
+ if (acceptToken(TOKEN_END, &consumed_token)) {
+ return evaluated_factor;
+ }
+ else if (acceptToken(TOKEN_NUM, &consumed_token)) {
evaluated_factor.value = consumed_token.value.fl;
} else if (acceptToken('(', NULL)) {
evaluated_factor = evaluateExpression();
diff --git a/src/version.cpp b/src/version.cpp
index abe855ee7..7610cd8e7 100644
--- a/src/version.cpp
+++ b/src/version.cpp
@@ -21,28 +21,36 @@ bool sp_version_from_string(const char *string, Inkscape::Version *version)
if (!string) {
return false;
}
-
+
try
{
std::stringstream ss;
+
+ // Throw exception if error.
+ ss.exceptions(std::ios::failbit | std::ios::badbit);
ss << string;
ss >> version->_major;
char tmp=0;
ss >> tmp;
ss >>version->_minor;
+
+ // Don't throw exception if failbit gets set (empty string OK).
+ ss.exceptions(std::ios::goodbit);
+ getline(ss, version->_tail);
return true;
}
catch(...)
{
version->_major = 0;
version->_minor = 0;
+ version->_tail.clear();
return false;
}
}
char *sp_version_to_string(Inkscape::Version version)
{
- return g_strdup_printf("%u.%u", version._major, version._minor);
+ return g_strdup_printf("%u.%u%s", version._major, version._minor, version._tail.c_str());
}
bool sp_version_inside_range(Inkscape::Version version,
diff --git a/src/version.h b/src/version.h
index e17688b6d..f6221f6a6 100644
--- a/src/version.h
+++ b/src/version.h
@@ -13,6 +13,8 @@
#define SVG_VERSION "1.1"
+#include <string>
+
namespace Inkscape {
class Version {
@@ -43,6 +45,7 @@ public:
unsigned int _major;
unsigned int _minor;
+ std::string _tail; // Development version
};
}
diff --git a/src/widgets/paint-selector.cpp b/src/widgets/paint-selector.cpp
index aafa6bd1e..58a178aec 100644
--- a/src/widgets/paint-selector.cpp
+++ b/src/widgets/paint-selector.cpp
@@ -789,7 +789,7 @@ static void sp_paint_selector_set_mode_gradient(SPPaintSelector *psel, SPPaintSe
SP_GRADIENT_SELECTOR(gsel)->setMode(SPGradientSelector::MODE_LINEAR);
//sp_gradient_selector_set_mode(SP_GRADIENT_SELECTOR(gsel), SP_GRADIENT_SELECTOR_MODE_LINEAR);
gtk_label_set_markup(GTK_LABEL(psel->label), _("<b>Linear gradient</b>"));
- } else if (mode == SPPaintSelector::MODE_GRADIENT_LINEAR) {
+ } else if (mode == SPPaintSelector::MODE_GRADIENT_RADIAL) {
SP_GRADIENT_SELECTOR(gsel)->setMode(SPGradientSelector::MODE_RADIAL);
gtk_label_set_markup(GTK_LABEL(psel->label), _("<b>Radial gradient</b>"));
}
diff --git a/src/widgets/toolbox.cpp b/src/widgets/toolbox.cpp
index f7b5e585f..8113c9619 100644
--- a/src/widgets/toolbox.cpp
+++ b/src/widgets/toolbox.cpp
@@ -499,9 +499,10 @@ static gchar const * ui_descr =
" <toolitem action='EraserModeAction' />"
" <separator />"
" <toolitem action='EraserWidthAction' />"
- " <toolitem action='EraserBreakAppart' />"
" <separator />"
" <toolitem action='EraserMassAction' />"
+ " <separator />"
+ " <toolitem action='EraserBreakAppart' />"
" </toolbar>"
" <toolbar name='TextToolbar'>"
diff --git a/src/xml/repr-io.cpp b/src/xml/repr-io.cpp
index 4a6f59b43..6977bc1e2 100644
--- a/src/xml/repr-io.cpp
+++ b/src/xml/repr-io.cpp
@@ -34,6 +34,7 @@
#include "extension/extension.h"
#include "attribute-rel-util.h"
+#include "attribute-sort-util.h"
#include "preferences.h"
@@ -882,6 +883,10 @@ static void sp_repr_write_stream_root_element(Node *repr, Writer &out,
bool clean = prefs->getBool("/options/svgoutput/check_on_writing");
if (clean) sp_attribute_clean_tree( repr );
+ // Sort attributes in a canonical order (helps with "diffing" SVG files).
+ bool sort = prefs->getBool("/options/svgoutput/sort_attributes");
+ if (sort) sp_attribute_sort_tree( repr );
+
Glib::QueryQuark xml_prefix=g_quark_from_static_string("xml");
NSMap ns_map;