diff --git a/resources/qml/MessageView.qml b/resources/qml/MessageView.qml index ea46b6ef..b7c19ba7 100644 --- a/resources/qml/MessageView.qml +++ b/resources/qml/MessageView.qml @@ -477,7 +477,7 @@ Item { text: qsTr("&Copy") visible: messageContextMenuC.text - onTriggered: Clipboard.text = messageContextMenuC.text + onTriggered: Clipboard.setHtmlText(messageContextMenuC.text) } } Component { @@ -679,7 +679,7 @@ Item { text: qsTr("&Copy") visible: replyContextMenuC.text - onTriggered: Clipboard.text = replyContextMenuC.text + onTriggered: Clipboard.setHtmlText(replyContextMenuC.text) } } Component { diff --git a/src/Clipboard.cpp b/src/Clipboard.cpp index cb02f5fa..bdcc1f7a 100644 --- a/src/Clipboard.cpp +++ b/src/Clipboard.cpp @@ -6,6 +6,7 @@ #include #include +#include Clipboard::Clipboard(QObject *parent) : QObject(parent) @@ -19,6 +20,12 @@ Clipboard::setText(QString text) QGuiApplication::clipboard()->setText(text); } +void +Clipboard::setHtmlText(QString text) +{ + setText(QTextDocumentFragment::fromHtml(text).toPlainText()); +} + QString Clipboard::text() const { diff --git a/src/Clipboard.h b/src/Clipboard.h index e3321c02..1386b802 100644 --- a/src/Clipboard.h +++ b/src/Clipboard.h @@ -21,6 +21,7 @@ public: QString text() const; void setText(QString text_); + Q_INVOKABLE void setHtmlText(QString text_); signals: void textChanged(); };