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