diff --git a/deltachat-ffi/deltachat.h b/deltachat-ffi/deltachat.h index da7cd4a8d..753cb8cdd 100644 --- a/deltachat-ffi/deltachat.h +++ b/deltachat-ffi/deltachat.h @@ -5001,6 +5001,7 @@ void dc_event_unref(dc_event_t* event); #define DC_STR_ERROR_NO_NETWORK 87 #define DC_STR_PROTECTION_ENABLED 88 #define DC_STR_PROTECTION_DISABLED 89 +#define DC_STR_REPLY_NOUN 90 /* eg. "Reply", used in summaries, a noun, not a verb (not: "to reply") */ /* * @} diff --git a/src/message.rs b/src/message.rs index 577aa193f..6b9149858 100644 --- a/src/message.rs +++ b/src/message.rs @@ -998,16 +998,23 @@ impl Lot { } } - self.text2 = Some( - get_summarytext_by_raw( - msg.viewtype, - msg.text.as_ref(), - &msg.param, - SUMMARY_CHARACTERS, - context, - ) - .await, - ); + let mut text2 = get_summarytext_by_raw( + msg.viewtype, + msg.text.as_ref(), + &msg.param, + SUMMARY_CHARACTERS, + context, + ) + .await; + + if text2.is_empty() && msg.quoted_text().is_some() { + text2 = context + .stock_str(StockMessage::ReplyNoun) + .await + .into_owned() + } + + self.text2 = Some(text2); self.timestamp = msg.get_timestamp(); self.state = msg.state.into(); diff --git a/src/stock.rs b/src/stock.rs index 7ebcb40c3..d9876207a 100644 --- a/src/stock.rs +++ b/src/stock.rs @@ -240,6 +240,10 @@ pub enum StockMessage { #[strum(props(fallback = "Chat protection disabled."))] ProtectionDisabled = 89, + + // used in summaries, a noun, not a verb (not: "to reply") + #[strum(props(fallback = "Reply"))] + ReplyNoun = 90, } /*