diff options
| author | Alvin Penner <penner@vaxxine.com> | 2014-11-28 20:54:41 +0000 |
|---|---|---|
| committer | apenner <penner@vaxxine.com> | 2014-11-28 20:54:41 +0000 |
| commit | 561b8791651a0b3f9d49dfd9809519f06039e0a4 (patch) | |
| tree | eda7c9f819d13cbb691be35d5870211e5848ee5e /src/ui/widget/page-sizer.cpp | |
| parent | Dutch translation update (diff) | |
| download | inkscape-561b8791651a0b3f9d49dfd9809519f06039e0a4.tar.gz inkscape-561b8791651a0b3f9d49dfd9809519f06039e0a4.zip | |
avoid recalculating viewbox if it is not necessary. (Bug 1384915, comment 24)
Fixed bugs:
- https://launchpad.net/bugs/1384915
(bzr r13776)
Diffstat (limited to 'src/ui/widget/page-sizer.cpp')
| -rw-r--r-- | src/ui/widget/page-sizer.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/ui/widget/page-sizer.cpp b/src/ui/widget/page-sizer.cpp index b775b3c49..df464fbb0 100644 --- a/src/ui/widget/page-sizer.cpp +++ b/src/ui/widget/page-sizer.cpp @@ -459,7 +459,7 @@ PageSizer::init () * \param changeList whether to modify the paper size list */ void -PageSizer::setDim (Inkscape::Util::Quantity w, Inkscape::Util::Quantity h, bool changeList) +PageSizer::setDim (Inkscape::Util::Quantity w, Inkscape::Util::Quantity h, bool changeList, bool changeSize) { static bool _called = false; if (_called) { @@ -479,8 +479,8 @@ PageSizer::setDim (Inkscape::Util::Quantity w, Inkscape::Util::Quantity h, bool if (SP_ACTIVE_DESKTOP && !_widgetRegistry->isUpdating()) { SPDocument *doc = sp_desktop_document(SP_ACTIVE_DESKTOP); Inkscape::Util::Quantity const old_height = doc->getHeight(); - doc->setWidth (w); - doc->setHeight (h); + doc->setWidth (w, changeSize); + doc->setHeight (h, changeSize); // The origin for the user is in the lower left corner; this point should remain stationary when // changing the page size. The SVG's origin however is in the upper left corner, so we must compensate for this Geom::Translate const vert_offset(Geom::Point(0, (old_height.value("px") - h.value("px")))); @@ -717,7 +717,8 @@ PageSizer::on_units_changed() if (_widgetRegistry->isUpdating()) return; _unit = _dimensionUnits.getUnit()->abbr; setDim (Inkscape::Util::Quantity(_dimensionWidth.getValue(""), _dimensionUnits.getUnit()), - Inkscape::Util::Quantity(_dimensionHeight.getValue(""), _dimensionUnits.getUnit())); + Inkscape::Util::Quantity(_dimensionHeight.getValue(""), _dimensionUnits.getUnit()), + true, false); } } // namespace Widget |
