diff --git a/src/controller.cpp b/src/controller.cpp index 499acc1f3..de5e8d4da 100644 --- a/src/controller.cpp +++ b/src/controller.cpp @@ -670,11 +670,6 @@ bool Controller::hasWindowSystem() const #endif } -QString Controller::plainText(QQuickTextDocument *document) const -{ - return document->textDocument()->toPlainText(); -} - bool Controller::encryptionSupported() const { #ifdef QUOTIENT_07 diff --git a/src/controller.h b/src/controller.h index 051a5dc7d..27e6893d3 100644 --- a/src/controller.h +++ b/src/controller.h @@ -207,14 +207,6 @@ public: */ Q_INVOKABLE QString formatByteSize(double size, int precision = 1) const; - /** - * @brief Return a plain text representation of the text in a given QQuickTextDocument. - * - * TODO: This is only used in messageDelegate to get the plain text of a message. - * This should be changed to a role in messageeventmodel via texthandler. - */ - Q_INVOKABLE QString plainText(QQuickTextDocument *document) const; - /** * @brief Force a QQuickTextDocument to refresh when images are loaded. * diff --git a/src/models/messageeventmodel.cpp b/src/models/messageeventmodel.cpp index fad52e7b5..56df89982 100644 --- a/src/models/messageeventmodel.cpp +++ b/src/models/messageeventmodel.cpp @@ -34,7 +34,7 @@ QHash MessageEventModel::roleNames() const { QHash roles = QAbstractItemModel::roleNames(); roles[DelegateTypeRole] = "delegateType"; - roles[MessageRole] = "message"; + roles[PlainText] = "plainText"; roles[EventIdRole] = "eventId"; roles[TimeRole] = "time"; roles[SectionRole] = "section"; @@ -493,7 +493,7 @@ QVariant MessageEventModel::data(const QModelIndex &idx, int role) const return {}; } - if (role == MessageRole) { + if (role == PlainText) { return m_currentRoom->eventToString(evt); } diff --git a/src/models/messageeventmodel.h b/src/models/messageeventmodel.h index e6cd971d2..e5a18b2e7 100644 --- a/src/models/messageeventmodel.h +++ b/src/models/messageeventmodel.h @@ -58,7 +58,7 @@ public: */ enum EventRoles { DelegateTypeRole = Qt::UserRole + 1, /**< The delegate type of the message. */ - MessageRole, /**< Plain text representation of the message. */ + PlainText, /**< Plain text representation of the message. */ EventIdRole, /**< The matrix event ID of the event. */ TimeRole, /**< The timestamp for when the event was sent. */ SectionRole, /**< The date of the event as a string. */ diff --git a/src/qml/Component/Timeline/LocationDelegate.qml b/src/qml/Component/Timeline/LocationDelegate.qml index 3501550b0..6481e5a00 100644 --- a/src/qml/Component/Timeline/LocationDelegate.qml +++ b/src/qml/Component/Timeline/LocationDelegate.qml @@ -79,11 +79,11 @@ TimelineContainer { TapHandler { acceptedButtons: Qt.LeftButton - onLongPressed: openMessageContext(model, "", model.message) + onLongPressed: openMessageContext(model, "", model.plainText) } TapHandler { acceptedButtons: Qt.RightButton - onTapped: openMessageContext(model, "", model.message) + onTapped: openMessageContext(model, "", model.plainText) } } } diff --git a/src/qml/Component/Timeline/MessageDelegate.qml b/src/qml/Component/Timeline/MessageDelegate.qml index 52b4849d3..6dd0f1dc0 100644 --- a/src/qml/Component/Timeline/MessageDelegate.qml +++ b/src/qml/Component/Timeline/MessageDelegate.qml @@ -13,7 +13,7 @@ import org.kde.neochat 1.0 TimelineContainer { id: messageDelegate - onOpenContextMenu: openMessageContext(model, label.selectedText, Controller.plainText(label.textDocument)) + onOpenContextMenu: openMessageContext(model, label.selectedText, model.plainText) innerObject: ColumnLayout { Layout.maximumWidth: messageDelegate.contentMaxWidth