diff options
author | FallenValkyrie <e.vanemelen@proton.me> | 2023-12-19 16:12:38 +0100 |
---|---|---|
committer | FallenValkyrie <e.vanemelen@proton.me> | 2023-12-19 16:12:38 +0100 |
commit | 31623000a8a7043697d4d1698004b8471b8c1ebc (patch) | |
tree | 060d5a31319c4e137771c513c266ead753c48347 /src | |
parent | make ImagePackDialog text translatable (diff) | |
download | nheko-31623000a8a7043697d4d1698004b8471b8c1ebc.tar.xz |
Implement account pack deletion
Diffstat (limited to 'src')
-rw-r--r-- | src/SingleImagePackModel.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/SingleImagePackModel.cpp b/src/SingleImagePackModel.cpp index daec135f..95a863d3 100644 --- a/src/SingleImagePackModel.cpp +++ b/src/SingleImagePackModel.cpp @@ -8,6 +8,7 @@ #include <QFileInfo> #include <QMimeDatabase> +#include <mtx/events/mscs/image_packs.hpp> #include <nlohmann/json.hpp> #include <unordered_set> @@ -306,6 +307,20 @@ SingleImagePackModel::save() void SingleImagePackModel::remove() { + // handle account pack deletion. + // Sadly we cannot actually delete the pack, + // so we just send an empty pack to clear out its information. + if (roomid_.empty()) { + http::client()->put_account_data( + mtx::events::msc2545::ImagePack(), [](mtx::http::RequestErr e) { + if (e) + ChatPage::instance()->showNotification( + tr("Failed to update image pack: %1") + .arg(QString::fromStdString(e->matrix_error.error))); + }); + return; + } + http::client()->send_state_event( roomid_, to_string(mtx::events::EventType::ImagePackInRoom), |