start work on some stuff
This commit is contained in:
107
src/main.rs
107
src/main.rs
@@ -30,7 +30,8 @@ fn main() -> anyhow::Result<()> {
|
||||
|
||||
let options = eframe::NativeOptions {
|
||||
viewport: egui::ViewportBuilder::default()
|
||||
.with_min_inner_size([640.0, 480.0]),
|
||||
.with_min_inner_size([640.0, 480.0])
|
||||
.with_inner_size([640.0, 480.0]),
|
||||
..Default::default()
|
||||
|
||||
};
|
||||
@@ -348,45 +349,83 @@ impl eframe::App for Application {
|
||||
egui::CentralPanel::default().show(ctx, |ui| {
|
||||
top_horizontal(ui, |ui| {
|
||||
TableBuilder::new(ui)
|
||||
.column(Column::auto().at_least(100.0))
|
||||
.column(Column::exact(300.0))
|
||||
.body(|mut body| {
|
||||
body.row(24.0, |mut row| {
|
||||
row.col(|ui| {
|
||||
ui.label(RichText::new("Mod ID").size(16.0));
|
||||
.column(Column::auto().at_least(100.0))
|
||||
.column(Column::exact(300.0))
|
||||
.body(|mut body| {
|
||||
body.row(24.0, |mut row| {
|
||||
row.col(|ui| {
|
||||
ui.label(RichText::new("Mod ID").size(16.0));
|
||||
});
|
||||
row.col(|ui| {
|
||||
ui.add(egui::TextEdit::singleline(&mut self.configuration.mod_id).font(font.clone()));
|
||||
});
|
||||
});
|
||||
row.col(|ui| {
|
||||
ui.add(egui::TextEdit::singleline(&mut self.configuration.mod_id).font(font.clone()));
|
||||
body.row(24.0, |mut row| {
|
||||
row.col(|ui| {
|
||||
ui.label(RichText::new("Mod Name").size(16.0));
|
||||
});
|
||||
row.col(|ui| {
|
||||
ui.add(egui::TextEdit::singleline(&mut self.configuration.mod_name).font(font.clone()));
|
||||
});
|
||||
});
|
||||
body.row(24.0, |mut row| {
|
||||
row.col(|ui| {
|
||||
ui.label(RichText::new("Mod Description").size(16.0));
|
||||
});
|
||||
row.col(|ui| {
|
||||
ui.add(egui::TextEdit::singleline(&mut self.configuration.mod_description).font(font.clone()));
|
||||
});
|
||||
});
|
||||
body.row(24.0, |mut row| {
|
||||
row.col(|ui| {
|
||||
ui.label(RichText::new("Mod Version").size(16.0));
|
||||
});
|
||||
row.col(|ui| {
|
||||
ui.add(egui::TextEdit::singleline(&mut self.configuration.mod_version).font(font.clone()));
|
||||
});
|
||||
});
|
||||
});
|
||||
body.row(24.0, |mut row| {
|
||||
row.col(|ui| {
|
||||
ui.label(RichText::new("Mod Name").size(16.0));
|
||||
});
|
||||
row.col(|ui| {
|
||||
ui.add(egui::TextEdit::singleline(&mut self.configuration.mod_name).font(font.clone()));
|
||||
});
|
||||
});
|
||||
body.row(24.0, |mut row| {
|
||||
row.col(|ui| {
|
||||
ui.label(RichText::new("Mod Description").size(16.0));
|
||||
});
|
||||
row.col(|ui| {
|
||||
ui.add(egui::TextEdit::singleline(&mut self.configuration.mod_description).font(font.clone()));
|
||||
});
|
||||
});
|
||||
body.row(24.0, |mut row| {
|
||||
row.col(|ui| {
|
||||
ui.label(RichText::new("Mod Version").size(16.0));
|
||||
});
|
||||
row.col(|ui| {
|
||||
ui.add(egui::TextEdit::singleline(&mut self.configuration.mod_version).font(font.clone()));
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
ui.separator();
|
||||
|
||||
top_horizontal(ui, |ui| {
|
||||
ui.vertical(|ui| {
|
||||
ui.add(egui::Checkbox::new(&mut self.configuration.include_audio, RichText::new("Include /audio").size(16.0)));
|
||||
ui.add(egui::Checkbox::new(&mut self.configuration.include_data, RichText::new("Include /data").size(16.0)));
|
||||
ui.add(egui::Checkbox::new(&mut self.configuration.include_fonts, RichText::new("Include /fonts").size(16.0)));
|
||||
ui.add(egui::Checkbox::new(&mut self.configuration.include_icon, RichText::new("Include /icon").size(16.0)));
|
||||
ui.add(egui::Checkbox::new(&mut self.configuration.include_img, RichText::new("Include /img").size(16.0)));
|
||||
ui.add(egui::Checkbox::new(&mut self.configuration.include_languages, RichText::new("Include /languages").size(16.0)));
|
||||
ui.add(egui::Checkbox::new(&mut self.configuration.include_maps, RichText::new("Include /maps").size(16.0)));
|
||||
ui.add(egui::Checkbox::new(&mut self.configuration.include_movies, RichText::new("Include /movies").size(16.0)));
|
||||
});
|
||||
});
|
||||
|
||||
// TODO: Implement performance settings here
|
||||
});
|
||||
|
||||
egui::TopBottomPanel::bottom("configuration_start").show(ctx, |ui| {
|
||||
let mut is_valid = self.configuration.include_audio || self.configuration.include_data ||
|
||||
self.configuration.include_fonts || self.configuration.include_icon ||
|
||||
self.configuration.include_img || self.configuration.include_languages ||
|
||||
self.configuration.include_maps || self.configuration.include_movies ||
|
||||
self.configuration.include_plugins;
|
||||
|
||||
if self.configuration.mod_description.len() < 2 { is_valid = false; }
|
||||
if self.configuration.mod_id.len() < 2 { is_valid = false; }
|
||||
if self.configuration.mod_name.len() < 2 { is_valid = false; }
|
||||
if self.configuration.mod_version.len() < 2 { is_valid = false; }
|
||||
|
||||
ui.with_layout(Layout::top_down(Align::Max), |ui| {
|
||||
if !is_valid {
|
||||
ui.disable();
|
||||
}
|
||||
|
||||
if ui.button("Continue").clicked() {
|
||||
self.sender.send(UiEvent::UseConfiguration(self.configuration.clone())).expect("Failed to send");
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user