Skip to content

Commit e65c39b

Browse files
committed
WIP collapsible mod group UI
1 parent 6ccab23 commit e65c39b

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
@@ -521,13 +521,37 @@ impl App {
521521
}
522522
};
523523

524-
egui::ScrollArea::vertical().show(ui, |ui| {
525-
if let Some(profile) = profiles.get_mut(profile) {
526-
ui_profile(ui, profile);
527-
} else {
528-
ui.label("no such profile");
529-
}
530-
});
524+
egui::Frame::none()
525+
.show(ui, |ui| {
526+
egui::ScrollArea::vertical().show(ui, |ui| {
527+
if let Some(profile) = profiles.get_mut(profile) {
528+
ui_profile(ui, profile);
529+
} else {
530+
ui.label("no such profile");
531+
}
532+
});
533+
ui.allocate_space(ui.available_size());
534+
})
535+
.response
536+
.context_menu(|ui| {
537+
if let Some(profile) = profiles.get_mut(profile) {
538+
ui.menu_button("add group", |ui| {
539+
for group in groups.keys() {
540+
if ui.button(group).clicked() {
541+
profile.mods.push(ModOrGroup::Group {
542+
group_name: group.clone(),
543+
enabled: true,
544+
});
545+
ctx.needs_save = true;
546+
ui.close_menu();
547+
}
548+
}
549+
});
550+
}
551+
if ui.button("close").clicked() {
552+
ui.close_menu();
553+
}
554+
});
531555

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

0 commit comments

Comments
 (0)