Skip to content

Commit 8a38423

Browse files
authored
Merge pull request #218 from unsecretised/fix-crashes
Fix crashes
2 parents a0b737f + aa378d3 commit 8a38423

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/app/pages/settings.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ pub fn settings_page(config: Config) -> Element<'static, Message> {
359359
bg_clr.into(),
360360
settings_hint_text(theme.clone(), "Aliases"),
361361
aliases_item(config.aliases, &theme),
362-
settings_hint_text(theme.clone(), "Rustcast modes"),
362+
settings_hint_text(theme.clone(), "Modes"),
363363
modes_item(config.modes, &theme),
364364
Row::from_iter([
365365
savebutton(theme.clone()),
@@ -553,7 +553,7 @@ fn modes_item(modes: HashMap<String, String>, theme: &Theme) -> Element<'static,
553553
let val_clone = value.clone();
554554
let theme_clone_2 = theme.clone();
555555
Row::from_iter([
556-
text_input_cell(key.to_owned(), &theme_clone, "Shorthand")
556+
text_input_cell(key.to_owned(), &theme_clone, "Mode name")
557557
.on_input(move |input| {
558558
Message::SetConfig(SetConfigFields::Modes(Editable::Update {
559559
old: (key_clone.clone(), val_clone.clone()),

src/app/tile/update.rs

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,9 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
382382
}
383383

384384
Message::HideWindow(a) => {
385+
if tile.page == Page::Settings {
386+
return Task::none();
387+
}
385388
info!("Hiding RustCast window");
386389
tile.visible = false;
387390
tile.focused = false;
@@ -555,11 +558,11 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
555558
std::env::var("HOME").unwrap_or("".to_string()) + "/.config/rustcast/config.toml",
556559
)
557560
.pick_file()
558-
.and_then(|x| {
559-
x.to_str().map(|x| {
561+
.and_then(|path| {
562+
path.to_str().map(|path_str| {
560563
Task::batch([
561564
Task::done(Message::SetConfig(SetConfigFields::Modes(
562-
Editable::Create((mode_name, x.to_string())),
565+
Editable::Create((mode_name, path_str.to_string())),
563566
))),
564567
Task::done(Message::WriteConfig(false)),
565568
])
@@ -573,7 +576,7 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
573576
SetConfigFields::ToggleHotkey(hk) => final_config.toggle_hotkey = hk,
574577
SetConfigFields::ClipboardHotkey(hk) => final_config.toggle_hotkey = hk,
575578
SetConfigFields::Modes(Editable::Create((key, value))) => {
576-
final_config.modes.entry(key).or_insert(value);
579+
final_config.modes.insert(key, value);
577580
}
578581
SetConfigFields::Modes(Editable::Delete((key, _))) => {
579582
final_config.modes.remove(&key);
@@ -655,6 +658,9 @@ pub fn handle_update(tile: &mut Tile, message: Message) -> Task<Message> {
655658
let config_file_path =
656659
std::env::var("HOME").unwrap_or("".to_string()) + "/.config/rustcast/config.toml";
657660

661+
tile.config.aliases.remove("");
662+
tile.config.modes.remove("");
663+
658664
let config_string = match toml::to_string_pretty(&tile.config) {
659665
Ok(a) => a,
660666
Err(e) => {

0 commit comments

Comments
 (0)