[IMP] OneBSpace rebrand of OpenCADStudio -> OneCAD Draft (wordmark, about, crash banner, 23 locales; strip SW/manifest; air-gap: update check, donations, discussions, external help links)

This commit is contained in:
Z User committed 2026-10-18 21:25:27 +00:00
1 parent c9e763006e
commit 193f2ae9ab
57 files changed
+760 -1091

No files matched your search

+2 -2
View File
@@ -111,7 +111,7 @@ pub(crate) fn report() -> String {
let sys = system_info();
#[allow(unused_mut)]
let mut out = format!(
"Open CAD Studio v{}\nRevision: {}\nCommit date: {}\nProfile: {}\nFeatures: {}\n\n\
"OneCAD Draft v{}\nRevision: {}\nCommit date: {}\nProfile: {}\nFeatures: {}\n\n\
[System]\nOS: {} ({} {})\nCPU: {}\nLogical processors: {}\nRAM: {} total, {} available\n",
env!("OCS_FULL_VERSION"),
env!("OCS_GIT_REV"),
@@ -195,7 +195,7 @@ pub fn view_window(sizing: crate::ui::modal::ModalSizing) -> Element<'static, Me
row![
logo,
column![
text("Open CAD Studio").size(28).style(primary_style),
text("OneCAD Draft").size(28).style(primary_style), // OneBSpace (OneCAD Draft): rebranded wordmark
text(t!("CAD application for Architecture & Engineering"))
.size(11)
.style(muted_style),
+1 -1
View File
@@ -238,7 +238,7 @@ fn badge<'a>(support: Support) -> Element<'a, Message> {
pub fn unsupported_reason(support: Support) -> Option<std::borrow::Cow<'static, str>> {
match support {
Support::Yes | Support::ByExtension => None,
Support::No => Some(t!("OpenCAD Studio has no importer for this format.")),
Support::No => Some(t!("OneCAD Draft has no importer for this format.")) /* OneBSpace (OneCAD Draft): rebranded */,
}
}
+1 -1
View File
@@ -59,7 +59,7 @@ pub fn view_window<'a>(
column![
text(crate::t!("Missing fonts")).size(20),
text(crate::t!(
"This drawing uses fonts that are not installed on this machine. OpenCADStudio can download any redistributable fonts that exist in the selected repository; unavailable fonts will keep using a substitute."
"This drawing uses fonts that are not installed on this machine. OneCAD Draft can download any redistributable fonts that exist in the selected repository; unavailable fonts will keep using a substitute."
))
.size(11)
.style(muted_style),
+1 -1
View File
@@ -456,7 +456,7 @@ pub fn view_window<'a>(
iced::widget::checkbox(file_assoc_enabled)
.on_toggle(Message::FileAssocChanged)
.size(15),
text(crate::t!("Open .dwg and .dxf files with Open CAD Studio")).size(12),
text(crate::t!("Open .dwg and .dxf files with OneCAD Draft")) /* OneBSpace (OneCAD Draft): rebranded */.size(12),
]
.spacing(8)
.align_y(iced::Center),
+1 -1
View File
@@ -39,7 +39,7 @@ pub(crate) fn view(prefs: GraphicsPrefs, active: ActiveGpu) -> Element<'static,
text(crate::t!("Graphics")).size(15),
Space::new().height(6),
text(crate::t!(
"Saved immediately. Changes take effect the next time Open CAD Studio starts."
"Saved immediately. Changes take effect the next time OneCAD Draft starts."
))
.size(11)
.width(Fill),
+1 -1
View File
@@ -124,7 +124,7 @@ pub(crate) fn view(
let detail = match status {
Status::Unavailable(reason) => reason,
Status::Unsupported => "This version supports SpaceMouse through 3DxWare on Windows. Other platforms do not yet have a device adapter.".into(),
Status::Disconnected => "3DxWare is running. Connect a SpaceMouse; Open CAD Studio reconnects automatically.".into(),
Status::Disconnected => "3DxWare is running. Connect a SpaceMouse; OneCAD Draft reconnects automatically.".into(),
_ => "Uses the installed 3DxWare driver. Navigation pauses while a dialog is open. Your selected navigation mode is saved across drawings and sessions.".into(),
};
content = content.push(text(crate::t!(&detail).into_owned()).size(11).width(Fill));
+7 -16
View File
@@ -38,10 +38,8 @@ pub struct MarketView<'a> {
pub status: &'a str,
}
/// Latest desktop builds, used by the browser-only plugin notice.
#[cfg(target_arch = "wasm32")]
pub const DESKTOP_DOWNLOAD_URL: &str =
"https://github.com/HakanSeven12/OpenCADStudio/releases/latest";
// OneBSpace (OneCAD Draft): the upstream desktop-download link was removed —
// the browser-only plugin notice no longer links anywhere external.
// Register the command names for autocomplete. On the web they open a desktop
// download notice instead of the native marketplace.
@@ -308,7 +306,7 @@ fn external_card<'a>(
}
if p.bundled {
actions = actions.push(
text(t!("Bundled with Open CAD Studio"))
text(t!("Bundled with OneCAD Draft")) /* OneBSpace (OneCAD Draft): rebranded */
.size(11)
.style(muted_style),
);
@@ -477,7 +475,7 @@ fn registry_error_message(error: &str) -> (Cow<'static, str>, Cow<'static, str>)
(
t!("Unable to verify the server certificate"),
t!(
"Open CAD Studio could not trust the certificate presented for the plugin registry. Check your system certificate and proxy settings, then retry."
"OneCAD Draft could not trust the certificate presented for the plugin registry. Check your system certificate and proxy settings, then retry."
),
)
} else if error.contains("timed out") || error.contains("timeout") {
@@ -915,14 +913,8 @@ pub fn view_window<'a>(
/// Browser replacement for the native Plugin Manager.
#[cfg(target_arch = "wasm32")]
pub fn view_web_notice<'a>() -> Element<'a, Message> {
let download = button(text(t!("Download desktop app")).size(13))
.on_press(Message::OpenUrl(DESKTOP_DOWNLOAD_URL.to_string()))
.padding([9, 18])
.style(|theme: &Theme, status| {
let mut style = button::primary(theme, status);
style.text_color = iced::Color::WHITE;
style
});
// OneBSpace (OneCAD Draft): the "Download desktop app" button was removed —
// no external download links in the air-gapped embedded build.
let icon = container(crate::ui::icons::themed_primary(
crate::ui::icons::GEAR,
@@ -946,14 +938,13 @@ pub fn view_web_notice<'a>() -> Element<'a, Message> {
.width(Length::Fit)
.align_x(iced::alignment::Horizontal::Center),
text(t!(
"Open CAD Studio plugins are native packages and cannot run inside a browser. Download the desktop app to browse, install, and use plugins."
"OneCAD Draft plugins are native packages and cannot run inside a browser. Use the desktop build to browse, install, and use plugins." // OneBSpace (OneCAD Draft): rebranded, no external download link
))
.size(13)
.width(Length::Fit)
.align_x(iced::alignment::Horizontal::Center)
.style(muted_style),
Space::new().height(4),
download,
]
.spacing(10)
.align_x(iced::alignment::Horizontal::Center)
+1 -1
View File
@@ -136,7 +136,7 @@ pub fn view_window<'a>(
.size(20)
.style(primary_style),
text(t!(
"A newer Open CAD Studio version is published on GitHub."
"A newer OneCAD Draft version is published on GitHub."
))
.size(11)
.style(muted_style),
+4 -27
View File
@@ -6,13 +6,11 @@
use crate::app::Message;
use crate::ui::style::common::muted_style;
use crate::ui::style::form::dialog_button;
use iced::widget::{column, container, row, text, Space};
use iced::{Background, Element, Fill, Length, Theme};
/// GitHub issues page linked from the help window, so web users can report
/// missing or broken behavior where it will be seen.
pub const XREF_ISSUES_URL: &str = "https://github.com/HakanSeven12/OpenCADStudio/issues";
// OneBSpace (OneCAD Draft): the GitHub issues link was removed — air-gapped
// build keeps help text only, with no external links.
pub fn view_window(sizing: crate::ui::modal::ModalSizing) -> Element<'static, Message> {
// Fixed window width: paragraphs wrap against this instead of the
@@ -34,21 +32,10 @@ pub fn view_window(sizing: crate::ui::modal::ModalSizing) -> Element<'static, Me
)
.into_owned(),
);
let report_hint = para(
crate::t!(
"Hit something broken or missing? Report it on the GitHub issues page so it can be fixed."
)
.into_owned(),
);
let report_button = dialog_button(
crate::t!("Report an issue"),
Message::OpenUrl(XREF_ISSUES_URL.to_string()),
true,
);
let close_button = dialog_button(crate::t!("Close"), Message::CloseModal, false);
let close_button = crate::ui::style::form::dialog_button(crate::t!("Close"), Message::CloseModal, false);
let action_row: Element<'static, Message> =
row![Space::new().width(Fill), report_button, close_button,]
row![Space::new().width(Fill), close_button,]
.spacing(8)
.align_y(iced::Center)
.into();
@@ -61,7 +48,6 @@ pub fn view_window(sizing: crate::ui::modal::ModalSizing) -> Element<'static, Me
intro,
list,
limits,
report_hint,
Space::new().height(4),
action_row,
]
@@ -78,12 +64,3 @@ pub fn view_window(sizing: crate::ui::modal::ModalSizing) -> Element<'static, Me
})
.into()
}
#[cfg(test)]
mod tests {
#[test]
fn issues_url_points_at_github_issues() {
assert!(super::XREF_ISSUES_URL.starts_with("https://github.com/"));
assert!(super::XREF_ISSUES_URL.contains("/issues"));
}
}