From 91155bf80332155b16b07f162e3ccd51bb9364cf Mon Sep 17 00:00:00 2001 From: Loren Burkholder Date: Wed, 20 Jan 2021 17:44:11 -0500 Subject: [PATCH 1/4] Add commands to override Markdown setting --- src/timeline/InputBar.cpp | 8 ++++++-- src/timeline/InputBar.h | 9 ++++++++- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp index 3cddd613..49dd837b 100644 --- a/src/timeline/InputBar.cpp +++ b/src/timeline/InputBar.cpp @@ -251,12 +251,12 @@ InputBar::openFileSelection() } void -InputBar::message(QString msg) +InputBar::message(QString msg, MarkdownOverride useMarkdown) { mtx::events::msg::Text text = {}; text.body = msg.trimmed().toStdString(); - if (ChatPage::instance()->userSettings()->markdown()) { + if ((ChatPage::instance()->userSettings()->markdown() && (useMarkdown != MarkdownOverride::OFF)) || (useMarkdown == MarkdownOverride::ON)) { text.formatted_body = utils::markdownToHtml(msg).toStdString(); // Don't send formatted_body, when we don't need to @@ -477,6 +477,10 @@ InputBar::command(QString command, QString args) room->clearTimeline(); } else if (command == "rotate-megolm-session") { cache::dropOutboundMegolmSession(room->roomId().toStdString()); + } else if (command == "md") { + message(args, MarkdownOverride::ON); + } else if (command == "plain") { + message(args, MarkdownOverride::OFF); } } diff --git a/src/timeline/InputBar.h b/src/timeline/InputBar.h index c729a6fc..75bcdc3a 100644 --- a/src/timeline/InputBar.h +++ b/src/timeline/InputBar.h @@ -12,6 +12,13 @@ class QMimeData; class QDropEvent; class QStringList; +enum class MarkdownOverride +{ + NONE, // no override set + ON, + OFF, +}; + class InputBar : public QObject { Q_OBJECT @@ -41,7 +48,7 @@ public slots: void updateState(int selectionStart, int selectionEnd, int cursorPosition, QString text); void openFileSelection(); bool uploading() const { return uploading_; } - void message(QString body); + void message(QString body, MarkdownOverride useMarkdown = MarkdownOverride::NONE); QObject *completerFor(QString completerName); From 1d935708149d24b913742c76082eb10afa589ce4 Mon Sep 17 00:00:00 2001 From: Loren Burkholder Date: Wed, 20 Jan 2021 17:47:57 -0500 Subject: [PATCH 2/4] Make lint --- src/timeline/InputBar.cpp | 8 +++++--- src/timeline/InputBar.h | 6 +++--- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp index 49dd837b..0e35cf64 100644 --- a/src/timeline/InputBar.cpp +++ b/src/timeline/InputBar.cpp @@ -256,7 +256,9 @@ InputBar::message(QString msg, MarkdownOverride useMarkdown) mtx::events::msg::Text text = {}; text.body = msg.trimmed().toStdString(); - if ((ChatPage::instance()->userSettings()->markdown() && (useMarkdown != MarkdownOverride::OFF)) || (useMarkdown == MarkdownOverride::ON)) { + if ((ChatPage::instance()->userSettings()->markdown() && + (useMarkdown != MarkdownOverride::OFF)) || + (useMarkdown == MarkdownOverride::ON)) { text.formatted_body = utils::markdownToHtml(msg).toStdString(); // Don't send formatted_body, when we don't need to @@ -478,9 +480,9 @@ InputBar::command(QString command, QString args) } else if (command == "rotate-megolm-session") { cache::dropOutboundMegolmSession(room->roomId().toStdString()); } else if (command == "md") { - message(args, MarkdownOverride::ON); + message(args, MarkdownOverride::ON); } else if (command == "plain") { - message(args, MarkdownOverride::OFF); + message(args, MarkdownOverride::OFF); } } diff --git a/src/timeline/InputBar.h b/src/timeline/InputBar.h index 75bcdc3a..57b38c08 100644 --- a/src/timeline/InputBar.h +++ b/src/timeline/InputBar.h @@ -14,9 +14,9 @@ class QStringList; enum class MarkdownOverride { - NONE, // no override set - ON, - OFF, + NONE, // no override set + ON, + OFF, }; class InputBar : public QObject From 06f6a5bcca60d992e48d8ea10e2e9fa52f4e086a Mon Sep 17 00:00:00 2001 From: Loren Burkholder Date: Wed, 20 Jan 2021 18:47:36 -0500 Subject: [PATCH 3/4] Clarify how markdown is determined --- src/timeline/InputBar.cpp | 2 +- src/timeline/InputBar.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp index 0e35cf64..2317a407 100644 --- a/src/timeline/InputBar.cpp +++ b/src/timeline/InputBar.cpp @@ -257,7 +257,7 @@ InputBar::message(QString msg, MarkdownOverride useMarkdown) text.body = msg.trimmed().toStdString(); if ((ChatPage::instance()->userSettings()->markdown() && - (useMarkdown != MarkdownOverride::OFF)) || + (useMarkdown == MarkdownOverride::NOT_SPECIFIED)) || (useMarkdown == MarkdownOverride::ON)) { text.formatted_body = utils::markdownToHtml(msg).toStdString(); diff --git a/src/timeline/InputBar.h b/src/timeline/InputBar.h index 57b38c08..f173bbc0 100644 --- a/src/timeline/InputBar.h +++ b/src/timeline/InputBar.h @@ -14,7 +14,7 @@ class QStringList; enum class MarkdownOverride { - NONE, // no override set + NOT_SPECIFIED, // no override set ON, OFF, }; @@ -48,7 +48,7 @@ public slots: void updateState(int selectionStart, int selectionEnd, int cursorPosition, QString text); void openFileSelection(); bool uploading() const { return uploading_; } - void message(QString body, MarkdownOverride useMarkdown = MarkdownOverride::NONE); + void message(QString body, MarkdownOverride useMarkdown = MarkdownOverride::NOT_SPECIFIED); QObject *completerFor(QString completerName); From f956d012a9331f2ef1b1b18e54ab21f3a96c74d9 Mon Sep 17 00:00:00 2001 From: "DeepBlueV7.X" Date: Sat, 23 Jan 2021 00:51:29 +0000 Subject: [PATCH 4/4] Remove useless parentheses --- src/timeline/InputBar.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp index 2317a407..b31c1f76 100644 --- a/src/timeline/InputBar.cpp +++ b/src/timeline/InputBar.cpp @@ -257,8 +257,8 @@ InputBar::message(QString msg, MarkdownOverride useMarkdown) text.body = msg.trimmed().toStdString(); if ((ChatPage::instance()->userSettings()->markdown() && - (useMarkdown == MarkdownOverride::NOT_SPECIFIED)) || - (useMarkdown == MarkdownOverride::ON)) { + useMarkdown == MarkdownOverride::NOT_SPECIFIED) || + useMarkdown == MarkdownOverride::ON) { text.formatted_body = utils::markdownToHtml(msg).toStdString(); // Don't send formatted_body, when we don't need to