2
0
mirror of https://github.com/koreader/koreader synced 2024-11-18 03:25:46 +00:00
Commit Graph

1445 Commits

Author SHA1 Message Date
François Gannaz
11083022b0
Minor code quality improvements (#10905) 2023-10-12 14:52:11 +02:00
poire-z
ea3f8951a3 Add ReaderHandmade: support for custom TOC and hidden flows
Checkboxes under TOC>Settings> allow enabling Custom TOC
and Custom hidden flows (similar to "Hide non-linear fragments"
available with some EPUBs).
Handled by a new ReaderHandmade module.
Adding and removing TOC chapters is done in PageBrowser
with long-press on a page thumbnail, and for chapters also
in the popup dialog after selecting some text in a page.

ReaderToc: add a symbol in title when the TOC is the
alternative TOC or the custom TOC.
2023-10-09 00:15:05 +02:00
poire-z
c51b0c7bb9 BookMap: add option Alternative theme
When enabled in BookMap, both BookMap and PageBrowser get:
- alternating gray background on chapter spans
- hatched background instead of uni-gray on hidden flows.
Also, with both normal look and this alternative theme,
show some hatched overlay on thumbnails part of hidden flows.

ReaderToc: for each TOC item, have it carry its sequence/number
in that level (we do this in validateAndFixToc() where we are
already iterating all the items).
2023-10-09 00:15:05 +02:00
poire-z
35f16f87a4 ReaderThumbnail: fix slow thumbnails when in scroll mode
If originally with two-columns in page mode, and switching
to scroll mode, thumbnails generation would be slow as
the document would be rerendered for each thumbnail.
2023-10-09 00:15:05 +02:00
poire-z
5ec736ae96 ReaderToc: rework getChapterPageCount/Left/Done()
Rework the way they are computed, fixing issues with hidden
flows when they don't coincide with chapter starts.
2023-10-09 00:15:05 +02:00
poire-z
e6ac74c1df ReaderPaging: use document:getNext/PrevPage()
instead of doing arithmetic (ie. new_page=cur_page+1).
This makes it ready to work with custom hidden flows
where these document:getNextPage()/getPrevPage() will
be overloaded to skip pages in hidden flows.

Also fix some odd issues (page truncated or with parts
duplicated) with scrolling/page turning when at start
or end of the document.
2023-10-09 00:15:05 +02:00
Benoit Pierre
5b5b4d9ebc
readerhighlight: fix OCRed text dictionary lookups (#10967)
Cf. #10966.
2023-10-03 22:19:23 +02:00
NiLuJe
e5535a3a3a
ReaderRolling: Guard against races between scheduled tasks and CloseDocument (#10934)
Fix #10932

---------

Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
2023-09-24 00:49:09 +02:00
hius07
9f39614e8a
Custom metadata: fixes 2 (#10919) 2023-09-23 10:21:19 +03:00
hius07
ed5c1cef20
ButtonTable: remove unused (#10926) 2023-09-22 09:06:30 +03:00
hius07
684fc22ffc
TextViewer: font size (#10911) 2023-09-19 08:39:25 +03:00
hius07
be125af949
Actions for Go to first/last bookmark (#10899) 2023-09-15 07:24:31 +03:00
hius07
3f677a7fdd
copt/kopt options: deduplicate some defaults (#10893) 2023-09-13 07:49:57 +03:00
hius07
cc82ead981
copt deduplicate: font settings (#10885) 2023-09-09 12:44:56 +03:00
hius07
6efcf96b75
copt deduplicate: font_size, visible_pages (#10882) 2023-09-09 09:24:05 +03:00
hius07
7d626456a3
copt deduplicate: render_dpi, margins, rotation_mode (#10880) 2023-09-08 08:41:44 +03:00
hius07
73378cd9d7
copt deduplicate: line_spacing (#10768) 2023-09-08 08:40:47 +03:00
hius07
5e74f29fba
copt deduplicate: embedded_css, embedded_fonts (#10876) 2023-09-06 09:41:41 +03:00
hius07
e4ba8c7909
Custom metadata: event (#10869) 2023-09-06 09:41:10 +03:00
hius07
912ae156f7
copt deduplicate: smooth_scaling, nightmode_images (#10801)
Main discussion in #10763.
2023-09-04 23:12:08 +02:00
hius07
a767ad44db
PDF contrast: incorrect set by a gesture (#10798) 2023-09-02 09:41:27 +03:00
NiLuJe
4cc620b702
VirtualKeyboard: Revamp visibility handling (#10852)
Move as much of the state tracking as possible inside VirtualKeyboard itself.
InputDialog unfortunately needs an internal tracking of this state because it needs to know about it *before* the VK is shown, so we have to keep a bit of duplication in there, although we do try much harder to keep everything in sync (at least at function call edges), and to keep the damage contained to, essentially, the toggle button's handler.

(Followup to #10803 & #10850)
2023-09-01 22:51:41 +02:00
hius07
ed2ea6803f
Custom metadata (#10861) 2023-09-01 08:07:29 +03:00
hius07
1ef7821b66
getProps: centralize 2 (#10837)
Centralize and optimize handling document properties.
2023-08-30 07:53:59 +03:00
NiLuJe
7e628958b6 Misc: review pass for #10803 2023-08-15 21:24:11 +02:00
NiLuJe
a15fc0e9a5 Revert "Test: Fiw readerhighlight test"
This reverts commit c23c422f62.
2023-08-15 21:24:11 +02:00
NiLuJe
ae7e2f14aa Test: Fiw readerhighlight test
With actual ReaderUI teardowns, and fix the overlapping highlight
handling, so we can drop the nocov flags
2023-08-15 21:24:11 +02:00
NiLuJe
55534fcec2 ReaderView: Keep the terrible readerhilight_spec test happy
This thing is a horrible mess.
2023-08-15 21:24:11 +02:00
NiLuJe
0686ee594c ReaderView: Make sure we unschedule the hinting task on actual teardown.
onCloseDocument is way too early, if another, later onCloseDocument
handler trips a ReaderUI repaint, a new task will be scheduled, and that
one will never be cancelled, resulting in it running post-teardown,
crashing horribly.

This was for instance very easy to trigger via KOSync.

Fix #10806
2023-08-15 21:24:11 +02:00
NiLuJe
22678ee5ff Misc: Review pass on the previous commits
* Unbreak the Device test
* Rename a few things
* Tweak a few comments
2023-08-15 21:24:11 +02:00
NiLuJe
71378b0b50 Startup: Move Device ctor/dtor shenanigans to the actual Device
constructors and destructors

No need to leak implementation details in there.
2023-08-15 21:24:11 +02:00
NiLuJe
4acf131071 ReaderActivityIndicator: Oh god, my eyes, they buuuuurn.
Make this a real boy, with a transient lipc handle.
And get rid of the insane 1s sleep on affected ReaderView paints,
because ouchy.

This is completely deprecated anyway, so this is entirely pointless,
and mainly to prevent implementation details from creeping into
reader.lua.
2023-08-15 21:24:11 +02:00
NiLuJe
ac1358e0f0 Menu: Actually hide PlatformNav if !hasKeys
Returning {} just leads to a present but blank entry

(Also, nobody notice that the capcheck was wrong inside platnav anyway ;p).
2023-08-15 21:24:11 +02:00
NiLuJe
6283674c47 Menu: Split off "Page Turns" submenu in two sections
The Kindle swipe animations & physical key inversion apply *everywhere*,
so we need this accessible in the FM, too.

Move it to Navigation, which is where it already was on !Touch devices.
2023-08-15 21:24:11 +02:00
poire-z
626864f856 [chore] replace utf8 bytes with Unicode escape sequence 2023-08-02 01:28:24 +02:00
NiLuJe
ef0bcbad3f
ReaderFooter: Don't reset the initial position marker like a cowboy (#10767)
Take a more tactful approach instead, should hopefully prevent issues like in https://github.com/koreader/koreader/pull/10114#issuecomment-1658913661
2023-08-01 18:43:48 +02:00
hius07
47dae6c5dd
Dictionary: fix Fuzzy search setting appearance (#10721) 2023-07-24 09:25:53 +03:00
hius07
a311de6d8e
readerview: do not read/save inapplicable doc_settings items (#10710) 2023-07-24 09:25:16 +03:00
poire-z
d0e705a582
Font list menu: allow sorting by more recently set (#10662)
- Add a toggle in Font settings> allowing showing font
  ordered by most recently selected (long-press on
  it allows clearing this history).
- Keep in G_reader_settings a list of known fonts, so
  we can notice newly added user fonts, and put them
  at the start of the most recently selected. Show
  these new fonts with a symbol in the menu.
- TouchMenu: allows for a flag to trigger menu
  refresh when going up.
2023-07-12 22:29:13 +02:00
hius07
e1ed3a71c5
Style tweaks: notification on toggling style tweak with a gesture (#10674) 2023-07-12 07:45:47 +03:00
poire-z
dffc2404ca Text search: normalize input text
So that Unicode NFC normalization can combine diacritics
entered via our keyboard with their base into their
canonical form (we can expect books text to be normalized).
2023-07-04 09:03:34 +02:00
hius07
6decb71521
ReaderPaging: do not store zeroes in page_positions (#10602)
Page_position value depends on the view mode parameters, but we can assume that zero is a frequent case.
2023-07-04 08:43:30 +02:00
NiLuJe
08dd97384c
KOSync: Clarify settings, plus refactor & fixes to make "auto-sync" more reliable (#10605)
Fix: #10539, and for context #6489, #6733, #6534

Reorganize and reword most of the settings to make it clear what actually ties into auto sync, and what doesn't. (Specifically, what happens when a pull attempts to sync forward or backward has nothing to do with auto sync, it applies in all cases; while the periodic sync *does* require auto sync).

The main point of contention, though, is that auto sync will now *always* attempt to setup network connectivity (i.e., on resume/suspend/close). Periodic sync will *not* though (the intent being that, if you use periodic sync, you're relying on the activity check to actually keep wifi on at all times)).

Since this may lead to a large amount of nagging about wifi toggles on devices w/ NetworkManager support, it is now *disabled* by default on those devices. (And given that it wouldn't have worked because of the lack of connectivity, that doesn't really make any practical difference ;p).

Additionally, given the fact that there's no way to make this behavior viable if the "before wifi" action is left at its default of "prompt", this feature now *requires* that to be set to "turn_on" (on devices where it can, of course); attempting to toggle it on will warn about that if necessary.
This change is retroactive (OTM).

Includes an assortment of fixes and cleanups, including migrating to the new LuaSettings API, which is why there's no longer a smattering of superfluous flushes.
2023-07-03 01:23:14 +02:00
hius07
eef99dafd6
Overlap: fix detecting reflow mode (#10576) 2023-06-14 07:36:37 +03:00
hius07
46933035c5
Open with: images (#10561) 2023-06-12 09:08:56 +03:00
hius07
23feb0c9cd
Bookmarks: filter by highlight style (#10549) 2023-06-08 08:28:43 +03:00
poire-z
04425b74fc BookMap: add "Overview" mode
Add a restricted but convenient mode showing BookMap like
in initial view, while still allowing chapter levels to be
tweaked. This allows getting back to this view with another
gesture to see the overall progress in the book, while
still having the normal BookMap in flat mode acting as
an alternative ToC.
Available as an action to associate to a gesture, and
with long-press on the "Book map" menu item.
2023-06-05 00:58:15 +02:00
hius07
57f4ff2c68
ReaderHighlight: manage overlapped highlights (#10492) 2023-05-28 08:05:48 +03:00
hius07
919d67656d
readerhighlight: fix translator auto lang (#10469) 2023-05-20 15:41:50 +03:00
hius07
5f59ee6417
readerhighlight: fix translate (#10451)
Fix translation for books without "language" in properties (it is "", Translator expects nil).
Regression after #10438.
2023-05-18 21:57:16 +02:00