Reorganize the menu bar and add additional commands to it

This commit is contained in:
Keavon Chambers
2025-03-01 13:44:28 -08:00
parent fd81d043a2
commit ddb0c8c249
10 changed files with 337 additions and 99 deletions
@@ -168,6 +168,18 @@ impl SelectTool {
})
}
fn turn_widgets(&self, disabled: bool) -> impl Iterator<Item = WidgetHolder> {
[(-90., "TurnNegative90", "Turn -90°"), (90., "TurnPositive90", "Turn 90°")]
.into_iter()
.map(move |(degrees, icon, name)| {
IconButton::new(icon, 24)
.tooltip(name)
.on_update(move |_| DocumentMessage::RotateSelectedLayers { degrees }.into())
.disabled(disabled)
.widget_holder()
})
}
fn boolean_widgets(&self, selected_count: usize) -> impl Iterator<Item = WidgetHolder> {
let operations = BooleanOperation::list();
let icons = BooleanOperation::icons();
@@ -218,6 +230,10 @@ impl LayoutHolder for SelectTool {
widgets.push(Separator::new(SeparatorType::Unrelated).widget_holder());
widgets.extend(self.flip_widgets(disabled));
// Turn
widgets.push(Separator::new(SeparatorType::Unrelated).widget_holder());
widgets.extend(self.turn_widgets(disabled));
// Boolean
widgets.push(Separator::new(SeparatorType::Unrelated).widget_holder());
widgets.extend(self.boolean_widgets(self.tool_data.selected_layers_count));