mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-24 10:23:02 +00:00
* feat(ui): preference to hide author-only highlight hover previews (#1432) * Keep the Identity heading, translate the new hover preference, move its persist key out of json! The heading rename dropped the existing Identity translation in every catalog; the new checkbox label now has an entry in every catalog. The json! object in persist() is at serde_json's recursion limit, so the new key is set after it like redact_prefs. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * cargo fmt Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Refresh catalog hashes after merging main --------- Co-authored-by: Brandon Thomas <echelon@gmail.com> Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
+22
-22
@@ -7,7 +7,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Greek UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "7d1ae0d63cff95e85eea863831791c0a967a908e4062ab220ff2f3b0b77aee96"
|
||||
sha256 = "3476a5c81ffadc4583688aa6d3bc4456b2b13a16d8daf8cd2b650e764d89ff9d"
|
||||
|
||||
# ATTRIBUTION.toml: one entry per asset (AGENTS.md §1). The source of truth for provenance and licences.
|
||||
# ATTRIBUTION.md is generated from this file: `cargo xtask assets --write`. Checked by `cargo xtask assets` (part of `xtask ci`).
|
||||
@@ -30,7 +30,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Simplified Chinese UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "3d558b2d0ed089b1f554d9aa8d66c56a5e91f8f3ceb33031dc68bc8d511d4eb6"
|
||||
sha256 = "c5651b392263a30db0cd6c086e132edcc3ac4fab9a64fd786161bd5917c8d7bb"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/zh-hant.tsv"
|
||||
@@ -41,7 +41,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Traditional Chinese UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "4857aa037856ff8e2ba82dea4b630f42c611d6817c9677bf2c6a8133c57927f8"
|
||||
sha256 = "de71e41c22a8154ea46da3ecab69f5b972c8c8f81fa4393e12e449ab598e000f"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/cs.tsv"
|
||||
@@ -52,7 +52,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Czech UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "074d09497b6407d978f3ffd05cac81d52d1ddfe6c4ce8b0f564a00a203ec4579"
|
||||
sha256 = "cbfa1b7938f52b6d39cec95612bea3bbff5822e2d62f2e1e9871b92bab7efd34"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/pt-br.tsv"
|
||||
@@ -63,7 +63,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Brazilian Portuguese UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "69c2fb412e7b5a7ef5ab9740ba9b29ba4e9509668623c7eef298d8cc06ad1068"
|
||||
sha256 = "018fd6acbab584c8fa1b49d5950e03e4209f9d073ea83d23bd57c5a114ef35d7"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/es.tsv"
|
||||
@@ -74,7 +74,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Spanish UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "9b32ef11741bca8b79d51daacfda0690ea0ec829bb2691d9b60543ccff2ccede"
|
||||
sha256 = "fa5e2462162d403c2c2d341a8d8534945724215dd21f6585ff79797dbdefb47a"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/fr.tsv"
|
||||
@@ -85,7 +85,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "French UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "b6a451c484551d270b5efc42d91984d16fcc5d7c09930cc5a5339d430a7b96f9"
|
||||
sha256 = "d5a3a04bf5cd9ddb2e67d5e4c938508c3f6536806f8a476445c5fea90d275e4c"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/de.tsv"
|
||||
@@ -96,7 +96,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "German UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "28521cc75735a14a7b44f02d67a46ae54821f9f19e8d352513213ffcf529d7ee"
|
||||
sha256 = "1a30e7994b3dfbcca19a6a8a3c7fde8593b4bf7bb546bd2b266b274f3a224c2e"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/te.tsv"
|
||||
@@ -107,7 +107,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Telugu UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "db0205e928f498b0674fb84c604b45c7c83d23f170ee98c8d8a807c56422eb3d"
|
||||
sha256 = "3bd44d5996cebc76481d9dd2ded478bbbe2cf5fd24892ad8702a2ed059cbbfa9"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/it.tsv"
|
||||
@@ -118,7 +118,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Italian UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "817fce18112db6084a03405d58ae110ed90d7fddc014b6c0af10a5e79ef4d906"
|
||||
sha256 = "0dd303b34e6ccbbed8c030e876a696bf555b8d33abac55ca02e415a5a987f067"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/pl.tsv"
|
||||
@@ -129,7 +129,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Polish UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "e9b507a72ac306bac9c3b6f4bb3917064b811fe60eb0041cda0b26349d469e95"
|
||||
sha256 = "7d59c4324d82ad3be522ce6cff16e5101334b6d816e8d920c529ba2151aa4233"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/ru.tsv"
|
||||
@@ -140,7 +140,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Russian UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "c400f2e8bd7cd0a49ac31c2c4fd4a2fab1a50a539e0a68ebba4cc028427e0fbb"
|
||||
sha256 = "7f1b964b5ac341c3d6e8b3328a319a2c9d7e6ca358255a155fb3499cb9bb9ee8"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/hu.tsv"
|
||||
@@ -151,7 +151,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Hungarian UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "c76086602063239d59fd8e54b2ea282dae1b22f7118437e4358ce3c35cc8f435"
|
||||
sha256 = "c1404eee8a87dde7d0900eb61f945518281e17edae26cc5615dc64e7f3335ee9"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/bg.tsv"
|
||||
@@ -162,7 +162,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Bulgarian UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "3222d3448ac0d8020dfe5d8a0b3c5e3b6d93a26c54105f996de056569bfa64f4"
|
||||
sha256 = "433e5246288f0d27ed10463fe1c33461493a32f2f793684b001546678ade2195"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/kk.tsv"
|
||||
@@ -173,7 +173,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Kazakh UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "48480d411ecd9923a1c5ceae5ca8925a5a2eb660cdacd08df77054ce3a014db8"
|
||||
sha256 = "70cd926ae324621d24b6c75519ccab8dfa88f7b6a64a5d52bcf8b115d3ad8e27"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/ja.tsv"
|
||||
@@ -184,7 +184,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Japanese UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "3e09f5942b85f677b0cf8b3b326a2ca1896eae205c1c86c283891148f1b2dca4"
|
||||
sha256 = "fc29daaff6f6377ab0a9e76a64995a0210f894251872d0d9a9a59e721bf542e1"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/uk.tsv"
|
||||
@@ -195,7 +195,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Ukrainian UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "d28704a4803f764ffa52f308332636c9846832c4cf3a22093b9c1253afe512e6"
|
||||
sha256 = "cfa46745d42d4d4e14f6b3d941d83006129ae331e47a87a3ef673087ad7cb292"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/ar.tsv"
|
||||
@@ -206,7 +206,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Arabic UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "a5f8e4e269f3ee2f466ed8bf2e2bb629fd0e79f149f0a536d7f64c26919b07b4"
|
||||
sha256 = "7ee8a57e49498a4a062d04d995a1129034c8e006defaf927460cf5dcf3c19e0e"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/tr.tsv"
|
||||
@@ -217,7 +217,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Turkish UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "7be55c126ff56daf887ef1faf5bce8e0630dcc791adf5a57d772f28a3060aca7"
|
||||
sha256 = "398c94f07f44ba96f803e3ac64faf606562c5c9a5dc02765c1ed10a648c7251e"
|
||||
|
||||
[[asset]]
|
||||
path = "crates/ui-egui/src/i18n/lt.tsv"
|
||||
@@ -228,7 +228,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Lithuanian UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "137d522b0b8746519a8d2cfaad3908d4fa3e4fd80eb6a1233a4c693d4492e7aa"
|
||||
sha256 = "7affbbad51af9b4fd54aec7fb118500a81f145eea79070a61e645f989449560b"
|
||||
|
||||
|
||||
[[asset]]
|
||||
@@ -240,7 +240,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Vietnamese UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "5a14dc07d02b4b5ca6c5e06cfe80f459d195791bf42f0f2a75a73fc8292f57b1"
|
||||
sha256 = "1ea1b1ebc84ad7f84efafd6777469259709dc9f4c9ed93147f2522433d42ff5c"
|
||||
|
||||
[[asset]]
|
||||
path = "assets/icons/accessibility.svg"
|
||||
@@ -3363,7 +3363,7 @@ licence = "MIT OR Apache-2.0"
|
||||
licence_file = "LICENSE-MIT"
|
||||
kind = "translation"
|
||||
usage = "Slovene UI strings, compiled in by crates/ui-egui/src/i18n/mod.rs"
|
||||
sha256 = "ddaec4954dd6b46e089ae31da9c012d10a03da33ee138b07793e869f3813d5c3"
|
||||
sha256 = "7a4558dc2e1fdbfc254b823839db49d05c6113fdf3414d250895b3063d916bba"
|
||||
|
||||
[[asset]]
|
||||
path = "vendor/vello_common/assets/probe.png"
|
||||
|
||||
@@ -3222,8 +3222,10 @@ pub fn document_area(app: &mut PdfCraftApp, index: usize, ui: &mut egui::Ui) {
|
||||
let gesturing = view.comments.gesture.is_some() || freehand;
|
||||
for a in info.annotations.iter().filter(|a| a.page == i && !gesturing) {
|
||||
let sr = xf.user_rect(info, i, a.rect);
|
||||
let hidden = prefs.hide_empty_highlight_hover && a.subtype == "Highlight" && a.contents.as_deref().is_none_or(str::is_empty);
|
||||
if sr.contains(p)
|
||||
&& hover_text.is_none()
|
||||
&& !hidden
|
||||
&& let Some(text) = annotation_hover_text(a)
|
||||
{
|
||||
hover_text = Some((p, text));
|
||||
|
||||
@@ -250,6 +250,8 @@ pub struct CommentPrefs {
|
||||
pub pinned: bool,
|
||||
/// The tool each flyout group shows (the last one used).
|
||||
pub group_tool: [CommentTool; 3],
|
||||
/// Hide hover previews on highlight annotations when they contain no comment text beyond the author.
|
||||
pub hide_empty_highlight_hover: bool,
|
||||
}
|
||||
|
||||
impl Default for CommentPrefs {
|
||||
@@ -259,6 +261,7 @@ impl Default for CommentPrefs {
|
||||
styles: ALL.iter().map(|t| (*t, Style::default_for(&t.sample()))).collect(),
|
||||
pinned: false,
|
||||
group_tool: [CommentTool::Note, CommentTool::Highlight, CommentTool::Ink],
|
||||
hide_empty_highlight_hover: false,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. يتبع الوضع التلقائي حجم النص في النظام. تُعرض الصفحات دائمًا بالدقة الكاملة للشاشة.
|
||||
Identity الهوية
|
||||
Name on new comments الاسم على التعليقات الجديدة
|
||||
Hide hover previews for highlights without comment text إخفاء معاينات التمرير للتظليلات التي لا تحتوي على نص تعليق
|
||||
Open… فتح…
|
||||
Open Recent فتح الملفات الأخيرة
|
||||
Pin folder to Home… تثبيت مجلد في الصفحة الرئيسية…
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -60,6 +60,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. Автоматично следва размера на текста в системата. Страниците винаги се изобразяват с пълната разделителна способност на екрана.
|
||||
Identity Самоличност
|
||||
Name on new comments Име в новите коментари
|
||||
Hide hover previews for highlights without comment text Скриване на прегледите при посочване за маркирания без текст на коментар
|
||||
Open… Отвори…
|
||||
Open Recent Последно отваряни
|
||||
Pin folder to Home… Закачи папка в Начало…
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 8 and column 16.
|
@@ -40,6 +40,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. Automaticky se řídí velikostí textu v systému. Stránky se vždy vykreslují v plném rozlišení displeje.
|
||||
Identity Identita
|
||||
Name on new comments Jméno autora nových komentářů
|
||||
Hide hover previews for highlights without comment text Skrýt náhledy při najetí u zvýraznění bez textu komentáře
|
||||
Enable Acrobat JavaScript Povolit Acrobat JavaScript
|
||||
OK OK
|
||||
Open… Otevřít…
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -23,6 +23,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. Automatisch folgt der Textgröße des Systems. Seiten werden immer in der vollen Auflösung des Bildschirms dargestellt.
|
||||
Identity Identität
|
||||
Name on new comments Name für neue Kommentare
|
||||
Hide hover previews for highlights without comment text Hover-Vorschau für Hervorhebungen ohne Kommentartext ausblenden
|
||||
Open… Öffnen…
|
||||
New blank PDF Neues leeres PDF
|
||||
Create PDF from file… PDF aus Datei erstellen…
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 51.
|
@@ -16,6 +16,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. Η αυτόματη ρύθμιση ακολουθεί το μέγεθος κειμένου του συστήματος. Οι σελίδες αποδίδονται πάντα στην πλήρη ανάλυση της οθόνης.
|
||||
Identity Ταυτότητα
|
||||
Name on new comments Όνομα στα νέα σχόλια
|
||||
Hide hover previews for highlights without comment text Απόκρυψη προεπισκοπήσεων κατά την αιώρηση για επισημάνσεις χωρίς κείμενο σχολίου
|
||||
Open… Άνοιγμα…
|
||||
Open Recent Άνοιγμα πρόσφατων
|
||||
Clear Recent Files Εκκαθάριση πρόσφατων αρχείων
|
||||
|
||||
|
@@ -23,6 +23,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. Automático sigue el tamaño del texto del sistema. Las páginas siempre se muestran con la resolución completa de la pantalla.
|
||||
Identity Identidad
|
||||
Name on new comments Nombre en los comentarios nuevos
|
||||
Hide hover previews for highlights without comment text Ocultar las vistas previas al pasar el puntero en resaltados sin texto de comentario
|
||||
Open… Abrir…
|
||||
Open Recent Abrir recientes
|
||||
Clear Recent Files Borrar archivos recientes
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 60.
|
@@ -23,6 +23,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. Automatique suit la taille du texte du système. Les pages sont toujours rendues à la pleine résolution de l'écran.
|
||||
Identity Identité
|
||||
Name on new comments Nom sur les nouveaux commentaires
|
||||
Hide hover previews for highlights without comment text Masquer les aperçus au survol des surlignages sans texte de commentaire
|
||||
Open… Ouvrir…
|
||||
New blank PDF Nouveau PDF vierge
|
||||
Create PDF from file… Créer un PDF à partir d'un fichier…
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 39.
|
@@ -23,6 +23,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. Az Automatikus beállítás a rendszer szövegméretét követi. Az oldalak mindig a kijelző teljes felbontásában jelennek meg.
|
||||
Identity Személyazonosság
|
||||
Name on new comments Név az új megjegyzéseken
|
||||
Hide hover previews for highlights without comment text Megjegyzésszöveg nélküli kiemelések előnézetének elrejtése rámutatáskor
|
||||
Open… Megnyitás…
|
||||
New blank PDF Új üres PDF
|
||||
Create PDF from file… PDF létrehozása fájlból…
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 7 and column 44.
|
@@ -29,6 +29,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. Auto segue la dimensione del testo del sistema. Le pagine vengono sempre visualizzate alla piena risoluzione dello schermo.
|
||||
Identity Identità
|
||||
Name on new comments Nome sui nuovi commenti
|
||||
Hide hover previews for highlights without comment text Nascondi le anteprime al passaggio del puntatore per le evidenziazioni senza testo di commento
|
||||
Open… Apri…
|
||||
Open Recent Apri recenti
|
||||
Pin folder to Home… Fissa una cartella sulla Home…
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -29,6 +29,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. 自動にすると、システムの文字サイズに合わせます。ページは常にディスプレイの最大解像度で描画されます。
|
||||
Identity 個人情報
|
||||
Name on new comments 新しい注釈の作成者名
|
||||
Hide hover previews for highlights without comment text コメントテキストのないハイライトのホバープレビューを非表示にする
|
||||
Open… 開く…
|
||||
Open Recent 最近のファイルを開く
|
||||
Clear Recent Files 最近のファイルをクリア
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -9,6 +9,7 @@
|
||||
Interface language Интерфейс тілі
|
||||
Identity Жеке деректер
|
||||
Name on new comments Жаңа түсініктемелердегі аты
|
||||
Hide hover previews for highlights without comment text Түсініктеме мәтіні жоқ белгілеулер үшін меңзер алдын ала қарауын жасыру
|
||||
Open… Ашу…
|
||||
Open Recent Соңғы файлдарды ашу
|
||||
Pin folder to Home… Қалтаны Басты бетке бекіту…
|
||||
|
||||
|
@@ -22,6 +22,7 @@
|
||||
Auto ({percent}%) Automatiškai ({percent} %)
|
||||
Identity Tapatybė
|
||||
Name on new comments Naujų komentarų autoriaus vardas
|
||||
Hide hover previews for highlights without comment text Slėpti užvedimo peržiūras paryškinimams be komentaro teksto
|
||||
Open… Atverti…
|
||||
Open Recent Atverti paskiausiai naudotus failus
|
||||
Clear Recent Files Išvalyti paskiausiai naudotų failų sąrašą
|
||||
|
||||
|
@@ -26,6 +26,7 @@
|
||||
Interface language Język interfejsu
|
||||
Identity Tożsamość
|
||||
Name on new comments Autor nowych komentarzy
|
||||
Hide hover previews for highlights without comment text Ukryj podglądy po najechaniu dla wyróżnień bez tekstu komentarza
|
||||
Open… Otwórz…
|
||||
Open Recent Otwórz ostatnie
|
||||
Clear Recent Files Wyczyść listę ostatnich plików
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -23,6 +23,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. Automático segue o tamanho do texto do sistema. As páginas sempre são exibidas na resolução total da tela.
|
||||
Identity Identidade
|
||||
Name on new comments Nome nos novos comentários
|
||||
Hide hover previews for highlights without comment text Ocultar as prévias ao passar o ponteiro em destaques sem texto de comentário
|
||||
Open… Abrir…
|
||||
Open Recent Abrir recentes
|
||||
Clear Recent Files Limpar arquivos recentes
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -22,6 +22,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. В режиме «Авто» используется размер текста из настроек системы. Страницы всегда отображаются в полном разрешении экрана.
|
||||
Identity Идентификация
|
||||
Name on new comments Имя в новых комментариях
|
||||
Hide hover previews for highlights without comment text Скрывать всплывающий просмотр для выделений без текста комментария
|
||||
Open… Открыть…
|
||||
Open Recent Открыть недавние
|
||||
Clear Recent Files Очистить недавние файлы
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -1121,6 +1121,7 @@
|
||||
Name Ime
|
||||
Name (A–Z) Ime (A–Ž)
|
||||
Name on new comments Ime na novih komentarjih
|
||||
Hide hover previews for highlights without comment text Skrij predoglede ob lebdenju za označitve brez besedila komentarja
|
||||
Name: Ime:
|
||||
Named Destinations Poimenovani cilji
|
||||
Navigation links Navigacijske povezave
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -27,6 +27,7 @@ comment menu Edit సవరించు
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. ఆటో సిస్టమ్ టెక్స్ట్ పరిమాణాన్ని అనుసరిస్తుంది. పేజీలు ఎల్లప్పుడూ డిస్ప్లే పూర్తి రిజల్యూషన్లో చూపబడతాయి.
|
||||
Identity గుర్తింపు
|
||||
Name on new comments కొత్త వ్యాఖ్యలపై చూపే పేరు
|
||||
Hide hover previews for highlights without comment text వ్యాఖ్య వచనం లేని హైలైట్లకు హోవర్ ప్రివ్యూలను దాచు
|
||||
Open… తెరువు…
|
||||
New blank PDF కొత్త ఖాళీ PDF
|
||||
Create PDF from file… ఫైల్ నుండి PDF సృష్టించు…
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 13 and column 16.
|
@@ -15,6 +15,7 @@
|
||||
Interface language Arayüz dili
|
||||
Identity Kimlik
|
||||
Name on new comments Yeni yorumlardaki ad
|
||||
Hide hover previews for highlights without comment text Yorum metni olmayan vurgular için üzerine gelme önizlemelerini gizle
|
||||
Open… Aç…
|
||||
New blank PDF Yeni boş PDF
|
||||
Create PDF from file… Dosyadan PDF oluştur…
|
||||
|
||||
|
@@ -32,6 +32,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. Автоматичний режим використовує розмір тексту із системних налаштувань. Сторінки завжди відображаються в повній роздільній здатності екрана.
|
||||
Identity Особисті дані
|
||||
Name on new comments Ім’я в нових коментарях
|
||||
Hide hover previews for highlights without comment text Приховувати спливний перегляд для виділень без тексту коментаря
|
||||
Open… Відкрити…
|
||||
Open Recent Відкрити нещодавні
|
||||
Pin folder to Home… Закріпити теку на головній…
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -25,6 +25,7 @@
|
||||
Auto ({percent}%) Tự động ({percent}%)
|
||||
Identity Danh tính
|
||||
Name on new comments Tên trên bình luận mới
|
||||
Hide hover previews for highlights without comment text Ẩn bản xem trước khi di chuột cho các phần tô sáng không có nội dung nhận xét
|
||||
Open… Mở…
|
||||
Open Recent Mở gần đây
|
||||
Clear Recent Files Xóa tệp gần đây
|
||||
|
||||
|
@@ -63,6 +63,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. “自动”会跟随系统的文字大小。页面始终以显示器的完整分辨率渲染。
|
||||
Identity 身份
|
||||
Name on new comments 新注释的作者姓名
|
||||
Hide hover previews for highlights without comment text 隐藏无评论文字的高亮的悬停预览
|
||||
Open… 打开…
|
||||
Open Recent 打开最近的文件
|
||||
Clear Recent Files 清除最近的文件
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -22,6 +22,7 @@
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. 「自動」會跟隨系統的文字大小。頁面一律以螢幕的完整解析度呈現。
|
||||
Identity 個人資訊
|
||||
Name on new comments 新註解的作者名稱
|
||||
Hide hover previews for highlights without comment text 隱藏沒有註解文字的螢光標示的停留預覽
|
||||
Open… 開啟…
|
||||
Open Recent 開啟最近的檔案
|
||||
Clear Recent Files 清除最近的檔案
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -467,6 +467,7 @@ pub(crate) fn preferences_body(ui: &mut egui::Ui, app: &mut PdfCraftApp, t: &Tok
|
||||
let label = ui.label(tl!("Name on new comments"));
|
||||
ui.add(crate::widgets::line(&mut app.comment_prefs.author).desired_width(220.0).char_limit(crate::MAX_AUTHOR_CHARS)).labelled_by(label.id);
|
||||
});
|
||||
ui.add(widgets::checkbox(&mut app.comment_prefs.hide_empty_highlight_hover, tl!("Hide hover previews for highlights without comment text")));
|
||||
ui.add_space(8.0);
|
||||
ui.label(egui::RichText::new(tl!("Fill & Sign")).font(theme::semibold(13.0)));
|
||||
ui.add(widgets::checkbox(&mut app.flatten_fill_sign_on_save, tl!("Flatten Fill & Sign when saving")));
|
||||
|
||||
@@ -2277,6 +2277,8 @@ impl PdfCraftApp {
|
||||
});
|
||||
// Set apart: one more key inside the macro above passes serde_json's recursion limit.
|
||||
v["redact_prefs"] = self.redact_defaults.to_json();
|
||||
// Set outside json! above, which is at serde_json's macro recursion limit.
|
||||
v["hide_empty_highlight_hover"] = serde_json::Value::Bool(self.comment_prefs.hide_empty_highlight_hover);
|
||||
v.to_string()
|
||||
}
|
||||
|
||||
@@ -2378,6 +2380,9 @@ impl PdfCraftApp {
|
||||
if let Some(author) = v["author"].as_str().map(str::trim).filter(|a| !a.is_empty()) {
|
||||
self.comment_prefs.author = author.chars().take(MAX_AUTHOR_CHARS).collect();
|
||||
}
|
||||
if let Some(hide) = v["hide_empty_highlight_hover"].as_bool() {
|
||||
self.comment_prefs.hide_empty_highlight_hover = hide;
|
||||
}
|
||||
// Per-tool comment styles (#340): each field goes through its clamping setter, so a
|
||||
// malformed or hostile entry is clamped or ignored rather than trusted.
|
||||
if let Some(styles) = v["comment_styles"].as_array() {
|
||||
@@ -2687,6 +2692,13 @@ impl PdfCraftApp {
|
||||
};
|
||||
}
|
||||
("author", _) => self.comment_prefs.author = value.to_string(),
|
||||
("hide-empty-highlight-hover", _) => {
|
||||
self.comment_prefs.hide_empty_highlight_hover = match value {
|
||||
"true" => true,
|
||||
"false" => false,
|
||||
_ => return Err("hide-empty-highlight-hover must be true or false".into()),
|
||||
};
|
||||
}
|
||||
("ui-scale", _) => self.ui_scale = ui_scale::parse(value)?,
|
||||
("system-title-bar", _) => {
|
||||
self.system_title_bar = match value {
|
||||
|
||||
@@ -1244,6 +1244,37 @@ fn hovering_a_comment_shows_its_author_and_text() {
|
||||
assert!(h.query_by_label_contains("Check this figure").is_none(), "a dialog covers the page hover");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn preference_hides_author_only_highlight_hover_previews() {
|
||||
// A highlight annotation with author Ada and empty contents over the first page.
|
||||
let pdf = String::from_utf8_lossy(TEXT_FIXTURE).replace("/Contents 5 0 R /Resources", "/Contents 5 0 R /Annots [8 0 R] /Resources").replace(
|
||||
"trailer",
|
||||
"8 0 obj << /Type /Annot /Subtype /Highlight /Rect [50 50 150 120] /C [1 1 0] /T (Ada) /QuadPoints [50 120 150 120 50 50 150 50] >> endobj\ntrailer",
|
||||
);
|
||||
let mut h = Harness::builder().with_size(egui::vec2(1400.0, 900.0)).build_eframe(move |_cc| {
|
||||
let mut app = PdfCraftApp::new();
|
||||
app.set_option("language", "en").unwrap();
|
||||
app.open_bytes("highlight_hover.pdf", None, pdf.into_bytes()).expect("opens");
|
||||
app.set_option("left", "closed").unwrap();
|
||||
app.set_option("panel", "none").unwrap();
|
||||
app
|
||||
});
|
||||
h.run_steps(4);
|
||||
settle(&mut h);
|
||||
|
||||
let p = at(&h, 100.0, 85.0);
|
||||
// By default, author-only hover is shown.
|
||||
h.hover_at(p);
|
||||
h.run_steps(3);
|
||||
h.get_by_label("Ada");
|
||||
|
||||
// Enabling preference hides author-only highlight hover.
|
||||
h.state_mut().set_option("hide-empty-highlight-hover", "true").unwrap();
|
||||
h.hover_at(p);
|
||||
h.run_steps(3);
|
||||
assert!(h.query_by_label("Ada").is_none(), "author-only hover must be suppressed");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn the_squiggly_tool_marks_selected_text() {
|
||||
let mut h = harness(|_| {});
|
||||
|
||||
Reference in New Issue
Block a user