diff options
| author | Jabier Arraiza Cenoz <jabier.arraiza@marker.es> | 2013-10-30 01:29:41 +0000 |
|---|---|---|
| committer | Jabiertxof <jtx@jtx.marker.es> | 2013-10-30 01:29:41 +0000 |
| commit | 69fdb9c26ab5c065e3e892a77982413f34dac7fe (patch) | |
| tree | 4d6052268d7a9a0d6eedc159256a0bcffe69ff78 /src/ui/dialog/document-properties.cpp | |
| parent | Update to trunk (diff) | |
| parent | suppress uninitialized variables (x and y) warning, don't ask why... g++'s wa... (diff) | |
| download | inkscape-69fdb9c26ab5c065e3e892a77982413f34dac7fe.tar.gz inkscape-69fdb9c26ab5c065e3e892a77982413f34dac7fe.zip | |
Update to trunk
(bzr r11950.1.191)
Diffstat (limited to 'src/ui/dialog/document-properties.cpp')
| -rw-r--r-- | src/ui/dialog/document-properties.cpp | 30 |
1 files changed, 25 insertions, 5 deletions
diff --git a/src/ui/dialog/document-properties.cpp b/src/ui/dialog/document-properties.cpp index 79fb953ac..32f23d55f 100644 --- a/src/ui/dialog/document-properties.cpp +++ b/src/ui/dialog/document-properties.cpp @@ -1677,11 +1677,31 @@ void DocumentProperties::onDocUnitChange() } // Scale and translate objects - gdouble scale = Inkscape::Util::Quantity::convert(1, old_doc_unit, doc_unit); - ShapeEditor::blockSetItem(true); - doc->getRoot()->scaleChildItemsRec(Geom::Scale(scale), Geom::Point(0, doc->getHeight().value("px"))); - ShapeEditor::blockSetItem(false); - + // 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 + + // save prefs + Inkscape::Preferences *prefs = Inkscape::Preferences::get(); + bool transform_stroke = prefs->getBool("/options/transform/stroke", true); + bool transform_rectcorners = prefs->getBool("/options/transform/rectcorners", true); + bool transform_pattern = prefs->getBool("/options/transform/pattern", true); + bool transform_gradient = prefs->getBool("/options/transform/gradient", true); + + prefs->setBool("/options/transform/stroke", true); + prefs->setBool("/options/transform/rectcorners", true); + prefs->setBool("/options/transform/pattern", true); + prefs->setBool("/options/transform/gradient", true); + { + ShapeEditor::blockSetItem(true); + gdouble scale = Inkscape::Util::Quantity::convert(1, old_doc_unit, doc_unit); + doc->getRoot()->scaleChildItemsRec(Geom::Scale(scale), Geom::Point(0, doc->getHeight().value("px"))); + ShapeEditor::blockSetItem(false); + } + prefs->setBool("/options/transform/stroke", transform_stroke); + prefs->setBool("/options/transform/rectcorners", transform_rectcorners); + prefs->setBool("/options/transform/pattern", transform_pattern); + prefs->setBool("/options/transform/gradient", transform_gradient); + doc->setModifiedSinceSave(); DocumentUndo::done(doc, SP_VERB_NONE, _("Changed document unit")); |
