Factor out the logic to delete an ImagePack
2 files changed, 19 insertions, 12 deletions
diff --git a/src/SingleImagePackModel.cpp b/src/SingleImagePackModel.cpp
index 1adfdaa2..daec135f 100644
--- a/src/SingleImagePackModel.cpp
+++ b/src/SingleImagePackModel.cpp
@@ -285,18 +285,7 @@ SingleImagePackModel::save()
});
} else {
if (old_statekey_ != statekey_) {
- http::client()->send_state_event(
- roomid_,
- to_string(mtx::events::EventType::ImagePackInRoom),
- old_statekey_,
- nlohmann::json::object(),
- [](const mtx::responses::EventId &, mtx::http::RequestErr e) {
- if (e)
- ChatPage::instance()->showNotification(
- tr("Failed to delete old image pack: %1")
- .arg(QString::fromStdString(e->matrix_error.error)));
- });
- old_statekey_ = statekey_;
+ this->remove();
}
http::client()->send_state_event(
@@ -315,6 +304,23 @@ SingleImagePackModel::save()
}
void
+SingleImagePackModel::remove()
+{
+ http::client()->send_state_event(
+ roomid_,
+ to_string(mtx::events::EventType::ImagePackInRoom),
+ old_statekey_,
+ nlohmann::json::object(),
+ [](const mtx::responses::EventId &, mtx::http::RequestErr e) {
+ if (e)
+ ChatPage::instance()->showNotification(
+ tr("Failed to delete old image pack: %1")
+ .arg(QString::fromStdString(e->matrix_error.error)));
+ });
+ old_statekey_ = statekey_;
+}
+
+void
SingleImagePackModel::addStickers(QList<QUrl> files)
{
for (const auto &f : files) {
diff --git a/src/SingleImagePackModel.h b/src/SingleImagePackModel.h
index e1ab98fb..d5cc818e 100644
--- a/src/SingleImagePackModel.h
+++ b/src/SingleImagePackModel.h
@@ -70,6 +70,7 @@ public:
void setIsEmotePack(bool val);
Q_INVOKABLE void save();
+ Q_INVOKABLE void remove();
Q_INVOKABLE void addStickers(QList<QUrl> files);
Q_INVOKABLE void remove(int index);
Q_INVOKABLE void setAvatar(QUrl file);
|