mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-11-02 06:28:49 -06:00
M3: a document that asks to open in Full Screen mode asks first (/PageMode /FullScreen) (#2086)
* M3: a document that asks to open in Full Screen mode asks first (/PageMode /FullScreen) The Initial View option "Open in Full Screen mode" was written and read but never acted on when opening. Now the app asks, as Acrobat's alert does: Full Screen enters it, Not now leaves the window as it is. A document cannot take the screen on its own. Refs #379, #1459. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01RUNQSPVXx3dDBabRZHAnjz * Refresh catalog hashes after merging main --------- Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com> Co-authored-by: Brandon Thomas <echelon@gmail.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
Brandon Thomas
parent
53267c66d5
commit
712ae9c36a
+21
-21
@@ -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 = "70da78d17186e3d91e952f9d1feb0f71ae03355eea5963f30d38496ee8802f80"
|
||||
sha256 = "0576900abcb7d419ec81843274632db330daaa5964c91ccb5933b2a3053257cc"
|
||||
|
||||
# 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 = "b4c3d8c6b181c2bec36d5b4cb28312b261cf17dcebc9e41f0b1bed2f3744b86d"
|
||||
sha256 = "aaf94f24b7fb7c7fcbbd9003ba01e8fe5e775497d5c691e161dadadb0a85ac18"
|
||||
|
||||
[[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 = "cbb627936023af9331e2a4441661f5bae43e2453cd325c920f09d86de18020e0"
|
||||
sha256 = "4d25e7a10678751d8fecf8ee8688e04343c807b9565a21e72bf784cdd8e30238"
|
||||
|
||||
[[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 = "9d7ded91862278510b7b0fd7c6c1ae953936a720535e33d89003c3aa50422ad7"
|
||||
sha256 = "bfa7f7d2cc008f676c5c533cda9f6b9415c8b6cfe43d2c88fab62440825cb57b"
|
||||
|
||||
[[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 = "4648d4afc78f8b37ea6f855471c0713c5c4e948c1b909da3aa406a81cb51135e"
|
||||
sha256 = "003747152cfb5f42ccb2b3e77351902a2594e2a263cc0750e122d6f1f94802d1"
|
||||
|
||||
[[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 = "cb8f794e06eedbb9cff34ac7b6b41cf2eba2a36d24daba7307854babae85a89f"
|
||||
sha256 = "dc3267d8d4882998e32de736fb28ebc247e5102530fea852caa585f1c43d3150"
|
||||
|
||||
[[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 = "6568887271ac5f0bc00c127b3270e9b4d5eedbd791e0268dcbea6b63c22672bd"
|
||||
sha256 = "869505afeb011a27067fa55f1521a8d06ab3efd026fed4854610816acca13926"
|
||||
|
||||
[[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 = "57b8ba03355ca1a866f234a0814f76be895a9499acdba8473bc5301e9cb55cf1"
|
||||
sha256 = "cffb456aac29be21da005ca52ae8131f0c07430e1723dd6da61073bba7501c8b"
|
||||
|
||||
[[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 = "67a57e49fc7c1ff984337b099da27e81f583197f0508aeac2fef819bbcf82edb"
|
||||
sha256 = "7db981779e3c478b51b8c8aba71a53dc8153165e31ea57096d1307d30027b658"
|
||||
|
||||
[[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 = "3188bd767d048d27ad70535d950202044611958f90a39bc738f5551b0494282d"
|
||||
sha256 = "6b6197bc0dd5b93813d5d6652c7ba2a3dc9b0d06eaed65292837a8f15d880f43"
|
||||
|
||||
[[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 = "0ee764524ec3fbacd1eb3f5a59f4f23c3041a658851dca0dc01a4c544df058fb"
|
||||
sha256 = "e6c9510edf8cb9677be5b830d6626740b8f2821799211701d8d16708fa9408b5"
|
||||
|
||||
[[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 = "0a2fc4ecdbbbe6e709730c3aa76b2dc7d3e9c9ea6de42a9b3ce9b6765d3c54eb"
|
||||
sha256 = "9f6d11f2ccf4c873a16d0f2ae3dddd449f7fad1238126b968ed8813e293d0ee8"
|
||||
|
||||
[[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 = "2e85a97fb2cfdb6bb20f1f8f79384a2984cae46cab7e56f6cec76a21995ab1e9"
|
||||
sha256 = "15f572ed291aebc26911915e7647aef30998787a2bc87128addd273a84678406"
|
||||
|
||||
[[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 = "2a55c0c380d45fa41d3f6461e42e351e0f2e3e7142e60546bf141fb4685866ba"
|
||||
sha256 = "35f1711fd3358dd29c784769bd9ff2094f977bf78cb9146eefa2f45f62f80d52"
|
||||
|
||||
[[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 = "c6caafd21bfb93fe1c53a1a2c1cbbbb0d74325b00aaab307e00eacdd6f2e02dc"
|
||||
sha256 = "8974dfe02d8c8f8453a156d68846f2171334fcda70d5fc795b53b52e13c2eb8f"
|
||||
|
||||
[[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 = "3374b7ef71dc8ec388493d45a7db280c881626af9e03694d032f586cae645397"
|
||||
sha256 = "5ef65d3f913a1f97cdd54a07f4cc819bf128dfc20de247eadb2519bb98c7f102"
|
||||
|
||||
[[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 = "d851673052fa3c794de1dfc83802caf09a1ce8a1156098c47ea151e53a28bf87"
|
||||
sha256 = "91da344ec2e6181f7c7b8f13dc0c878ccfe0600a8d464cbd188d082c6c402d4c"
|
||||
|
||||
[[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 = "de9609658581173eed2f3a565b59b920d4363f54f7a46148883f00600a2f88e5"
|
||||
sha256 = "3f7534373129ce75ef26a87aaef3f5074be3d8326ded9d2d77d873e24359ec87"
|
||||
|
||||
[[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 = "6b1e58e80045623c9e92a70f1bc84861b0e7935e0ed8c12fdb56b75af4612283"
|
||||
sha256 = "d045ebd97c1383e63ea8b9ff2a4279f8484357ff88b15f4bb4bb2cacce63022d"
|
||||
|
||||
[[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 = "484b28b1dbe0d9851a08c4a73178f85285a29019e09baa32533dfbccfec39b28"
|
||||
sha256 = "afd09cdbcb97339d57a0be0010512ba8336d1b40ffcfbd2b4730808851c71d64"
|
||||
|
||||
|
||||
[[asset]]
|
||||
@@ -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 = "d85b6bf3b62a82912aeb87ac97ca54fc6adb9dd79941117ee56cf198ede4d752"
|
||||
sha256 = "714b6a58f5cd4f0c9220e88d2d3f7c584b64829b0336e23d7893209c84babf5d"
|
||||
|
||||
[[asset]]
|
||||
path = "vendor/vello_common/assets/probe.png"
|
||||
|
||||
@@ -171,6 +171,7 @@ Ranked; detail and the full milestone table in [docs/roadmap.md](docs/roadmap.md
|
||||
- **2026-10-14 (M4, page transitions read, §12.4.4):** `/Trans` and `/Dur` are read into `DocInfo::transitions` and listed by `doc_info`, the data a full-screen presentation needs to play transitions and auto-advance; playing and editing them stay planned.
|
||||
- **2026-10-14 (M4, page transitions set, §12.4.4):** `page_transition_set` (one undoable edit) writes or removes `/Trans` and `/Dur` on chosen pages with the values checked first, the counterpart of reading them into `DocInfo::transitions`; playing them and the dialog stay planned.
|
||||
- **2026-10-14 (M12, transition geometry):** `pdfcraft_render::transition` gives the picture of any of the twelve page transitions at a moment of its run (which parts of the old and new page to paint, where, how opaque), in page fractions, tested for every style and direction; the full-screen presentation will paint from it once it plays transitions.
|
||||
- **2026-10-14 (M3, Open in Full Screen mode honoured):** a document with `/PageMode /FullScreen` now asks (Full Screen / Not now) before the app enters full screen, as Acrobat does; before, the setting was written and read but never acted on when opening.
|
||||
- **2026-10-13 (M3, native-opening candidate):** Chosen tools survive preparation, conversion and password retries; startup intake waits for pending preparation. Regression tests cover completion, cancellation and document identity. Estimates unchanged.
|
||||
- **2026-10-13 (community, M3, #531 touchpad momentum):** On Wayland a two-finger swipe keeps gliding after the fingers lift and slows to a stop, measured from the gesture's last 0.1 s and decaying with a 0.35 s time constant through the #759 1:1 path. Any wheel input, click, key, zoom or edge ends it (fingers resting on the touchpad don't yet: the vendored winit binds no Wayland hold gestures); single-page paging, macOS (which sends its own momentum), the web, and Animation effects Off never glide. Unit tests for the physics and two headless view tests. Estimates unchanged.
|
||||
- **2026-10-13 (M3, native-open admission):** Later prepared replies stay queued while a modal or native picker owns the foreground. Picker completion, cancellation and abandonment wake retained opens. Regressions cover recipient ownership, exactly-once admission, source/history preservation and one-shot repaint requests. Estimates unchanged.
|
||||
|
||||
@@ -20,6 +20,7 @@ fn dialogs(app: &mut PdfCraftApp, ctx: &egui::Context) {
|
||||
save_prompt(app, ctx);
|
||||
link_prompt(app, ctx);
|
||||
remote_link_prompt(app, ctx);
|
||||
full_screen_prompt(app, ctx);
|
||||
crate::updates::dialog(app, ctx);
|
||||
if app.dialog != Some(Dialog::WordCount) {
|
||||
app.word_count_draft.cancel();
|
||||
@@ -1532,6 +1533,48 @@ fn link_prompt(app: &mut PdfCraftApp, ctx: &egui::Context) {
|
||||
}
|
||||
}
|
||||
|
||||
/// A document that asks to open in Full Screen mode (`/PageMode /FullScreen`) is asked about
|
||||
/// first, as Acrobat does: full screen hides every control, so it is the person's choice.
|
||||
fn full_screen_prompt(app: &mut PdfCraftApp, ctx: &egui::Context) {
|
||||
let Some(id) = app.pending_full_screen else { return };
|
||||
// The document was closed before an answer: nothing to ask any more.
|
||||
if app.session.get(id).is_none() {
|
||||
app.pending_full_screen = None;
|
||||
return;
|
||||
}
|
||||
let t = Tokens::get(ctx);
|
||||
let mut choice = None;
|
||||
let modal = widgets::show_modal(ctx, "full_screen_prompt", |ui| {
|
||||
ui.set_width(460.0);
|
||||
ui.horizontal(|ui| {
|
||||
ui.add(crate::icons::image("maximize", 22.0, t.accent));
|
||||
ui.label(egui::RichText::new(tl!("Open in Full Screen mode?")).font(theme::semibold(16.0)));
|
||||
});
|
||||
ui.add_space(6.0);
|
||||
ui.add(
|
||||
egui::Label::new(tl!(
|
||||
"This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it."
|
||||
))
|
||||
.wrap(),
|
||||
);
|
||||
ui.add_space(14.0);
|
||||
ui.with_layout(Layout::right_to_left(Align::Center), |ui| {
|
||||
if widgets::pill_button(ui, tl!("Not now"), true).clicked() {
|
||||
choice = Some(false);
|
||||
}
|
||||
if widgets::pill_button(ui, tl!("Full Screen"), false).clicked() {
|
||||
choice = Some(true);
|
||||
}
|
||||
});
|
||||
});
|
||||
if choice.is_none() && modal.should_close() {
|
||||
choice = Some(false);
|
||||
}
|
||||
if let Some(allow) = choice {
|
||||
app.resolve_full_screen_prompt(ctx, allow);
|
||||
}
|
||||
}
|
||||
|
||||
/// Absolute document-controlled local paths require consent before any filesystem access.
|
||||
fn remote_link_prompt(app: &mut PdfCraftApp, ctx: &egui::Context) {
|
||||
let Some(pending) = app.pending_remote_link.clone() else { return };
|
||||
|
||||
@@ -2379,6 +2379,10 @@ animation effects Off معطّلة
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow السماح
|
||||
Only allow this if you trust the source document. لا تسمح بذلك إلا إذا كنت تثق بالمستند المصدر.
|
||||
Open in Full Screen mode? فتح في وضع ملء الشاشة؟
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. يطلب هذا المستند أن يُفتح في وضع ملء الشاشة: تملأ الصفحة الشاشة ولا يظهر شيء آخر. اضغط Esc في أي وقت للخروج منه.
|
||||
Full Screen ملء الشاشة
|
||||
Not now ليس الآن
|
||||
Open this local PDF? هل تريد فتح ملف PDF المحلي هذا؟
|
||||
This document is trying to open a local file: يحاول هذا المستند فتح ملف محلي:
|
||||
Move tag earlier نقل العلامة للأعلى
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2321,6 +2321,10 @@ animation effects Off Изключени
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Разреши
|
||||
Only allow this if you trust the source document. Разрешете това само ако имате доверие на изходния документ.
|
||||
Open in Full Screen mode? Отваряне в режим на цял екран?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Този документ иска да се отвори в режим на цял екран: страницата изпълва екрана и нищо друго не се показва. Натиснете Esc по всяко време, за да излезете.
|
||||
Full Screen Цял екран
|
||||
Not now Не сега
|
||||
Open this local PDF? Да се отвори ли този локален PDF?
|
||||
This document is trying to open a local file: Този документ се опитва да отвори локален файл:
|
||||
Move tag earlier Преместване на етикета по-рано
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 8 and column 16.
|
@@ -2432,6 +2432,10 @@ animation effects Off Vypnuto
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Povolit
|
||||
Only allow this if you trust the source document. Povolte tuto akci pouze v případě, že důvěřujete zdrojovému dokumentu.
|
||||
Open in Full Screen mode? Otevřít v režimu celé obrazovky?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Tento dokument žádá o otevření v režimu celé obrazovky: stránka vyplní obrazovku a nic jiného se nezobrazí. Stisknutím Esc jej kdykoli opustíte.
|
||||
Full Screen Celá obrazovka
|
||||
Not now Teď ne
|
||||
Open this local PDF? Otevřít tento místní soubor PDF?
|
||||
This document is trying to open a local file: Tento dokument se pokouší otevřít místní soubor:
|
||||
Move tag earlier Přesunout značku dříve
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2359,6 +2359,10 @@ animation effects Off Aus
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Zulassen
|
||||
Only allow this if you trust the source document. Lassen Sie dies nur zu, wenn Sie dem Quelldokument vertrauen.
|
||||
Open in Full Screen mode? Im Vollbildmodus öffnen?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Dieses Dokument möchte im Vollbildmodus geöffnet werden: Die Seite füllt den Bildschirm, sonst wird nichts angezeigt. Mit Esc verlassen Sie ihn jederzeit.
|
||||
Full Screen Vollbild
|
||||
Not now Jetzt nicht
|
||||
Open this local PDF? Diese lokale PDF-Datei öffnen?
|
||||
This document is trying to open a local file: Dieses Dokument versucht, eine lokale Datei zu öffnen:
|
||||
Move tag earlier Tag früher verschieben
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 51.
|
@@ -2368,6 +2368,10 @@ animation effects Off Ανενεργά
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Να επιτραπεί
|
||||
Only allow this if you trust the source document. Επιτρέψτε το μόνο αν εμπιστεύεστε το έγγραφο προέλευσης.
|
||||
Open in Full Screen mode? Άνοιγμα σε λειτουργία πλήρους οθόνης;
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Αυτό το έγγραφο ζητά να ανοίξει σε λειτουργία πλήρους οθόνης: η σελίδα γεμίζει την οθόνη και τίποτα άλλο δεν εμφανίζεται. Πατήστε Esc οποιαδήποτε στιγμή για έξοδο.
|
||||
Full Screen Πλήρης οθόνη
|
||||
Not now Όχι τώρα
|
||||
Open this local PDF? Να ανοίξει αυτό το τοπικό PDF;
|
||||
This document is trying to open a local file: Αυτό το έγγραφο προσπαθεί να ανοίξει ένα τοπικό αρχείο:
|
||||
Move tag earlier Μετακίνηση ετικέτας νωρίτερα
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 475 and column 9.
|
@@ -2498,6 +2498,10 @@ animation effects Off Desactivados
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Permitir
|
||||
Only allow this if you trust the source document. Permite esta acción solo si confías en el documento de origen.
|
||||
Open in Full Screen mode? ¿Abrir en modo de pantalla completa?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Este documento pide abrirse en modo de pantalla completa: la página llena la pantalla y no se muestra nada más. Pulse Esc en cualquier momento para salir.
|
||||
Full Screen Pantalla completa
|
||||
Not now Ahora no
|
||||
Open this local PDF? ¿Abrir este PDF local?
|
||||
This document is trying to open a local file: Este documento intenta abrir un archivo local:
|
||||
Move tag earlier Mover etiqueta antes
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 60.
|
@@ -2358,6 +2358,10 @@ animation effects Off Désactivés
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Autoriser
|
||||
Only allow this if you trust the source document. N'autorisez cette action que si vous faites confiance au document source.
|
||||
Open in Full Screen mode? Ouvrir en mode plein écran ?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Ce document demande à s’ouvrir en mode plein écran : la page remplit l’écran et rien d’autre n’est affiché. Appuyez sur Échap à tout moment pour le quitter.
|
||||
Full Screen Plein écran
|
||||
Not now Pas maintenant
|
||||
Open this local PDF? Ouvrir ce PDF local ?
|
||||
This document is trying to open a local file: Ce document tente d’ouvrir un fichier local :
|
||||
Move tag earlier Déplacer la balise plus tôt
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 39.
|
@@ -2357,6 +2357,10 @@ animation effects Off Ki
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Engedélyezés
|
||||
Only allow this if you trust the source document. Csak akkor engedélyezze ezt, ha megbízik a forrásdokumentumban.
|
||||
Open in Full Screen mode? Megnyitás teljes képernyős módban?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Ez a dokumentum teljes képernyős módban kér megnyitást: az oldal kitölti a képernyőt, és semmi más nem látszik. Az Esc billentyűvel bármikor kiléphet.
|
||||
Full Screen Teljes képernyő
|
||||
Not now Most nem
|
||||
Open this local PDF? Megnyitja ezt a helyi PDF-fájlt?
|
||||
This document is trying to open a local file: Ez a dokumentum egy helyi fájlt próbál megnyitni:
|
||||
Move tag earlier Címke korábbra helyezése
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 7 and column 44.
|
@@ -2367,6 +2367,10 @@ animation effects Off Disattivati
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Consenti
|
||||
Only allow this if you trust the source document. Consenti questa operazione solo se ti fidi del documento di origine.
|
||||
Open in Full Screen mode? Aprire in modalità schermo intero?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Questo documento chiede di aprirsi in modalità schermo intero: la pagina riempie lo schermo e non viene mostrato altro. Premi Esc in qualsiasi momento per uscire.
|
||||
Full Screen Schermo intero
|
||||
Not now Non ora
|
||||
Open this local PDF? Aprire questo PDF locale?
|
||||
This document is trying to open a local file: Questo documento sta tentando di aprire un file locale:
|
||||
Move tag earlier Sposta tag prima
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2358,6 +2358,10 @@ animation effects Off オフ
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow 許可
|
||||
Only allow this if you trust the source document. 元の文書を信頼できる場合にのみ許可してください。
|
||||
Open in Full Screen mode? フルスクリーンモードで開きますか?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. この文書はフルスクリーンモードで開くよう求めています。ページが画面全体を占め、他には何も表示されません。Esc キーでいつでも終了できます。
|
||||
Full Screen フルスクリーン
|
||||
Not now 今はしない
|
||||
Open this local PDF? このローカルPDFを開きますか?
|
||||
This document is trying to open a local file: この文書はローカルファイルを開こうとしています:
|
||||
Move tag earlier タグを前へ移動
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2356,6 +2356,10 @@ animation effects Off Өшірулі
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Рұқсат беру
|
||||
Only allow this if you trust the source document. Бастапқы құжатқа сенсеңіз ғана рұқсат беріңіз.
|
||||
Open in Full Screen mode? Толық экран режимінде ашу керек пе?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Бұл құжат толық экран режимінде ашылуды сұрайды: бет экранды толтырады және басқа ештеңе көрсетілмейді. Шығу үшін кез келген уақытта Esc басыңыз.
|
||||
Full Screen Толық экран
|
||||
Not now Қазір емес
|
||||
Open this local PDF? Осы жергілікті PDF файлын ашу керек пе?
|
||||
This document is trying to open a local file: Бұл құжат жергілікті файлды ашуға әрекеттеніп жатыр:
|
||||
Move tag earlier Тегті ертерек жылжыту
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 823 and column 9.
|
@@ -2602,6 +2602,10 @@ key Space Tarpas
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Leisti
|
||||
Only allow this if you trust the source document. Leiskite tai tik tuo atveju, jei pasitikite pirminiu dokumentu.
|
||||
Open in Full Screen mode? Atidaryti viso ekrano režimu?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Šis dokumentas prašo būti atidarytas viso ekrano režimu: puslapis užpildo ekraną ir daugiau niekas nerodoma. Norėdami išeiti, bet kada paspauskite Esc.
|
||||
Full Screen Visas ekranas
|
||||
Not now Ne dabar
|
||||
Open this local PDF? Atverti šį vietinį PDF failą?
|
||||
This document is trying to open a local file: Šis dokumentas bando atverti vietinį failą:
|
||||
Move tag earlier Perkelti žymą anksčiau
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 401 and column 9.
|
@@ -2338,6 +2338,10 @@ animation effects Off Wyłączone
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Zezwól
|
||||
Only allow this if you trust the source document. Zezwól na to tylko wtedy, gdy ufasz dokumentowi źródłowemu.
|
||||
Open in Full Screen mode? Otworzyć w trybie pełnoekranowym?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Ten dokument prosi o otwarcie w trybie pełnoekranowym: strona wypełnia ekran i nic innego nie jest widoczne. Naciśnij Esc w dowolnej chwili, aby go opuścić.
|
||||
Full Screen Pełny ekran
|
||||
Not now Nie teraz
|
||||
Open this local PDF? Otworzyć ten lokalny plik PDF?
|
||||
This document is trying to open a local file: Ten dokument próbuje otworzyć plik lokalny:
|
||||
Move tag earlier Przenieś znacznik wcześniej
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2372,6 +2372,10 @@ animation effects Off Desativados
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Permitir
|
||||
Only allow this if you trust the source document. Permita esta ação somente se confiar no documento de origem.
|
||||
Open in Full Screen mode? Abrir no modo de tela cheia?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Este documento pede para abrir no modo de tela cheia: a página preenche a tela e nada mais é exibido. Pressione Esc a qualquer momento para sair.
|
||||
Full Screen Tela cheia
|
||||
Not now Agora não
|
||||
Open this local PDF? Abrir este PDF local?
|
||||
This document is trying to open a local file: Este documento está tentando abrir um arquivo local:
|
||||
Move tag earlier Mover tag para antes
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -2271,6 +2271,10 @@ animation effects Off Выкл
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Разрешить
|
||||
Only allow this if you trust the source document. Разрешите это действие, только если доверяете исходному документу.
|
||||
Open in Full Screen mode? Открыть в полноэкранном режиме?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Этот документ просит открыть его в полноэкранном режиме: страница занимает весь экран, и больше ничего не отображается. Нажмите Esc в любой момент, чтобы выйти.
|
||||
Full Screen Полный экран
|
||||
Not now Не сейчас
|
||||
Open this local PDF? Открыть этот локальный PDF?
|
||||
This document is trying to open a local file: Этот документ пытается открыть локальный файл:
|
||||
Move tag earlier Переместить тег раньше
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -2363,6 +2363,10 @@ animation effects Off Izklopljeni
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Dovoli
|
||||
Only allow this if you trust the source document. To dovolite le, če zaupate izvornemu dokumentu.
|
||||
Open in Full Screen mode? Odpri v celozaslonskem načinu?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Ta dokument želi, da se odpre v celozaslonskem načinu: stran zapolni zaslon in nič drugega ni prikazano. Za izhod kadar koli pritisnite Esc.
|
||||
Full Screen Celoten zaslon
|
||||
Not now Ne zdaj
|
||||
Open this local PDF? Želite odpreti ta lokalni PDF?
|
||||
This document is trying to open a local file: Ta dokument poskuša odpreti lokalno datoteko:
|
||||
Move tag earlier Premakni oznako prej
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -2271,6 +2271,10 @@ animation effects Off ఆఫ్
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow అనుమతించు
|
||||
Only allow this if you trust the source document. మూల పత్రాన్ని విశ్వసిస్తే మాత్రమే దీన్ని అనుమతించండి.
|
||||
Open in Full Screen mode? పూర్తి తెర మోడ్లో తెరవాలా?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. ఈ పత్రం పూర్తి తెర మోడ్లో తెరవమని అడుగుతోంది: పేజీ తెరను నింపుతుంది, ఇంకేమీ కనిపించదు. బయటకు రావడానికి ఎప్పుడైనా Esc నొక్కండి.
|
||||
Full Screen పూర్తి తెర
|
||||
Not now ఇప్పుడు కాదు
|
||||
Open this local PDF? ఈ స్థానిక PDF ఫైల్ను తెరవాలా?
|
||||
This document is trying to open a local file: ఈ పత్రం ఒక స్థానిక ఫైల్ను తెరవడానికి ప్రయత్నిస్తోంది:
|
||||
Move tag earlier ట్యాగ్ను ముందుకు తరలించు
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 13 and column 16.
|
@@ -2354,6 +2354,10 @@ animation effects Off Kapalı
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow İzin ver
|
||||
Only allow this if you trust the source document. Buna yalnızca kaynak belgeye güveniyorsanız izin verin.
|
||||
Open in Full Screen mode? Tam ekran modunda açılsın mı?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Bu belge tam ekran modunda açılmak istiyor: sayfa ekranı doldurur ve başka hiçbir şey görünmez. Çıkmak için istediğiniz zaman Esc tuşuna basın.
|
||||
Full Screen Tam ekran
|
||||
Not now Şimdi değil
|
||||
Open this local PDF? Bu yerel PDF açılsın mı?
|
||||
This document is trying to open a local file: Bu belge yerel bir dosya açmaya çalışıyor:
|
||||
Move tag earlier Etiketi daha erken taşı
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 822 and column 9.
|
@@ -2380,6 +2380,10 @@ animation effects Off Вимкнено
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow Дозволити
|
||||
Only allow this if you trust the source document. Дозволяйте це лише тоді, коли довіряєте вихідному документу.
|
||||
Open in Full Screen mode? Відкрити в повноекранному режимі?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. Цей документ просить відкрити його в повноекранному режимі: сторінка заповнює екран, і більше нічого не показано. Натисніть Esc будь-коли, щоб вийти.
|
||||
Full Screen Повний екран
|
||||
Not now Не зараз
|
||||
Open this local PDF? Відкрити цей локальний PDF?
|
||||
This document is trying to open a local file: Цей документ намагається відкрити локальний файл:
|
||||
Move tag earlier Перемістити тег раніше
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2322,6 +2322,10 @@ animation effects Off 关
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow 允许
|
||||
Only allow this if you trust the source document. 仅在您信任源文档时才允许此操作。
|
||||
Open in Full Screen mode? 以全屏模式打开?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. 此文档要求以全屏模式打开:页面充满屏幕,不显示其他内容。随时按 Esc 即可退出。
|
||||
Full Screen 全屏
|
||||
Not now 暂不
|
||||
Open this local PDF? 是否打开此本地 PDF?
|
||||
This document is trying to open a local file: 此文档正尝试打开本地文件:
|
||||
Move tag earlier 将标签前移
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -2233,6 +2233,10 @@ animation effects Off 關
|
||||
# Absolute local GoToR confirmation (#1364).
|
||||
Allow 允許
|
||||
Only allow this if you trust the source document. 只有在您信任來源文件時,才允許此操作。
|
||||
Open in Full Screen mode? 要以全螢幕模式開啟嗎?
|
||||
This document asks to open in Full Screen mode: the page fills the screen and nothing else shows. Press Esc at any time to leave it. 這份文件要求以全螢幕模式開啟:頁面佔滿整個螢幕,不顯示其他東西。隨時按 Esc 即可離開。
|
||||
Full Screen 全螢幕
|
||||
Not now 暫時不要
|
||||
Open this local PDF? 要開啟此本機 PDF 嗎?
|
||||
This document is trying to open a local file: 此文件正嘗試開啟本機檔案:
|
||||
Move tag earlier 將標記前移
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -791,6 +791,9 @@ pub struct PdfCraftApp {
|
||||
pub last_opened_url: Option<String>,
|
||||
/// A document asked to open this address; the user hasn't answered yet (#90, #91).
|
||||
pub pending_link: Option<PendingLink>,
|
||||
/// A document just opened asks to be shown in Full Screen mode (`/PageMode /FullScreen`):
|
||||
/// the person is asked first, as in Acrobat, and this is the document waiting for the answer.
|
||||
pub pending_full_screen: Option<DocId>,
|
||||
/// An absolute GoToR target waiting for approval, before any target-file I/O (#1364).
|
||||
pub pending_remote_link: Option<PendingRemoteLink>,
|
||||
}
|
||||
@@ -1023,6 +1026,7 @@ impl PdfCraftApp {
|
||||
bookmark_rename: None,
|
||||
last_opened_url: None,
|
||||
pending_link: None,
|
||||
pending_full_screen: None,
|
||||
pending_remote_link: None,
|
||||
protect_draft: Default::default(),
|
||||
boxes_draft: Default::default(),
|
||||
@@ -1317,6 +1321,11 @@ impl PdfCraftApp {
|
||||
self.active = Some(self.views.len() - 1);
|
||||
}
|
||||
self.apply_initial_view(self.views.len() - 1, &initial);
|
||||
// Full screen is asked for, never taken: a document can't put the app in full screen on
|
||||
// its own (the prompt is `dialogs::full_screen_prompt`).
|
||||
if activate && initial.full_screen {
|
||||
self.pending_full_screen = Some(id);
|
||||
}
|
||||
if activate
|
||||
&& self.left_open
|
||||
&& self.left == LeftPanel::Tool("organize")
|
||||
@@ -1545,6 +1554,15 @@ impl PdfCraftApp {
|
||||
ctx.send_viewport_cmd(egui::ViewportCommand::Fullscreen(on));
|
||||
}
|
||||
|
||||
/// Answer the Full Screen mode prompt a document raised on opening: enter it, or leave the
|
||||
/// window as it is.
|
||||
pub fn resolve_full_screen_prompt(&mut self, ctx: &egui::Context, allow: bool) {
|
||||
let Some(id) = self.pending_full_screen.take() else { return };
|
||||
if allow && self.session.get(id).is_some() {
|
||||
self.set_full_screen(ctx, true);
|
||||
}
|
||||
}
|
||||
|
||||
/// Answer the password prompt (`None` cancels).
|
||||
pub fn submit_password(&mut self, password: Option<String>) {
|
||||
let Some(p) = self.password_prompt.take() else { return };
|
||||
|
||||
@@ -192,6 +192,35 @@ fn read_mode_rail_buttons_open_their_panels() {
|
||||
h.get_by_label("Alpha section");
|
||||
}
|
||||
|
||||
/// A document that asks to open in Full Screen mode (`/PageMode /FullScreen`) is asked about
|
||||
/// first, as in Acrobat: "Not now" leaves the window as it is, "Full Screen" enters it.
|
||||
#[test]
|
||||
fn a_document_asking_for_full_screen_is_asked_about_first() {
|
||||
let deck = || String::from_utf8(FIXTURE.to_vec()).unwrap().replace("/Outlines 6 0 R", "/Outlines 6 0 R /PageMode /FullScreen").into_bytes();
|
||||
let mut h = harness(move |app| app.open_bytes("deck.pdf", None, deck()).expect("opens"));
|
||||
h.run_steps(3);
|
||||
assert!(!h.state().full_screen, "nothing happens before the answer");
|
||||
h.get_by_label("Open in Full Screen mode?");
|
||||
h.get_by_label("Not now").click();
|
||||
h.run_steps(3);
|
||||
assert!(!h.state().full_screen);
|
||||
assert!(h.query_by_label("Open in Full Screen mode?").is_none() && h.state().pending_full_screen.is_none());
|
||||
// Asked again for the next such document; Full Screen enters it.
|
||||
let again = String::from_utf8(FIXTURE.to_vec()).unwrap().replace("/Outlines 6 0 R", "/Outlines 6 0 R /PageMode /FullScreen").into_bytes();
|
||||
h.state_mut().open_bytes("deck2.pdf", None, again).expect("opens");
|
||||
h.run_steps(3);
|
||||
h.get_by_label("Full Screen").click();
|
||||
h.run_steps(3);
|
||||
assert!(h.state().full_screen, "Full Screen enters it");
|
||||
assert!(h.state().pending_full_screen.is_none());
|
||||
// A plain document asks nothing.
|
||||
h.key_press(egui::Key::Escape);
|
||||
h.run_steps(2);
|
||||
h.state_mut().open_bytes("plain.pdf", None, FIXTURE.to_vec()).expect("opens");
|
||||
h.run_steps(3);
|
||||
assert!(h.query_by_label("Open in Full Screen mode?").is_none() && !h.state().full_screen);
|
||||
}
|
||||
|
||||
/// Switching to Read mode closes the open pane, and switching back reopens it.
|
||||
#[test]
|
||||
fn read_mode_closes_the_panes_and_leaving_it_brings_them_back() {
|
||||
|
||||
@@ -3475,8 +3475,8 @@ milestone = "M4"
|
||||
status = "shipped"
|
||||
commands = ["file.properties"]
|
||||
tools = ["doc_initial_view"]
|
||||
evidence = ["crates/organize/src/tests.rs::initial_view_round_trips_and_keeps_scripts", "crates/ui-egui/tests/viewer.rs::initial_view_is_edited_and_honoured_on_open", "crates/automation/tests/automation.rs::initial_view_through_tools"]
|
||||
notes = "navigation panel, layout, magnification, page, window and interface options; honoured on open; script open actions kept"
|
||||
evidence = ["crates/ui-egui/tests/ui.rs::a_document_asking_for_full_screen_is_asked_about_first", "crates/organize/src/tests.rs::initial_view_round_trips_and_keeps_scripts", "crates/ui-egui/tests/viewer.rs::initial_view_is_edited_and_honoured_on_open", "crates/automation/tests/automation.rs::initial_view_through_tools"]
|
||||
notes = "navigation panel, layout, magnification, page, window and interface options; honoured on open; script open actions kept. Open in Full Screen mode (/PageMode /FullScreen) asks first (Full Screen / Not now), as Acrobat does, instead of taking the screen. Missing: Acrobat's Full Screen preference to turn that alert off and its \"remember my choice for this document\" (misc.prefs-full-screen)"
|
||||
|
||||
[[feature]]
|
||||
id = "organize.custom-properties"
|
||||
|
||||
Reference in New Issue
Block a user