mirror of
https://github.com/chatmail/core.git
synced 2026-04-18 05:56:31 +03:00
Factor part of set_draft_raw into new function maybe_delete_draft
This commit is contained in:
20
src/chat.rs
20
src/chat.rs
@@ -849,18 +849,24 @@ pub unsafe fn set_draft(context: &Context, chat_id: u32, msg: Option<&mut Messag
|
||||
};
|
||||
}
|
||||
|
||||
/// Delete draft message in specified chat, if there is one.
|
||||
///
|
||||
/// Return {true}, if message was deleted, {false} otherwise.
|
||||
fn maybe_delete_draft(context: &Context, chat_id: u32) -> bool {
|
||||
let draft = get_draft_msg_id(context, chat_id);
|
||||
if draft != 0 {
|
||||
dc_delete_msg_from_db(context, draft);
|
||||
return true;
|
||||
}
|
||||
false
|
||||
}
|
||||
|
||||
// similar to as dc_set_draft() but does not emit an event
|
||||
#[allow(non_snake_case)]
|
||||
unsafe fn set_draft_raw(context: &Context, chat_id: u32, mut msg: Option<&mut Message>) -> bool {
|
||||
let mut OK_TO_CONTINUE = true;
|
||||
|
||||
let mut sth_changed = false;
|
||||
|
||||
let prev_draft_msg_id = get_draft_msg_id(context, chat_id);
|
||||
if 0 != prev_draft_msg_id {
|
||||
dc_delete_msg_from_db(context, prev_draft_msg_id);
|
||||
sth_changed = true;
|
||||
}
|
||||
let mut sth_changed = maybe_delete_draft(context, chat_id);
|
||||
|
||||
if let Some(ref mut msg) = msg {
|
||||
// save new draft
|
||||
|
||||
Reference in New Issue
Block a user