diff --git a/plugins/tools/svgtexttool/SvgTextEditor.h b/plugins/tools/svgtexttool/SvgTextEditor.h --- a/plugins/tools/svgtexttool/SvgTextEditor.h +++ b/plugins/tools/svgtexttool/SvgTextEditor.h @@ -125,6 +125,8 @@ void setModified(bool modified); void dialogButtonClicked(QAbstractButton *button); + void setLetterSpacing(double value); + Q_SIGNALS: void textUpdated(const QString &svg, const QString &defs); diff --git a/plugins/tools/svgtexttool/SvgTextEditor.cpp b/plugins/tools/svgtexttool/SvgTextEditor.cpp --- a/plugins/tools/svgtexttool/SvgTextEditor.cpp +++ b/plugins/tools/svgtexttool/SvgTextEditor.cpp @@ -618,6 +618,13 @@ m_textEditorWidget.richTextEdit->textCursor().mergeBlockFormat(format); } +void SvgTextEditor::setLetterSpacing(double value) +{ + QTextCharFormat format = m_textEditorWidget.richTextEdit->textCursor().charFormat(); + format.setFontLetterSpacingType(QFont::AbsoluteSpacing); + format.setFontLetterSpacing(value); + m_textEditorWidget.richTextEdit->mergeCurrentCharFormat(format); +} void SvgTextEditor::alignLeft() { @@ -1064,6 +1071,16 @@ actionCollection()->addAction("svg_line_height", lineHeight); m_richTextActions << lineHeight; actionRegistry->propertizeAction("svg_line_height", lineHeight); + + QWidgetAction *letterSpacing = new QWidgetAction(this); + QDoubleSpinBox *spnLetterSpacing = new QDoubleSpinBox(); + spnLetterSpacing->setRange(-100.0,100.0); + spnLetterSpacing->setSingleStep(2.0); + connect(spnLetterSpacing,SIGNAL(valueChanged(double)),SLOT(setLetterSpacing(double))); + letterSpacing->setDefaultWidget(spnLetterSpacing); + actionCollection()->addAction("svg_letter_spacing", letterSpacing); + m_richTextActions << letterSpacing; + actionRegistry->propertizeAction("svg_letter_spacing",letterSpacing); } void SvgTextEditor::enableRichTextActions(bool enable) diff --git a/plugins/tools/svgtexttool/SvgTextTool.action b/plugins/tools/svgtexttool/SvgTextTool.action --- a/plugins/tools/svgtexttool/SvgTextTool.action +++ b/plugins/tools/svgtexttool/SvgTextTool.action @@ -222,6 +222,16 @@ false Line Height + + Letter Spacing + Ctrl+Shift+S + Letter Spacing in pts + + + + false + Letter Spacing + Settings diff --git a/plugins/tools/svgtexttool/svgtexttool.xmlgui b/plugins/tools/svgtexttool/svgtexttool.xmlgui --- a/plugins/tools/svgtexttool/svgtexttool.xmlgui +++ b/plugins/tools/svgtexttool/svgtexttool.xmlgui @@ -79,6 +79,7 @@ +