Add info message when autodelete timer is changed

This commit is contained in:
Alexander Krotov
2020-01-06 06:47:28 +01:00
parent 997c5ad68a
commit b4337685cf
4 changed files with 21 additions and 0 deletions

View File

@@ -219,6 +219,13 @@ pub fn dc_receive_imf(
if chat::get_autodelete_timer(context, chat_id) != timer {
match chat::set_autodelete_timer(context, chat_id, timer) {
Ok(()) => {
let stock_str = context.stock_system_msg(
StockMessage::MsgAutodeleteTimerChanged,
timer.to_string(),
"",
from_id,
);
chat::add_info_msg(context, chat_id, stock_str);
context.call_cb(Event::ChatAutodeleteTimerModified { chat_id, timer });
}
Err(err) => {

View File

@@ -710,6 +710,12 @@ impl<'a, 'b> MimeFactory<'a, 'b> {
"location-streaming-enabled".into(),
));
}
SystemMessage::AutodeleteTimerChanged => {
protected_headers.push(Header::new(
"Chat-Content".to_string(),
"autodelete-timer-changed".to_string(),
));
}
SystemMessage::AutocryptSetupMessage => {
unprotected_headers
.push(Header::new("Autocrypt-Setup-Message".into(), "v1".into()));

View File

@@ -71,6 +71,9 @@ pub enum SystemMessage {
SecurejoinMessage = 7,
LocationStreamingEnabled = 8,
LocationOnly = 9,
/// Chat autodelete timer is changed.
AutodeleteTimerChanged = 10,
}
impl Default for SystemMessage {
@@ -206,6 +209,8 @@ impl MimeMessage {
} else if let Some(value) = self.get(HeaderDef::ChatContent) {
if value == "location-streaming-enabled" {
self.is_system_message = SystemMessage::LocationStreamingEnabled;
} else if value == "autodelete-timer-changed" {
self.is_system_message = SystemMessage::AutodeleteTimerChanged;
}
}
Ok(())

View File

@@ -179,6 +179,9 @@ pub enum StockMessage {
#[strum(props(fallback = "Unknown Sender for this chat. See 'info' for more details."))]
UnknownSenderForChat = 72,
#[strum(props(fallback = "Autodelete timer changed to %1$s."))]
MsgAutodeleteTimerChanged = 73,
}
/*