enum Action {
SelectMirror,
+ SelectAllMirrors,
DeselectMirror,
+ DeselectAllMirrors,
Proceed,
}
println!("No mirrors selected for inclusion on medium so far.");
vec![
(Action::SelectMirror, "Add mirror to selection."),
+ (Action::SelectAllMirrors, "Add all mirrors to selection."),
(Action::Proceed, "Proceed"),
]
} else {
println!("No more mirrors available for selection!");
vec![
(Action::DeselectMirror, "Remove mirror from selection."),
+ (
+ Action::DeselectAllMirrors,
+ "Remove all mirrors from selection.",
+ ),
(Action::Proceed, "Proceed"),
]
} else {
vec![
(Action::SelectMirror, "Add mirror to selection."),
+ (Action::SelectAllMirrors, "Add all mirrors to selection."),
(Action::DeselectMirror, "Remove mirror from selection."),
+ (
+ Action::DeselectAllMirrors,
+ "Remove all mirrors from selection.",
+ ),
(Action::Proceed, "Proceed"),
]
}
.collect();
selected_mirrors.push(selected);
}
+ Action::SelectAllMirrors => {
+ selected_mirrors.extend_from_slice(&available_mirrors);
+ available_mirrors.truncate(0);
+ }
Action::DeselectMirror => {
if selected_mirrors.is_empty() {
println!("No mirrors selected (yet).");
.collect();
available_mirrors.push(selected);
}
+ Action::DeselectAllMirrors => {
+ available_mirrors.extend_from_slice(&selected_mirrors);
+ selected_mirrors.truncate(0);
+ }
Action::Proceed => {
break;
}