From d237dc2c799acc8e5767062fb3bba817582ee89a Mon Sep 17 00:00:00 2001 From: Jabiertxof Date: Mon, 22 Jul 2019 20:20:34 +0200 Subject: Remove legacy hamburger code --- src/ui/toolbar/text-toolbar.cpp | 35 +++++++++++++++++++++++++++++++---- 1 file changed, 31 insertions(+), 4 deletions(-) (limited to 'src/ui/toolbar/text-toolbar.cpp') diff --git a/src/ui/toolbar/text-toolbar.cpp b/src/ui/toolbar/text-toolbar.cpp index 969baff4e..16dbc7046 100644 --- a/src/ui/toolbar/text-toolbar.cpp +++ b/src/ui/toolbar/text-toolbar.cpp @@ -863,6 +863,8 @@ TextToolbar::fontsize_value_changed() } else { osfs << size << sp_style_get_css_unit_string(unit); } + + sp_repr_css_set_property (css, "font-size", osfs.str().c_str()); SPILengthOrNormal font_size("font-size"); font_size.read(osfs.str().c_str()); @@ -872,10 +874,35 @@ TextToolbar::fontsize_value_changed() // the style on the outer objects we need to bypass this call. // bool outer = prefs->getInt("/tools/text/outer_style", false); SPDesktop *desktop = SP_ACTIVE_DESKTOP; - _freeze = false; - lineheight_value_changed_wrapped(font_size.computed); - _freeze = true; - sp_desktop_set_style(desktop, css, true, true); + if (_sub_selection_items.empty()) { + Inkscape::Selection *selection = desktop->getSelection(); + auto itemlist= selection->items(); + for(auto i=itemlist.begin();i!=itemlist.end(); ++i){ + if (dynamic_cast(*i) || dynamic_cast(*i)) { + SPItem *item = *i; + + // Scale by inverse of accumulated parent transform + SPCSSAttr *css_set = sp_repr_css_attr_new(); + sp_repr_css_merge(css_set, css); + Geom::Affine const local(item->i2doc_affine()); + double const ex(local.descrim()); + if ( (ex != 0.0) && (ex != 1.0) ) { + sp_css_attr_scale(css_set, 1/ex); + } + _freeze = false; + lineheight_value_changed_wrapped(font_size.computed); + _freeze = true; + item->changeCSS(css_set,"style"); + + sp_repr_css_attr_unref(css_set); + } + } + } else { + _freeze = false; + lineheight_value_changed_wrapped(font_size.computed); + _freeze = true; + sp_desktop_set_style (desktop, css, true, true); + } // If no selected objects, set default. -- cgit v1.2.3