mirror of
https://github.com/storytold/pdfcraft.git
synced 2026-10-26 02:58:32 -06:00
Comments panel: page groups fold from their chevron (#1614)
* Comments panel: page groups fold from their chevron (fixes #1554) * Comments panel: translate the fold-all buttons in every catalog "Collapse all pages" and "Expand all pages" were missing from the 21 catalogs, so the covers_ui_literals tests failed; the catalogs' hashes are re-pinned in ATTRIBUTION.toml. * Add the Vietnamese entries for Collapse/Expand all pages; refresh catalog hashes 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:
co-authored by
Claude Opus 5.5
Brandon Thomas
parent
ab45a1855f
commit
cdf44d7999
+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 = "82a6d3b48da75024afd3261e2c2a30d2f8b45da5448b6018ad5b35d489d2c7bb"
|
||||
sha256 = "cefa955aa92790d6773cb1d1e15e19019b3165a00528d57d6617362e1d1988ab"
|
||||
|
||||
# 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 = "1d8134aad27f74186b0df2f6257ee51b0955a69597de5ca86cf4013ab98f7da9"
|
||||
sha256 = "1de29a6cc089be31cb6206bf41e0715f8ddcf74ef887b45ccee235d743bed223"
|
||||
|
||||
[[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 = "1a5a956aabe5746a0768497cb4e6568622a5ab70b8d429f745c33dda977a8fca"
|
||||
sha256 = "8c6d5b1505d76bc7ba606c98660afa60b1152c5b4c2e7d345104a6ef3d280ed2"
|
||||
|
||||
[[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 = "5a29fe0c99e7116a2aab2387be553bb95b59ce450afc2546a04949a68dcf4f31"
|
||||
sha256 = "8a8aed18bd8fceabd1389580361ba75b0dccf141d845650a353d8dfe19c95536"
|
||||
|
||||
[[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 = "09c3f837fefbe0774e9b21a40d74b93ab3671bb143f141e8cb212c92d91e4733"
|
||||
sha256 = "1c197ac045810950aceb733152a296f2224f38857b1169032fdc7092ab4aa3f7"
|
||||
|
||||
[[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 = "31ae2ecf486e132ad085b4ec415416263ee1e5e7461ec4dd4e778bf628fefcf9"
|
||||
sha256 = "a9cf0e062b006b40f549ce2316b88d4b0196d70bd9cecd66c12d980d699bf679"
|
||||
|
||||
[[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 = "fb7f392472e9ffbd7f8492d52b14c8e6bdd28655415869eefbcd1af43178d4c2"
|
||||
sha256 = "ef5c84bd13ef8318f7deab7f42136cfe3c14cbef6fd5231014b94167baaecd2a"
|
||||
|
||||
[[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 = "85576c18721874113d92c8ee477e5a92d43d898f042ec5104bc3ee18336ef2a7"
|
||||
sha256 = "be689af8bb22537879269ad9ab9bdcc4b730665cf0b27c6bf4bad560cacf3b69"
|
||||
|
||||
[[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 = "1f65ce25add0ffd6dbb9ea25e1bac1f78604265547b1995a7a43e573e303fc7b"
|
||||
sha256 = "989d2e5f57cf22c21a85951835ca9fbd05e314da67eb4c17332df1f03679fa00"
|
||||
|
||||
[[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 = "c1a5a6d120bec8eaa8e60a5eb7f805aaf846f8ae0facf04a5a61da769dc6672c"
|
||||
sha256 = "425c42acb8d98ac31b216b13c05a285e0676318dd379dcfb9d57cc7329e9d7a5"
|
||||
|
||||
[[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 = "06cfe4f2dcdf970aa4269658930885c2536dfc3a1b5391fccc626232fd01b3de"
|
||||
sha256 = "988bcf2e0322a46c0464ff7b91ab5d90193b0ea7f454812d12595eb843de6fc7"
|
||||
|
||||
[[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 = "ca6e03bf5a37b39c7e7870e2c52f9c9fd88ec13324296926f0c2853675b155c3"
|
||||
sha256 = "ebe7aa9152baff38ae7e36aeb4f6a7ed2198166ab93425a612a66d53e43cb363"
|
||||
|
||||
[[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 = "b0dcd01ae69d702740e6732b77b7ae8d192c4f789be9d3c5128bfa745ce07527"
|
||||
sha256 = "69d2da21949f02c3c40f71159e377eef2fdd1a87f749d6c504e1d151ef33f643"
|
||||
|
||||
[[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 = "75b42fcb55a4518ba2057a2dfe29cd4b3718c26a0e1a3c83101a19201d9542ce"
|
||||
sha256 = "98359685aa555f391846f2259ac302ce1234c7a180fb4abe07c36e0c1c62211e"
|
||||
|
||||
[[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 = "c9986f1b5a19f8fa3b431229e56bae73715d138e6507b0b7c314483029109585"
|
||||
sha256 = "9f6296d9c79c848167fc80bb4cfaacc9e60f72edb70cc1d70f7b6088ada83578"
|
||||
|
||||
[[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 = "ef3156aab103af5bd99efac444a3e085ef50f9a5786c8c4f34aa5f384d2f028e"
|
||||
sha256 = "3528e85afd4117de2c22b9f37d32a380a073a49834fa5a3063d21b803606ffbf"
|
||||
|
||||
[[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 = "13ee22f546e669cbde325343c3c1474c89932bc49342f02da3059047865007f0"
|
||||
sha256 = "4db7e23074d44305f4584e2cd8b9a0fc35b433cb187dad493c8f7d78a8cd4ad2"
|
||||
|
||||
[[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 = "9087b9d39cac0fb6ec3e6d886697b310686f20ba2c5cd86b9a80e23addd7de0c"
|
||||
sha256 = "2af01de9509db4b4ae61193f41ff0f7f3b70ca5f91cd2afda667e90d34980b25"
|
||||
|
||||
[[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 = "116784d4457a2cff2018e2652cc537a924f365012409547cbbaac3409c315c22"
|
||||
sha256 = "de988b6959572931c4878a0588109c236bf8c5d46ef57c7a406b6ab42de51339"
|
||||
|
||||
[[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 = "581a77647ccd0f002decdb430bcda1a7dfa90d3d2948fe6a12b33251e5edd318"
|
||||
sha256 = "63955758227bd57329b22dc7c16ed9cee8b0a15df9453477755849c886424dd5"
|
||||
|
||||
|
||||
[[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 = "949a3e933149eaf4fad17fb6711ec38b134858d0c434bdf1c38125bf7ead9855"
|
||||
sha256 = "b54adaa6515dbfb0de3859b30989054e5fcc4f56e66e9cc713c7bf509bdbbac3"
|
||||
|
||||
[[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 = "5ca7e04c805f8ae8bee1b81f6c5e6263dddd1673ef003ec5c90c1b87b4bfd9ba"
|
||||
sha256 = "5881cc7fbfe9da5f5f611309dacf267f95db3a143b916a113b649839019b292c"
|
||||
|
||||
[[asset]]
|
||||
path = "vendor/vello_common/assets/probe.png"
|
||||
|
||||
@@ -481,6 +481,8 @@ pub struct CommentView {
|
||||
pub hidden_checks: Vec<String>,
|
||||
/// How the panel orders comments.
|
||||
pub sort: SortBy,
|
||||
/// Pages whose group is folded in the panel (when sorted by page).
|
||||
pub collapsed_pages: Vec<usize>,
|
||||
/// Comment Properties was asked for from the panel: (page, index).
|
||||
pub props_request: Option<(usize, usize)>,
|
||||
/// Make Current Properties Default was asked for: (page, index).
|
||||
|
||||
@@ -199,6 +199,13 @@ pub(crate) fn show(
|
||||
SortBy::Date => None,
|
||||
}
|
||||
};
|
||||
// A comment selected elsewhere (on the page, or just added) opens its folded group, or the
|
||||
// card it should scroll to would not be drawn.
|
||||
if view.comments.reveal
|
||||
&& let Some((p, _)) = view.comments.selected
|
||||
{
|
||||
view.comments.collapsed_pages.retain(|&c| c != p);
|
||||
}
|
||||
let mut page = usize::MAX;
|
||||
let mut group: Option<String> = None;
|
||||
for a in roots {
|
||||
@@ -215,18 +222,38 @@ pub(crate) fn show(
|
||||
} else if a.page != page {
|
||||
page = a.page;
|
||||
let n = info.annotations.iter().filter(|x| x.page == page && x.in_reply_to.is_none()).count();
|
||||
let open = !view.comments.collapsed_pages.contains(&page);
|
||||
ui.add_space(6.0);
|
||||
ui.horizontal(|ui| {
|
||||
ui.add(icons::image("chevron-down", 14.0, t.text_muted));
|
||||
ui.label(
|
||||
egui::RichText::new(crate::i18n::fmt(tl!("Page {label}"), &[("label", &info.pages[page].label)]))
|
||||
.font(theme::semibold(12.5))
|
||||
.color(t.text_muted),
|
||||
);
|
||||
ui.with_layout(Layout::right_to_left(Align::Center), |ui| ui.label(egui::RichText::new(n.to_string()).color(t.text_faint).small()));
|
||||
});
|
||||
let clicked = ui
|
||||
.horizontal(|ui| {
|
||||
let chevron = if open { "chevron-down" } else { "chevron-right" };
|
||||
let toggle = icons::button(ui, chevron, 18.0, false, if open { tl!("Collapse") } else { tl!("Expand") }).clicked();
|
||||
let label = ui.add(
|
||||
egui::Label::new(
|
||||
egui::RichText::new(crate::i18n::fmt(tl!("Page {label}"), &[("label", &info.pages[page].label)]))
|
||||
.font(theme::semibold(12.5))
|
||||
.color(t.text_muted),
|
||||
)
|
||||
.sense(Sense::click()),
|
||||
);
|
||||
ui.with_layout(Layout::right_to_left(Align::Center), |ui| {
|
||||
ui.label(egui::RichText::new(n.to_string()).color(t.text_faint).small())
|
||||
});
|
||||
toggle || label.clicked()
|
||||
})
|
||||
.inner;
|
||||
if clicked {
|
||||
if open {
|
||||
view.comments.collapsed_pages.push(page);
|
||||
} else {
|
||||
view.comments.collapsed_pages.retain(|&c| c != page);
|
||||
}
|
||||
}
|
||||
ui.add_space(2.0);
|
||||
}
|
||||
if sort == SortBy::Page && view.comments.collapsed_pages.contains(&a.page) {
|
||||
continue;
|
||||
}
|
||||
let thread = replies_of(a);
|
||||
if let Some(e) = card(ui, t, a, &thread, view, prefs, allowed, nav) {
|
||||
edit = Some(e);
|
||||
@@ -519,6 +546,20 @@ pub(crate) fn header_controls(ui: &mut egui::Ui, info: &DocInfo, view: &mut DocV
|
||||
ui.close();
|
||||
}
|
||||
}
|
||||
// Only the page sort has folding groups.
|
||||
if cv.sort == SortBy::Page {
|
||||
ui.separator();
|
||||
if ui.button(tl!("Collapse all pages")).clicked() {
|
||||
cv.collapsed_pages = info.annotations.iter().map(|a| a.page).collect();
|
||||
cv.collapsed_pages.sort_unstable();
|
||||
cv.collapsed_pages.dedup();
|
||||
ui.close();
|
||||
}
|
||||
if ui.button(tl!("Expand all pages")).clicked() {
|
||||
cv.collapsed_pages.clear();
|
||||
ui.close();
|
||||
}
|
||||
}
|
||||
ui.separator();
|
||||
for (id, label) in [
|
||||
("comment.hide_all", if hidden { tl!("Show all comments") } else { tl!("Hide all comments") }),
|
||||
|
||||
@@ -2279,6 +2279,8 @@ key Space مسافة
|
||||
Switch to List view to change the pages it takes. انتقل إلى عرض القائمة لتغيير الصفحات التي يأخذها.
|
||||
Expand all توسيع الكل
|
||||
Collapse all طي الكل
|
||||
Collapse all pages طي كل الصفحات
|
||||
Expand all pages توسيع كل الصفحات
|
||||
Remove page إزالة الصفحة
|
||||
Remove {n} pages إزالة {n} صفحات
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2219,6 +2219,8 @@ key Space Интервал
|
||||
Switch to List view to change the pages it takes. Превключете към изглед списък, за да промените кои страници се вземат.
|
||||
Expand all Разгъни всички
|
||||
Collapse all Свий всички
|
||||
Collapse all pages Свий всички страници
|
||||
Expand all pages Разгъни всички страници
|
||||
Remove page Премахни страницата
|
||||
Remove {n} pages Премахни {n} страници
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 8 and column 16.
|
@@ -2257,6 +2257,8 @@ certificate Subject Subjekt
|
||||
List view Zobrazení seznamu
|
||||
Expand all Rozbalit vše
|
||||
Collapse all Sbalit vše
|
||||
Collapse all pages Sbalit všechny stránky
|
||||
Expand all pages Rozbalit všechny stránky
|
||||
Files are combined in the order shown. Drag them to change it. Soubory se slučují v zobrazeném pořadí. Pořadí změníte přetažením.
|
||||
Pages: {k} of {n} Stránky: {k} z {n}
|
||||
Check the pages Zkontrolujte stránky
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2261,6 +2261,8 @@ key Space Leertaste
|
||||
Switch to List view to change the pages it takes. Wechsle zur Listenansicht, um die übernommenen Seiten zu ändern.
|
||||
Expand all Alle ausklappen
|
||||
Collapse all Alle einklappen
|
||||
Collapse all pages Alle Seiten einklappen
|
||||
Expand all pages Alle Seiten ausklappen
|
||||
Remove page Seite entfernen
|
||||
Remove {n} pages {n} Seiten entfernen
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 51.
|
@@ -1619,6 +1619,8 @@
|
||||
Switch to List view to change the pages it takes. Μεταβείτε στην προβολή λίστας για να αλλάξετε ποιες σελίδες θα συμπεριληφθούν.
|
||||
Expand all Ανάπτυξη όλων
|
||||
Collapse all Σύμπτυξη όλων
|
||||
Collapse all pages Σύμπτυξη όλων των σελίδων
|
||||
Expand all pages Ανάπτυξη όλων των σελίδων
|
||||
Remove {n} pages Αφαίρεση {n} σελίδων
|
||||
Add an image field Προσθήκη πεδίου εικόνας
|
||||
Add a date field Προσθήκη πεδίου ημερομηνίας
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 476 and column 9.
|
@@ -2397,6 +2397,8 @@ key Space Espacio
|
||||
Switch to List view to change the pages it takes. Cambia a la vista de lista para cambiar las páginas que se incluyen.
|
||||
Expand all Expandir todo
|
||||
Collapse all Contraer todo
|
||||
Collapse all pages Contraer todas las páginas
|
||||
Expand all pages Expandir todas las páginas
|
||||
Remove page Quitar página
|
||||
Remove {n} pages Quitar {n} páginas
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 60.
|
@@ -2260,6 +2260,8 @@ key Space Espace
|
||||
Switch to List view to change the pages it takes. Passez à la vue en liste pour modifier les pages prises.
|
||||
Expand all Tout développer
|
||||
Collapse all Tout réduire
|
||||
Collapse all pages Réduire toutes les pages
|
||||
Expand all pages Développer toutes les pages
|
||||
Remove page Retirer la page
|
||||
Remove {n} pages Retirer {n} pages
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 39.
|
@@ -2255,6 +2255,8 @@ key Space Szóköz
|
||||
Switch to List view to change the pages it takes. Válts listanézetre, ha módosítanád, mely oldalak kerüljenek bele.
|
||||
Expand all Összes kibontása
|
||||
Collapse all Összes összecsukása
|
||||
Collapse all pages Összes oldal összecsukása
|
||||
Expand all pages Összes oldal kibontása
|
||||
Remove page Oldal eltávolítása
|
||||
Remove {n} pages {n} oldal eltávolítása
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 7 and column 44.
|
@@ -2267,6 +2267,8 @@ key Space Spazio
|
||||
Switch to List view to change the pages it takes. Passa alla vista elenco per cambiare le pagine incluse.
|
||||
Expand all Espandi tutto
|
||||
Collapse all Comprimi tutto
|
||||
Collapse all pages Comprimi tutte le pagine
|
||||
Expand all pages Espandi tutte le pagine
|
||||
Remove page Rimuovi pagina
|
||||
Remove {n} pages Rimuovi {n} pagine
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2256,6 +2256,8 @@ key Space スペース
|
||||
Switch to List view to change the pages it takes. 使用するページを変更するには、リスト表示に切り替えてください。
|
||||
Expand all すべて展開
|
||||
Collapse all すべて折りたたむ
|
||||
Collapse all pages すべてのページを折りたたむ
|
||||
Expand all pages すべてのページを展開
|
||||
Remove page ページを削除
|
||||
Remove {n} pages {n} ページを削除
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2142,6 +2142,8 @@ calendar date December Желтоқсан
|
||||
Check the pages Беттерді белгілеу
|
||||
Closed arrow Жабық көрсеткі
|
||||
Collapse all Барлығын жию
|
||||
Collapse all pages Барлық беттерді жию
|
||||
Expand all pages Барлық беттерді жаю
|
||||
Column select Баған бойынша таңдау
|
||||
Comb of characters Таңбалар торы
|
||||
Custom font Арнаулы қаріп
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 825 and column 9.
|
@@ -377,6 +377,8 @@
|
||||
Closed arrow Uždara rodyklė
|
||||
Collapse Suskleisti
|
||||
Collapse all Suskleisti viską
|
||||
Collapse all pages Suskleisti visus puslapius
|
||||
Expand all pages Išskleisti visus puslapius
|
||||
Collapse all bookmarks Suskleisti visas žymeles
|
||||
Collapse tag Suskleisti žymą
|
||||
Collate Rūšiuoti komplektais
|
||||
|
||||
|
@@ -1310,6 +1310,8 @@
|
||||
Expand all bookmarks Rozwiń wszystkie zakładki
|
||||
Expand top-level bookmarks Rozwiń zakładki najwyższego poziomu
|
||||
Collapse all bookmarks Zwiń wszystkie zakładki
|
||||
Collapse all pages Zwiń wszystkie strony
|
||||
Expand all pages Rozwiń wszystkie strony
|
||||
New bookmark (⌘B) Nowa zakładka (⌘B)
|
||||
This document has no bookmarks. Ten dokument nie zawiera zakładek.
|
||||
This document has no layers. Ten dokument nie zawiera warstw.
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -2258,6 +2258,8 @@ key Space Espaço
|
||||
Switch to List view to change the pages it takes. Mude para a exibição em lista para alterar as páginas incluídas.
|
||||
Expand all Expandir tudo
|
||||
Collapse all Recolher tudo
|
||||
Collapse all pages Recolher todas as páginas
|
||||
Expand all pages Expandir todas as páginas
|
||||
Remove page Remover página
|
||||
Remove {n} pages Remover {n} páginas
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -2173,6 +2173,8 @@ key Space Пробел
|
||||
Switch to List view to change the pages it takes. Переключитесь на вид списком, чтобы изменить, какие страницы взять.
|
||||
Expand all Развернуть все
|
||||
Collapse all Свернуть все
|
||||
Collapse all pages Свернуть все страницы
|
||||
Expand all pages Развернуть все страницы
|
||||
Remove page Удалить страницу
|
||||
Remove {n} pages Удалить страницы: {n}
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -2192,6 +2192,8 @@ signature pad Type Vtipkaj
|
||||
Auto follows the system's text size. Pages always render at the display's full resolution. Samodejno sledi velikosti besedila v sistemu. Strani se vedno izrišejo v polni ločljivosti zaslona.
|
||||
Check the pages Preveri strani
|
||||
Collapse all Strni vse
|
||||
Collapse all pages Strni vse strani
|
||||
Expand all pages Razširi vse strani
|
||||
Column select Izbira stolpcev
|
||||
Drag the selection to move it. Esc clears the selection. Povlecite izbor, da ga premaknete. Esc počisti izbor.
|
||||
Expand all Razširi vse
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -2181,6 +2181,8 @@ key Space స్పేస్
|
||||
Reset page size పేజీ పరిమాణాన్ని రీసెట్ చేయి
|
||||
Expand all అన్నీ విస్తరించు
|
||||
Collapse all అన్నీ ముడుచు
|
||||
Collapse all pages అన్ని పేజీలను ముడుచు
|
||||
Expand all pages అన్ని పేజీలను విస్తరించు
|
||||
Remove page పేజీని తీసివేయి
|
||||
Remove {n} pages {n} పేజీలను తీసివేయి
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 13 and column 16.
|
@@ -2215,6 +2215,8 @@ key Space Boşluk
|
||||
Some bookmarks are not shown here: the panel lists a limited number, nested a limited depth. Bazı yer imleri burada gösterilmiyor: panel sınırlı sayıda ve sınırlı derinlikte listeler.
|
||||
Expand all Tümünü genişlet
|
||||
Collapse all Tümünü daralt
|
||||
Collapse all pages Tüm sayfaları daralt
|
||||
Expand all pages Tüm sayfaları genişlet
|
||||
Remove page Sayfayı kaldır
|
||||
Remove {n} pages {n} sayfayı kaldır
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 824 and column 9.
|
@@ -2280,6 +2280,8 @@ key Space Пробіл
|
||||
Switch to List view to change the pages it takes. Перейдіть до вигляду списком, щоб змінити, які сторінки взяти.
|
||||
Expand all Розгорнути всі
|
||||
Collapse all Згорнути всі
|
||||
Collapse all pages Згорнути всі сторінки
|
||||
Expand all pages Розгорнути всі сторінки
|
||||
Remove page Видалити сторінку
|
||||
Remove {n} pages Видалити сторінки: {n}
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 47.
|
@@ -374,6 +374,8 @@ theme Appearance Giao diện
|
||||
Closed arrow Mũi tên đóng
|
||||
Collapse Thu gọn
|
||||
Collapse all Thu gọn tất cả
|
||||
Collapse all pages Thu gọn tất cả các trang
|
||||
Expand all pages Mở rộng tất cả các trang
|
||||
Collapse all bookmarks Thu gọn tất cả dấu trang
|
||||
Collapse tag Thu gọn thẻ
|
||||
Collate Sắp theo bộ
|
||||
|
||||
|
@@ -2224,6 +2224,8 @@ key Space 空格
|
||||
Switch to List view to change the pages it takes. 切换到列表视图以更改要使用的页面。
|
||||
Expand all 全部展开
|
||||
Collapse all 全部折叠
|
||||
Collapse all pages 折叠所有页面
|
||||
Expand all pages 展开所有页面
|
||||
Remove page 删除页面
|
||||
Remove {n} pages 删除 {n} 页
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -2139,6 +2139,8 @@ key Space 空格
|
||||
Switch to List view to change the pages it takes. 切換到清單檢視以變更要使用的頁面。
|
||||
Expand all 全部展開
|
||||
Collapse all 全部摺疊
|
||||
Collapse all pages 摺疊所有頁面
|
||||
Expand all pages 展開所有頁面
|
||||
Remove page 刪除頁面
|
||||
Remove {n} pages 刪除 {n} 頁
|
||||
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 9 and column 16.
|
@@ -735,6 +735,61 @@ fn the_panel_filters_and_sorts() {
|
||||
assert_eq!(h.query_all_by_label("Oval").count(), ovals + 1, "a group header was added");
|
||||
}
|
||||
|
||||
/// #1554: a page group's chevron folds that page's cards away and back, and the choice holds.
|
||||
#[test]
|
||||
fn page_groups_collapse_and_expand() {
|
||||
let mut h = harness(|app| app.set_option("panel", "comments").unwrap());
|
||||
for (page, text) in [(0, "First page note"), (1, "Second page note")] {
|
||||
let shape = pdfcraft_engine::Shape::Note { at: [100.0, 100.0], icon: pdfcraft_engine::NoteIcon::Comment };
|
||||
h.state_mut().apply_edit(pdfcraft_engine::Edit::AddAnnotation(pdfcraft_engine::NewAnnotation {
|
||||
page,
|
||||
style: pdfcraft_engine::Style::default_for(&shape),
|
||||
shape,
|
||||
contents: text.into(),
|
||||
author: "Tester".into(),
|
||||
}));
|
||||
}
|
||||
h.state_mut().views[0].comments.selected = None;
|
||||
h.run_steps(3);
|
||||
let shown = |h: &Harness<'static, PdfCraftApp>, text: &str| h.query_all_by_label_contains(text).count() > 0;
|
||||
assert!(shown(&h, "First page note") && shown(&h, "Second page note"));
|
||||
assert_eq!(h.query_all_by_label("Collapse").count(), 2, "one chevron per page group");
|
||||
|
||||
h.query_all_by_label("Collapse").next().unwrap().click();
|
||||
h.run_steps(3);
|
||||
assert!(!shown(&h, "First page note"), "page 1's card is folded away");
|
||||
assert!(shown(&h, "Second page note"), "page 2 stays open");
|
||||
h.run_steps(5);
|
||||
assert!(!shown(&h, "First page note"), "the group stays folded on later frames");
|
||||
|
||||
h.get_by_label("Expand").click();
|
||||
h.run_steps(3);
|
||||
assert!(shown(&h, "First page note"), "page 1's card is back");
|
||||
|
||||
// Selecting a comment on a folded page opens its group so the card can be shown.
|
||||
h.query_all_by_label("Collapse").next().unwrap().click();
|
||||
h.run_steps(3);
|
||||
assert!(!shown(&h, "First page note"));
|
||||
h.state_mut().views[0].comments.selected = Some((0, 0));
|
||||
h.state_mut().views[0].comments.reveal = true;
|
||||
h.run_steps(3);
|
||||
assert!(shown(&h, "First page note"), "the selected comment's group opened");
|
||||
|
||||
// "…" ▸ Collapse all pages, then Expand all pages.
|
||||
h.state_mut().views[0].comments.selected = None;
|
||||
h.get_by_label("More options").click();
|
||||
h.run_steps(2);
|
||||
h.get_by_label("Collapse all pages").click();
|
||||
h.run_steps(3);
|
||||
assert!(!shown(&h, "First page note") && !shown(&h, "Second page note"), "every page is folded");
|
||||
assert_eq!(h.query_all_by_label("Expand").count(), 2);
|
||||
h.get_by_label("More options").click();
|
||||
h.run_steps(2);
|
||||
h.get_by_label("Expand all pages").click();
|
||||
h.run_steps(3);
|
||||
assert!(shown(&h, "First page note") && shown(&h, "Second page note"), "every page is open again");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn comments_take_checkmarks_lock_hide_and_summarize() {
|
||||
let mut h = harness(|app| {
|
||||
|
||||
@@ -3553,8 +3553,8 @@ milestone = "M3"
|
||||
status = "shipped"
|
||||
commands = ["comment.list"]
|
||||
tools = ["comment_list"]
|
||||
evidence = ["crates/ui-egui/tests/ui.rs::opening_a_pdf_shows_comments_and_bookmarks", "crates/ui-egui/tests/comments.rs::the_panel_posts_comments_and_replies"]
|
||||
notes = "cards grouped by page with replies, status badges, selection, reply box and an Add a comment box"
|
||||
evidence = ["crates/ui-egui/tests/ui.rs::opening_a_pdf_shows_comments_and_bookmarks", "crates/ui-egui/tests/comments.rs::the_panel_posts_comments_and_replies", "crates/ui-egui/tests/comments.rs::page_groups_collapse_and_expand"]
|
||||
notes = "cards grouped by page with replies, status badges, selection, reply box and an Add a comment box; page groups fold and unfold from their chevron or with Collapse/Expand all pages in the panel's \"…\" menu (a comment selected on a folded page opens its group). Groups by author, type or colour don't fold yet"
|
||||
|
||||
[[feature]]
|
||||
id = "comment.appearance-generation"
|
||||
|
||||
Reference in New Issue
Block a user