mirror of
https://github.com/storytold/vectorcraft.git
synced 2026-10-27 03:06:57 -06:00
Artboards: canvas menu to lock and unlock artboards (#2531)
Squashed from #2532 onto main.
This commit is contained in:
@@ -5402,6 +5402,12 @@ theme Appearance Външен вид
|
||||
Shift: Изместване:
|
||||
Fresco… Фреска…
|
||||
Fresco Фреска
|
||||
Lock Artboards Заключване на работни области
|
||||
Unlock Artboards Отключване на работни области
|
||||
Lock Selected Заключване на избраните
|
||||
Lock All Except Selected Заключване на всички без избраните
|
||||
Lock All Заключване на всички
|
||||
Unlock Selected Отключване на избраните
|
||||
Effect Gallery… Галерия с ефекти…
|
||||
Effect Gallery Dialog Диалог „Галерия с ефекти“
|
||||
Arc Segment Tool Options Опции на инструмента „Дъгов сегмент“
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5459,6 +5459,12 @@ mark-style Japanese Japonské
|
||||
Shift: Posun:
|
||||
Fresco… Freska…
|
||||
Fresco Freska
|
||||
Lock Artboards Zamknout pracovní plochy
|
||||
Unlock Artboards Odemknout pracovní plochy
|
||||
Lock Selected Zamknout vybrané
|
||||
Lock All Except Selected Zamknout vše kromě vybraných
|
||||
Lock All Zamknout vše
|
||||
Unlock Selected Odemknout vybrané
|
||||
Effect Gallery… Galerie efektů…
|
||||
Effect Gallery Dialog Dialog Galerie efektů
|
||||
Arc Segment Tool Options Možnosti nástroje Obloukový segment
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5418,6 +5418,12 @@ swatch Bright Violet Kraftig violet
|
||||
Shift: Forskydning:
|
||||
Fresco… Fresko…
|
||||
Fresco Fresko
|
||||
Lock Artboards Lås tegneflader
|
||||
Unlock Artboards Lås tegneflader op
|
||||
Lock Selected Lås markerede
|
||||
Lock All Except Selected Lås alle undtagen markerede
|
||||
Lock All Lås alle
|
||||
Unlock Selected Lås markerede op
|
||||
Effect Gallery… Effektgalleri…
|
||||
Effect Gallery Dialog Dialogboksen Effektgalleri
|
||||
Arc Segment Tool Options Indstillinger for buesegmentværktøj
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5039,6 +5039,12 @@ effect Soft Weich
|
||||
Shift: Verschiebung:
|
||||
Fresco… Fresko…
|
||||
Fresco Fresko
|
||||
Lock Artboards Zeichenflächen sperren
|
||||
Unlock Artboards Zeichenflächen entsperren
|
||||
Lock Selected Auswahl sperren
|
||||
Lock All Except Selected Alle außer Auswahl sperren
|
||||
Lock All Alle sperren
|
||||
Unlock Selected Auswahl entsperren
|
||||
Effect Gallery… Effekt-Galerie…
|
||||
Effect Gallery Dialog Dialogfeld „Effekt-Galerie“
|
||||
Arc Segment Tool Options Optionen für das Bogensegment-Werkzeug
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5411,6 +5411,12 @@ effect Points Σημεία
|
||||
Shift: Μετατόπιση:
|
||||
Fresco… Νωπογραφία…
|
||||
Fresco Νωπογραφία
|
||||
Lock Artboards Κλείδωμα πινάκων σχεδίασης
|
||||
Unlock Artboards Ξεκλείδωμα πινάκων σχεδίασης
|
||||
Lock Selected Κλείδωμα επιλεγμένων
|
||||
Lock All Except Selected Κλείδωμα όλων εκτός από τα επιλεγμένα
|
||||
Lock All Κλείδωμα όλων
|
||||
Unlock Selected Ξεκλείδωμα επιλεγμένων
|
||||
Effect Gallery… Συλλογή εφέ…
|
||||
Effect Gallery Dialog Παράθυρο διαλόγου Συλλογή εφέ
|
||||
Arc Segment Tool Options Επιλογές εργαλείου τμήματος τόξου
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2070 and column 19.
|
@@ -5401,6 +5401,12 @@ mark-style Japanese Japonesas
|
||||
Shift: Desplazamiento:
|
||||
Fresco… Fresco…
|
||||
Fresco Fresco
|
||||
Lock Artboards Bloquear mesas de trabajo
|
||||
Unlock Artboards Desbloquear mesas de trabajo
|
||||
Lock Selected Bloquear selección
|
||||
Lock All Except Selected Bloquear todo excepto la selección
|
||||
Lock All Bloquear todo
|
||||
Unlock Selected Desbloquear selección
|
||||
Effect Gallery… Galería de efectos…
|
||||
Effect Gallery Dialog Cuadro de diálogo Galería de efectos
|
||||
Arc Segment Tool Options Opciones de la herramienta Segmento de arco
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5490,6 +5490,12 @@ swatch Bright Violet Kirkas violetti
|
||||
Shift: Siirtymä:
|
||||
Fresco… Fresko…
|
||||
Fresco Fresko
|
||||
Lock Artboards Lukitse piirtoalustat
|
||||
Unlock Artboards Avaa piirtoalustojen lukitus
|
||||
Lock Selected Lukitse valitut
|
||||
Lock All Except Selected Lukitse kaikki paitsi valitut
|
||||
Lock All Lukitse kaikki
|
||||
Unlock Selected Avaa valittujen lukitus
|
||||
Effect Gallery… Tehostegalleria…
|
||||
Effect Gallery Dialog Tehostegalleria-valintaikkuna
|
||||
Arc Segment Tool Options Kaarisegmenttityökalun asetukset
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5458,6 +5458,12 @@ theme Appearance Apparence
|
||||
Shift: Décalage :
|
||||
Fresco… Fresque…
|
||||
Fresco Fresque
|
||||
Lock Artboards Verrouiller les plans de travail
|
||||
Unlock Artboards Déverrouiller les plans de travail
|
||||
Lock Selected Verrouiller la sélection
|
||||
Lock All Except Selected Tout verrouiller sauf la sélection
|
||||
Lock All Tout verrouiller
|
||||
Unlock Selected Déverrouiller la sélection
|
||||
Effect Gallery… Galerie d'effets…
|
||||
Effect Gallery Dialog Boîte de dialogue Galerie d'effets
|
||||
Arc Segment Tool Options Options de l’outil Segment d’arc
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5445,6 +5445,12 @@ imageTrace Outline Körvonal
|
||||
Shift: Eltolás:
|
||||
Fresco… Freskó…
|
||||
Fresco Freskó
|
||||
Lock Artboards Rajztáblák zárolása
|
||||
Unlock Artboards Rajztáblák zárolásának feloldása
|
||||
Lock Selected Kijelöltek zárolása
|
||||
Lock All Except Selected Összes zárolása a kijelölteken kívül
|
||||
Lock All Összes zárolása
|
||||
Unlock Selected Kijelöltek zárolásának feloldása
|
||||
Effect Gallery… Effektusgaléria…
|
||||
Effect Gallery Dialog Effektusgaléria párbeszédpanel
|
||||
Arc Segment Tool Options Ívszakasz eszköz beállításai
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5418,6 +5418,12 @@ swatch Bright Violet Violet cerah
|
||||
Shift: Pergeseran:
|
||||
Fresco… Fresko…
|
||||
Fresco Fresko
|
||||
Lock Artboards Kunci artboard
|
||||
Unlock Artboards Buka kunci artboard
|
||||
Lock Selected Kunci yang dipilih
|
||||
Lock All Except Selected Kunci semua kecuali yang dipilih
|
||||
Lock All Kunci semua
|
||||
Unlock Selected Buka kunci yang dipilih
|
||||
Effect Gallery… Galeri Efek…
|
||||
Effect Gallery Dialog Dialog Galeri Efek
|
||||
Arc Segment Tool Options Opsi alat segmen busur
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 3839 and column 19.
|
@@ -5073,6 +5073,12 @@ lighting Light Luce
|
||||
Shift: Spostamento:
|
||||
Fresco… Affresco…
|
||||
Fresco Affresco
|
||||
Lock Artboards Blocca tavole da disegno
|
||||
Unlock Artboards Sblocca tavole da disegno
|
||||
Lock Selected Blocca selezionate
|
||||
Lock All Except Selected Blocca tutto tranne la selezione
|
||||
Lock All Blocca tutto
|
||||
Unlock Selected Sblocca selezionate
|
||||
Effect Gallery… Galleria effetti…
|
||||
Effect Gallery Dialog Finestra di dialogo Galleria effetti
|
||||
Arc Segment Tool Options Opzioni strumento Segmento arco
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5120,6 +5120,12 @@ lighting Light ライト
|
||||
Shift: シフト:
|
||||
Fresco… フレスコ…
|
||||
Fresco フレスコ
|
||||
Lock Artboards アートボードをロック
|
||||
Unlock Artboards アートボードのロックを解除
|
||||
Lock Selected 選択をロック
|
||||
Lock All Except Selected 選択以外をすべてロック
|
||||
Lock All すべてをロック
|
||||
Unlock Selected 選択のロックを解除
|
||||
|
||||
# Keyboard Shortcuts editor (File › Keyboard Shortcuts…) and the Print dialog's overprint note.
|
||||
Keyboard Shortcuts キーボードショートカット
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5364,6 +5364,12 @@ imageTrace Outline კონტური
|
||||
Shift: წანაცვლება:
|
||||
Fresco… ფრესკა…
|
||||
Fresco ფრესკა
|
||||
Lock Artboards სამუშაო დაფების ჩაკეტვა
|
||||
Unlock Artboards სამუშაო დაფების განბლოკვა
|
||||
Lock Selected მონიშნულის ჩაკეტვა
|
||||
Lock All Except Selected მონიშნულის გარდა ყველაფრის ჩაკეტვა
|
||||
Lock All ყველაფრის ჩაკეტვა
|
||||
Unlock Selected მონიშნულის განბლოკვა
|
||||
Effect Gallery ეფექტების გალერეა
|
||||
Add filters from the list above დაამატეთ ფილტრები ზემოთ მოცემული სიიდან
|
||||
Add to Stack დასტაში დამატება
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5036,6 +5036,12 @@ lighting Light 광원
|
||||
Shift: 이동:
|
||||
Fresco… 프레스코…
|
||||
Fresco 프레스코
|
||||
Lock Artboards 아트보드 잠그기
|
||||
Unlock Artboards 아트보드 잠금 해제
|
||||
Lock Selected 선택 항목 잠그기
|
||||
Lock All Except Selected 선택 항목 외 모두 잠그기
|
||||
Lock All 모두 잠그기
|
||||
Unlock Selected 선택 항목 잠금 해제
|
||||
Effect Gallery… 효과 갤러리…
|
||||
Effect Gallery Dialog 효과 갤러리 대화 상자
|
||||
Arc Segment Tool Options 호 세그먼트 도구 옵션
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5462,6 +5462,12 @@ swatch Bright Violet Felviolet
|
||||
Shift: Verschuiving:
|
||||
Fresco… Fresco…
|
||||
Fresco Fresco
|
||||
Lock Artboards Tekengebieden vergrendelen
|
||||
Unlock Artboards Tekengebieden ontgrendelen
|
||||
Lock Selected Selectie vergrendelen
|
||||
Lock All Except Selected Alles behalve selectie vergrendelen
|
||||
Lock All Alles vergrendelen
|
||||
Unlock Selected Selectie ontgrendelen
|
||||
Effect Gallery… Effectgalerij…
|
||||
Effect Gallery Dialog Dialoogvenster Effectgalerij
|
||||
Arc Segment Tool Options Opties boogsegmentgereedschap
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5311,6 +5311,12 @@ mark-style Japanese Japońskie
|
||||
Shift: Przesunięcie:
|
||||
Fresco… Fresk…
|
||||
Fresco Fresk
|
||||
Lock Artboards Zablokuj obszary kompozycji
|
||||
Unlock Artboards Odblokuj obszary kompozycji
|
||||
Lock Selected Zablokuj zaznaczone
|
||||
Lock All Except Selected Zablokuj wszystkie oprócz zaznaczonych
|
||||
Lock All Zablokuj wszystkie
|
||||
Unlock Selected Odblokuj zaznaczone
|
||||
Effect Gallery… Galeria efektów…
|
||||
Effect Gallery Dialog Okno dialogowe Galeria efektów
|
||||
Arc Segment Tool Options Opcje narzędzia Segment łuku
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5376,6 +5376,12 @@ mark-style Japanese Japonesas
|
||||
Shift: Deslocamento:
|
||||
Fresco… Afresco…
|
||||
Fresco Afresco
|
||||
Lock Artboards Bloquear Mesas de Trabalho
|
||||
Unlock Artboards Desbloquear Mesas de Trabalho
|
||||
Lock Selected Bloquear selecionadas
|
||||
Lock All Except Selected Bloquear todas exceto as selecionadas
|
||||
Lock All Bloquear tudo
|
||||
Unlock Selected Desbloquear selecionadas
|
||||
Effect Gallery… Galeria de Efeitos…
|
||||
Effect Gallery Dialog Caixa de diálogo Galeria de Efeitos
|
||||
Arc Segment Tool Options Opções da Ferramenta Segmento de Arco
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -5069,6 +5069,12 @@ lighting Light Свет
|
||||
Shift: Сдвиг:
|
||||
Fresco… Фреска…
|
||||
Fresco Фреска
|
||||
Lock Artboards Заблокировать монтажные области
|
||||
Unlock Artboards Разблокировать монтажные области
|
||||
Lock Selected Заблокировать выбранные
|
||||
Lock All Except Selected Заблокировать все, кроме выбранных
|
||||
Lock All Заблокировать все
|
||||
Unlock Selected Разблокировать выбранные
|
||||
Effect Gallery… Галерея эффектов…
|
||||
Effect Gallery Dialog Диалог «Галерея эффектов»
|
||||
Arc Segment Tool Options Параметры инструмента «Дуговой сегмент»
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5483,6 +5483,12 @@ font-script Japanese Japanska
|
||||
Shift: Förskjutning:
|
||||
Fresco… Fresk…
|
||||
Fresco Fresk
|
||||
Lock Artboards Lås ritytor
|
||||
Unlock Artboards Lås upp ritytor
|
||||
Lock Selected Lås markerade
|
||||
Lock All Except Selected Lås alla utom markerade
|
||||
Lock All Lås alla
|
||||
Unlock Selected Lås upp markerade
|
||||
Effect Gallery… Effektgalleri…
|
||||
Effect Gallery Dialog Dialogrutan Effektgalleri
|
||||
Arc Segment Tool Options Alternativ för bågsegmentsverktyget
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 5 and column 25.
|
@@ -5053,6 +5053,12 @@ lighting Light Світло
|
||||
Shift: Зсув:
|
||||
Fresco… Фреска…
|
||||
Fresco Фреска
|
||||
Lock Artboards Заблокувати монтажні області
|
||||
Unlock Artboards Розблокувати монтажні області
|
||||
Lock Selected Заблокувати вибрані
|
||||
Lock All Except Selected Заблокувати всі, крім вибраних
|
||||
Lock All Заблокувати всі
|
||||
Unlock Selected Розблокувати вибрані
|
||||
Effect Gallery… Галерея ефектів…
|
||||
Effect Gallery Dialog Діалог «Галерея ефектів»
|
||||
Arc Segment Tool Options Параметри інструменту «Дуговий сегмент»
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 749 and column 40.
|
@@ -5053,6 +5053,12 @@ theme Appearance Giao diện
|
||||
Shift: Dịch chuyển:
|
||||
Fresco… Bích họa…
|
||||
Fresco Bích họa
|
||||
Lock Artboards Khóa các bảng vẽ
|
||||
Unlock Artboards Mở khóa các bảng vẽ
|
||||
Lock Selected Khóa mục đã chọn
|
||||
Lock All Except Selected Khóa tất cả trừ mục đã chọn
|
||||
Lock All Khóa tất cả
|
||||
Unlock Selected Mở khóa mục đã chọn
|
||||
Effect Gallery… Thư viện hiệu ứng…
|
||||
Effect Gallery Dialog Hộp thoại Thư viện hiệu ứng
|
||||
Arc Segment Tool Options Tùy chọn công cụ cung phân đoạn
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 4053 and column 10.
|
@@ -5297,6 +5297,12 @@ lighting Light 光源
|
||||
Shift: 偏移:
|
||||
Fresco… 壁画…
|
||||
Fresco 壁画
|
||||
Lock Artboards 锁定画板
|
||||
Unlock Artboards 解锁画板
|
||||
Lock Selected 锁定所选
|
||||
Lock All Except Selected 锁定除所选以外的全部
|
||||
Lock All 全部锁定
|
||||
Unlock Selected 解锁所选
|
||||
Effect Gallery… 效果库…
|
||||
Effect Gallery Dialog 效果库对话框
|
||||
Arc Segment Tool Options 弧段工具选项
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 2 and column 73.
|
@@ -5092,6 +5092,12 @@ lighting Light 光源
|
||||
Shift: 偏移:
|
||||
Fresco… 壁畫…
|
||||
Fresco 壁畫
|
||||
Lock Artboards 鎖定工作區域
|
||||
Unlock Artboards 解除鎖定工作區域
|
||||
Lock Selected 鎖定所選
|
||||
Lock All Except Selected 鎖定所選以外的全部
|
||||
Lock All 全部鎖定
|
||||
Unlock Selected 解除鎖定所選
|
||||
Effect Gallery… 效果庫…
|
||||
Effect Gallery Dialog 效果庫對話框
|
||||
Arc Segment Tool Options 弧段工具選項
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -3297,6 +3297,29 @@ pub fn context_items(app: &VectorcraftApp) -> Vec<Item> {
|
||||
if st.isolation.is_some() {
|
||||
v.extend([c("Exit Isolation Mode", "object.exitIsolation"), Sep]);
|
||||
}
|
||||
// Managing artboards from the canvas: with the Artboard tool, the menu locks and unlocks them
|
||||
// (`artboard.setProps` with `locked` for each artboard named; an entry with none to change is left out).
|
||||
if app.session.tool_id() == "artboard" {
|
||||
let n = st.doc.artboards.len();
|
||||
let sel = crate::panels::artboards::picked(app, n);
|
||||
let others: Vec<usize> = (0..n).filter(|i| !sel.contains(i)).collect();
|
||||
let entry = |label, idx: Vec<usize>, locked: bool| {
|
||||
let list: Vec<Value> = idx.iter().map(|i| json!({ "index": i, "locked": locked })).collect();
|
||||
(!list.is_empty()).then(|| cp(label, "artboard.setProps", json!({ "artboards": list })))
|
||||
};
|
||||
let lock: Vec<Item> =
|
||||
[entry("Lock Selected", sel.clone(), true), entry("Lock All Except Selected", others, true), entry("Lock All", (0..n).collect(), true)]
|
||||
.into_iter()
|
||||
.flatten()
|
||||
.collect();
|
||||
let unlock: Vec<Item> = [entry("Unlock Selected", sel, false), entry("Unlock All", (0..n).collect(), false)].into_iter().flatten().collect();
|
||||
for (label, items) in [("Lock Artboards", lock), ("Unlock Artboards", unlock)] {
|
||||
if !items.is_empty() {
|
||||
v.push(sub(label, items));
|
||||
}
|
||||
}
|
||||
v.push(Sep);
|
||||
}
|
||||
// The locked objects under the pointer at the right-click, each unlocked as the Layers panel's
|
||||
// lock column does. `unlock_item_label` shows each object's name.
|
||||
let unlock: Vec<Item> = app
|
||||
@@ -4184,6 +4207,12 @@ pub fn item_shortcut(id: &str, p: &Value) -> Option<&'static str> {
|
||||
pub const CONTEXT_LABELS: &[&str] = &[
|
||||
"Isolate Selected Group",
|
||||
"Exit Isolation Mode",
|
||||
"Lock Artboards",
|
||||
"Lock Selected",
|
||||
"Lock All Except Selected",
|
||||
"Lock All",
|
||||
"Unlock Artboards",
|
||||
"Unlock Selected",
|
||||
"Unlock",
|
||||
"Make Clipping Mask",
|
||||
"Release Clipping Mask",
|
||||
|
||||
@@ -1745,4 +1745,31 @@ mod tests {
|
||||
assert_eq!(names, ["Artboard 1", "Artboard 2"]);
|
||||
assert_eq!((selected(&app, 2), app.session.tool_options()["active"].clone()), (1, json!(1)));
|
||||
}
|
||||
/// With the Artboard tool, the canvas context menu locks and unlocks artboards: Lock Selected
|
||||
/// locks the selected one (the others stay free), Unlock All frees every artboard.
|
||||
#[test]
|
||||
fn the_artboard_tools_context_menu_locks_and_unlocks_artboards() {
|
||||
use crate::menus::Item;
|
||||
let mut app = VectorcraftApp::new(Session::new(), Default::default());
|
||||
app.session.execute("file.new", &json!({"width": 100, "height": 100, "units": "Points", "artboards": 3})).unwrap();
|
||||
let locked = |app: &VectorcraftApp| app.session.active().unwrap().doc.artboards.iter().map(|a| a.locked).collect::<Vec<_>>();
|
||||
let run = |app: &mut VectorcraftApp, menu: &str, label: &str| {
|
||||
let items = crate::menus::context_items(app);
|
||||
let Some(Item::Sub(_, subs)) = items.iter().find(|i| matches!(i, Item::Sub(t, _) if *t == menu)) else { panic!("no {menu}") };
|
||||
let Some(Item::Cmd(_, id, p)) = subs.iter().find(|i| matches!(i, Item::Cmd(l, ..) if *l == label)) else { panic!("no {label}") };
|
||||
crate::menus::invoke(app, id, p.clone());
|
||||
};
|
||||
// Without the Artboard tool the menu has no such submenu.
|
||||
assert!(!crate::menus::context_items(&app).iter().any(|i| matches!(i, Item::Sub(t, _) if *t == "Lock Artboards")));
|
||||
app.select_tool("artboard");
|
||||
select(&mut app, 1);
|
||||
run(&mut app, "Lock Artboards", "Lock Selected");
|
||||
assert_eq!(locked(&app), [false, true, false]);
|
||||
run(&mut app, "Lock Artboards", "Lock All Except Selected");
|
||||
assert_eq!(locked(&app), [true, true, true], "the others lock, the locked one stays");
|
||||
run(&mut app, "Unlock Artboards", "Unlock Selected");
|
||||
assert_eq!(locked(&app), [true, false, true]);
|
||||
run(&mut app, "Unlock Artboards", "Unlock All");
|
||||
assert_eq!(locked(&app), [false, false, false]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -283,6 +283,11 @@ fn every_context_label_is_a_menu_string() {
|
||||
app.run("layer.setProps", json!({"ids": [a.0], "locked": true})).unwrap();
|
||||
app.ui.context_locked = Some((app.session.active().unwrap().uid, vec![a]));
|
||||
shown.extend(labels(&menus::context_items(&app)));
|
||||
// The Lock Artboards and Unlock Artboards submenus of the Artboard tool.
|
||||
app.run("artboard.new", json!({"x": 400, "y": 0, "width": 100, "height": 100})).unwrap();
|
||||
app.run("artboard.setProps", json!({"index": 0, "locked": true})).unwrap();
|
||||
app.select_tool("artboard");
|
||||
shown.extend(labels(&menus::context_items(&app)));
|
||||
let missing: Vec<_> = shown.iter().filter(|l| !strings.contains(**l)).collect();
|
||||
assert!(missing.is_empty(), "context menu labels missing from menu_strings: {missing:?}");
|
||||
for label in menus::CONTEXT_LABELS {
|
||||
|
||||
+4
-10
@@ -424,16 +424,10 @@ from G14 and the budget run of G15: **~170–270 h** one agent, ~50–80 h wall
|
||||
segments for drawn lines. Controls are saved under Preferences › Smart Guides › Geometric Guides
|
||||
and available from Control bar › Snapping; both default to on. Existing-line endpoint editing and
|
||||
other tool cases remain unverified. [Public source](https://helpx.adobe.com/illustrator/desktop/measure-and-align/plot-and-measure/snap-to-perpendicular.html).
|
||||
- **Missing:** gradient perceptual blending and gradient presets (30.0); remaining tangent/perpendicular snapping cases and the consolidated snapping options (30.0); artboard locking, artboard colors in exports and print, and managing
|
||||
- **Missing:** gradient presets (30.0); tangent and perpendicular
|
||||
- **Missing:** gradient perceptual blending and gradient presets (30.0); tangent and perpendicular
|
||||
- **Partial (#2530):** tangent snapping to curves and perpendicular snapping to straight target
|
||||
segments for drawn lines. Controls are saved under Preferences › Smart Guides › Geometric Guides
|
||||
and available from Control bar › Snapping; both default to on. Existing-line endpoint editing and
|
||||
other tool cases remain unverified. [Public source](https://helpx.adobe.com/illustrator/desktop/measure-and-align/plot-and-measure/snap-to-perpendicular.html).
|
||||
- **Missing:** gradient perceptual blending and gradient presets (30.0); remaining tangent/perpendicular snapping cases and the consolidated snapping options (30.0); artboard locking, artboard colors in exports and print, and managing
|
||||
snapping and the consolidated snapping options (30.0); artboard locking, artboard colors in exports and print, and managing
|
||||
artboards from the canvas (30.0); the Blend panel with ease in/out and separate colour acceleration (30.7);
|
||||
- **Missing:** gradient presets (30.0); remaining tangent/perpendicular snapping cases and the consolidated
|
||||
snapping options (30.0); artboard colors in exports and print, and managing artboards from the canvas other
|
||||
than locking and unlocking them from the Artboard tool's right-click menu (30.0); the Blend panel with ease
|
||||
in/out and separate colour acceleration (30.7);
|
||||
the Dimension tool (28.x).
|
||||
- **Evidence:** Adobe's 30.0 and 30.7 release announcements, see
|
||||
[target-app-parity.md](target-app-parity.md#how-this-was-measured-2026-10-10).
|
||||
|
||||
@@ -214,6 +214,7 @@ tools, never checked side by side) isn't captured row by row.
|
||||
| Double-click a stroked segment to create a width point in Width Point Edit | done | Finite-arithmetic follow-up: engine regressions and full CI passed; [Validation evidence](target-app-parity.md#evidence-what-ships-today-by-area). Command and pointer regressions cover opening, sampled widths, adjoining adjustment on/off through checkbox/OK, compound paths, Cancel/Delete and Undo/Redo; dialog layout reviewed. [Validation evidence](target-app-parity.md#evidence-what-ships-today-by-area) |
|
||||
| Shift-double-click a width point enables adjoining adjustment in Width Point Edit | done | Tool dispatch, plain double-click control, neighboring widths, Undo/Redo and Cancel in `dialogs/width_point.rs` |
|
||||
| Alt-drag duplicates (objects, artboards with their art) | done | |
|
||||
| Artboard tool: the canvas right-click menu has Lock Artboards (Lock Selected, Lock All Except Selected, Lock All) and Unlock Artboards (Unlock Selected, Unlock All) | done | #2531; `artboard.setProps` with `locked` for each artboard named; the lock itself is #2592 |
|
||||
| Document Setup → Edit Artboards applies valid settings, closes the dialog and activates the Artboard tool | done | Pointer-click tests cover successful handoff, invalid settings, OK, Cancel and Undo in `dialogs/document_setup.rs`. |
|
||||
| Escape leaves Artboard editing for Selection; during a drag it first cancels the gesture | done | Headless egui key events cover idle Escape, active-drag cancellation and a subsequent Escape in `tests_distortkeys.rs`. |
|
||||
| Escape while typing ends the edit, keeps the type selected and switches to the Selection tool | done | #1802 (#1686, #1656) |
|
||||
|
||||
Reference in New Issue
Block a user