diff options
| author | Nathan Lee <2431820-nathanal@users.noreply.gitlab.com> | 2019-04-26 04:10:54 +0000 |
|---|---|---|
| committer | Nathan Lee <2431820-nathanal@users.noreply.gitlab.com> | 2019-04-30 12:01:19 +0000 |
| commit | 9db06f0ff1f297754e328eb5909e98792091b6ec (patch) | |
| tree | 5e66aba0e03b3c6677f0220f30ff7a1f9cf217f9 /src/ui | |
| parent | Simplify UI for LPE add (diff) | |
| download | inkscape-9db06f0ff1f297754e328eb5909e98792091b6ec.tar.gz inkscape-9db06f0ff1f297754e328eb5909e98792091b6ec.zip | |
Make display unit change roll out to toolbars
Add exception for measure tool, which uses preferences
Fixes https://gitlab.com/inkscape/inbox/issues/393
Partial fix: https://gitlab.com/inkscape/inkscape/issues/208
Diffstat (limited to 'src/ui')
| -rw-r--r-- | src/ui/toolbar/arc-toolbar.cpp | 3 | ||||
| -rw-r--r-- | src/ui/toolbar/rect-toolbar.cpp | 2 | ||||
| -rw-r--r-- | src/ui/toolbar/text-toolbar.cpp | 2 | ||||
| -rw-r--r-- | src/ui/tools/measure-tool.cpp | 6 | ||||
| -rw-r--r-- | src/ui/widget/unit-tracker.cpp | 2 |
5 files changed, 9 insertions, 6 deletions
diff --git a/src/ui/toolbar/arc-toolbar.cpp b/src/ui/toolbar/arc-toolbar.cpp index e9e25b7df..751efaa80 100644 --- a/src/ui/toolbar/arc-toolbar.cpp +++ b/src/ui/toolbar/arc-toolbar.cpp @@ -39,6 +39,7 @@ #include "verbs.h" #include "object/sp-ellipse.h" +#include "object/sp-namedview.h" #include "ui/icon-names.h" #include "ui/pref-pusher.h" @@ -78,7 +79,7 @@ ArcToolbar::ArcToolbar(SPDesktop *desktop) : _freeze(false), _repr(nullptr) { - _tracker->setActiveUnit(unit_table.getUnit("px")); + _tracker->setActiveUnit(desktop->getNamedView()->display_units); auto prefs = Inkscape::Preferences::get(); { diff --git a/src/ui/toolbar/rect-toolbar.cpp b/src/ui/toolbar/rect-toolbar.cpp index 960ddaac9..a8b49e62d 100644 --- a/src/ui/toolbar/rect-toolbar.cpp +++ b/src/ui/toolbar/rect-toolbar.cpp @@ -84,7 +84,7 @@ RectToolbar::RectToolbar(SPDesktop *desktop) // rx/ry units menu: create //tracker->addUnit( SP_UNIT_PERCENT, 0 ); // fixme: add % meaning per cent of the width/height - _tracker->setActiveUnit(unit_table.getUnit("px")); + _tracker->setActiveUnit(desktop->getNamedView()->display_units); _mode_item->set_use_markup(true); /* W */ diff --git a/src/ui/toolbar/text-toolbar.cpp b/src/ui/toolbar/text-toolbar.cpp index bd73fe584..3b55f8b08 100644 --- a/src/ui/toolbar/text-toolbar.cpp +++ b/src/ui/toolbar/text-toolbar.cpp @@ -265,7 +265,7 @@ TextToolbar::TextToolbar(SPDesktop *desktop) _tracker(new UnitTracker(Inkscape::Util::UNIT_TYPE_LINEAR)) { /* Line height unit tracker */ - _tracker->prependUnit(unit_table.getUnit("")); // No unit + _tracker->prependUnit(unit_table.getUnit("")); // Ratio _tracker->addUnit(unit_table.getUnit("%")); _tracker->addUnit(unit_table.getUnit("em")); _tracker->addUnit(unit_table.getUnit("ex")); diff --git a/src/ui/tools/measure-tool.cpp b/src/ui/tools/measure-tool.cpp index f8c8517c9..64824514e 100644 --- a/src/ui/tools/measure-tool.cpp +++ b/src/ui/tools/measure-tool.cpp @@ -810,7 +810,7 @@ void MeasureTool::toMarkDimension() setLine(start, end, true, color); Glib::ustring unit_name = prefs->getString("/tools/measure/unit"); if (!unit_name.compare("")) { - unit_name = "px"; + unit_name = DEFAULT_UNIT_NAME; } double fontsize = prefs->getDouble("/tools/measure/fontsize", 10.0); int precision = prefs->getInt("/tools/measure/precision", 2); @@ -1162,7 +1162,7 @@ void MeasureTool::showInfoBox(Geom::Point cursor, bool into_groups) Glib::ustring unit_name = prefs->getString("/tools/measure/unit"); bool only_selected = prefs->getBool("/tools/measure/only_selected", false); if (!unit_name.compare("")) { - unit_name = "px"; + unit_name = DEFAULT_UNIT_NAME; } Geom::Scale zoom = Geom::Scale(Inkscape::Util::Quantity::convert(desktop->current_zoom(), "px", unit->abbr)).inverse(); if(newover != over){ @@ -1324,7 +1324,7 @@ void MeasureTool::showCanvasItems(bool to_guides, bool to_item, bool to_phantom, } Glib::ustring unit_name = prefs->getString("/tools/measure/unit"); if (!unit_name.compare("")) { - unit_name = "px"; + unit_name = DEFAULT_UNIT_NAME; } double scale = prefs->getDouble("/tools/measure/scale", 100.0) / 100.0; double fontsize = prefs->getDouble("/tools/measure/fontsize", 10.0); diff --git a/src/ui/widget/unit-tracker.cpp b/src/ui/widget/unit-tracker.cpp index 665bb7497..4abfaa9c8 100644 --- a/src/ui/widget/unit-tracker.cpp +++ b/src/ui/widget/unit-tracker.cpp @@ -180,7 +180,9 @@ UnitTracker::create_tool_item(Glib::ustring const &label, Glib::ustring const &tooltip) { auto combo = ComboToolItem::create(label, tooltip, "NotUsed", _store); + combo->set_active(_active); combo->signal_changed().connect(sigc::mem_fun(*this, &UnitTracker::_unitChangedCB)); + combo->set_data("unit-tracker", this); _combo_list.push_back(combo); return combo; } |
