Skip to content

Commit 9e96d2f

Browse files
committed
WIP collapsible mod group UI
1 parent 94c9352 commit 9e96d2f

File tree

1 file changed

+31
-7
lines changed

1 file changed

+31
-7
lines changed

src/gui/mod.rs

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -568,13 +568,37 @@ impl App {
568568
}
569569
};
570570

571-
egui::ScrollArea::vertical().show(ui, |ui| {
572-
if let Some(profile) = profiles.get_mut(profile) {
573-
ui_profile(ui, profile);
574-
} else {
575-
ui.label("no such profile");
576-
}
577-
});
571+
egui::Frame::none()
572+
.show(ui, |ui| {
573+
egui::ScrollArea::vertical().show(ui, |ui| {
574+
if let Some(profile) = profiles.get_mut(profile) {
575+
ui_profile(ui, profile);
576+
} else {
577+
ui.label("no such profile");
578+
}
579+
});
580+
ui.allocate_space(ui.available_size());
581+
})
582+
.response
583+
.context_menu(|ui| {
584+
if let Some(profile) = profiles.get_mut(profile) {
585+
ui.menu_button("add group", |ui| {
586+
for group in groups.keys() {
587+
if ui.button(group).clicked() {
588+
profile.mods.push(ModOrGroup::Group {
589+
group_name: group.clone(),
590+
enabled: true,
591+
});
592+
ctx.needs_save = true;
593+
ui.close_menu();
594+
}
595+
}
596+
});
597+
}
598+
if ui.button("close").clicked() {
599+
ui.close_menu();
600+
}
601+
});
578602

579603
if let Some(add_deps) = ctx.add_deps {
580604
message::ResolveMods::send(self, ui.ctx(), add_deps, true);

0 commit comments

Comments
 (0)