Implement MessageSummary

This commit is contained in:
jikstra
2020-01-14 18:54:58 +01:00
parent 65ea815067
commit 1038d918bf
2 changed files with 16 additions and 9 deletions

View File

@@ -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

View File

@@ -714,11 +714,11 @@ impl MessageState {
#[derive(Debug, Default)]
pub struct MessageSummary {
text1: Option<String>,
text1_meaning: Meaning,
text2: Option<String>,
timestamp: i64,
state: MessageState
pub text1: Option<String>,
pub text1_meaning: Meaning,
pub summarytext: Option<String>,
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();
}