Add a bookmark tool to the PDF editor. A bookmark anchors to a precise location: when text is selected it captures the selection's normalized rect + the start char index in the page text (the true paragraph anchor); with no selection it falls back to the tapped page + point. - Bookmark model gains optional normalized anchor rect + charIndex + label (all absent from JSON when null, so old sidecars still load). - Bookmarks persist in the sidecar (scheduleBookmarkUpsert) and load on open; a bookmarks panel lists them and tapping one jumps to its page. Delete is persisted. Scoped to the PDF editor (note bookmarks later); scroll-to-anchor is page-level for now. analyze clean, 391 tests green.
This commit is contained in:
1 parent
c800295c12
commit
1d5ba05bb8
12 files changed
+743
-3
No files matched your search
@@ -78,6 +78,20 @@
|
||||
"toolPlaceScratchLink": "放置便签链接",
|
||||
"scratchLinkDeleteTitle": "删除便签链接?",
|
||||
"scratchLinkDeleteBody": "这会移除锚点及其专属草稿纸。",
|
||||
"toolAddBookmark": "添加书签(当前位置或所选段落)",
|
||||
"toolBookmarks": "书签",
|
||||
"bookmarksTitle": "书签",
|
||||
"bookmarksEmpty": "还没有书签。",
|
||||
"bookmarkDefaultLabel": "第 {page} 页",
|
||||
"@bookmarkDefaultLabel": {
|
||||
"placeholders": { "page": { "type": "int" } }
|
||||
},
|
||||
"bookmarkPageLabel": "第 {page} 页",
|
||||
"@bookmarkPageLabel": {
|
||||
"placeholders": { "page": { "type": "int" } }
|
||||
},
|
||||
"bookmarkDeleteTitle": "删除书签?",
|
||||
"bookmarkDeleteBody": "这会移除保存的位置。",
|
||||
"failedToOpenPdf": "打开 PDF 失败:\n{error}",
|
||||
"pdfNoPages": "PDF 没有任何页面。",
|
||||
"pageOfPages": "{current} / {total}",
|
||||
|
||||
Reference in new issue
Block a user