mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-24 10:08:00 -06:00
Merge PR #1749: Preferences: always use my default zoom and page layout
Conflicts: - ATTRIBUTION.toml: ours (sha256 lines only); hashes recomputed at the end of the track
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
//! `--page N --zoom 150 --layout single|continuous|two-up|two-page --continuous on|off --panel comments|bookmarks|pages|fields|layers|attachments|none
|
||||
//! --theme light|dark|system --language auto|<code> --mode all|read|edit|convert|sign --tool <catalogue id> --left open|closed
|
||||
//! --organize on --fields on --dialog properties|shortcuts|about --palette <query> --home on
|
||||
//! --cover on|off --default-layout single|continuous|two-up|two-page --default-continuous on|off --default-zoom fit-width|fit-page|<percent>
|
||||
//! --cover on|off --default-layout single|continuous|two-up|two-page --default-continuous on|off --default-zoom fit-width|fit-page|<percent> --always-default-view on|off
|
||||
//! --combine-view grid|list --combine-zoom 60..200`
|
||||
//!
|
||||
//! `--new-window` opens a window of its own. Without it, on Windows, a launch that only names files
|
||||
|
||||
@@ -2332,6 +2332,7 @@ key Space مسافة
|
||||
Printer paper and scaling may differ. Check driver settings. قد يختلف ورق الطابعة ومقياس الطباعة. تحقق من إعدادات برنامج التشغيل.
|
||||
Drawing scale changes. Use Actual size for full-scale plans. يتغير مقياس الرسم. استخدم الحجم الفعلي لطباعة المخططات بمقياسها الأصلي.
|
||||
Reload documents when their files change on disk إعادة تحميل المستندات عند تغيّر ملفاتها على القرص
|
||||
Always use my default zoom and page layout استخدام التكبير وتخطيط الصفحة الافتراضيين دائمًا
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. تغيّر هذا الملف على القرص. «إعادة التحميل» تعرض النسخة الجديدة وتُسقط تغييراتك غير المحفوظة؛ و«حفظ» يستبدلها بهذه النسخة.
|
||||
Reload إعادة تحميل
|
||||
Couldn't reload {name}: {e} تعذّرت إعادة تحميل {name}: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2274,6 +2274,7 @@ key Space Интервал
|
||||
Printer paper and scaling may differ. Check driver settings. Хартията и мащабът на принтера може да се различават. Проверете настройките на драйвера.
|
||||
Drawing scale changes. Use Actual size for full-scale plans. Мащабът на чертежа се променя. Използвайте Действителен размер за планове в оригинален мащаб.
|
||||
Reload documents when their files change on disk Презареждай документите, когато файловете им се променят на диска
|
||||
Always use my default zoom and page layout Винаги използвай моя мащаб и оформление на страниците по подразбиране
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Този файл беше променен на диска. „Презареждане“ показва новата версия и отхвърля незаписаните ви промени; „Запис“ я заменя с тази версия.
|
||||
Reload Презареди
|
||||
Couldn't reload {name}: {e} Неуспешно презареждане на {name}: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 8 and column 16.
|
@@ -138,6 +138,7 @@
|
||||
Used when a PDF doesn't ask for a layout or zoom. Continuous scrolling never snaps between pages. Používá se, když PDF nepožaduje rozložení ani zvětšení. Plynulé posouvání mezi stránkami neskáče.
|
||||
Reopen the files that were open when PdfCraft last closed Znovu otevřít soubory, které byly otevřené při posledním zavření aplikace PdfCraft
|
||||
Reload documents when their files change on disk Znovu načítat dokumenty při změně jejich souborů na disku
|
||||
Always use my default zoom and page layout Vždy používat mé výchozí zvětšení a rozvržení stránky
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Tento soubor se na disku změnil. Znovu načíst zobrazí novou verzi a zahodí neuložené změny; Uložit ji nahradí touto verzí.
|
||||
Reload Znovu načíst
|
||||
Couldn't reload {name}: {e} Soubor {name} nelze znovu načíst: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2316,6 +2316,7 @@ key Space Leertaste
|
||||
Printer paper and scaling may differ. Check driver settings. Druckerpapier und Skalierung können abweichen. Treibereinstellungen prüfen.
|
||||
Drawing scale changes. Use Actual size for full-scale plans. Der Zeichnungsmaßstab ändert sich. Für maßstabsgetreue Pläne Tatsächliche Größe verwenden.
|
||||
Reload documents when their files change on disk Dokumente neu laden, wenn sich ihre Dateien auf dem Datenträger ändern
|
||||
Always use my default zoom and page layout Immer meinen Standardzoom und mein Standard-Seitenlayout verwenden
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Diese Datei wurde auf dem Datenträger geändert. „Neu laden“ zeigt die neue Version und verwirft Ihre ungespeicherten Änderungen; „Speichern“ ersetzt sie durch diese Version.
|
||||
Reload Neu laden
|
||||
Couldn't reload {name}: {e} {name} konnte nicht neu geladen werden: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 51.
|
@@ -2320,6 +2320,7 @@ comment menu Edit Επεξεργασία
|
||||
Printer paper and scaling may differ. Check driver settings. Το χαρτί και η κλίμακα του εκτυπωτή μπορεί να διαφέρουν. Ελέγξτε τις ρυθμίσεις του προγράμματος οδήγησης.
|
||||
Drawing scale changes. Use Actual size for full-scale plans. Η κλίμακα του σχεδίου αλλάζει. Για σχέδια σε πλήρη κλίμακα χρησιμοποιήστε το Πραγματικό μέγεθος.
|
||||
Reload documents when their files change on disk Επαναφόρτωση εγγράφων όταν αλλάζουν τα αρχεία τους στον δίσκο
|
||||
Always use my default zoom and page layout Να χρησιμοποιείται πάντα η προεπιλεγμένη μεγέθυνση και διάταξη σελίδας μου
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Αυτό το αρχείο άλλαξε στον δίσκο. Η επαναφόρτωση δείχνει τη νέα έκδοση και απορρίπτει τις μη αποθηκευμένες αλλαγές σας· η αποθήκευση την αντικαθιστά με αυτή την έκδοση.
|
||||
Reload Επαναφόρτωση
|
||||
Couldn't reload {name}: {e} Δεν ήταν δυνατή η επαναφόρτωση του {name}: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 477 and column 9.
|
@@ -2185,6 +2185,7 @@ action wizard Start Iniciar
|
||||
Home / End Inicio / Fin
|
||||
H / Space (hold) H / Espacio (mantener)
|
||||
Reload documents when their files change on disk Recargar los documentos cuando sus archivos cambien en el disco
|
||||
Always use my default zoom and page layout Usar siempre mi zoom y presentación de página predeterminados
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Este archivo cambió en el disco. Recargar muestra la versión nueva y descarta los cambios sin guardar; Guardar la reemplaza por esta versión.
|
||||
Reload Recargar
|
||||
Couldn't reload {name}: {e} No se pudo recargar {name}: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 60.
|
@@ -2034,6 +2034,7 @@
|
||||
Used when a PDF doesn't ask for a layout or zoom. Continuous scrolling never snaps between pages. Utilisé lorsqu'un PDF ne demande ni présentation ni zoom. Le défilement continu ne saute jamais d'une page à l'autre.
|
||||
Reopen the files that were open when PdfCraft last closed Rouvrir les fichiers qui étaient ouverts lors de la dernière fermeture de PdfCraft
|
||||
Reload documents when their files change on disk Recharger les documents lorsque leurs fichiers sont modifiés sur le disque
|
||||
Always use my default zoom and page layout Toujours utiliser mon zoom et ma présentation de page par défaut
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Ce fichier a été modifié sur le disque. Recharger affiche la nouvelle version et abandonne vos modifications non enregistrées ; Enregistrer la remplace par cette version.
|
||||
Reload Recharger
|
||||
Couldn't reload {name}: {e} Impossible de recharger {name} : {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 39.
|
@@ -2310,6 +2310,7 @@ key Space Szóköz
|
||||
Printer paper and scaling may differ. Check driver settings. A nyomtató papírja és méretezése eltérhet. Ellenőrizze az illesztőprogram beállításait.
|
||||
Drawing scale changes. Use Actual size for full-scale plans. A rajz méretaránya változik. Méretarányos tervekhez használja a Tényleges méret beállítást.
|
||||
Reload documents when their files change on disk Dokumentumok újratöltése, ha a fájljuk megváltozik a lemezen
|
||||
Always use my default zoom and page layout Mindig az alapértelmezett nagyításom és oldalelrendezésem használata
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Ez a fájl megváltozott a lemezen. Az Újratöltés az új változatot mutatja, és eldobja a nem mentett módosításokat; a Mentés erre a változatra cseréli le.
|
||||
Reload Újratöltés
|
||||
Couldn't reload {name}: {e} {name} újratöltése nem sikerült: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 7 and column 44.
|
@@ -2320,6 +2320,7 @@ key Space Spazio
|
||||
Printer paper and scaling may differ. Check driver settings. Carta e scala della stampante possono differire. Controlla le impostazioni del driver.
|
||||
Drawing scale changes. Use Actual size for full-scale plans. La scala del disegno cambia. Usa Dimensioni effettive per le planimetrie in scala.
|
||||
Reload documents when their files change on disk Ricarica i documenti quando i loro file cambiano sul disco
|
||||
Always use my default zoom and page layout Usa sempre il mio ingrandimento e layout di pagina predefiniti
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Questo file è cambiato sul disco. Ricarica mostra la nuova versione e scarta le modifiche non salvate; Salva la sostituisce con questa versione.
|
||||
Reload Ricarica
|
||||
Couldn't reload {name}: {e} Impossibile ricaricare {name}: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2311,6 +2311,7 @@ key Space スペース
|
||||
Printer paper and scaling may differ. Check driver settings. プリンターの用紙や倍率は異なる場合があります。ドライバーの設定を確認してください。
|
||||
Drawing scale changes. Use Actual size for full-scale plans. 図面の縮尺が変わります。原寸で印刷するには「実際のサイズ」を使用してください。
|
||||
Reload documents when their files change on disk ディスク上のファイルが変更されたら文書を再読み込みする
|
||||
Always use my default zoom and page layout 常に既定のズームとページレイアウトを使用する
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. このファイルはディスク上で変更されました。「再読み込み」は新しい版を表示して未保存の変更を破棄し、「保存」はこの版で置き換えます。
|
||||
Reload 再読み込み
|
||||
Couldn't reload {name}: {e} {name} を再読み込みできませんでした: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2310,6 +2310,7 @@ key Space Бос орын
|
||||
Printer paper and scaling may differ. Check driver settings. Принтер қағазы мен масштабы өзгеше болуы мүмкін. Драйвер параметрлерін тексеріңіз.
|
||||
Drawing scale changes. Use Actual size for full-scale plans. Сызба масштабы өзгереді. Толық масштабты жоспарлар үшін Нақты өлшемді пайдаланыңыз.
|
||||
Reload documents when their files change on disk Дискідегі файлдары өзгергенде құжаттарды қайта жүктеу
|
||||
Always use my default zoom and page layout Әрқашан әдепкі масштаб пен бет орналасуын пайдалану
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Бұл файл дискіде өзгертілді. «Қайта жүктеу» жаңа нұсқаны көрсетіп, сақталмаған өзгерістеріңізді тастайды; «Сақтау» оны осы нұсқамен алмастырады.
|
||||
Reload Қайта жүктеу
|
||||
Couldn't reload {name}: {e} {name} қайта жүктеу мүмкін болмады: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 856 and column 9.
|
@@ -969,6 +969,7 @@
|
||||
Redaction code: Šalinimo kodas:
|
||||
Reload Įkelti iš naujo
|
||||
Reload documents when their files change on disk Iš naujo įkelti dokumentus, kai pasikeičia jų failai diske
|
||||
Always use my default zoom and page layout Visada naudoti mano numatytąjį mastelį ir puslapio išdėstymą
|
||||
Remove checkmark Pašalinti varnelę
|
||||
Remove invalid links and bookmarks Pašalinti netinkamus saitus ir žymeles
|
||||
Remove page Pašalinti puslapį
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 404 and column 9.
|
@@ -2291,6 +2291,7 @@ key Space Spacja
|
||||
These objects could not be moved. Select them again and try a smaller move. Nie udało się przenieść tych obiektów. Zaznacz je ponownie i spróbuj mniejszego przesunięcia.
|
||||
This page contains objects that cannot be selected together. Ta strona zawiera obiekty, których nie można zaznaczyć razem.
|
||||
Reload documents when their files change on disk Wczytuj ponownie dokumenty, gdy ich pliki zmienią się na dysku
|
||||
Always use my default zoom and page layout Zawsze używaj mojego domyślnego powiększenia i układu stron
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Ten plik zmienił się na dysku. Wczytaj ponownie pokazuje nową wersję i odrzuca niezapisane zmiany; Zapisz zastępuje ją tą wersją.
|
||||
Reload Wczytaj ponownie
|
||||
Couldn't reload {name}: {e} Nie można ponownie wczytać {name}: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2313,6 +2313,7 @@ key Space Espaço
|
||||
Printer paper and scaling may differ. Check driver settings. O papel e a escala da impressora podem variar. Confira as configurações do driver.
|
||||
Drawing scale changes. Use Actual size for full-scale plans. A escala do desenho muda. Use Tamanho real para plantas em escala.
|
||||
Reload documents when their files change on disk Recarregar documentos quando os arquivos mudarem no disco
|
||||
Always use my default zoom and page layout Sempre usar meu zoom e layout da página padrão
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Este arquivo foi alterado no disco. Recarregar mostra a nova versão e descarta suas alterações não salvas; Salvar a substitui por esta versão.
|
||||
Reload Recarregar
|
||||
Couldn't reload {name}: {e} Não foi possível recarregar {name}: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -2101,6 +2101,7 @@
|
||||
Used when a PDF doesn't ask for a layout or zoom. Continuous scrolling never snaps between pages. Используется, когда PDF не запрашивает макет или масштаб. Непрерывная прокрутка никогда не привязывается между страницами.
|
||||
Reopen the files that were open when PdfCraft last closed Повторно открывать файлы, которые были открыты при последнем закрытии PdfCraft
|
||||
Reload documents when their files change on disk Перезагружать документы при изменении их файлов на диске
|
||||
Always use my default zoom and page layout Всегда использовать мой масштаб и макет страницы по умолчанию
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Этот файл был изменён на диске. «Перезагрузить» покажет новую версию и отбросит несохранённые изменения; «Сохранить» заменит её этой версией.
|
||||
Reload Перезагрузить
|
||||
Couldn't reload {name}: {e} Не удалось перезагрузить {name}: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -2317,6 +2317,7 @@ key Space Preslednica
|
||||
Printer paper and scaling may differ. Check driver settings. Papir in merilo tiskalnika se lahko razlikujeta. Preverite nastavitve gonilnika.
|
||||
Drawing scale changes. Use Actual size for full-scale plans. Merilo risbe se spremeni. Za načrte v polnem merilu uporabite Dejansko velikost.
|
||||
Reload documents when their files change on disk Znova naloži dokumente, ko se njihove datoteke na disku spremenijo
|
||||
Always use my default zoom and page layout Vedno uporabi moje privzeto povečanje in postavitev strani
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Ta datoteka se je na disku spremenila. Ponovno naloži pokaže novo različico in zavrže neshranjene spremembe; Shrani jo zamenja s to različico.
|
||||
Reload Znova naloži
|
||||
Couldn't reload {name}: {e} Datoteke {name} ni bilo mogoče znova naložiti: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -2020,6 +2020,7 @@ action wizard Start ప్రారంభించు
|
||||
Used when a PDF doesn't ask for a layout or zoom. Continuous scrolling never snaps between pages. PDF ఏ లేఅవుట్ను గానీ జూమ్ను గానీ కోరనప్పుడు ఉపయోగించబడుతుంది. నిరంతర స్క్రోలింగ్ పేజీల మధ్య ఎప్పుడూ స్నాప్ అవ్వదు.
|
||||
Reopen the files that were open when PdfCraft last closed PdfCraftను చివరిసారి మూసివేసినప్పుడు తెరిచి ఉన్న ఫైల్లను మళ్లీ తెరువు
|
||||
Reload documents when their files change on disk డిస్క్లో వాటి ఫైల్లు మారినప్పుడు పత్రాలను మళ్లీ లోడ్ చేయి
|
||||
Always use my default zoom and page layout ఎల్లప్పుడూ నా డిఫాల్ట్ జూమ్ మరియు పేజీ లేఅవుట్ను ఉపయోగించు
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. ఈ ఫైల్ డిస్క్లో మారింది. రీలోడ్ కొత్త వెర్షన్ను చూపించి సేవ్ చేయని మార్పులను వదిలేస్తుంది; సేవ్ దాని స్థానంలో ఈ వెర్షన్ను ఉంచుతుంది.
|
||||
Reload మళ్లీ లోడ్ చేయి
|
||||
Couldn't reload {name}: {e} {name}ను మళ్లీ లోడ్ చేయడం సాధ్యం కాలేదు: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 13 and column 16.
|
@@ -2308,6 +2308,7 @@ key Space Boşluk
|
||||
Printer paper and scaling may differ. Check driver settings. Yazıcı kâğıdı ve ölçekleme farklı olabilir. Sürücü ayarlarını kontrol edin.
|
||||
Drawing scale changes. Use Actual size for full-scale plans. Çizim ölçeği değişir. Tam ölçekli planlar için Gerçek boyutu kullanın.
|
||||
Reload documents when their files change on disk Diskteki dosyaları değiştiğinde belgeleri yeniden yükle
|
||||
Always use my default zoom and page layout Her zaman varsayılan yakınlaştırmamı ve sayfa düzenimi kullan
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Bu dosya diskte değişti. Yeniden yükle yeni sürümü gösterir ve kaydedilmemiş değişikliklerinizi atar; Kaydet onu bu sürümle değiştirir.
|
||||
Reload Yeniden yükle
|
||||
Couldn't reload {name}: {e} {name} yeniden yüklenemedi: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 855 and column 9.
|
@@ -2333,6 +2333,7 @@ key Space Пробіл
|
||||
Printer paper and scaling may differ. Check driver settings. Папір і масштаб принтера можуть відрізнятися. Перевірте налаштування драйвера.
|
||||
Drawing scale changes. Use Actual size for full-scale plans. Масштаб креслення змінюється. Для друку в початковому масштабі виберіть Фактичний розмір.
|
||||
Reload documents when their files change on disk Перезавантажувати документи, коли їхні файли змінюються на диску
|
||||
Always use my default zoom and page layout Завжди використовувати мій типовий масштаб і макет сторінок
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. Цей файл змінено на диску. «Перезавантажити» покаже нову версію й відкине незбережені зміни; «Зберегти» замінить її цією версією.
|
||||
Reload Перезавантажити
|
||||
Couldn't reload {name}: {e} Не вдалося перезавантажити {name}: {e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -964,6 +964,7 @@ theme Appearance Giao diện
|
||||
Redaction code: Mã xóa nội dung nhạy cảm:
|
||||
Reload Tải lại
|
||||
Reload documents when their files change on disk Tải lại tài liệu khi tệp của chúng thay đổi trên đĩa
|
||||
Always use my default zoom and page layout Luôn dùng thu phóng và bố cục trang mặc định của tôi
|
||||
Remove checkmark Bỏ dấu kiểm
|
||||
Remove invalid links and bookmarks Gỡ các liên kết và dấu trang không hợp lệ
|
||||
Remove page Gỡ trang
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 491 and column 12.
|
@@ -2135,6 +2135,7 @@
|
||||
Used when a PDF doesn't ask for a layout or zoom. Continuous scrolling never snaps between pages. PDF 未指定布局或缩放时使用。连续滚动时页面不会逐页吸附。
|
||||
Reopen the files that were open when PdfCraft last closed 重新打开上次关闭 PdfCraft 时打开的文件
|
||||
Reload documents when their files change on disk 文件在磁盘上更改时重新加载对应的文档
|
||||
Always use my default zoom and page layout 始终使用我的默认缩放和页面布局
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. 此文件已在磁盘上更改。“重新加载”显示新版本并放弃未保存的更改;“保存”则用此版本替换它。
|
||||
Reload 重新加载
|
||||
Couldn't reload {name}: {e} 无法重新加载{name}:{e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -2185,6 +2185,7 @@ key Space 空格
|
||||
Tools 工具
|
||||
Inspector 檢查器
|
||||
Reload documents when their files change on disk 檔案在磁碟上變更時重新載入對應的文件
|
||||
Always use my default zoom and page layout 一律使用我的預設縮放與頁面佈局
|
||||
This file changed on disk. Reload shows the new version and drops your unsaved changes; Save replaces it with this version. 此檔案已在磁碟上變更。「重新載入」會顯示新版本並捨棄未儲存的變更;「儲存」則會以此版本取代它。
|
||||
Reload 重新載入
|
||||
Couldn't reload {name}: {e} 無法重新載入{name}:{e}
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -368,6 +368,7 @@ pub(crate) fn preferences_body(ui: &mut egui::Ui, app: &mut PdfCraftApp, t: &Tok
|
||||
.small()
|
||||
.color(t.text_muted),
|
||||
);
|
||||
ui.add(widgets::checkbox(&mut app.always_default_view, tl!("Always use my default zoom and page layout")));
|
||||
ui.horizontal(|ui| {
|
||||
ui.label(tl!("Units"));
|
||||
for u in crate::units::Unit::ALL {
|
||||
|
||||
+41
-21
@@ -6,6 +6,8 @@
|
||||
//! `pdfcraft-engine`.
|
||||
|
||||
#![deny(clippy::unwrap_used, clippy::expect_used, clippy::panic, clippy::unimplemented, clippy::todo, clippy::unreachable)]
|
||||
// The settings object in `persist` is one `json!` literal past the default limit of 128.
|
||||
#![recursion_limit = "256"]
|
||||
|
||||
/// Whether `a` and `b` name the same file: equal, or equal once made absolute against the
|
||||
/// current directory (links are not resolved, as in `last_session`).
|
||||
@@ -582,6 +584,9 @@ pub struct PdfCraftApp {
|
||||
quit_session: Option<last_session::LastSession>,
|
||||
/// Preferences: reload a document when its file changes on disk (#431).
|
||||
pub reload_changed_files: bool,
|
||||
/// Preferences: open every document at Default zoom and Default page display, whatever
|
||||
/// layout or zoom it asks for (#1618).
|
||||
pub always_default_view: bool,
|
||||
/// Open documents' files, watched for changes on disk.
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
pub(crate) watch: file_watch::FileWatch,
|
||||
@@ -952,6 +957,7 @@ impl PdfCraftApp {
|
||||
last_session: Default::default(),
|
||||
quit_session: None,
|
||||
reload_changed_files: true,
|
||||
always_default_view: false,
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
watch: Default::default(),
|
||||
#[cfg(not(target_arch = "wasm32"))]
|
||||
@@ -1106,7 +1112,8 @@ impl PdfCraftApp {
|
||||
}
|
||||
|
||||
/// Open a document the way it asks to be opened: navigation panel, layout, magnification,
|
||||
/// page (Document Properties ▸ Initial View).
|
||||
/// page (Document Properties ▸ Initial View). With Always use my default zoom and page
|
||||
/// layout on, the layout and magnification stay at the defaults the view opened with.
|
||||
fn apply_initial_view(&mut self, index: usize, v: &pdfcraft_engine::InitialView) {
|
||||
use pdfcraft_engine::{InitialLayout as L, Magnification as M, Navigation as N};
|
||||
let pages = self.session.get(self.views[index].id).map_or(0, |d| d.info.pages.len());
|
||||
@@ -1120,29 +1127,31 @@ impl PdfCraftApp {
|
||||
}
|
||||
}
|
||||
let view = &mut self.views[index];
|
||||
match v.layout {
|
||||
// The view opened in Default page display already.
|
||||
L::Default => {}
|
||||
L::SinglePage => (view.layout, view.continuous) = (canvas::PageLayout::Single, false),
|
||||
L::SinglePageContinuous => (view.layout, view.continuous) = (canvas::PageLayout::Single, true),
|
||||
L::TwoUp => (view.layout, view.continuous) = (canvas::PageLayout::TwoUp, false),
|
||||
L::TwoUpContinuous => (view.layout, view.continuous) = (canvas::PageLayout::TwoUp, true),
|
||||
L::TwoUpCoverPage => {
|
||||
(view.layout, view.continuous, view.cover) = (canvas::PageLayout::TwoUp, false, true);
|
||||
if !self.always_default_view {
|
||||
match v.layout {
|
||||
// The view opened in Default page display already.
|
||||
L::Default => {}
|
||||
L::SinglePage => (view.layout, view.continuous) = (canvas::PageLayout::Single, false),
|
||||
L::SinglePageContinuous => (view.layout, view.continuous) = (canvas::PageLayout::Single, true),
|
||||
L::TwoUp => (view.layout, view.continuous) = (canvas::PageLayout::TwoUp, false),
|
||||
L::TwoUpContinuous => (view.layout, view.continuous) = (canvas::PageLayout::TwoUp, true),
|
||||
L::TwoUpCoverPage => {
|
||||
(view.layout, view.continuous, view.cover) = (canvas::PageLayout::TwoUp, false, true);
|
||||
}
|
||||
L::TwoUpContinuousCoverPage => {
|
||||
(view.layout, view.continuous, view.cover) = (canvas::PageLayout::TwoUp, true, true);
|
||||
}
|
||||
}
|
||||
L::TwoUpContinuousCoverPage => {
|
||||
(view.layout, view.continuous, view.cover) = (canvas::PageLayout::TwoUp, true, true);
|
||||
match v.magnification {
|
||||
// The view opened at the default zoom already.
|
||||
M::Default => {}
|
||||
M::ActualSize => view.set_zoom(1.0),
|
||||
M::Percent(p) => view.set_zoom((p / 100.0) as f32),
|
||||
M::FitPage | M::FitVisible => view.fit = canvas::Fit::Page,
|
||||
M::FitWidth => view.fit = canvas::Fit::Width,
|
||||
M::FitHeight => view.fit = canvas::Fit::Height,
|
||||
}
|
||||
}
|
||||
match v.magnification {
|
||||
// The view opened at the default zoom already.
|
||||
M::Default => {}
|
||||
M::ActualSize => view.set_zoom(1.0),
|
||||
M::Percent(p) => view.set_zoom((p / 100.0) as f32),
|
||||
M::FitPage | M::FitVisible => view.fit = canvas::Fit::Page,
|
||||
M::FitWidth => view.fit = canvas::Fit::Width,
|
||||
M::FitHeight => view.fit = canvas::Fit::Height,
|
||||
}
|
||||
if v.page > 0 && v.page < pages {
|
||||
view.go_to_page(v.page);
|
||||
}
|
||||
@@ -2307,6 +2316,7 @@ impl PdfCraftApp {
|
||||
"default_mode": self.default_mode,
|
||||
"default_layout": canvas::display_token(self.view_defaults.layout, self.view_defaults.continuous),
|
||||
"default_zoom": self.view_defaults.zoom_name(),
|
||||
"always_default_view": self.always_default_view,
|
||||
"highlight_fields": self.view_defaults.highlight_fields,
|
||||
"units": self.units,
|
||||
"language": self.language,
|
||||
@@ -2416,6 +2426,9 @@ impl PdfCraftApp {
|
||||
if let Ok(units) = serde_json::from_value::<units::Unit>(v["units"].clone()) {
|
||||
self.units = units;
|
||||
}
|
||||
if let Some(on) = v["always_default_view"].as_bool() {
|
||||
self.always_default_view = on;
|
||||
}
|
||||
if let Some(on) = v["highlight_fields"].as_bool() {
|
||||
self.view_defaults.highlight_fields = on;
|
||||
}
|
||||
@@ -2672,6 +2685,13 @@ impl PdfCraftApp {
|
||||
self.view_defaults =
|
||||
self.view_defaults.with_zoom(value).ok_or("default-zoom must be fit-width, fit-page or a percentage from 8 to 6400")?;
|
||||
}
|
||||
("always-default-view", _) => {
|
||||
self.always_default_view = match value {
|
||||
"on" => true,
|
||||
"off" => false,
|
||||
_ => return Err("always-default-view must be on or off".into()),
|
||||
};
|
||||
}
|
||||
("tools-side", _) => self.docking.set_tools_on_right(match value {
|
||||
"left" => false,
|
||||
"right" => true,
|
||||
|
||||
@@ -762,6 +762,57 @@ fn the_rail_zoom_field_sets_a_typed_zoom() {
|
||||
assert_eq!(h.get_by_role_and_label(Role::TextInput, "Zoom").value().as_deref(), Some("200%"));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn always_use_my_default_zoom_and_page_layout_ignores_what_the_pdf_asks_for() {
|
||||
use pdfcraft_ui_egui::canvas::{Fit, PageLayout};
|
||||
// Opens on page 2 at fit page, two pages side by side.
|
||||
let asks = String::from_utf8_lossy(PAGES).replace("/Pages 2 0 R >>", "/Pages 2 0 R /OpenAction [4 0 R /Fit] /PageLayout /TwoPageLeft >>");
|
||||
let open = |always: Option<&str>| {
|
||||
let mut app = PdfCraftApp::new();
|
||||
app.set_option("language", "en").unwrap();
|
||||
if let Some(on) = always {
|
||||
app.set_option("always-default-view", on).unwrap();
|
||||
}
|
||||
app.open_bytes("asks.pdf", None, asks.clone().into_bytes()).expect("opens");
|
||||
let v = &app.views[0];
|
||||
(v.fit, v.layout, v.continuous, v.current)
|
||||
};
|
||||
// Off by default: the document's view wins.
|
||||
assert_eq!(open(None), (Fit::Page, PageLayout::TwoUp, false, 1));
|
||||
assert_eq!(open(Some("off")), (Fit::Page, PageLayout::TwoUp, false, 1));
|
||||
// On: Default zoom and Default page display; the page it opens at is still the document's.
|
||||
assert_eq!(open(Some("on")), (Fit::Width, PageLayout::Single, true, 1));
|
||||
assert!(PdfCraftApp::new().set_option("always-default-view", "yes").is_err());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn always_use_my_default_zoom_and_page_layout_survives_a_restart() {
|
||||
let mut app = PdfCraftApp::new();
|
||||
assert!(!app.always_default_view, "off by default");
|
||||
app.always_default_view = true;
|
||||
let mut restarted = PdfCraftApp::new();
|
||||
restarted.restore(&app.persist());
|
||||
assert!(restarted.always_default_view, "the choice is kept");
|
||||
restarted.restore(r#"{"always_default_view":"bogus"}"#);
|
||||
assert!(restarted.always_default_view, "garbage leaves it alone");
|
||||
let mut legacy = PdfCraftApp::new();
|
||||
legacy.restore("{}");
|
||||
assert!(!legacy.always_default_view, "a legacy file without the key keeps it off");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn preferences_turn_on_always_use_my_default_zoom_and_page_layout() {
|
||||
use egui_kittest::kittest::Queryable;
|
||||
let mut h = harness(&[]);
|
||||
assert!(h.state_mut().execute("app.preferences"));
|
||||
h.run_steps(3);
|
||||
h.get_by_label("Always use my default zoom and page layout").scroll_to_me();
|
||||
h.run_steps(4);
|
||||
h.get_by_label("Always use my default zoom and page layout").click();
|
||||
h.run_steps(2);
|
||||
assert!(h.state().always_default_view);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn preferences_set_the_default_zoom() {
|
||||
use egui_kittest::kittest::Queryable;
|
||||
|
||||
@@ -9816,8 +9816,8 @@ milestone = "M14"
|
||||
status = "partial"
|
||||
commands = []
|
||||
tools = []
|
||||
evidence = ["crates/ui-egui/tests/view.rs::default_page_display_is_used_for_new_documents", "crates/ui-egui/tests/view.rs::default_zoom_is_used_for_new_documents", "crates/ui-egui/tests/view.rs::preferences_set_the_default_zoom"]
|
||||
notes = "Preferences ▸ Documents and view: Default page display and Default zoom (Fit to width, Zoom to page level or a percentage) for every new tab; a PDF that asks for a layout or zoom gets it. Missing: Acrobat's resolution, rendering and page-content options"
|
||||
evidence = ["crates/ui-egui/tests/view.rs::default_page_display_is_used_for_new_documents", "crates/ui-egui/tests/view.rs::default_zoom_is_used_for_new_documents", "crates/ui-egui/tests/view.rs::preferences_set_the_default_zoom", "crates/ui-egui/tests/view.rs::always_use_my_default_zoom_and_page_layout_ignores_what_the_pdf_asks_for"]
|
||||
notes = "Preferences ▸ Documents and view: Default page display and Default zoom (Fit to width, Zoom to page level or a percentage) for every new tab; a PDF that asks for a layout or zoom gets it, unless Always use my default zoom and page layout is on. Missing: Acrobat's resolution, rendering and page-content options"
|
||||
|
||||
[[feature]]
|
||||
id = "misc.prefs-documents"
|
||||
|
||||
Reference in New Issue
Block a user