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:
54
src/main.rs
54
src/main.rs
@@ -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]),
|
|
||||||
);
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user