fix(start): enable Send Feedback / Release Notes on the start tab

The start (welcome) tab blocks any command that isn't NEW/OPEN/EXIT/QUIT,
so the Contribute and Release Notes buttons did nothing but print
"No drawing open". REPORT and CHANGELOG (and ABOUT) only open a URL or a
dialog and need no drawing, so allow them through.

Also rename the "Contribute" button to "Send Feedback" (#44) and update
the REPORT status line to match.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hakan Seven 2026-06-15 01:12:29 +03:00
commit 3522637f65
2 changed files with 8 additions and 3 deletions

View file

@ -32,7 +32,12 @@ impl OpenCADStudio {
// command would silently do nothing. Allow only the commands that // command would silently do nothing. Allow only the commands that
// make sense there (create / open a document, or quit) and tell the // make sense there (create / open a document, or quit) and tell the
// user otherwise instead of running a no-op. See #96. // user otherwise instead of running a no-op. See #96.
if self.tabs[i].is_start && !matches!(cmd, "NEW" | "OPEN" | "EXIT" | "QUIT") { if self.tabs[i].is_start
&& !matches!(
cmd,
"NEW" | "OPEN" | "EXIT" | "QUIT" | "REPORT" | "CHANGELOG" | "ABOUT"
)
{
self.command_line self.command_line
.push_info("No drawing open. Use NEW or OPEN to start a drawing."); .push_info("No drawing open. Use NEW or OPEN to start a drawing.");
return Task::none(); return Task::none();
@ -2663,7 +2668,7 @@ impl OpenCADStudio {
"REPORT" => { "REPORT" => {
let _ = open::that("https://github.com/HakanSeven12/OpenCADStudio/issues/new"); let _ = open::that("https://github.com/HakanSeven12/OpenCADStudio/issues/new");
self.command_line.push_info("Opening GitHub issue page..."); self.command_line.push_info("Opening feedback page...");
} }
"ABOUT" => { "ABOUT" => {

View file

@ -3730,7 +3730,7 @@ pub(super) fn start_page_view<'a>() -> Element<'a, Message> {
let secondary_row = row![ let secondary_row = row![
outline_btn( outline_btn(
"Contribute", "Send Feedback",
Message::RibbonToolClick { Message::RibbonToolClick {
tool_id: "REPORT".to_string(), tool_id: "REPORT".to_string(),
event: crate::modules::ModuleEvent::Command("REPORT".to_string()), event: crate::modules::ModuleEvent::Command("REPORT".to_string()),