par_term_config/config/config_struct/
progress_bar_config.rs1use crate::types::{ProgressBarPosition, ProgressBarStyle};
8use serde::{Deserialize, Serialize};
9
10#[derive(Debug, Clone, Serialize, Deserialize)]
12pub struct ProgressBarConfig {
13 #[serde(default = "crate::defaults::bool_true")]
16 pub progress_bar_enabled: bool,
17
18 #[serde(default)]
22 pub progress_bar_style: ProgressBarStyle,
23
24 #[serde(default)]
28 pub progress_bar_position: ProgressBarPosition,
29
30 #[serde(default = "crate::defaults::progress_bar_height")]
32 pub progress_bar_height: f32,
33
34 #[serde(default = "crate::defaults::progress_bar_opacity")]
36 pub progress_bar_opacity: f32,
37
38 #[serde(default = "crate::defaults::progress_bar_normal_color")]
40 pub progress_bar_normal_color: [u8; 3],
41
42 #[serde(default = "crate::defaults::progress_bar_warning_color")]
44 pub progress_bar_warning_color: [u8; 3],
45
46 #[serde(default = "crate::defaults::progress_bar_error_color")]
48 pub progress_bar_error_color: [u8; 3],
49
50 #[serde(default = "crate::defaults::progress_bar_indeterminate_color")]
52 pub progress_bar_indeterminate_color: [u8; 3],
53}
54
55impl Default for ProgressBarConfig {
56 fn default() -> Self {
57 Self {
58 progress_bar_enabled: crate::defaults::bool_true(),
59 progress_bar_style: ProgressBarStyle::default(),
60 progress_bar_position: ProgressBarPosition::default(),
61 progress_bar_height: crate::defaults::progress_bar_height(),
62 progress_bar_opacity: crate::defaults::progress_bar_opacity(),
63 progress_bar_normal_color: crate::defaults::progress_bar_normal_color(),
64 progress_bar_warning_color: crate::defaults::progress_bar_warning_color(),
65 progress_bar_error_color: crate::defaults::progress_bar_error_color(),
66 progress_bar_indeterminate_color: crate::defaults::progress_bar_indeterminate_color(),
67 }
68 }
69}