feat: add Report/About/Changelog buttons to Support ribbon group

- REPORT opens GitHub new-issue page
- ABOUT opens a dialog window with version, OS and arch info + Copy Info button
- CHANGELOG opens GitHub releases page
- Fix Windows build: add windows-sys as target-specific dependency for PRINT command

Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Sonnet 4.6 committed 2026-04-22 22:22:33 +03:00
1 parent 62fbaf5da4
commit 070ad1f9c5
15 files changed
+222

No files matched your search

+10
View File
@@ -0,0 +1,10 @@
use crate::modules::{IconKind, ModuleEvent, ToolDef};
pub fn tool() -> ToolDef {
ToolDef {
id: "ABOUT",
label: "About",
icon: IconKind::Svg(include_bytes!("../../../assets/icons/about.svg")),
event: ModuleEvent::Command("ABOUT".to_string()),
}
}
+10
View File
@@ -0,0 +1,10 @@
use crate::modules::{IconKind, ModuleEvent, ToolDef};
pub fn tool() -> ToolDef {
ToolDef {
id: "CHANGELOG",
label: "Changelog",
icon: IconKind::Svg(include_bytes!("../../../assets/icons/changelog.svg")),
event: ModuleEvent::Command("CHANGELOG".to_string()),
}
}
+9
View File
@@ -2,8 +2,11 @@
pub mod clipboard;
pub mod defaults;
mod about;
mod changelog;
mod donate;
pub mod draw;
mod report;
pub mod groups;
pub mod inquiry;
pub mod layers;
@@ -27,7 +30,10 @@ impl CadModule for HomeModule {
use crate::modules::annotate::{angular_dim, leader_cmd, linear_dim, mleader_cmd, mtext, radius_dim, text};
use crate::modules::insert::{create_block, insert_block};
use clipboard::{copy_clip, cut, paste};
use about;
use changelog;
use donate;
use report;
use draw::{arc, circle, ellipse, hatch, line, polyline, shapes};
use layers::{layfrz, laylck, layoff, layon, laythw, layulk, make_current, match_layer, panel};
use groups::{group, ungroup};
@@ -187,6 +193,9 @@ impl CadModule for HomeModule {
title: "Support",
tools: vec![
RibbonItem::LargeTool(donate::tool()),
report::tool().into(),
about::tool().into(),
changelog::tool().into(),
],
},
]
+10
View File
@@ -0,0 +1,10 @@
use crate::modules::{IconKind, ModuleEvent, ToolDef};
pub fn tool() -> ToolDef {
ToolDef {
id: "REPORT",
label: "Report",
icon: IconKind::Svg(include_bytes!("../../../assets/icons/report.svg")),
event: ModuleEvent::Command("REPORT".to_string()),
}
}