Merge pull request #547 from LordMZTE/feature/notice

add notice and rainbownotice commands
pull/548/head
DeepBlueV7.X 4 years ago committed by GitHub
commit 9d97f9f705
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 33
      src/timeline/InputBar.cpp
  2. 1
      src/timeline/InputBar.h

@ -349,6 +349,35 @@ InputBar::emote(QString msg, bool rainbowify)
room->sendMessageEvent(emote, mtx::events::EventType::RoomMessage);
}
void
InputBar::notice(QString msg, bool rainbowify)
{
auto html = utils::markdownToHtml(msg, rainbowify);
mtx::events::msg::Notice notice;
notice.body = msg.trimmed().toStdString();
if (html != msg.trimmed().toHtmlEscaped() &&
ChatPage::instance()->userSettings()->markdown()) {
notice.formatted_body = html.toStdString();
notice.format = "org.matrix.custom.html";
// Remove markdown links by completer
notice.body =
msg.trimmed().replace(conf::strings::matrixToMarkdownLink, "\\1").toStdString();
}
if (!room->reply().isEmpty()) {
notice.relations.relations.push_back(
{mtx::common::RelationType::InReplyTo, room->reply().toStdString()});
}
if (!room->edit().isEmpty()) {
notice.relations.relations.push_back(
{mtx::common::RelationType::Replace, room->edit().toStdString()});
}
room->sendMessageEvent(notice, mtx::events::EventType::RoomMessage);
}
void
InputBar::image(const QString &filename,
const std::optional<mtx::crypto::EncryptedFile> &file,
@ -531,6 +560,10 @@ InputBar::command(QString command, QString args)
message(args, MarkdownOverride::ON, true);
} else if (command == "rainbowme") {
emote(args, true);
} else if (command == "notice") {
notice(args, false);
} else if (command == "rainbownotice") {
notice(args, true);
}
}

@ -68,6 +68,7 @@ signals:
private:
void emote(QString body, bool rainbowify);
void notice(QString body, bool rainbowify);
void command(QString name, QString args);
void image(const QString &filename,
const std::optional<mtx::crypto::EncryptedFile> &file,

Loading…
Cancel
Save