Changed GUI layout a little bit so I could make some space for a display thingy

Also ran the formatter
This commit is contained in:
2023-06-19 23:35:10 +01:00
parent 3988c13bf0
commit 392aa6c1ab

View File

@@ -1,7 +1,9 @@
use config::{default_save_filename, load_config, save_config, Config};
use eframe::egui;
use eframe::egui::Color32;
use infos::{Difficulty, LauncherInfo, MultiManager, SingleManager, WadInfo, CommandManager, CommandErrors};
use infos::{
CommandErrors, CommandManager, Difficulty, LauncherInfo, MultiManager, SingleManager, WadInfo,
};
use native_dialog::{MessageDialog, MessageType};
use std::path::PathBuf;
use std::process::Command;
@@ -98,20 +100,19 @@ impl RustDoomLauncher {
CommandErrors::NoLauncher => "a launcher",
};
MessageDialog::new()
.set_type(MessageType::Error)
.set_title("I can't let you do that")
.set_text(&format!("You didn't pick {}!\nPlease do that", text))
.show_alert()
.set_type(MessageType::Error)
.set_title("I can't let you do that")
.set_text(&format!("You didn't pick {}!\nPlease do that", text))
.show_alert()
.unwrap();
},
}
Ok((launcher, command)) => {
// Note to self, don't hit launch button when running from emacs
let result = Command::new(launcher).args(command).spawn();
match result {
Err(e) => panic!("{}", e),
Ok(_o) => ()
Ok(_o) => (),
}
}
}
}
@@ -165,11 +166,13 @@ impl eframe::App for RustDoomLauncher {
});
ui.horizontal_wrapped(|ui| {
ui.vertical(|ui| {
ui.set_max_width(100.0);
ui.label("Launchers");
let mut remove_pos: Option<usize> = None;
let mut add_pos: Option<usize> = None;
for (launcher, pos, selected) in
self.launcher_manager.iter_selectable_with_pos_and_selected()
for (launcher, pos, selected) in self
.launcher_manager
.iter_selectable_with_pos_and_selected()
{
ui.horizontal(|ui| {
if ui
@@ -196,16 +199,15 @@ impl eframe::App for RustDoomLauncher {
}
if let Some(ap) = add_pos {
self.launcher_manager.set_current(ap);
self.command_manager.add_launcher(self.launcher_manager.get_current().unwrap())
self.command_manager
.add_launcher(self.launcher_manager.get_current().unwrap())
}
});
ui.separator();
ui.vertical(|ui| {
ui.set_min_width(100.0);
ui.separator();
ui.label("IWADs");
let mut remove_pos: Option<usize> = None;
let mut add_pos: Option<usize> = None;
for (launcher, pos, selected) in self.iwad_manager.iter_selectable_with_pos_and_selected()
for (launcher, pos, selected) in
self.iwad_manager.iter_selectable_with_pos_and_selected()
{
ui.horizontal(|ui| {
if ui
@@ -227,7 +229,8 @@ impl eframe::App for RustDoomLauncher {
}
if let Some(ap) = add_pos {
self.iwad_manager.set_current(ap);
self.command_manager.add_iwad(self.iwad_manager.get_current().unwrap());
self.command_manager
.add_iwad(self.iwad_manager.get_current().unwrap());
}
});
ui.separator();
@@ -236,7 +239,9 @@ impl eframe::App for RustDoomLauncher {
ui.label("PWADs");
let mut remove_pos: Option<usize> = None;
let mut add_pos: Option<usize> = None;
for (pwad, pos, selected) in self.pwad_manager.iter_selectable_with_pos_and_selected() {
for (pwad, pos, selected) in
self.pwad_manager.iter_selectable_with_pos_and_selected()
{
ui.horizontal(|ui| {
if ui
.add(egui::SelectableLabel::new(selected, &pwad.name))
@@ -251,11 +256,13 @@ impl eframe::App for RustDoomLauncher {
}
if let Some(rp) = remove_pos {
self.pwad_manager.remove_selectable(rp);
self.command_manager.add_pwads(&self.pwad_manager.get_current())
self.command_manager
.add_pwads(&self.pwad_manager.get_current())
}
if let Some(ap) = add_pos {
self.pwad_manager.set_current(ap);
self.command_manager.add_pwads(&self.pwad_manager.get_current())
self.command_manager
.add_pwads(&self.pwad_manager.get_current())
}
});
});
@@ -329,16 +336,15 @@ impl eframe::App for RustDoomLauncher {
}
if let Some(r) = remove {
self.pwad_manager.remove_current(r);
self.command_manager.add_pwads(&self.pwad_manager.get_current())
self.command_manager
.add_pwads(&self.pwad_manager.get_current())
}
});
if self.display_command {
ui.horizontal(|ui| {
let mut text = self.command_manager.command_string.clone();
let window_size = frame.info().window_info.size;
ui.add(
egui::TextEdit::multiline(&mut text).desired_width(window_size[0]),
);
ui.add(egui::TextEdit::multiline(&mut text).desired_width(window_size[0]));
});
}
});