From 369dc93029b135188f2280b56e2b3d9a99c63bf1 Mon Sep 17 00:00:00 2001 From: Hakan Seven Date: Fri, 2 Oct 2026 10:15:43 +0300 Subject: [PATCH] fix(blocks-palette): message placeholders, SVG arrows, tests follow the new palette #1573's five formatted block messages carried {}/{name} in every locale, so the catalog never filled them and the UI printed the brace text; they use the __ocs_fmt_0__ marker now. The Options collapse arrow, the library up button and the folder picker are SVG icons instead of glyph text, and the Details header drops its sort glyph. The contrast test follows the cards to the weak surface pair and the palette test closes with BLOCKSPALETTECLOSE, since BLOCKSPALETTE now only opens. Co-Authored-By: Claude Opus 5.5 --- locales/ar-SA/opencadstudio.ftl | 10 +++++----- locales/bg-BG/opencadstudio.ftl | 10 +++++----- locales/cs-CZ/opencadstudio.ftl | 10 +++++----- locales/de-DE/opencadstudio.ftl | 10 +++++----- locales/el-GR/opencadstudio.ftl | 10 +++++----- locales/en-US/opencadstudio.ftl | 10 +++++----- locales/es-ES/opencadstudio.ftl | 10 +++++----- locales/fi-FI/opencadstudio.ftl | 10 +++++----- locales/fr-FR/opencadstudio.ftl | 10 +++++----- locales/hi-IN/opencadstudio.ftl | 10 +++++----- locales/hu-HU/opencadstudio.ftl | 10 +++++----- locales/it-IT/opencadstudio.ftl | 10 +++++----- locales/ja-JP/opencadstudio.ftl | 10 +++++----- locales/ko-KR/opencadstudio.ftl | 10 +++++----- locales/nl-NL/opencadstudio.ftl | 10 +++++----- locales/pl-PL/opencadstudio.ftl | 10 +++++----- locales/pt-BR/opencadstudio.ftl | 10 +++++----- locales/ru-RU/opencadstudio.ftl | 10 +++++----- locales/zh-CN/opencadstudio.ftl | 10 +++++----- locales/zh-TW/opencadstudio.ftl | 10 +++++----- src/app/commands/blocks.rs | 3 +++ src/ui/theme_accessibility_tests.rs | 16 +++++++++------- src/ui/window/block_palette.rs | 20 ++++++++++++++++---- 23 files changed, 128 insertions(+), 111 deletions(-) diff --git a/locales/ar-SA/opencadstudio.ftl b/locales/ar-SA/opencadstudio.ftl index b11b307a2..f9ece4f80 100644 --- a/locales/ar-SA/opencadstudio.ftl +++ b/locales/ar-SA/opencadstudio.ftl @@ -4061,11 +4061,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = إنشاء .boolean = عمليات منطقية diff --git a/locales/bg-BG/opencadstudio.ftl b/locales/bg-BG/opencadstudio.ftl index c52fbc5d0..149f38f7f 100644 --- a/locales/bg-BG/opencadstudio.ftl +++ b/locales/bg-BG/opencadstudio.ftl @@ -4048,11 +4048,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Създаване .boolean = Булеви операции diff --git a/locales/cs-CZ/opencadstudio.ftl b/locales/cs-CZ/opencadstudio.ftl index a9b707039..7f9d67194 100644 --- a/locales/cs-CZ/opencadstudio.ftl +++ b/locales/cs-CZ/opencadstudio.ftl @@ -4046,11 +4046,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Vytvořit .boolean = Booleovské operace diff --git a/locales/de-DE/opencadstudio.ftl b/locales/de-DE/opencadstudio.ftl index 9d6a85a0c..2769b2226 100644 --- a/locales/de-DE/opencadstudio.ftl +++ b/locales/de-DE/opencadstudio.ftl @@ -4047,11 +4047,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Erstellen .boolean = Boolesche Operationen diff --git a/locales/el-GR/opencadstudio.ftl b/locales/el-GR/opencadstudio.ftl index af55a9273..5fae59093 100644 --- a/locales/el-GR/opencadstudio.ftl +++ b/locales/el-GR/opencadstudio.ftl @@ -4049,11 +4049,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Δημιουργία .boolean = Δυαδική πράξη diff --git a/locales/en-US/opencadstudio.ftl b/locales/en-US/opencadstudio.ftl index 8d0d15a28..cbfcec4e0 100644 --- a/locales/en-US/opencadstudio.ftl +++ b/locales/en-US/opencadstudio.ftl @@ -4050,11 +4050,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Create .boolean = Boolean diff --git a/locales/es-ES/opencadstudio.ftl b/locales/es-ES/opencadstudio.ftl index e9aeb37f4..be4d18753 100644 --- a/locales/es-ES/opencadstudio.ftl +++ b/locales/es-ES/opencadstudio.ftl @@ -4049,11 +4049,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Crear .boolean = Booleanas diff --git a/locales/fi-FI/opencadstudio.ftl b/locales/fi-FI/opencadstudio.ftl index 653040ffb..12479acc7 100644 --- a/locales/fi-FI/opencadstudio.ftl +++ b/locales/fi-FI/opencadstudio.ftl @@ -4048,11 +4048,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Luo .boolean = Boolen operaatiot diff --git a/locales/fr-FR/opencadstudio.ftl b/locales/fr-FR/opencadstudio.ftl index e65125269..f0076e9a9 100644 --- a/locales/fr-FR/opencadstudio.ftl +++ b/locales/fr-FR/opencadstudio.ftl @@ -4049,11 +4049,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Créer .boolean = Opérations booléennes diff --git a/locales/hi-IN/opencadstudio.ftl b/locales/hi-IN/opencadstudio.ftl index 5f35ca1ae..e14630509 100644 --- a/locales/hi-IN/opencadstudio.ftl +++ b/locales/hi-IN/opencadstudio.ftl @@ -4037,11 +4037,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = बनाएँ .boolean = बूलियन संक्रियाएँ diff --git a/locales/hu-HU/opencadstudio.ftl b/locales/hu-HU/opencadstudio.ftl index b3fca5218..6c749cc99 100644 --- a/locales/hu-HU/opencadstudio.ftl +++ b/locales/hu-HU/opencadstudio.ftl @@ -4048,11 +4048,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Létrehozás .boolean = Logikai műveletek diff --git a/locales/it-IT/opencadstudio.ftl b/locales/it-IT/opencadstudio.ftl index f933595f0..5b52396a1 100644 --- a/locales/it-IT/opencadstudio.ftl +++ b/locales/it-IT/opencadstudio.ftl @@ -4048,11 +4048,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Crea .boolean = Operazioni booleane diff --git a/locales/ja-JP/opencadstudio.ftl b/locales/ja-JP/opencadstudio.ftl index afba393bd..38fbc8b7f 100644 --- a/locales/ja-JP/opencadstudio.ftl +++ b/locales/ja-JP/opencadstudio.ftl @@ -4037,11 +4037,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = 作成 .boolean = ブール演算 diff --git a/locales/ko-KR/opencadstudio.ftl b/locales/ko-KR/opencadstudio.ftl index 5fcd3d4e1..da07beb69 100644 --- a/locales/ko-KR/opencadstudio.ftl +++ b/locales/ko-KR/opencadstudio.ftl @@ -4048,11 +4048,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = 생성 .boolean = 불리언 연산 diff --git a/locales/nl-NL/opencadstudio.ftl b/locales/nl-NL/opencadstudio.ftl index 495fd45f3..512ce3b02 100644 --- a/locales/nl-NL/opencadstudio.ftl +++ b/locales/nl-NL/opencadstudio.ftl @@ -4047,11 +4047,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Maken .boolean = Booleaanse bewerkingen diff --git a/locales/pl-PL/opencadstudio.ftl b/locales/pl-PL/opencadstudio.ftl index 87db5e698..266bb9e43 100644 --- a/locales/pl-PL/opencadstudio.ftl +++ b/locales/pl-PL/opencadstudio.ftl @@ -4048,11 +4048,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Utwórz .boolean = Operacje boolowskie diff --git a/locales/pt-BR/opencadstudio.ftl b/locales/pt-BR/opencadstudio.ftl index fc8d3184d..c999e0621 100644 --- a/locales/pt-BR/opencadstudio.ftl +++ b/locales/pt-BR/opencadstudio.ftl @@ -4049,11 +4049,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Criar .boolean = Operações booleanas diff --git a/locales/ru-RU/opencadstudio.ftl b/locales/ru-RU/opencadstudio.ftl index af45f94bc..534b63b84 100644 --- a/locales/ru-RU/opencadstudio.ftl +++ b/locales/ru-RU/opencadstudio.ftl @@ -4050,11 +4050,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = Создание .boolean = Булевы операции diff --git a/locales/zh-CN/opencadstudio.ftl b/locales/zh-CN/opencadstudio.ftl index 9c7572400..51b704258 100644 --- a/locales/zh-CN/opencadstudio.ftl +++ b/locales/zh-CN/opencadstudio.ftl @@ -4032,11 +4032,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = 创建 .boolean = 布尔运算 diff --git a/locales/zh-TW/opencadstudio.ftl b/locales/zh-TW/opencadstudio.ftl index ff26b0b01..244e35380 100644 --- a/locales/zh-TW/opencadstudio.ftl +++ b/locales/zh-TW/opencadstudio.ftl @@ -4044,11 +4044,11 @@ insert = .bp-select-library = Select a Block Library Folder .bp-view-small = Small Icons .bp-on-screen = specified on screen - .bp-block-not-found = Block "{}" not found. - .bp-block-redefined = Block "{name}" redefined. - .bp-block-no-reference = Block "{name}" has no reference in the drawing to edit. - .bp-block-referenced = Block "{name}" is referenced in the drawing and cannot be removed. - .bp-block-removed = Block "{name}" removed. + .bp-block-not-found = Block "__ocs_fmt_0__" not found. + .bp-block-redefined = Block "__ocs_fmt_0__" redefined. + .bp-block-no-reference = Block "__ocs_fmt_0__" has no reference in the drawing to edit. + .bp-block-referenced = Block "__ocs_fmt_0__" is referenced in the drawing and cannot be removed. + .bp-block-removed = Block "__ocs_fmt_0__" removed. model = .create = 建立 .boolean = 布林運算 diff --git a/src/app/commands/blocks.rs b/src/app/commands/blocks.rs index 9f9cc1aea..4c10b5e5f 100644 --- a/src/app/commands/blocks.rs +++ b/src/app/commands/blocks.rs @@ -1770,7 +1770,10 @@ mod tests { app.dock_expanded == Some(crate::ui::dock::PanelId::BlockPalette), "palette must open expanded, not as the collapsed bar" ); + // BLOCKSPALETTE only opens; BLOCKSPALETTECLOSE closes. let _ = app.run_command_line("BLOCKSPALETTE"); + assert!(app.show_block_palette); + let _ = app.run_command_line("BLOCKSPALETTECLOSE"); assert!(!app.show_block_palette); } diff --git a/src/ui/theme_accessibility_tests.rs b/src/ui/theme_accessibility_tests.rs index f8e6caecf..8eb9ce90b 100644 --- a/src/ui/theme_accessibility_tests.rs +++ b/src/ui/theme_accessibility_tests.rs @@ -480,14 +480,16 @@ fn test_block_palette_contrast() { // a hardcoded foreground, these equality checks fail on every theme // whose surface text is not pure white. let (normal_bg, normal_fg) = block_card_colors(theme, false, BtnStatus::Active); + // Cards sit on the dock's base surface, so they take the weak pair + // to read as cards. assert_eq!( - normal_bg, p.background.base.color, - "Theme {:?} block card normal background drifted from base pair", + normal_bg, p.background.weak.color, + "Theme {:?} block card normal background drifted from weak pair", theme ); assert_eq!( - normal_fg, p.background.base.text, - "Theme {:?} block card normal label must use base text (was hardcoded WHITE)", + normal_fg, p.background.weak.text, + "Theme {:?} block card normal label must use weak text (was hardcoded WHITE)", theme ); @@ -505,11 +507,11 @@ fn test_block_palette_contrast() { theme ); - // Default-branch statuses (Active/Disabled/Focused/...) share the base pair. + // Default-branch statuses (Active/Disabled/Focused/...) share the weak pair. let (_, disabled_fg) = block_card_colors(theme, false, BtnStatus::Disabled); assert_eq!( - disabled_fg, p.background.base.text, - "Theme {:?} block card default-state label must use base text", + disabled_fg, p.background.weak.text, + "Theme {:?} block card default-state label must use weak text", theme ); diff --git a/src/ui/window/block_palette.rs b/src/ui/window/block_palette.rs index 516062984..17527437a 100644 --- a/src/ui/window/block_palette.rs +++ b/src/ui/window/block_palette.rs @@ -587,7 +587,11 @@ fn options_card<'a>(palette: &'a BlockPalette) -> Element<'a, Message> { row![ text(crate::t!("Options").to_uppercase()).size(10).style(accent_text), Space::new().width(Fill), - text(if palette.options_collapsed { "▸" } else { "▾" }).size(22), + if palette.options_collapsed { + crate::ui::icons::themed_arrow_right(12.0) + } else { + crate::ui::icons::themed_arrow_down(12.0) + }, ] .align_y(iced::Center), ) @@ -705,7 +709,10 @@ pub fn view(palette: &BlockPalette, width: f32, auto_collapse: bool) -> Element< .text_size(11) .padding([3, 6]) .width(Fill), - button(text("…").size(12)).on_press(pm(BlockPaletteMsg::LibraryBrowse)).style(button_style(false)).padding([3, 8]), + button(crate::ui::icons::themed(crate::ui::icons::FOLDER_OPEN, 14.0)) + .on_press(pm(BlockPaletteMsg::LibraryBrowse)) + .style(button_style(false)) + .padding([3, 8]), ] .spacing(4) .align_y(iced::Center); @@ -713,7 +720,12 @@ pub fn view(palette: &BlockPalette, width: f32, auto_collapse: bool) -> Element< palette.libraries.first().is_some_and(|root| d != &PathBuf::from(root)) }); if in_sub { - lib_row = lib_row.push(button(text("↑").size(12)).on_press(pm(BlockPaletteMsg::LibraryUp)).style(button_style(false)).padding([3, 8])); + lib_row = lib_row.push( + button(crate::ui::icons::themed_arrow_up(12.0)) + .on_press(pm(BlockPaletteMsg::LibraryUp)) + .style(button_style(false)) + .padding([3, 8]), + ); } top = top.push(lib_row); if let (Some(root), Some(dir)) = (palette.libraries.first(), palette.library_dir.as_ref()) { @@ -767,7 +779,7 @@ pub fn view(palette: &BlockPalette, width: f32, auto_collapse: bool) -> Element< col = col.push( row![ text(crate::t!("Icon")).size(11).style(muted_style).width(Length::Fixed(40.0)), - text(format!("{} ▲", crate::t!("Name"))).size(11).style(muted_style).width(Fill), + text(crate::t!("Name")).size(11).style(muted_style).width(Fill), text(crate::t!("Annotative / Dynamic")).size(11).style(muted_style).width(Length::Fixed(140.0)), ] .spacing(4),