diff options
author | DeepBlueV7.X <nicolas.werner@hotmail.de> | 2021-01-23 02:02:59 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-23 02:02:59 +0100 |
commit | a082a98ede6fc5bd162169c2525e55ae26aef44a (patch) | |
tree | eaf9225d0c02fa1a54fcb466551a342ab8d95da9 /src/timeline | |
parent | Fix Qt < 5.14 compat (diff) | |
parent | Remove useless parentheses (diff) | |
download | nheko-a082a98ede6fc5bd162169c2525e55ae26aef44a.tar.xz |
Merge pull request #393 from LorenDB/mdCommands
Markdown setting override commands
Diffstat (limited to 'src/timeline')
-rw-r--r-- | src/timeline/InputBar.cpp | 10 | ||||
-rw-r--r-- | src/timeline/InputBar.h | 9 |
2 files changed, 16 insertions, 3 deletions
diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp index 3cddd613..b31c1f76 100644 --- a/src/timeline/InputBar.cpp +++ b/src/timeline/InputBar.cpp @@ -251,12 +251,14 @@ 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::NOT_SPECIFIED) || + useMarkdown == MarkdownOverride::ON) { text.formatted_body = utils::markdownToHtml(msg).toStdString(); // Don't send formatted_body, when we don't need to @@ -477,6 +479,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..f173bbc0 100644 --- a/src/timeline/InputBar.h +++ b/src/timeline/InputBar.h @@ -12,6 +12,13 @@ class QMimeData; class QDropEvent; class QStringList; +enum class MarkdownOverride +{ + NOT_SPECIFIED, // 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::NOT_SPECIFIED); QObject *completerFor(QString completerName); |