Brings ~55 mod-exclusive files to the upstream-based mod/master-resync branch: Activities (migrated to new ActivityManager pattern): - Clock/Time: SetTimeActivity, SetTimezoneOffsetActivity, NtpSyncActivity - Dictionary: DictionaryDefinitionActivity, DictionarySuggestionsActivity, DictionaryWordSelectActivity, LookedUpWordsActivity - Bookmark: EpubReaderBookmarkSelectionActivity - Book management: BookManageMenuActivity, EndOfBookMenuActivity - OPDS: OpdsServerListActivity, OpdsSettingsActivity - Utility: DirectoryPickerActivity, NumericStepperActivity Utilities (unchanged): - BookManager, BookSettings, BookmarkStore, BootNtpSync - Dictionary, LookupHistory, TimeSync, OpdsServerStore Libraries: PlaceholderCover, TableData, ChapterXPathIndexer Scripts: inject_mod_version, generate_book_icon, preview_placeholder_cover Docs: KOReader sync XPath mapping Migration changes: - ActivityWithSubactivity -> Activity base class - Callback constructors -> finish()/setResult() pattern - enterNewActivity() -> startActivityForResult() - Activity::RenderLock&& -> RenderLock&& These files won't compile yet - they reference mod settings and I18n strings that will be added in subsequent phases. Made-with: Cursor
37 lines
1.9 KiB
Markdown
37 lines
1.9 KiB
Markdown
# Port Upstream PRs #1038, #1045, #1037, #1019
|
|
|
|
## Task
|
|
|
|
Manually port 4 open upstream PRs into the `mod/sync-upstream-PRs` branch, pull in Romanian translations from `upstream/master`, and create a MERGED.md tracking document.
|
|
|
|
## Changes Made
|
|
|
|
### PR #1038 (partial -- incremental fixes)
|
|
- `lib/Epub/Epub/ParsedText.cpp`: Added `.erase()` calls in `layoutAndExtractLines` to remove consumed words after line extraction (fixes redundant early flush bug). Also fixed `wordContinues` flag handling in `hyphenateWordAtIndex` to preserve prefix's attach-to-previous flag.
|
|
|
|
### PR #1045 (direct string changes)
|
|
- Updated `STR_FORGET_BUTTON` in all 9 translation yaml files to shorter labels.
|
|
- Pulled `romanian.yaml` from `upstream/master` (merged upstream PR #987).
|
|
|
|
### PR #1037 (4-file manual port)
|
|
- `lib/Utf8/Utf8.h`: Added `utf8IsCombiningMark()` utility function.
|
|
- `lib/EpdFont/EpdFont.cpp`: Added combining mark positioning in `getTextBounds`.
|
|
- `lib/Epub/Epub/hyphenation/HyphenationCommon.cpp`: Added NFC-like precomposition for common Western European diacritics in `collectCodepoints()`.
|
|
- `lib/GfxRenderer/GfxRenderer.cpp`: Added combining mark rendering in `drawText`, `drawTextRotated90CW`, `drawTextRotated90CCW` (mod-only), and `getTextAdvanceX`. Also wrapped cursor advance in `renderCharImpl` to skip combining marks.
|
|
|
|
### PR #1019 (1-file manual port)
|
|
- `src/activities/home/MyLibraryActivity.cpp`: Added `getFileExtension()` helper and updated `drawList` call to show file extensions in the File Browser.
|
|
|
|
### Tracking
|
|
- `mod/prs/MERGED.md`: Created tracking document with details for all 4 PRs.
|
|
|
|
## Build Verification
|
|
|
|
`pio run -e mod` succeeded (24.49s, Flash: 57.2%, RAM: 31.4%).
|
|
|
|
## Follow-up Items
|
|
|
|
- All 4 upstream PRs are still open; monitor for any review feedback or changes before they merge.
|
|
- Romanian yaml is missing mod-specific string translations (using English fallbacks).
|
|
- PR #1019 open question: how file extensions look on long filenames.
|