use crate::types::{ProgressBarPosition, ProgressBarStyle};
use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ProgressBarConfig {
#[serde(default = "crate::defaults::bool_true")]
pub progress_bar_enabled: bool,
#[serde(default)]
pub progress_bar_style: ProgressBarStyle,
#[serde(default)]
pub progress_bar_position: ProgressBarPosition,
#[serde(default = "crate::defaults::progress_bar_height")]
pub progress_bar_height: f32,
#[serde(default = "crate::defaults::progress_bar_opacity")]
pub progress_bar_opacity: f32,
#[serde(default = "crate::defaults::progress_bar_normal_color")]
pub progress_bar_normal_color: [u8; 3],
#[serde(default = "crate::defaults::progress_bar_warning_color")]
pub progress_bar_warning_color: [u8; 3],
#[serde(default = "crate::defaults::progress_bar_error_color")]
pub progress_bar_error_color: [u8; 3],
#[serde(default = "crate::defaults::progress_bar_indeterminate_color")]
pub progress_bar_indeterminate_color: [u8; 3],
}
impl Default for ProgressBarConfig {
fn default() -> Self {
Self {
progress_bar_enabled: crate::defaults::bool_true(),
progress_bar_style: ProgressBarStyle::default(),
progress_bar_position: ProgressBarPosition::default(),
progress_bar_height: crate::defaults::progress_bar_height(),
progress_bar_opacity: crate::defaults::progress_bar_opacity(),
progress_bar_normal_color: crate::defaults::progress_bar_normal_color(),
progress_bar_warning_color: crate::defaults::progress_bar_warning_color(),
progress_bar_error_color: crate::defaults::progress_bar_error_color(),
progress_bar_indeterminate_color: crate::defaults::progress_bar_indeterminate_color(),
}
}
}