Skip to content

Commit

Permalink
settings map translation
Browse files Browse the repository at this point in the history
  • Loading branch information
AlexKnauth committed Jun 14, 2024
1 parent ab76c26 commit cf5f15d
Show file tree
Hide file tree
Showing 6 changed files with 488 additions and 118 deletions.
37 changes: 3 additions & 34 deletions src/run/auto_splitter_settings.rs
Original file line number Diff line number Diff line change
Expand Up @@ -6,14 +6,7 @@ use livesplit_auto_splitting::settings;
pub struct AutoSplitterSettings {
pub version: Version,
pub script_path: String,
pub custom_settings: Vec<CustomSetting>,
}

#[derive(Debug, Clone, PartialEq)]
pub struct CustomSetting {
pub id: String,
pub setting_type: settings::WidgetKind,
pub value: settings::Value,
pub custom_settings: settings::Map,
}

impl AutoSplitterSettings {
Expand All @@ -25,31 +18,7 @@ impl AutoSplitterSettings {
self.script_path = script_path;
}

pub fn add_custom_setting(&mut self, custom_setting: CustomSetting) {
self.custom_settings.push(custom_setting);
}
}

impl CustomSetting {
pub fn new() -> Self {
Self {
id: String::default(),
setting_type: settings::WidgetKind::Bool {
default_value: false,
},
value: settings::Value::Bool(false),
}
}

pub fn set_id(&mut self, id: String) {
self.id = id;
}

pub fn set_setting_type(&mut self, setting_type: settings::WidgetKind) {
self.setting_type = setting_type;
}

pub fn set_value(&mut self, value: settings::Value) {
self.value = value
pub fn set_custom_settings(&mut self, custom_settings: settings::Map) {
self.custom_settings = custom_settings;
}
}
8 changes: 4 additions & 4 deletions src/run/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ pub struct Run {
comparison_generators: ComparisonGenerators,
auto_splitter_settings: String,
#[cfg(feature = "auto-splitting")]
parsed_auto_splitter_settings: AutoSplitterSettings,
parsed_auto_splitter_settings: Option<AutoSplitterSettings>,
linked_layout: Option<LinkedLayout>,
}

Expand Down Expand Up @@ -136,7 +136,7 @@ impl Run {
comparison_generators: ComparisonGenerators(default_generators()),
auto_splitter_settings: String::new(),
#[cfg(feature = "auto-splitting")]
parsed_auto_splitter_settings: AutoSplitterSettings::default(),
parsed_auto_splitter_settings: None,
linked_layout: None,
}
}
Expand Down Expand Up @@ -338,14 +338,14 @@ impl Run {
/// Accesses the Auto Splitter Settings.
#[inline]
#[cfg(feature = "auto-splitting")]
pub fn parsed_auto_splitter_settings(&self) -> &AutoSplitterSettings {
pub fn parsed_auto_splitter_settings(&self) -> &Option<AutoSplitterSettings> {
&self.parsed_auto_splitter_settings
}

/// Accesses the Auto Splitter Settings as mutable.
#[inline]
#[cfg(feature = "auto-splitting")]
pub fn parsed_auto_splitter_settings_mut(&mut self) -> &mut AutoSplitterSettings {
pub fn parsed_auto_splitter_settings_mut(&mut self) -> &mut Option<AutoSplitterSettings> {
&mut self.parsed_auto_splitter_settings
}

Expand Down
Loading

0 comments on commit cf5f15d

Please sign in to comment.