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:
44
src/main.rs
44
src/main.rs
@@ -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;
|
||||
@@ -103,15 +105,14 @@ impl RustDoomLauncher {
|
||||
.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.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]));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user