summaryrefslogtreecommitdiffstats
path: root/melib
diff options
context:
space:
mode:
authorManos Pitsidianakis <el13635@mail.ntua.gr>2019-12-07 14:04:25 +0200
committerManos Pitsidianakis <el13635@mail.ntua.gr>2019-12-13 00:04:59 +0200
commitaa9a6a31283a69a799c95ed3ff6a1a2b427d1891 (patch)
tree388f08ff6aabfc69734fcac9fefb63f38e197345 /melib
parent30e9114d9cbb003dbc2bc2e16b210100596379dd (diff)
melib: add SpecialUseMailbox::detect_usage method
Diffstat (limited to 'melib')
-rw-r--r--melib/src/backends.rs22
1 files changed, 22 insertions, 0 deletions
diff --git a/melib/src/backends.rs b/melib/src/backends.rs
index ec008f04..a6d0b1ba 100644
--- a/melib/src/backends.rs
+++ b/melib/src/backends.rs
@@ -370,6 +370,28 @@ impl Default for SpecialUsageMailbox {
}
}
+impl SpecialUsageMailbox {
+ pub fn detect_usage(name: &str) -> Option<SpecialUsageMailbox> {
+ if name.eq_ignore_ascii_case("inbox") {
+ Some(SpecialUsageMailbox::Inbox)
+ } else if name.eq_ignore_ascii_case("archive") {
+ Some(SpecialUsageMailbox::Archive)
+ } else if name.eq_ignore_ascii_case("drafts") {
+ Some(SpecialUsageMailbox::Drafts)
+ } else if name.eq_ignore_ascii_case("junk") {
+ Some(SpecialUsageMailbox::Junk)
+ } else if name.eq_ignore_ascii_case("spam") {
+ Some(SpecialUsageMailbox::Junk)
+ } else if name.eq_ignore_ascii_case("sent") {
+ Some(SpecialUsageMailbox::Sent)
+ } else if name.eq_ignore_ascii_case("trash") {
+ Some(SpecialUsageMailbox::Trash)
+ } else {
+ Some(SpecialUsageMailbox::Normal)
+ }
+ }
+}
+
pub trait BackendFolder: Debug {
fn hash(&self) -> FolderHash;
fn name(&self) -> &str;