From 1d1209944813f23e0e8818673e5b3a9faf4b7a77 Mon Sep 17 00:00:00 2001 From: Lucas Schwiderski Date: Sat, 25 Feb 2023 17:33:46 +0100 Subject: [PATCH] feat(dtmm): Replace existing mods on import Closes #19. --- crates/dtmm/src/state.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/crates/dtmm/src/state.rs b/crates/dtmm/src/state.rs index d42d9ac..42f2b41 100644 --- a/crates/dtmm/src/state.rs +++ b/crates/dtmm/src/state.rs @@ -185,8 +185,13 @@ impl State { } pub fn add_mod(&mut self, info: ModInfo) { - self.mods.push_back(info); - self.selected_mod_index = Some(self.mods.len() - 1); + if let Some(pos) = self.mods.index_of(&info) { + self.mods.set(pos, info); + self.selected_mod_index = Some(pos); + } else { + self.mods.push_back(info); + self.selected_mod_index = Some(self.mods.len() - 1); + } } pub fn can_move_mod_down(&self) -> bool {