diff options
Diffstat (limited to 'src/config/general/tab_raw.rs')
-rw-r--r-- | src/config/general/tab_raw.rs | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/src/config/general/tab_raw.rs b/src/config/general/tab_raw.rs index a6c4240..47914f1 100644 --- a/src/config/general/tab_raw.rs +++ b/src/config/general/tab_raw.rs @@ -2,23 +2,33 @@ use std::convert::From; use serde_derive::Deserialize; -use crate::config::option::TabOption; +use crate::config::option::{TabBarDisplayMode, TabOption}; use crate::tab::TabHomePage; fn default_home_page() -> String { "home".to_string() } +const fn default_max_len() -> usize { + 16 +} + #[derive(Clone, Debug, Deserialize)] pub struct TabOptionRaw { #[serde(default = "default_home_page")] pub home_page: String, + #[serde(default)] + pub display_mode: TabBarDisplayMode, + #[serde(default = "default_max_len")] + pub max_len: usize, } impl std::default::Default for TabOptionRaw { fn default() -> Self { Self { home_page: default_home_page(), + display_mode: TabBarDisplayMode::default(), + max_len: 16, } } } @@ -27,6 +37,6 @@ impl From<TabOptionRaw> for TabOption { fn from(raw: TabOptionRaw) -> Self { let home_page = TabHomePage::from_str(raw.home_page.as_str()).unwrap_or(TabHomePage::Home); - Self::new(home_page) + Self::new(home_page, raw.display_mode, raw.max_len) } } |