feat(options): menu bar, ribbon and HPASSOC switches; see-through command line by default

Options > Display gains Window Elements with "Show the menu bar"
(MENUBAR) and "Show the ribbon" (RIBBON / RIBBONCLOSE); Options > User
Preferences gains a Hatch switch for HPASSOC. The command line now
starts at 80 % opacity so the drawing shows through it.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
Hakan SevenandClaude Opus 5.5 committed 2026-10-13 16:14:26 +03:00
1 parent ee18f7ad3c
commit 8a2bc443e0
29 files changed
+163 -3

No files matched your search

+4
View File
@@ -295,6 +295,10 @@ command-copy =
.mode = COPY أدخل خيار وضع النسخ [Single/Multiple] <Multiple>:
common =
.options-hpassoc = التظليلات الجديدة تتبع حدودها (HPASSOC)
.options-show-ribbon = إظهار الشريط (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = إظهار شريط القوائم (MENUBAR)
.options-window-elements = عناصر النافذة
.menu-viewports = منافذ العرض
.menu-view-twist = تدوير العرض
.menu-tools = أدوات
+4
View File
@@ -282,6 +282,10 @@ command-copy =
.displacement = COPY Задайте преместване:
.mode = COPY Въведете режим на копиране [Single/Multiple] <Multiple>:
common =
.options-hpassoc = Новите щриховки следват границите си (HPASSOC)
.options-show-ribbon = Показване на лентата (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Показване на лентата с менюта (MENUBAR)
.options-window-elements = Елементи на прозореца
.menu-viewports = Прозорци
.menu-view-twist = Завъртане на изгледа
.menu-tools = Инструменти
+4
View File
@@ -282,6 +282,10 @@ command-copy =
.mode = COPY Zadejte režim kopírování [Single/Multiple] <Multiple>:
common =
.options-hpassoc = Nové šrafy sledují své hranice (HPASSOC)
.options-show-ribbon = Zobrazit pás karet (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Zobrazit panel nabídek (MENUBAR)
.options-window-elements = Prvky okna
.menu-viewports = Výřezy
.menu-view-twist = Natočení pohledu
.menu-tools = Nástroje
+4
View File
@@ -283,6 +283,10 @@ command-copy =
.mode = COPY Kopiermodus eingeben [Single/Multiple] <Multiple>:
common =
.options-hpassoc = Neue Schraffuren folgen ihren Grenzen (HPASSOC)
.options-show-ribbon = Multifunktionsleiste anzeigen (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Menüleiste anzeigen (MENUBAR)
.options-window-elements = Fensterelemente
.menu-viewports = Ansichtsfenster
.menu-view-twist = Ansicht verdrehen
.menu-tools = Werkzeuge
+4
View File
@@ -282,6 +282,10 @@ command-copy =
.mode = COPY Επιλέξτε λειτουργία αντιγραφής [Single/Multiple] <Multiple>:
common =
.options-hpassoc = Οι νέες διαγραμμίσεις ακολουθούν τα όριά τους (HPASSOC)
.options-show-ribbon = Εμφάνιση κορδέλας (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Εμφάνιση γραμμής μενού (MENUBAR)
.options-window-elements = Στοιχεία παραθύρου
.menu-viewports = Παράθυρα προβολής
.menu-view-twist = Στρέψη όψης
.menu-tools = Εργαλεία
+4
View File
@@ -282,6 +282,10 @@ command-copy =
.mode = COPY Enter a copy mode option [Single/Multiple] <Multiple>:
common =
.options-hpassoc = New hatches follow their boundaries (HPASSOC)
.options-show-ribbon = Show the ribbon (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Show the menu bar (MENUBAR)
.options-window-elements = Window Elements
.menu-viewports = Viewports
.menu-view-twist = View Twist
.menu-tools = Tools
+4
View File
@@ -283,6 +283,10 @@ command-copy =
.mode = COPY Indique modo de copia [Single/Multiple] <Multiple>:
common =
.options-hpassoc = Los sombreados nuevos siguen sus contornos (HPASSOC)
.options-show-ribbon = Mostrar la cinta de opciones (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Mostrar la barra de menús (MENUBAR)
.options-window-elements = Elementos de ventana
.menu-viewports = Ventanas gráficas
.menu-view-twist = Girar vista
.menu-tools = Herramientas
+4
View File
@@ -282,6 +282,10 @@ command-copy =
.mode = COPY Valitse kopiointitila [Single/Multiple] <Multiple>:
common =
.options-hpassoc = Uudet viivoitukset seuraavat rajojaan (HPASSOC)
.options-show-ribbon = Näytä valintanauha (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Näytä valikkorivi (MENUBAR)
.options-window-elements = Ikkunan osat
.menu-viewports = Näkymäikkunat
.menu-view-twist = Näkymän kierto
.menu-tools = Työkalut
+4
View File
@@ -283,6 +283,10 @@ command-copy =
.mode = COPY Entrez le mode de copie [Single/Multiple] <Multiple> :
common =
.options-hpassoc = Les nouvelles hachures suivent leurs contours (HPASSOC)
.options-show-ribbon = Afficher le ruban (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Afficher la barre de menus (MENUBAR)
.options-window-elements = Éléments de fenêtre
.menu-viewports = Fenêtres
.menu-view-twist = Rotation de la vue
.menu-tools = Outils
+4
View File
@@ -271,6 +271,10 @@ command-copy =
.mode = COPY कॉपी मोड विकल्प दर्ज करें [Single/Multiple] <Multiple>:
common =
.options-hpassoc = नए हैच अपनी सीमाओं का अनुसरण करते हैं (HPASSOC)
.options-show-ribbon = रिबन दिखाएँ (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = मेनू बार दिखाएँ (MENUBAR)
.options-window-elements = विंडो तत्व
.menu-viewports = व्यूपोर्ट
.menu-view-twist = दृश्य घुमाव
.menu-tools = उपकरण
+4
View File
@@ -281,6 +281,10 @@ command-copy =
.mode = COPY Adja meg a másolási módot [Single/Multiple] <Multiple>:
common =
.options-hpassoc = Az új sraffozások követik határaikat (HPASSOC)
.options-show-ribbon = Szalag megjelenítése (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Menüsor megjelenítése (MENUBAR)
.options-window-elements = Ablakelemek
.menu-viewports = Nézetablakok
.menu-view-twist = Nézet elforgatása
.menu-tools = Eszközök
+4
View File
@@ -282,6 +282,10 @@ command-copy =
.mode = COPY Specificare modalità di copia [Single/Multiple] <Multiple>:
common =
.options-hpassoc = I nuovi tratteggi seguono i contorni (HPASSOC)
.options-show-ribbon = Mostra la barra multifunzione (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Mostra la barra dei menu (MENUBAR)
.options-window-elements = Elementi della finestra
.menu-viewports = Finestre
.menu-view-twist = Rotazione vista
.menu-tools = Strumenti
+4
View File
@@ -273,6 +273,10 @@ command-copy =
.mode = COPY コピーモードを入力 [Single/Multiple] <Multiple>:
common =
.options-hpassoc = 新しいハッチングは境界に従う (HPASSOC)
.options-show-ribbon = リボンを表示 (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = メニュー バーを表示 (MENUBAR)
.options-window-elements = ウィンドウの要素
.menu-viewports = ビューポート
.menu-view-twist = ビューのねじれ
.menu-tools = ツール
+4
View File
@@ -282,6 +282,10 @@ command-copy =
.mode = COPY 복사 모드 옵션 입력 [Single/Multiple] <Multiple>:
common =
.options-hpassoc = 새 해치가 경계를 따름 (HPASSOC)
.options-show-ribbon = 리본 표시 (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = 메뉴 막대 표시 (MENUBAR)
.options-window-elements = 창 요소
.menu-viewports = 뷰포트
.menu-view-twist = 뷰 비틀기
.menu-tools = 도구
+4
View File
@@ -282,6 +282,10 @@ command-copy =
.mode = COPY ປ້ອນຕົວເລືອກໂໝດການຄັດລອກ [Single/Multiple] <Multiple>:
common =
.options-hpassoc = ການຂີດລາຍໃໝ່ຕິດຕາມຂອບເຂດ (HPASSOC)
.options-show-ribbon = ສະແດງແຖບໂບ (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = ສະແດງແຖບເມນູ (MENUBAR)
.options-window-elements = ອົງປະກອບໜ້າຕ່າງ
.menu-viewports = ຊ່ອງມອງ
.menu-view-twist = ບິດມຸມມອງ
.menu-tools = ເຄື່ອງມື
+4
View File
@@ -283,6 +283,10 @@ command-copy =
.mode = COPY Geef kopieermodus op [Single/Multiple] <Multiple>:
common =
.options-hpassoc = Nieuwe arceringen volgen hun grenzen (HPASSOC)
.options-show-ribbon = Lint tonen (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Menubalk tonen (MENUBAR)
.options-window-elements = Vensterelementen
.menu-viewports = Viewports
.menu-view-twist = Weergave draaien
.menu-tools = Extra
+4
View File
@@ -282,6 +282,10 @@ command-copy =
.mode = COPY Podaj tryb kopiowania [Single/Multiple] <Multiple>:
common =
.options-hpassoc = Nowe kreskowania podążają za obwiedniami (HPASSOC)
.options-show-ribbon = Pokaż wstążkę (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Pokaż pasek menu (MENUBAR)
.options-window-elements = Elementy okna
.menu-viewports = Rzutnie
.menu-view-twist = Skręcenie widoku
.menu-tools = Narzędzia
+4
View File
@@ -283,6 +283,10 @@ command-copy =
.mode = COPY Informe o modo de cópia [Single/Multiple] <Multiple>:
common =
.options-hpassoc = Novas hachuras acompanham seus contornos (HPASSOC)
.options-show-ribbon = Mostrar a faixa de opções (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Mostrar a barra de menus (MENUBAR)
.options-window-elements = Elementos da janela
.menu-viewports = Janelas de visualização
.menu-view-twist = Girar vista
.menu-tools = Ferramentas
+4
View File
@@ -286,6 +286,10 @@ command-copy =
.mode = COPY Задайте режим копирования [Single/Multiple] <Multiple>:
common =
.options-hpassoc = Новые штриховки следуют за контурами (HPASSOC)
.options-show-ribbon = Показывать ленту (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Показывать строку меню (MENUBAR)
.options-window-elements = Элементы окна
.menu-viewports = Видовые экраны
.menu-view-twist = Поворот вида
.menu-tools = Сервис
+4
View File
@@ -268,6 +268,10 @@ command-copy =
.mode = COPY Kopyalama modu seçin [Single/Multiple] <Multiple>:
common =
.options-hpassoc = Yeni taramalar sınırlarını izler (HPASSOC)
.options-show-ribbon = Şeridi göster (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = Menü çubuğunu göster (MENUBAR)
.options-window-elements = Pencere Öğeleri
.menu-viewports = Görünüm Pencereleri
.menu-view-twist = Görünümü Döndür
.menu-tools = Araçlar
+4
View File
@@ -270,6 +270,10 @@ command-copy =
.mode = COPY 输入复制模式选项 [Single/Multiple] <Multiple>:
common =
.options-hpassoc = 新图案填充跟随其边界 (HPASSOC)
.options-show-ribbon = 显示功能区 (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = 显示菜单栏 (MENUBAR)
.options-window-elements = 窗口元素
.menu-viewports = 视口
.menu-view-twist = 视图扭曲
.menu-tools = 工具
+4
View File
@@ -282,6 +282,10 @@ command-copy =
.mode = COPY 輸入複製模式選項 [Single/Multiple] <Multiple>:
common =
.options-hpassoc = 新填充線跟隨其邊界 (HPASSOC)
.options-show-ribbon = 顯示功能區 (RIBBON / RIBBONCLOSE)
.options-show-menu-bar = 顯示功能表列 (MENUBAR)
.options-window-elements = 視窗元素
.menu-viewports = 視埠
.menu-view-twist = 視圖扭轉
.menu-tools = 工具
+6
View File
@@ -2616,6 +2616,12 @@ pub enum Message {
/// Toggle reversing the mouse-wheel zoom direction (ZOOMWHEEL).
ZoomWheelReversedChanged(bool),
TouchpadPanChanged(bool),
/// Options: show the pull-down menus (MENUBAR).
MenuBarChanged(bool),
/// Options: show the ribbon (RIBBON / RIBBONCLOSE).
RibbonVisibleChanged(bool),
/// Options: new hatches are associative (HPASSOC).
HatchAssociativeChanged(bool),
/// Interface scale in percent (Options > Display).
UiScaleChanged(u16),
/// Change how far one wheel notch zooms, from the Options slider
+1 -1
View File
@@ -904,7 +904,7 @@ impl Default for UserSettings {
language: crate::i18n::Language::default(),
cliprompt_lines: 3,
commandline_fade_ms: 3000,
command_line_opacity: 100,
command_line_opacity: 80,
snap_spacing_x: 10.0,
snap_spacing_y: 10.0,
grid_spacing_x: 10.0,
+18
View File
@@ -9082,6 +9082,24 @@ impl OpenCADStudio {
Task::none()
}
Message::MenuBarChanged(shown) => {
self.show_menu_bar = shown;
self.persist_settings_if_changed();
Task::none()
}
Message::RibbonVisibleChanged(shown) => {
self.ribbon_closed = !shown;
self.persist_settings_if_changed();
Task::none()
}
Message::HatchAssociativeChanged(associative) => {
self.hatch_associative = associative;
self.persist_settings_if_changed();
Task::none()
}
Message::TouchpadPanChanged(enabled) => {
self.touchpad_pan = enabled;
self.persist_settings_if_changed();
+3
View File
@@ -300,6 +300,9 @@ impl OpenCADStudio {
cliprompt_lines: self.cliprompt_lines,
commandline_fade_ms: self.commandline_fade_ms,
command_line_opacity: self.command_line.opacity_percent(),
show_menu_bar: self.show_menu_bar,
show_ribbon: !self.ribbon_closed,
hatch_associative: self.hatch_associative,
zoom_wheel_reversed: self.zoom_wheel_reversed,
touchpad_pan: self.touchpad_pan,
ui_scale_percent: self.ui_scale_percent,
+4
View File
@@ -3697,6 +3697,10 @@ pub(super) fn message_attribute(source: &str) -> Option<(&'static str, &'static
"Width factor" => Some(("common", "width-factor-sentence-case")),
"Width: %{value}" => Some(("ui", "width-value")),
"Window" => Some(("common", "window")),
"Window Elements" => Some(("common", "options-window-elements")),
"Show the menu bar (MENUBAR)" => Some(("common", "options-show-menu-bar")),
"Show the ribbon (RIBBON / RIBBONCLOSE)" => Some(("common", "options-show-ribbon")),
"New hatches follow their boundaries (HPASSOC)" => Some(("common", "options-hpassoc")),
"Arc Length" => Some(("common", "menu-arc-length")),
"Construction Line" => Some(("common", "menu-construction-line")),
"Dimension Style" => Some(("common", "menu-dimension-style")),
+2 -2
View File
@@ -192,7 +192,7 @@ pub struct CommandLine {
/// the pinned step prompt still shows.
fade_ms: u32,
/// COMMANDLINEOPACITY: how opaque the command line's panels are, in
/// percent (20–100, default 100), so the drawing shows through.
/// percent (20–100, default 80), so the drawing shows through.
opacity_percent: u8,
}
@@ -220,7 +220,7 @@ impl Default for CommandLine {
step_options: Vec::new(),
cliprompt_lines: 3,
fade_ms: DEFAULT_COMMANDLINE_FADE_MS,
opacity_percent: 100,
opacity_percent: 80,
}
}
}
+41
View File
@@ -55,6 +55,12 @@ pub struct AppPrefs {
pub commandline_fade_ms: i32,
/// COMMANDLINEOPACITY: command-line panel opacity in percent.
pub command_line_opacity: u8,
/// MENUBAR: the pull-down menus show above the ribbon.
pub show_menu_bar: bool,
/// The ribbon shows (RIBBON / RIBBONCLOSE).
pub show_ribbon: bool,
/// HPASSOC: new hatches follow their boundary objects.
pub hatch_associative: bool,
/// ZOOMWHEEL: reverse the mouse-wheel zoom direction.
pub zoom_wheel_reversed: bool,
/// Scroll pans and Ctrl+scroll zooms (touchpads).
@@ -920,6 +926,30 @@ pub fn view_window<'a>(
.align_y(iced::Center),
)
.push(Space::new().height(24))
.push(text(crate::t!("Window Elements")).size(15))
.push(Space::new().height(10))
.push(
row![
iced::widget::checkbox(prefs.show_menu_bar)
.on_toggle(Message::MenuBarChanged)
.size(15),
text(crate::t!("Show the menu bar (MENUBAR)")).size(12),
]
.spacing(8)
.align_y(iced::Center),
)
.push(Space::new().height(8))
.push(
row![
iced::widget::checkbox(prefs.show_ribbon)
.on_toggle(Message::RibbonVisibleChanged)
.size(15),
text(crate::t!("Show the ribbon (RIBBON / RIBBONCLOSE)")).size(12),
]
.spacing(8)
.align_y(iced::Center),
)
.push(Space::new().height(24))
.push(text(crate::t!("Command Line")).size(15))
.push(Space::new().height(10))
.push(
@@ -1479,6 +1509,17 @@ pub fn view_window<'a>(
]
.spacing(10)
.align_y(iced::Center),
Space::new().height(24),
text(crate::t!("Hatch")).size(15),
Space::new().height(10),
row![
iced::widget::checkbox(prefs.hatch_associative)
.on_toggle(Message::HatchAssociativeChanged)
.size(15),
text(crate::t!("New hatches follow their boundaries (HPASSOC)")).size(12),
]
.spacing(8)
.align_y(iced::Center),
]
.spacing(0)
.width(sizing.width);