summary refs log tree commit diff
path: root/src/timeline/TimelineItem.cc
diff options
context:
space:
mode:
authorKonstantinos Sideris <sideris.konstantin@gmail.com>2018-06-09 16:03:14 +0300
committerKonstantinos Sideris <sideris.konstantin@gmail.com>2018-06-09 16:03:14 +0300
commitb89257a34b2a98b737f4ae544f7e436b9000b240 (patch)
tree81d7f355721541afbd91dc9a085abbb4666f3565 /src/timeline/TimelineItem.cc
parentInstall missing dependencies in travis-ci/appveyor (diff)
downloadnheko-b89257a34b2a98b737f4ae544f7e436b9000b240.tar.xz
Migrate to mtxclient for the http calls
Diffstat (limited to 'src/timeline/TimelineItem.cc')
-rw-r--r--src/timeline/TimelineItem.cc20
1 files changed, 19 insertions, 1 deletions
diff --git a/src/timeline/TimelineItem.cc b/src/timeline/TimelineItem.cc

index 250373e4..83a0aaed 100644 --- a/src/timeline/TimelineItem.cc +++ b/src/timeline/TimelineItem.cc
@@ -62,9 +62,27 @@ TimelineItem::init() ChatPage::instance()->showReadReceipts(event_id_); }); + connect(this, &TimelineItem::eventRedacted, this, [this](const QString &event_id) { + emit ChatPage::instance()->removeTimelineEvent(room_id_, event_id); + }); + connect(this, &TimelineItem::redactionFailed, this, [](const QString &msg) { + emit ChatPage::instance()->showNotification(msg); + }); connect(redactMsg_, &QAction::triggered, this, [this]() { if (!event_id_.isEmpty()) - http::client()->redactEvent(room_id_, event_id_); + http::v2::client()->redact_event( + room_id_.toStdString(), + event_id_.toStdString(), + [this](const mtx::responses::EventId &, mtx::http::RequestErr err) { + if (err) { + emit redactionFailed(tr("Message redaction failed: %1") + .arg(QString::fromStdString( + err->matrix_error.error))); + return; + } + + emit eventRedacted(event_id_); + }); }); connect(markAsRead_, &QAction::triggered, this, [this]() { sendReadReceipt(); });