parent
84bf2d43be
commit
111f915ced
|
@ -490,6 +490,9 @@ impl BackendFolder for MaildirFolder {
|
|||
fn name(&self) -> &str {
|
||||
&self.name
|
||||
}
|
||||
fn change_name(&mut self, s: &str) {
|
||||
self.name = s.to_string();
|
||||
}
|
||||
fn children(&self) -> &Vec<usize> {
|
||||
&self.children
|
||||
}
|
||||
|
|
|
@ -177,6 +177,7 @@ impl fmt::Debug for BackendOpGenerator {
|
|||
pub trait BackendFolder: Debug {
|
||||
fn hash(&self) -> u64;
|
||||
fn name(&self) -> &str;
|
||||
fn change_name(&mut self, &str);
|
||||
fn clone(&self) -> Folder;
|
||||
fn children(&self) -> &Vec<usize>;
|
||||
}
|
||||
|
@ -193,6 +194,7 @@ impl BackendFolder for DummyFolder {
|
|||
fn name(&self) -> &str {
|
||||
""
|
||||
}
|
||||
fn change_name(&mut self, _s: &str) {}
|
||||
fn clone(&self) -> Folder {
|
||||
folder_default()
|
||||
}
|
||||
|
|
|
@ -30,7 +30,7 @@ pub use self::email::*;
|
|||
/* Mail backends. Currently only maildir is supported */
|
||||
pub mod backends;
|
||||
use error::Result;
|
||||
use mailbox::backends::{folder_default, Folder, MailBackend};
|
||||
use mailbox::backends::{folder_default, Folder};
|
||||
pub mod thread;
|
||||
pub use mailbox::thread::{build_threads, Container, Threads, SortOrder, SortField};
|
||||
|
||||
|
|
|
@ -39,6 +39,9 @@ pub struct FileAccount {
|
|||
}
|
||||
|
||||
impl FileAccount {
|
||||
pub fn folders(&self) -> Option<&HashMap<String, String>> {
|
||||
self.folders.as_ref()
|
||||
}
|
||||
pub fn folder(&self) -> &str {
|
||||
&self.root_folder
|
||||
}
|
||||
|
|
|
@ -92,7 +92,18 @@ impl Account {
|
|||
self.folders.len()
|
||||
}
|
||||
pub fn list_folders(&self) -> Vec<Folder> {
|
||||
self.backend.folders()
|
||||
let mut folders = self.backend.folders();
|
||||
if let Some(folder_renames) = self.settings.conf().folders() {
|
||||
eprintln!("folder renames: {:?}", folder_renames);
|
||||
for f in &mut folders {
|
||||
eprintln!("f.name() is {}", f.name());
|
||||
if let Some(name) = folder_renames.get(&f.name().to_ascii_lowercase()) {
|
||||
eprintln!("name is {}", name);
|
||||
f.change_name(name);
|
||||
}
|
||||
}
|
||||
}
|
||||
folders
|
||||
}
|
||||
pub fn name(&self) -> &str {
|
||||
&self.name
|
||||
|
|
Loading…
Reference in New Issue