feat: redesign Manage tab to match reference layout

- Add Customization group: User Interface (CUI), Tool Palettes (large),
  Import, Export, Edit Aliases dropdown (small)
- Add Cleanup group: Find Non-Purgeable Items (large), Purge, Overkill, Audit (small)
- Add 8 new SVG icons for all new commands

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Hakan SevenandClaude Sonnet 4.6 committed 2026-04-09 13:27:40 +03:00
1 parent ef988c20a3
commit fce611d782
18 files changed
+170 -6

No files matched your search

+46 -6
View File
@@ -1,8 +1,16 @@
// Manage module — application settings and customization tools.
// Manage module — customization and drawing cleanup tools.
mod audit;
mod cui_export;
mod cui_import;
mod edit_aliases;
mod find_nonpurgeable;
mod options;
mod overkill;
mod purge;
mod user_interface;
use crate::modules::{CadModule, RibbonGroup};
use crate::modules::{CadModule, IconKind, RibbonGroup, RibbonItem};
pub struct ManageModule;
@@ -15,9 +23,41 @@ impl CadModule for ManageModule {
}
fn ribbon_groups(&self) -> Vec<RibbonGroup> {
vec![RibbonGroup {
title: "Settings",
tools: vec![options::tool().into()],
}]
vec![
// ── Customization ─────────────────────────────────────────────────
RibbonGroup {
title: "Customization",
tools: vec![
RibbonItem::LargeTool(user_interface::tool()),
RibbonItem::LargeTool(crate::modules::ToolDef {
id: "TOOLPALETTES",
label: "Tool\nPalettes",
icon: IconKind::Svg(include_bytes!("../../../assets/icons/tool_palettes.svg")),
event: crate::modules::ModuleEvent::Command("TOOLPALETTES".to_string()),
}),
RibbonItem::Tool(cui_import::tool()),
RibbonItem::Tool(cui_export::tool()),
RibbonItem::Dropdown {
id: "ALIASEDIT_DROPDOWN",
icon: IconKind::Svg(include_bytes!("../../../assets/icons/edit_aliases.svg")),
items: vec![
("ALIASEDIT", "Edit Aliases", IconKind::Svg(include_bytes!("../../../assets/icons/edit_aliases.svg"))),
("CUILOAD", "Load Partial CUI", IconKind::Svg(include_bytes!("../../../assets/icons/cui_import.svg"))),
],
default: "ALIASEDIT",
},
],
},
// ── Cleanup ───────────────────────────────────────────────────────
RibbonGroup {
title: "Cleanup",
tools: vec![
RibbonItem::LargeTool(find_nonpurgeable::tool()),
RibbonItem::Tool(purge::tool()),
RibbonItem::Tool(overkill::tool()),
RibbonItem::Tool(audit::tool()),
],
},
]
}
}