mirror of
https://github.com/chatmail/core.git
synced 2026-04-27 18:36:30 +03:00
Implement MessageSummary
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user