Library panels: Locate Library… refuses a panel whose library is there

ui.libraryPanel.locate checked only that the panel was open. Run on an
open panel whose library was there, such as the built-in Pastels, it
loaded the file given or picked and showed that library in the panel
in place of Pastels.

It now answers "library panel `{given}` isn't missing its library" for
such a panel, before it asks for a file or loads one, and the panel
keeps its library. A persistent panel whose library's file is gone
locates as before.

Docs: docs/mcp.md (ui.libraryPanel.locate).
This commit is contained in:
dotCooCoo
2026-10-22 07:03:20 +07:00
committed by bflatastic
parent 757eaf9afa
commit 17fbf6ad6a
22 changed files with 52 additions and 6 deletions
+1
View File
@@ -5333,6 +5333,7 @@ mark-style Japanese Japonské
@msg Persistent libraries not found: {files} Trvalé knihovny nebyly nalezeny: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` není panel knihovny (viz window.swatchLibrary)
@msg library panel `{given}` isn't open panel knihovny `{given}` není otevřený
@msg library panel `{given}` isn't missing its library knihovna panelu knihovny `{given}` nechybí
@msg too many library panels were opened in this session v této relaci bylo otevřeno příliš mnoho panelů knihoven
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. Obraz má {_1} × {_2} pixelů, na jedné straně více než {LARGE_TRACE_SIDE}: vektorizuje se, ale pomaleji. Rychleji se vektorizuje s předvolbou nižší věrnosti nebo menší kopie obrazu.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). Obraz byl vektorizován v rozlišení {_1} × {_2} pixelů, zmenšený z {_3} × {_4} (nejvýše {_5} megapixelů).
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -4913,6 +4913,7 @@ effect Soft Weich
@msg Persistent libraries not found: {files} Dauerhafte Bibliotheken nicht gefunden: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` ist kein Bibliotheksbedienfeld (siehe window.swatchLibrary)
@msg library panel `{given}` isn't open Bibliotheksbedienfeld `{given}` ist nicht geöffnet
@msg library panel `{given}` isn't missing its library dem Bibliotheksbedienfeld `{given}` fehlt seine Bibliothek nicht
@msg too many library panels were opened in this session in dieser Sitzung wurden zu viele Bibliotheksbedienfelder geöffnet
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. Das Bild hat {_1} × {_2} Pixel, mehr als {LARGE_TRACE_SIDE} auf einer Seite: Es wird nachgezeichnet, aber langsamer. Eine Vorgabe mit geringerer Detailtreue oder eine kleinere Kopie des Bildes geht schneller.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). Das Bild wurde mit {_1} × {_2} Pixeln nachgezeichnet, verkleinert von {_3} × {_4} (höchstens {_5} Megapixel).
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -5285,6 +5285,7 @@ effect Points Σημεία
@msg Persistent libraries not found: {files} Δεν βρέθηκαν μόνιμες βιβλιοθήκες: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) Το `{given}` δεν είναι πίνακας βιβλιοθήκης (δείτε window.swatchLibrary)
@msg library panel `{given}` isn't open ο πίνακας βιβλιοθήκης `{given}` δεν είναι ανοιχτός
@msg library panel `{given}` isn't missing its library η βιβλιοθήκη του πίνακα βιβλιοθήκης `{given}` δεν λείπει
@msg too many library panels were opened in this session άνοιξαν πάρα πολλοί πίνακες βιβλιοθηκών σε αυτή τη συνεδρία
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. Η εικόνα είναι {_1} × {_2} εικονοστοιχεία, πάνω από {LARGE_TRACE_SIDE} σε μία πλευρά: ανιχνεύεται, αλλά πιο αργά. Μια προρύθμιση χαμηλότερης πιστότητας ή ένα μικρότερο αντίγραφο της εικόνας ανιχνεύεται γρηγορότερα.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). Η εικόνα ανιχνεύτηκε σε {_1} × {_2} εικονοστοιχεία, σμικρυμένη από {_3} × {_4} (το πολύ {_5} megapixel).
Can't render this file because it contains an unexpected character in line 2040 and column 19.
+1
View File
@@ -5275,6 +5275,7 @@ mark-style Japanese Japonesas
@msg Persistent libraries not found: {files} No se encontraron bibliotecas persistentes: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` no es un panel de biblioteca (consulte window.swatchLibrary)
@msg library panel `{given}` isn't open el panel de biblioteca `{given}` no está abierto
@msg library panel `{given}` isn't missing its library la biblioteca del panel de biblioteca `{given}` no falta
@msg too many library panels were opened in this session se abrieron demasiados paneles de biblioteca en esta sesión
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. La imagen tiene {_1} × {_2} píxeles, más de {LARGE_TRACE_SIDE} en un lado: se calcará, pero más despacio. Un ajuste preestablecido de menor fidelidad o una copia más pequeña de la imagen se calcan más rápido.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). La imagen se calcó a {_1} × {_2} píxeles, reducida desde {_3} × {_4} ({_5} megapíxeles como máximo).
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -5297,6 +5297,7 @@ mark-style Japanese Japanilainen
@msg Persistent libraries not found: {files} Pysyviä kirjastoja ei löytynyt: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` ei ole kirjastopaneeli (katso window.swatchLibrary)
@msg library panel `{given}` isn't open kirjastopaneeli `{given}` ei ole auki
@msg library panel `{given}` isn't missing its library kirjastopaneelin `{given}` kirjasto ei puutu
@msg too many library panels were opened in this session tässä istunnossa on avattu liian monta kirjastopaneelia
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. Kuva on {_1} × {_2} kuvapistettä, yhdeltä sivultaan yli {LARGE_TRACE_SIDE}: se jäljitetään, mutta hitaammin. Pienemmän tarkkuuden esiasetus tai kuvan pienempi kopio jäljittyy nopeammin.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). Kuva jäljitettiin kokoon {_1} × {_2} kuvapistettä pienennettynä koosta {_3} × {_4} (enintään {_5} megapikseliä).
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -5332,6 +5332,7 @@ theme Appearance Apparence
@msg Persistent libraries not found: {files} Bibliothèques persistantes introuvables : {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` n’est pas un panneau de bibliothèque (voir window.swatchLibrary)
@msg library panel `{given}` isn't open le panneau de bibliothèque `{given}` n’est pas ouvert
@msg library panel `{given}` isn't missing its library la bibliothèque du panneau de bibliothèque `{given}` ne manque pas
@msg too many library panels were opened in this session trop de panneaux de bibliothèque ont été ouverts dans cette session
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. L’image fait {_1} × {_2} pixels, plus de {LARGE_TRACE_SIDE} sur un côté : elle est vectorisée, mais plus lentement. Un paramètre prédéfini moins fidèle ou une copie plus petite de l’image se vectorise plus vite.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). L’image a été vectorisée à {_1} × {_2} pixels, réduite de {_3} × {_4} ({_5} mégapixels au plus).
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -5319,6 +5319,7 @@ imageTrace Outline Körvonal
@msg Persistent libraries not found: {files} Nem találhatók állandó könyvtárak: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) A(z) `{given}` nem könyvtárpanel (lásd: window.swatchLibrary)
@msg library panel `{given}` isn't open a(z) `{given}` könyvtárpanel nincs megnyitva
@msg library panel `{given}` isn't missing its library a(z) `{given}` könyvtárpanel könyvtára nem hiányzik
@msg too many library panels were opened in this session ebben a munkamenetben túl sok könyvtárpanel nyílt meg
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. A kép {_1} × {_2} képpont, egyik oldalán több mint {LARGE_TRACE_SIDE}: a vektorizálás megtörténik, de lassabban. Kisebb hűségű előbeállítással vagy a kép kisebb másolatával gyorsabb.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). A kép vektorizálása {_1} × {_2} képponton történt, {_3} × {_4} méretről kicsinyítve (legfeljebb {_5} megapixel).
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -4947,6 +4947,7 @@ lighting Light Luce
@msg Persistent libraries not found: {files} Librerie persistenti non trovate: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` non è un pannello libreria (vedi window.swatchLibrary)
@msg library panel `{given}` isn't open il pannello libreria `{given}` non è aperto
@msg library panel `{given}` isn't missing its library la libreria del pannello libreria `{given}` non è mancante
@msg too many library panels were opened in this session in questa sessione sono stati aperti troppi pannelli libreria
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. L’immagine è di {_1} × {_2} pixel, più di {LARGE_TRACE_SIDE} su un lato: viene vettorializzata, ma più lentamente. Un predefinito a fedeltà più bassa o una copia più piccola dell’immagine è più veloce.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). L’immagine è stata vettorializzata a {_1} × {_2} pixel, ridotta da {_3} × {_4} (al massimo {_5} megapixel).
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -4987,6 +4987,7 @@ lighting Light ライト
@msg Persistent libraries not found: {files} 永続ライブラリが見つかりません: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` はライブラリパネルではありません (window.swatchLibrary を参照)
@msg library panel `{given}` isn't open ライブラリパネル `{given}` は開いていません
@msg library panel `{given}` isn't missing its library ライブラリパネル `{given}` のライブラリは欠落していません
@msg too many library panels were opened in this session このセッションで開いたライブラリパネルが多すぎます
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. 画像は {_1} × {_2} ピクセルで、一辺が {LARGE_TRACE_SIDE} を超えています。トレースはできますが、時間がかかります。忠実度の低いプリセットや画像の小さいコピーを使うと速くなります。
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). 画像は {_3} × {_4} から縮小した {_1} × {_2} ピクセルでトレースされました (最大 {_5} メガピクセル)。
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -5191,6 +5191,7 @@ imageTrace Outline კონტური
@msg handle must be in or out handle უნდა იყოს in ან out
@msg index must be ≥ 0 index უნდა იყოს ≥ 0
@msg library panel `{given}` isn't open ბიბლიოთეკის პანელი `{given}` გახსნილი არ არის
@msg library panel `{given}` isn't missing its library ბიბლიოთეკის პანელს `{given}` ბიბლიოთეკა არ აკლია
@msg mask art ends outside a mask dictionary ნიღბის ნახატი ნიღბის ლექსიკონის გარეთ მთავრდება
@msg missing number `{key}` აკლია რიცხვი `{key}`
@msg missing integer `{key}` აკლია მთელი რიცხვი `{key}`
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -4910,6 +4910,7 @@ lighting Light 광원
@msg Persistent libraries not found: {files} 지속 라이브러리를 찾을 수 없습니다: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}`은(는) 라이브러리 패널이 아닙니다(window.swatchLibrary 참조)
@msg library panel `{given}` isn't open 라이브러리 패널 `{given}`이(가) 열려 있지 않습니다
@msg library panel `{given}` isn't missing its library 라이브러리 패널 `{given}`의 라이브러리가 누락되지 않았습니다
@msg too many library panels were opened in this session 이 세션에서 라이브러리 패널을 너무 많이 열었습니다
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. 이미지가 {_1} × {_2}픽셀로 한 변이 {LARGE_TRACE_SIDE}을 넘습니다. 추적은 되지만 더 느립니다. 충실도가 낮은 사전 설정이나 이미지의 작은 사본을 사용하면 더 빠릅니다.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). 이미지를 {_3} × {_4}에서 축소한 {_1} × {_2}픽셀로 추적했습니다(최대 {_5}메가픽셀).
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -5329,6 +5329,7 @@ swatch Bright Violet Felviolet
@msg Persistent libraries not found: {files} Permanente bibliotheken niet gevonden: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` is geen bibliotheekpaneel (zie window.swatchLibrary)
@msg library panel `{given}` isn't open bibliotheekpaneel `{given}` is niet geopend
@msg library panel `{given}` isn't missing its library de bibliotheek van bibliotheekpaneel `{given}` ontbreekt niet
@msg too many library panels were opened in this session er zijn in deze sessie te veel bibliotheekpanelen geopend
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. De afbeelding is {_1} × {_2} pixels, meer dan {LARGE_TRACE_SIDE} aan één zijde: ze wordt getraceerd, maar langzamer. Een voorinstelling met minder detail of een kleinere kopie van de afbeelding traceert sneller.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). De afbeelding is getraceerd op {_1} × {_2} pixels, verkleind van {_3} × {_4} (maximaal {_5} megapixels).
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -5185,6 +5185,7 @@ mark-style Japanese Japońskie
@msg Persistent libraries not found: {files} Nie znaleziono trwałych bibliotek: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` nie jest panelem biblioteki (zobacz window.swatchLibrary)
@msg library panel `{given}` isn't open panel biblioteki `{given}` nie jest otwarty
@msg library panel `{given}` isn't missing its library panelowi biblioteki `{given}` nie brakuje biblioteki
@msg too many library panels were opened in this session w tej sesji otwarto zbyt wiele paneli bibliotek
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. Obraz ma {_1} × {_2} pikseli, ponad {LARGE_TRACE_SIDE} na jednym boku: zostanie obrysowany, ale wolniej. Ustawienie wstępne o niższej wierności lub mniejsza kopia obrazu obrysuje się szybciej.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). Obraz obrysowano w rozdzielczości {_1} × {_2} pikseli, po zmniejszeniu z {_3} × {_4} (najwyżej {_5} megapikseli).
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -5250,6 +5250,7 @@ mark-style Japanese Japonesas
@msg Persistent libraries not found: {files} Bibliotecas persistentes não encontradas: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` não é um painel de biblioteca (consulte window.swatchLibrary)
@msg library panel `{given}` isn't open o painel de biblioteca `{given}` não está aberto
@msg library panel `{given}` isn't missing its library a biblioteca do painel de biblioteca `{given}` não está faltando
@msg too many library panels were opened in this session foram abertos painéis de biblioteca demais nesta sessão
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. A imagem tem {_1} × {_2} pixels, mais de {LARGE_TRACE_SIDE} em um lado: ela é traçada, mas mais devagar. Uma predefinição de menor fidelidade ou uma cópia menor da imagem traça mais rápido.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). A imagem foi traçada em {_1} × {_2} pixels, reduzida de {_3} × {_4} (no máximo {_5} megapixels).
Can't render this file because it contains an unexpected character in line 6 and column 47.
+1
View File
@@ -4943,6 +4943,7 @@ lighting Light Свет
@msg Persistent libraries not found: {files} Постоянные библиотеки не найдены: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` — не панель библиотеки (см. window.swatchLibrary)
@msg library panel `{given}` isn't open панель библиотеки `{given}` не открыта
@msg library panel `{given}` isn't missing its library библиотека панели библиотеки `{given}` не отсутствует
@msg too many library panels were opened in this session в этом сеансе открыто слишком много панелей библиотек
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. Изображение {_1} × {_2} пикселей, больше {LARGE_TRACE_SIDE} по одной стороне: трассировка выполняется, но медленнее. Стиль с меньшей точностью или уменьшенная копия изображения трассируются быстрее.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). Изображение трассировано в размере {_1} × {_2} пикселей, уменьшенное с {_3} × {_4} (не более {_5} мегапикселей).
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -5289,6 +5289,7 @@ theme Appearance Utseende
@msg Persistent libraries not found: {files} Beständiga bibliotek hittades inte: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` är inte en bibliotekspanel (se window.swatchLibrary)
@msg library panel `{given}` isn't open bibliotekspanelen `{given}` är inte öppen
@msg library panel `{given}` isn't missing its library bibliotekspanelen `{given}` saknar inte sitt bibliotek
@msg too many library panels were opened in this session för många bibliotekspaneler har öppnats i den här sessionen
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. Bilden är {_1} × {_2} pixlar, mer än {LARGE_TRACE_SIDE} på en sida: den vektoriseras, men långsammare. En förinställning med lägre återgivning eller en mindre kopia av bilden går snabbare.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). Bilden vektoriserades vid {_1} × {_2} pixlar, nedskalad från {_3} × {_4} (högst {_5} megapixlar).
Can't render this file because it contains an unexpected character in line 5 and column 25.
+1
View File
@@ -4927,6 +4927,7 @@ lighting Light Світло
@msg Persistent libraries not found: {files} Постійні бібліотеки не знайдено: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` — не панель бібліотеки (див. window.swatchLibrary)
@msg library panel `{given}` isn't open панель бібліотеки `{given}` не відкрита
@msg library panel `{given}` isn't missing its library бібліотека панелі бібліотеки `{given}` не відсутня
@msg too many library panels were opened in this session у цьому сеансі відкрито забагато панелей бібліотек
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. Зображення {_1} × {_2} пікселів, понад {LARGE_TRACE_SIDE} з одного боку: трасування виконується, але повільніше. Стиль із нижчою точністю або менша копія зображення трасуються швидше.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). Зображення трасовано в розмірі {_1} × {_2} пікселів, зменшене з {_3} × {_4} (щонайбільше {_5} мегапікселів).
Can't render this file because it contains an unexpected character in line 733 and column 40.
+1
View File
@@ -4927,6 +4927,7 @@ theme Appearance Giao diện
@msg Persistent libraries not found: {files} Không tìm thấy thư viện lưu giữ: {files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` không phải là bảng thư viện (xem window.swatchLibrary)
@msg library panel `{given}` isn't open bảng thư viện `{given}` chưa được mở
@msg library panel `{given}` isn't missing its library thư viện của bảng thư viện `{given}` không bị thiếu
@msg too many library panels were opened in this session đã mở quá nhiều bảng thư viện trong phiên này
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. Ảnh có kích thước {_1} × {_2} điểm ảnh, hơn {LARGE_TRACE_SIDE} ở một cạnh: ảnh vẫn được dò, nhưng chậm hơn. Một thiết lập sẵn có độ trung thực thấp hơn hoặc một bản sao nhỏ hơn của ảnh sẽ dò nhanh hơn.
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). Ảnh đã được dò ở {_1} × {_2} điểm ảnh, thu nhỏ từ {_3} × {_4} (tối đa {_5} megapixel).
Can't render this file because it contains an unexpected character in line 4023 and column 10.
+1
View File
@@ -5166,6 +5166,7 @@ lighting Light 光源
@msg Persistent libraries not found: {files} 找不到持久库:{files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` 不是库面板 (请参阅 window.swatchLibrary)
@msg library panel `{given}` isn't open 库面板 `{given}` 未打开
@msg library panel `{given}` isn't missing its library 库面板 `{given}` 的库未缺失
@msg too many library panels were opened in this session 本次会话中打开的库面板过多
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. 图像为 {_1} × {_2} 像素,某一边超过 {LARGE_TRACE_SIDE}:会进行描摹,但速度较慢。使用保真度较低的预设或图像的较小副本会更快。
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). 图像已按 {_1} × {_2} 像素描摹,由 {_3} × {_4} 缩小而来(最多 {_5} 百万像素)。
Can't render this file because it contains an unexpected character in line 2 and column 73.
+1
View File
@@ -2329,6 +2329,7 @@ file-filter Templates 範本
@msg Persistent libraries not found: {files} 找不到持久資料庫:{files}
@msg `{given}` isn't a library panel (see window.swatchLibrary) `{given}` 不是資料庫面板 (請參閱 window.swatchLibrary)
@msg library panel `{given}` isn't open 資料庫面板 `{given}` 未開啟
@msg library panel `{given}` isn't missing its library 資料庫面板 `{given}` 的資料庫未遺失
@msg too many library panels were opened in this session 本次工作階段開啟的資料庫面板過多
@msg The image is {_1} × {_2} pixels, more than {LARGE_TRACE_SIDE} on a side: it is traced, but more slowly. A lower-fidelity preset or a smaller copy of the image traces faster. 影像為 {_1} × {_2} 像素,有一邊超過 {LARGE_TRACE_SIDE}:仍會描圖,但速度較慢。使用精確度較低的預設集或較小的影像拷貝,描圖會較快。
@msg The image was traced at {_1} × {_2} pixels, scaled down from {_3} × {_4} ({_5} megapixels at most). 影像已以 {_1} × {_2} 像素描圖,由 {_3} × {_4} 縮小而來 (最多 {_5} 百萬像素)。
Can't render this file because it contains an unexpected character in line 6 and column 47.
+29 -5
View File
@@ -487,17 +487,21 @@ pub(crate) fn command(app: &mut VectorcraftApp, p: &Value) -> Result<Value, Stri
}
/// `ui.libraryPanel.locate {panel, path?}`: Locate Library… of a library panel whose library is
/// missing. Load the library at `path`, else one picked in an open dialog (on the web the picked
/// file arrives later and opens in a panel of its own, as Other Library…'s does), and show it in
/// open panel `panel`, which keeps its view, Show Find Field and Persistent. When the file's
/// library has a panel open already, `panel` closes and is forgotten, and that panel is brought
/// forward, made persistent when `panel` was. → what `ui.libraryPanel` answers
/// missing ([`missing_file`]; any other panel is an error). Load the library at `path`, else one
/// picked in an open dialog (on the web the picked file arrives later and opens in a panel of its
/// own, as Other Library…'s does), and show it in open panel `panel`, which keeps its view, Show
/// Find Field and Persistent. When the file's library has a panel open already, `panel` closes and
/// is forgotten, and that panel is brought forward, made persistent when `panel` was. → what
/// `ui.libraryPanel` answers
pub(crate) fn locate(app: &mut VectorcraftApp, p: &Value) -> Result<Value, String> {
let given = p.get("panel").and_then(Value::as_str).unwrap_or_default();
let (k, id) = parse(given).ok_or_else(|| format!("`{given}` isn't a library panel (see window.swatchLibrary)"))?;
if !is_open(&app.ui, given) {
return Err(format!("library panel `{given}` isn't open"));
}
if missing_file(app, k, id).is_none() {
return Err(format!("library panel `{given}` isn't missing its library"));
}
let path = p.get("path").and_then(Value::as_str).map(str::to_string);
let Some(path) = pick_library_file(app, path)? else { return Ok(Value::Null) };
let r = app.run(k.load, json!({ "path": path }))?;
@@ -1293,6 +1297,26 @@ mod tests {
let _ = std::fs::remove_dir_all(dir);
}
#[test]
fn locate_library_leaves_a_panel_whose_library_is_there_alone() {
let dir = std::env::temp_dir().join(format!("vc-locate-found-library-{}", std::process::id()));
let _ = std::fs::remove_dir_all(&dir);
std::fs::create_dir_all(&dir).unwrap();
let gpl = dir.join("Brand.gpl");
std::fs::write(&gpl, "GIMP Palette\nName: Brand\n#\n255 0 0\tRed\n").unwrap();
let mut app = app();
let pastels = panel_of(app.run("window.swatchLibrary", json!({"library": "pastels"})).unwrap());
for persistent in [false, true] {
app.run("ui.libraryPanel", json!({"panel": pastels, "persistent": persistent})).unwrap();
let e = app.run("ui.libraryPanel.locate", json!({"panel": pastels, "path": gpl.to_string_lossy()})).unwrap_err();
assert!(e.contains("isn't missing its library"), "{e}");
assert!(is_open(&app.ui, &pastels), "persistent: {persistent}");
assert_eq!(settings(&app.ui, "swatches", "pastels").map(|s| s.persistent), Some(persistent));
}
assert!(SwatchLibraries::get(&app, &format!("loaded/{}", gpl.to_string_lossy())).is_none(), "the file isn't loaded");
let _ = std::fs::remove_dir_all(dir);
}
#[test]
fn previous_and_next_show_the_neighbouring_library_in_the_same_panel() {
let mut app = app();
+3 -1
View File
@@ -1718,7 +1718,9 @@ under `ui.library_panels`.
`ui.libraryPanel.locate {panel, path?}` is Locate Library…: it loads the library at `path` (without one, it
asks for a file) as Other Library… does and shows it in the open panel `panel`, which keeps its view, find
field and Persistent, and answers as `ui.libraryPanel` does. When the file's library already has a panel open,
`panel` closes and is forgotten, and that panel is brought forward, made persistent when `panel` was.
`panel` closes and is forgotten, and that panel is brought forward, made persistent when `panel` was. On a
panel whose library isn't missing, it answers an error without asking for or loading a file, and the panel
keeps its library.
`window.swatchLibrary` and `window.graphicStyleLibrary` also take a missing library's id, so a closed missing
panel opens again; they answer its file's name without the extension and `count: 0`.