summaryrefslogtreecommitdiffstats
path: root/src/ui/dialog/text-edit.cpp
diff options
context:
space:
mode:
authorJabiertxof <jabier.arraiza@marker.es>2019-07-23 20:51:17 +0000
committerJabier Arraiza <jabier.arraiza@marker.es>2019-08-02 21:26:28 +0000
commit93d79f43085f7db715d393114074df9c309e8091 (patch)
tree28f7175dc412cc258a4d590d94ffad461c02bb5d /src/ui/dialog/text-edit.cpp
parentimproved fontsize changed (diff)
downloadinkscape-93d79f43085f7db715d393114074df9c309e8091.tar.gz
inkscape-93d79f43085f7db715d393114074df9c309e8091.zip
Adding font size scale
Diffstat (limited to 'src/ui/dialog/text-edit.cpp')
-rw-r--r--src/ui/dialog/text-edit.cpp21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/ui/dialog/text-edit.cpp b/src/ui/dialog/text-edit.cpp
index fd8422652..f7bbaf297 100644
--- a/src/ui/dialog/text-edit.cpp
+++ b/src/ui/dialog/text-edit.cpp
@@ -39,6 +39,7 @@ extern "C" {
#include "inkscape.h"
#include "text-editing.h"
#include "verbs.h"
+#include "style.h"
#include <libnrtype/font-instance.h>
#include <libnrtype/font-lister.h>
@@ -48,7 +49,7 @@ extern "C" {
#include "object/sp-textpath.h"
#include "svg/css-ostringstream.h"
-
+#include "ui/toolbar/text-toolbar.h"
#include "ui/icon-names.h"
#include "ui/widget/font-selector.h"
@@ -422,14 +423,22 @@ void TextEdit::onApply()
unsigned items = 0;
auto item_list = desktop->getSelection()->items();
SPCSSAttr *css = fillTextStyle ();
- sp_desktop_set_style(desktop, css, true);
-
for(auto i=item_list.begin();i!=item_list.end();++i){
// apply style to the reprs of all text objects in the selection
if (SP_IS_TEXT (*i) || (SP_IS_FLOWTEXT (*i)) ) {
++items;
}
}
+ if (items == 1) {
+ SPItem *item = SP_ACTIVE_DESKTOP->getSelection()->singleItem();
+ SPObject *object = dynamic_cast<SPObject *>(SP_ACTIVE_DESKTOP->getSelection()->singleItem());
+ double doc_scale = 1;
+ Inkscape::Preferences *prefs = Inkscape::Preferences::get();
+ int unit = prefs->getInt("/options/font/unitType", SP_CSS_UNIT_PT);
+ sp_lineheight_from_new_fontsize(sp_style_css_size_units_to_px(font_selector.get_fontsize(), unit), object, doc_scale);
+
+ }
+ sp_desktop_set_style(desktop, css, true);
if (items == 0) {
// no text objects; apply style to prefs for new objects
@@ -442,6 +451,12 @@ void TextEdit::onApply()
SPItem *item = SP_ACTIVE_DESKTOP->getSelection()->singleItem();
if (SP_IS_TEXT (item) || SP_IS_FLOWTEXT(item)) {
updateObjectText (item);
+ SPStyle *item_style = item->style;
+ if (item_style->inline_size.value == 0) {
+ css = sp_css_attr_from_style(item_style, SP_STYLE_FLAG_IFSET);
+ sp_repr_css_unset_property (css, "inline-size");
+ item->changeCSS (css, "style");
+ }
}
}