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