From 637db55e08c98c4f408efda0f739ed1f377eb7b3 Mon Sep 17 00:00:00 2001
From: Nicolas Werner <nicolas.werner@hotmail.de>
Date: Tue, 22 Mar 2022 19:45:25 +0100
Subject: [PATCH] Default body to shortcode if unset and sending sticker

---
 src/CombinedImagePackModel.h | 6 ++++++
 src/timeline/InputBar.cpp    | 2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/src/CombinedImagePackModel.h b/src/CombinedImagePackModel.h
index 78598469b..b0560ee33 100644
--- a/src/CombinedImagePackModel.h
+++ b/src/CombinedImagePackModel.h
@@ -33,6 +33,12 @@ public:
             return {};
         return images.at(static_cast<size_t>(row)).image;
     }
+    QString shortcodeAt(int row)
+    {
+        if (row < 0 || static_cast<size_t>(row) >= images.size())
+            return {};
+        return images.at(static_cast<size_t>(row)).shortcode;
+    }
 
 private:
     std::string room_id;
diff --git a/src/timeline/InputBar.cpp b/src/timeline/InputBar.cpp
index 7a7d22b79..a82796a8c 100644
--- a/src/timeline/InputBar.cpp
+++ b/src/timeline/InputBar.cpp
@@ -636,7 +636,7 @@ InputBar::sticker(CombinedImagePackModel *model, int row)
     mtx::events::msg::StickerImage sticker{};
     sticker.info = img.info.value_or(mtx::common::ImageInfo{});
     sticker.url  = img.url;
-    sticker.body = img.body;
+    sticker.body = img.body.empty() ? model->shortcodeAt(row).toStdString() : img.body;
 
     // workaround for https://github.com/vector-im/element-ios/issues/2353
     sticker.info.thumbnail_url           = sticker.url;
-- 
GitLab