diff --git a/plugins/tools/svgtexttool/CMakeLists.txt b/plugins/tools/svgtexttool/CMakeLists.txt --- a/plugins/tools/svgtexttool/CMakeLists.txt +++ b/plugins/tools/svgtexttool/CMakeLists.txt @@ -6,6 +6,7 @@ BasicXMLSyntaxHighlighter.cpp Plugin.cpp SvgTextChangeCommand.cpp + SvgRichTextCtrl.cpp SvgTextEditor.cpp SvgTextTool.cpp SvgTextToolFactory.cpp diff --git a/plugins/tools/svgtexttool/SvgRichTextCtrl.h b/plugins/tools/svgtexttool/SvgRichTextCtrl.h new file mode 100644 --- /dev/null +++ b/plugins/tools/svgtexttool/SvgRichTextCtrl.h @@ -0,0 +1,15 @@ +#ifndef SVGRICHTEXTCTRL_H +#define SVGRICHTEXTCTRL_H + +#include + +class SvgRichTextCtrl : public QTextEdit +{ +public: + SvgRichTextCtrl(QWidget* parent = nullptr); + +protected: + void insertFromMimeData(const QMimeData* source) override; +}; + +#endif // SVGRICHTEXTCTRL_H diff --git a/plugins/tools/svgtexttool/SvgRichTextCtrl.cpp b/plugins/tools/svgtexttool/SvgRichTextCtrl.cpp new file mode 100644 --- /dev/null +++ b/plugins/tools/svgtexttool/SvgRichTextCtrl.cpp @@ -0,0 +1,17 @@ +#include "SvgRichTextCtrl.h" +#include + +SvgRichTextCtrl::SvgRichTextCtrl(QWidget* parent /*= nullptr*/) +: QTextEdit(parent) +{ +} + +void SvgRichTextCtrl::insertFromMimeData(const QMimeData *source) +{ + if (!source->hasHtml() && source->hasText()) { + QTextCursor cursor = textCursor(); + cursor.insertText(source->text()); + } else { + QTextEdit::insertFromMimeData(source); + } +} diff --git a/plugins/tools/svgtexttool/WdgSvgTextEditor.ui b/plugins/tools/svgtexttool/WdgSvgTextEditor.ui --- a/plugins/tools/svgtexttool/WdgSvgTextEditor.ui +++ b/plugins/tools/svgtexttool/WdgSvgTextEditor.ui @@ -25,7 +25,7 @@ - + @@ -37,7 +37,7 @@ - 0 + 1 @@ -89,6 +89,13 @@ + + + SvgRichTextCtrl + QTextEdit +
SvgRichTextCtrl.h
+
+