diff --git a/src/chatlist.rs b/src/chatlist.rs index ea789f975..0599555f4 100644 --- a/src/chatlist.rs +++ b/src/chatlist.rs @@ -6,7 +6,7 @@ use crate::contact::*; use crate::context::*; use crate::error::Result; use crate::lot::Lot; -use crate::message::{Message, MessageState, MsgId}; +use crate::message::{Message, MessageState, MsgId, MessageSummary}; use crate::stock::StockMessage; use serde::{Deserialize, Serialize}; @@ -323,6 +323,8 @@ impl Chatlist { self._get_summary(context, ret, chat, lastmsg_id) } + pub fn get_summary_from_chat_id_json(&self, context: &Context, chat_id: u32) -> + pub fn _get_summary(&self, context: &Context, mut ret: Lot, chat: &Chat, lastmsg_id: MsgId) -> Lot { let mut lastcontact = None; @@ -344,7 +346,12 @@ impl Chatlist { { ret.text2 = Some(context.stock_str(StockMessage::NoMessages).to_string()); } else { - ret.fill(&mut lastmsg.unwrap(), chat, lastcontact.as_ref(), context); + let message_summary = MessageSummary::new(&mut lastmsg.unwrap(), chat, lastcontact.as_ref(), context); + ret.text1 = message_summary.text1; + ret.text1_meaning = message_summary.text1_meaning; + ret.text2 = message_summary.summarytext; + ret.timestamp = message_summary.timestamp; + ret.state = message_summary.state.into(); } ret diff --git a/src/message.rs b/src/message.rs index 70a7257aa..6490ca82b 100644 --- a/src/message.rs +++ b/src/message.rs @@ -714,11 +714,11 @@ impl MessageState { #[derive(Debug, Default)] pub struct MessageSummary { - text1: Option, - text1_meaning: Meaning, - text2: Option, - timestamp: i64, - state: MessageState + pub text1: Option, + pub text1_meaning: Meaning, + pub summarytext: Option, + pub timestamp: i64, + pub state: MessageState } impl MessageSummary { @@ -763,7 +763,7 @@ impl MessageSummary { } } - message_summary.text2 = Some(get_summarytext_by_raw( + message_summary.summarytext = Some(get_summarytext_by_raw( msg.viewtype, msg.text.as_ref(), &msg.param, @@ -791,7 +791,7 @@ impl Lot { let message_summary = MessageSummary::new(msg, chat, contact, context); self.text1 = message_summary.text1; self.text1_meaning = message_summary.text1_meaning; - self.text2 = message_summary.text2; + self.text2 = message_summary.summarytext; self.timestamp = message_summary.timestamp; self.state = message_summary.state.into(); }