mirror of
https://github.com/chatmail/core.git
synced 2026-05-22 16:26:31 +03:00
Remove dc_move.rs
and move dc_do_heuristics_moves to context.rs
This commit is contained in:
committed by
holger krekel
parent
c406675d6a
commit
aeb1a88e7a
@@ -4,7 +4,6 @@ use crate::chat::*;
|
|||||||
use crate::constants::*;
|
use crate::constants::*;
|
||||||
use crate::contact::*;
|
use crate::contact::*;
|
||||||
use crate::dc_loginparam::*;
|
use crate::dc_loginparam::*;
|
||||||
use crate::dc_move::*;
|
|
||||||
use crate::dc_receive_imf::*;
|
use crate::dc_receive_imf::*;
|
||||||
use crate::dc_tools::*;
|
use crate::dc_tools::*;
|
||||||
use crate::imap::*;
|
use crate::imap::*;
|
||||||
@@ -228,7 +227,7 @@ unsafe fn cb_precheck_imf(
|
|||||||
if as_str(old_server_folder) != server_folder || old_server_uid != server_uid {
|
if as_str(old_server_folder) != server_folder || old_server_uid != server_uid {
|
||||||
dc_update_server_uid(context, rfc724_mid, server_folder, server_uid);
|
dc_update_server_uid(context, rfc724_mid, server_folder, server_uid);
|
||||||
}
|
}
|
||||||
dc_do_heuristics_moves(context, server_folder, msg_id);
|
do_heuristics_moves(context, server_folder, msg_id);
|
||||||
if 0 != mark_seen {
|
if 0 != mark_seen {
|
||||||
job_add(
|
job_add(
|
||||||
context,
|
context,
|
||||||
@@ -575,6 +574,45 @@ pub fn dc_is_mvbox(context: &Context, folder_name: impl AsRef<str>) -> bool {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn do_heuristics_moves(context: &Context, folder: &str, msg_id: u32) {
|
||||||
|
if context
|
||||||
|
.sql
|
||||||
|
.get_config_int(context, "mvbox_move")
|
||||||
|
.unwrap_or_else(|| 1)
|
||||||
|
== 0
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if !dc_is_inbox(context, folder) && !dc_is_sentbox(context, folder) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if let Ok(msg) = dc_msg_new_load(context, msg_id) {
|
||||||
|
if dc_msg_is_setupmessage(&msg) {
|
||||||
|
// do not move setup messages;
|
||||||
|
// there may be a non-delta device that wants to handle it
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if dc_is_mvbox(context, folder) {
|
||||||
|
dc_update_msg_move_state(context, msg.rfc724_mid, MoveState::Stay);
|
||||||
|
}
|
||||||
|
|
||||||
|
// 1 = dc message, 2 = reply to dc message
|
||||||
|
if 0 != msg.is_dc_message {
|
||||||
|
job_add(
|
||||||
|
context,
|
||||||
|
Action::MoveMsg,
|
||||||
|
msg.id as libc::c_int,
|
||||||
|
Params::new(),
|
||||||
|
0,
|
||||||
|
);
|
||||||
|
dc_update_msg_move_state(context, msg.rfc724_mid, MoveState::Moving);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::*;
|
use super::*;
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
use crate::constants::*;
|
|
||||||
use crate::context::*;
|
|
||||||
use crate::job::*;
|
|
||||||
use crate::message::*;
|
|
||||||
use crate::param::Params;
|
|
||||||
|
|
||||||
pub fn dc_do_heuristics_moves(context: &Context, folder: &str, msg_id: u32) {
|
|
||||||
if context
|
|
||||||
.sql
|
|
||||||
.get_config_int(context, "mvbox_move")
|
|
||||||
.unwrap_or_else(|| 1)
|
|
||||||
== 0
|
|
||||||
{
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if !dc_is_inbox(context, folder) && !dc_is_sentbox(context, folder) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if let Ok(msg) = dc_msg_new_load(context, msg_id) {
|
|
||||||
if dc_msg_is_setupmessage(&msg) {
|
|
||||||
// do not move setup messages;
|
|
||||||
// there may be a non-delta device that wants to handle it
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if dc_is_mvbox(context, folder) {
|
|
||||||
dc_update_msg_move_state(context, msg.rfc724_mid, MoveState::Stay);
|
|
||||||
}
|
|
||||||
|
|
||||||
// 1 = dc message, 2 = reply to dc message
|
|
||||||
if 0 != msg.is_dc_message {
|
|
||||||
job_add(
|
|
||||||
context,
|
|
||||||
Action::MoveMsg,
|
|
||||||
msg.id as libc::c_int,
|
|
||||||
Params::new(),
|
|
||||||
0,
|
|
||||||
);
|
|
||||||
dc_update_msg_move_state(context, msg.rfc724_mid, MoveState::Moving);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -13,9 +13,8 @@ use sha2::{Digest, Sha256};
|
|||||||
use crate::chat::{self, Chat};
|
use crate::chat::{self, Chat};
|
||||||
use crate::constants::*;
|
use crate::constants::*;
|
||||||
use crate::contact::*;
|
use crate::contact::*;
|
||||||
use crate::context::Context;
|
use crate::context::{do_heuristics_moves, Context};
|
||||||
use crate::dc_mimeparser::*;
|
use crate::dc_mimeparser::*;
|
||||||
use crate::dc_move::*;
|
|
||||||
use crate::dc_securejoin::*;
|
use crate::dc_securejoin::*;
|
||||||
use crate::dc_strencode::*;
|
use crate::dc_strencode::*;
|
||||||
use crate::dc_tools::*;
|
use crate::dc_tools::*;
|
||||||
@@ -735,7 +734,7 @@ unsafe fn add_parts(
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
dc_do_heuristics_moves(context, server_folder.as_ref(), *insert_msg_id);
|
do_heuristics_moves(context, server_folder.as_ref(), *insert_msg_id);
|
||||||
cleanup(mime_in_reply_to, mime_references, txt_raw);
|
cleanup(mime_in_reply_to, mime_references, txt_raw);
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|||||||
@@ -56,7 +56,6 @@ pub mod dc_imex;
|
|||||||
mod dc_loginparam;
|
mod dc_loginparam;
|
||||||
mod dc_mimefactory;
|
mod dc_mimefactory;
|
||||||
pub mod dc_mimeparser;
|
pub mod dc_mimeparser;
|
||||||
mod dc_move;
|
|
||||||
pub mod dc_receive_imf;
|
pub mod dc_receive_imf;
|
||||||
pub mod dc_securejoin;
|
pub mod dc_securejoin;
|
||||||
mod dc_simplify;
|
mod dc_simplify;
|
||||||
|
|||||||
Reference in New Issue
Block a user