Skip to content

Commit 7a259e3

Browse files
committed
fix bad loading of modes
1 parent 102fa2b commit 7a259e3

2 files changed

Lines changed: 10 additions & 10 deletions

File tree

src/app.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,7 @@ pub enum Message {
112112
}
113113

114114
#[derive(Debug, Clone)]
115+
#[allow(unused)]
115116
pub enum SetConfigFields {
116117
ToDefault,
117118
ToggleHotkey(String),

src/app/tile/update.rs

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
6666
} else {
6767
info!("Switching to default mode");
6868
tile.current_mode = "default".to_string();
69-
window::latest().map(|x| Message::HideWindow(x.unwrap()))
69+
Task::none()
7070
}
7171
}
7272

@@ -557,9 +557,12 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
557557
.pick_file()
558558
.and_then(|x| {
559559
x.to_str().map(|x| {
560-
Task::done(Message::SetConfig(SetConfigFields::Modes(
561-
Editable::Create((mode_name, x.to_string())),
562-
)))
560+
Task::batch([
561+
Task::done(Message::SetConfig(SetConfigFields::Modes(
562+
Editable::Create((mode_name, x.to_string())),
563+
))),
564+
Task::done(Message::WriteConfig(false)),
565+
])
563566
})
564567
})
565568
.unwrap_or(Task::none()),
@@ -570,9 +573,7 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
570573
SetConfigFields::ToggleHotkey(hk) => final_config.toggle_hotkey = hk,
571574
SetConfigFields::ClipboardHotkey(hk) => final_config.toggle_hotkey = hk,
572575
SetConfigFields::Modes(Editable::Create((key, value))) => {
573-
if !final_config.modes.contains_key(&key) {
574-
final_config.modes.insert(key, value);
575-
}
576+
final_config.modes.entry(key).or_insert(value);
576577
}
577578
SetConfigFields::Modes(Editable::Delete((key, _))) => {
578579
final_config.modes.remove(&key);
@@ -582,9 +583,7 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
582583
final_config.modes.insert(new.0, new.1);
583584
}
584585
SetConfigFields::Aliases(Editable::Create((key, value))) => {
585-
if !final_config.aliases.contains_key(&key) {
586-
final_config.aliases.insert(key, value);
587-
}
586+
final_config.aliases.entry(key).or_insert(value);
588587
}
589588
SetConfigFields::Aliases(Editable::Delete((key, _))) => {
590589
final_config.aliases.remove(&key);

0 commit comments

Comments
 (0)