|
|
|
@ -155,7 +155,7 @@ InputBar::updateAtRoom(const QString &t) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
InputBar::setText(const QString& newText) |
|
|
|
|
InputBar::setText(const QString &newText) |
|
|
|
|
{ |
|
|
|
|
if (history_.empty()) |
|
|
|
|
history_.push_front(newText); |
|
|
|
@ -170,7 +170,10 @@ InputBar::setText(const QString& newText) |
|
|
|
|
emit textChanged(newText); |
|
|
|
|
} |
|
|
|
|
void |
|
|
|
|
InputBar::updateState(int selectionStart_, int selectionEnd_, int cursorPosition_, const QString& text_) |
|
|
|
|
InputBar::updateState(int selectionStart_, |
|
|
|
|
int selectionEnd_, |
|
|
|
|
int cursorPosition_, |
|
|
|
|
const QString &text_) |
|
|
|
|
{ |
|
|
|
|
if (text_.isEmpty()) |
|
|
|
|
stopTyping(); |
|
|
|
@ -288,7 +291,7 @@ InputBar::openFileSelection() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
InputBar::message(const QString& msg, MarkdownOverride useMarkdown, bool rainbowify) |
|
|
|
|
InputBar::message(const QString &msg, MarkdownOverride useMarkdown, bool rainbowify) |
|
|
|
|
{ |
|
|
|
|
mtx::events::msg::Text text = {}; |
|
|
|
|
text.body = msg.trimmed().toStdString(); |
|
|
|
@ -352,7 +355,7 @@ InputBar::message(const QString& msg, MarkdownOverride useMarkdown, bool rainbow |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
InputBar::emote(const QString& msg, bool rainbowify) |
|
|
|
|
InputBar::emote(const QString &msg, bool rainbowify) |
|
|
|
|
{ |
|
|
|
|
auto html = utils::markdownToHtml(msg, rainbowify); |
|
|
|
|
|
|
|
|
@ -380,7 +383,7 @@ InputBar::emote(const QString& msg, bool rainbowify) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
InputBar::notice(const QString& msg, bool rainbowify) |
|
|
|
|
InputBar::notice(const QString &msg, bool rainbowify) |
|
|
|
|
{ |
|
|
|
|
auto html = utils::markdownToHtml(msg, rainbowify); |
|
|
|
|
|
|
|
|
@ -562,7 +565,7 @@ InputBar::sticker(CombinedImagePackModel *model, int row) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
InputBar::command(const QString& command, QString args) |
|
|
|
|
InputBar::command(const QString &command, QString args) |
|
|
|
|
{ |
|
|
|
|
if (command == "me") { |
|
|
|
|
emote(args, false); |
|
|
|
@ -591,15 +594,15 @@ InputBar::command(const QString& command, QString args) |
|
|
|
|
.toStdString(); |
|
|
|
|
member.membership = mtx::events::state::Membership::Join; |
|
|
|
|
|
|
|
|
|
http::client()->send_state_event(room->roomId().toStdString(), |
|
|
|
|
http::client()->user_id().to_string(), |
|
|
|
|
member, |
|
|
|
|
[](const mtx::responses::EventId&, mtx::http::RequestErr err) { |
|
|
|
|
if (err) |
|
|
|
|
nhlog::net()->error( |
|
|
|
|
"Failed to set room displayname: {}", |
|
|
|
|
err->matrix_error.error); |
|
|
|
|
}); |
|
|
|
|
http::client()->send_state_event( |
|
|
|
|
room->roomId().toStdString(), |
|
|
|
|
http::client()->user_id().to_string(), |
|
|
|
|
member, |
|
|
|
|
[](const mtx::responses::EventId &, mtx::http::RequestErr err) { |
|
|
|
|
if (err) |
|
|
|
|
nhlog::net()->error("Failed to set room displayname: {}", |
|
|
|
|
err->matrix_error.error); |
|
|
|
|
}); |
|
|
|
|
} else if (command == "shrug") { |
|
|
|
|
message("¯\\_(ツ)_/¯" + (args.isEmpty() ? "" : " " + args)); |
|
|
|
|
} else if (command == "fliptable") { |
|
|
|
@ -650,10 +653,9 @@ InputBar::command(const QString& command, QString args) |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void |
|
|
|
|
InputBar::showPreview(const QMimeData &source, const QString& path, const QStringList &formats) |
|
|
|
|
InputBar::showPreview(const QMimeData &source, const QString &path, const QStringList &formats) |
|
|
|
|
{ |
|
|
|
|
auto *previewDialog_ = |
|
|
|
|
new dialogs::PreviewUploadOverlay(ChatPage::instance()); |
|
|
|
|
auto *previewDialog_ = new dialogs::PreviewUploadOverlay(ChatPage::instance()); |
|
|
|
|
previewDialog_->setAttribute(Qt::WA_DeleteOnClose); |
|
|
|
|
|
|
|
|
|
// Force SVG to _not_ be handled as an image, but as raw data
|
|
|
|
@ -668,7 +670,7 @@ InputBar::showPreview(const QMimeData &source, const QString& path, const QStrin |
|
|
|
|
} else if (!path.isEmpty()) |
|
|
|
|
previewDialog_->setPreview(path); |
|
|
|
|
else if (!formats.isEmpty()) { |
|
|
|
|
const auto& mime = formats.first(); |
|
|
|
|
const auto &mime = formats.first(); |
|
|
|
|
previewDialog_->setPreview(source.data(mime), mime); |
|
|
|
|
} else { |
|
|
|
|
setUploading(false); |
|
|
|
@ -684,7 +686,7 @@ InputBar::showPreview(const QMimeData &source, const QString& path, const QStrin |
|
|
|
|
previewDialog_, |
|
|
|
|
&dialogs::PreviewUploadOverlay::confirmUpload, |
|
|
|
|
this, |
|
|
|
|
[this](const QByteArray& data, const QString &mime, const QString &fn) { |
|
|
|
|
[this](const QByteArray &data, const QString &mime, const QString &fn) { |
|
|
|
|
if (!data.size()) { |
|
|
|
|
nhlog::ui()->warn("Attempted to upload zero-byte file?! Mimetype {}, filename {}", |
|
|
|
|
mime.toStdString(), |
|
|
|
|