diff options
| author | Martin Owens <doctormo@gmail.com> | 2014-04-04 13:42:28 +0000 |
|---|---|---|
| committer | Martin Owens <doctormo@gmail.com> | 2014-04-04 13:42:28 +0000 |
| commit | 430b4cad57740929d94d2c93041d8b63ec5fa8f9 (patch) | |
| tree | b1c095b9c5644ff01ef12fe098c61e062649d966 /src | |
| parent | Maximised should be the default state for new inkscape users (diff) | |
| download | inkscape-430b4cad57740929d94d2c93041d8b63ec5fa8f9.tar.gz inkscape-430b4cad57740929d94d2c93041d8b63ec5fa8f9.zip | |
Only apply the offset zoom when the document units match the zoom units
(bzr r13264)
Diffstat (limited to 'src')
| -rw-r--r-- | src/verbs.cpp | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/src/verbs.cpp b/src/verbs.cpp index fad090852..ab6c25973 100644 --- a/src/verbs.cpp +++ b/src/verbs.cpp @@ -1777,6 +1777,13 @@ void ZoomVerb::perform(SPAction *action, void *data) gdouble zoom_inc = prefs->getDoubleLimited( "/options/zoomincrement/value", 1.414213562, 1.01, 10 ); + double zcorr = 1.0; + Glib::ustring abbr = prefs->getString("/options/zoomcorrection/unit"); + if (dt->namedview->doc_units && dt->namedview->doc_units->abbr == abbr) + zcorr = prefs->getDouble("/options/zoomcorrection/value", 1.0); + + Geom::Rect const d = dt->get_display_area(); + switch (reinterpret_cast<std::size_t>(data)) { case SP_VERB_ZOOM_IN: { @@ -1792,7 +1799,6 @@ void ZoomVerb::perform(SPAction *action, void *data) } } - Geom::Rect const d = dt->get_display_area(); dt->zoom_relative( d.midpoint()[Geom::X], d.midpoint()[Geom::Y], mul*zoom_inc); break; } @@ -1810,31 +1816,18 @@ void ZoomVerb::perform(SPAction *action, void *data) } } - Geom::Rect const d = dt->get_display_area(); dt->zoom_relative( d.midpoint()[Geom::X], d.midpoint()[Geom::Y], 1 / (mul*zoom_inc) ); break; } case SP_VERB_ZOOM_1_1: - { - double zcorr = prefs->getDouble("/options/zoomcorrection/value", 1.0); - Geom::Rect const d = dt->get_display_area(); dt->zoom_absolute( d.midpoint()[Geom::X], d.midpoint()[Geom::Y], 1.0 * zcorr ); break; - } case SP_VERB_ZOOM_1_2: - { - double zcorr = prefs->getDouble("/options/zoomcorrection/value", 1.0); - Geom::Rect const d = dt->get_display_area(); dt->zoom_absolute( d.midpoint()[Geom::X], d.midpoint()[Geom::Y], 0.5 * zcorr ); break; - } case SP_VERB_ZOOM_2_1: - { - double zcorr = prefs->getDouble("/options/zoomcorrection/value", 1.0); - Geom::Rect const d = dt->get_display_area(); dt->zoom_absolute( d.midpoint()[Geom::X], d.midpoint()[Geom::Y], 2.0 * zcorr ); break; - } case SP_VERB_ZOOM_PAGE: dt->zoom_page(); break; |
