Commit Graph

5901 Commits

Author SHA1 Message Date
mbays
b5203686e3 InputDialog: call edited_callback on edit even when no Save/Close buttons 2024-08-06 13:12:08 +02:00
NiLuJe
7e8cdbcf65 PowerD: Keep track of frontlight state change by interactive callers for suspend/resume purposes (#12283)
While #12256 papered over the tracking of a *single* suspend -> (resume->suspend) series of events, things still go out of sync if you tack on *more* suspend/resume events after that.

The upside is that our *actual* tracking of suspend/resume is solid, so at least we're actually doing the right thing as far as PM is concerned.

The downside is that on Kobo, the frontlight handling code is full of delays, and the ramping down/up itself also takes some time, so things can quickly overrun into the wrong event.

This means a couple of things:

* We need to cancel any scheduled frontlight toggles and ramps on Kobo, to ensure that only the one from the *last* event received goes through, in an attempt to limit the amount of potential crossover.
* Tracking fl_was_on *cannot* reliably be done from the suspend/resume handlers (especially on Kobo), as the ramps themselves may cross over the event barriers (and we potentially cancel the task anyway), so this was moved to the very few interactive callers that will actually change the frontlight state.
* On Kobo, crossover is still *somewhat* possible because the ramps take time. It's mostly harmless for the ramp down, we just need to tweak the ramp down to start from the actual intensity to avoid a weird jump on the initial step if there's an inconsistency. For the ramp up, we potentially need to manually kill the light first, because off -> on assumes it *really* starts from off ;).

Followup to #12256
Fix #12246 (again)
2024-08-06 01:13:14 +02:00
Frédéric Brière
9e6f3dac65 Panel zoom: Properly handle renderPage() not rendering the whole page (#12296)
When zooming to a small panel on a device with a large display, the
resulting zoom factor often causes `renderPage()` to only render the
panel itself instead of the whole page.  `getPagePart()` needs to
account for that when extracting the panel from the rendered tile.

Fixes half of #7961 (namely the black/half-black rectangles)
2024-08-05 22:47:51 +02:00
Benoit Pierre
a6663202b7 NetworkMgr: fix debug trace (#12297)
Prevent crash:
```
./luajit: frontend/util.lua:1092: attempt to get length of local 'str' (a nil value)
stack traceback:
        frontend/util.lua:1092: in function 'fixUtf8'
        frontend/ui/network/manager.lua:1109: in function 'requestToTurnOnWifi'
[…]
```
2024-08-05 19:09:47 +02:00
David
3992438872 [CoverBrowser.MosaicMenu] Increase focus underline thickness (#12189) 2024-08-05 10:19:16 +02:00
poire-z
949b996ad7 Fix early unhighlight after Add to vocab builder (#12288)
Getting text from xpointers to get the current selected
word context would have crengine unhighlight that word.
Allow to get it selected again when done getting context.
2024-08-04 23:27:30 +02:00
ziz57
c213bd779c ReaderUI: add seamless argument to switchDocument (#12290) 2024-08-04 20:02:45 +02:00
NiLuJe
030f4a15d4 ReadHistory: On remove, trust the index from FileManagerHistory if possible (#12253)
The item's idx field is based on the current view settings, so only trust it when there's no filtering or searches involved, which ensures the order matches the actual history array layout.
2024-08-03 21:49:11 +02:00
hius07
74e863c9bb readerannotation: fix matchFunc (#12270) 2024-08-02 22:36:34 +03:00
NiLuJe
9b9898d466 Kobo: Track frontlight state more accurately on suspend/resume (#12256)
Hopefully in the least intrusive way possible, because frontlight handling code is hell.

`self.fl_was_on` could go out of sync with the expected state when resume->suspend events happened in very quick succession, leading to it being set to false, preventing the frontlight from being turned back on on the next resume.

Fix #12246
2024-08-01 23:06:31 +02:00
Frans de Jonge
764a482f8c [fix] NetworkMgr: apply HTTP proxy setting on startup (#12260)
Fixes #12244.
2024-08-01 21:03:34 +02:00
hius07
a24bb70066 Annotations: fix exporting (#12261) 2024-08-01 13:14:46 +03:00
hius07
e5fb836a81 ReaderFooter: improve (#12243) 2024-08-01 13:11:28 +03:00
NiLuJe
5c77774ca9 NetworkMgr: Attempt to handle wpa_supplicant rescans better (#12236)
Namely, in the face of wpa_supplicant doing multiple scans. Note that a backend PR will make this largely redundant, by actually fixing the core issue in our backend ;).

Also add more logging around the authentication status.
2024-07-30 11:44:45 +02:00
hius07
3919deef05 readerannotation: fix doesMatch func (#12231) 2024-07-29 17:39:44 +03:00
NiLuJe
d59c837714 Kobo: Refactor various aspects of the Kaleido/MTK support (#12221)
* UIManager: Let the fb backend deal with Kaleido wfm promotion. This fixes a number of quirks that poisoned the refresh queue with spurious full-screen refreshes. See https://github.com/koreader/koreader-base/pull/1865 for more details.
* This also means we now disable Kaleido waveform modes when color rendering is disabled (remember to trash your thumbnail cache if you don't want to mix color w/ grayscale thumbnails, though).
* UIManager: Merge refreshes that share an edge, because that was driving me nuts (and would have most likely been merged by the kernel anyway). A perfect test-case is the FM, which trips two separate refreshes because of its title bar.
* ReaderFlipping: Use sensible dimensions, so that we only refresh the icon's region.
* ReaderBookmark: Only refresh the dogear instead of the whole page when toggling bookmarks.
* NetworkSetting: Make it a real boy, so it consistently refreshes properly on dismiss instead of relying on UIManager saving the day.
* Kobo: Aggressively prevent *both* suspend & standby while MTK devices are plugged-in, as both will horribly implode the kernel (we previously only prevent standby while charging).
* Kobo: Switch to 8bpp on B&W MTK devices (or when color rendering is disabled on Kaleido panels).
2024-07-28 01:19:40 +02:00
NiLuJe
761cf18222 SDL: Return true in NetworkMgr:isConnected on !hasWifiToggle platforms, (#12217)
so as not to break the beforeWifiction shenanigans...

Which is most of them, only the Emulator subclass sets it, for...
reasons.

(That Emulator quirk is also why we can't simply scrap the whole thing
to use NetworkMgr's default imps).

Fix #12203 (thanks to @benoit-pierre for spotting that one).

This was clearly an oversight on my part when working on #10669
2024-07-26 02:12:53 +02:00
hius07
477d6865f1 toggleswitch: fix long-press (#12215) 2024-07-24 18:36:21 +03:00
hius07
8cb221c6c6 Annotations: pageno honors reference pages and hidden flows (#12214) 2024-07-24 18:35:48 +03:00
hius07
b17bd967da Page turns: invert vertical tap zones (#12195) 2024-07-24 18:34:23 +03:00
Trash Panda
5affb68233 AltStatusBar: add option to show Author (#12197) 2024-07-21 20:11:46 +02:00
poire-z
caaf789052 CRE call cache: don't wrap setViewMode (#12194)
Avoid highlights' xpointers to be recomputed when
switching between page and scroll mode, which could
make using "Auto-scroll when selection reaches a corner"
really slow when having a large number of highlights.

Closes #12156.
2024-07-20 21:16:32 +02:00
zwim
df48d51eca AltStatusBar/Footer: add the read timer value (#12002)
Closes #11950
2024-07-19 22:55:31 +02:00
Benoit Pierre
97735ce496 ReaderThumbnail: clear cache on rendering mode change 2024-07-19 21:32:20 +02:00
Benoit Pierre
8ced47921a PageBrowser: factorize and fix thumbnail preloading code
Fix incorrect page range check: `p >= 1 or p < self.nb_pages`
should be `p >= 1 and p <= self.nb_pages`.
2024-07-19 21:32:20 +02:00
Benoit Pierre
99d45d7584 djvu: honor render mode when reflowing 2024-07-19 21:32:20 +02:00
Benoit Pierre
0c17941ffb kopt: color support
Keep colors when reflowing documents.
2024-07-19 21:32:20 +02:00
Benoit Pierre
cb002f3d1f kopt: fix bad KoptInterface:renderPage call
Fix `render_mode` argument: add missing `gamma` argument.
2024-07-19 21:32:20 +02:00
hius07
7e3b9deb25 Annotations: more fixes (#12181) 2024-07-19 16:52:16 +03:00
hius07
5342b8cc2a Text editor: enhancement (#12176) 2024-07-18 18:07:24 +03:00
David
78f69fd580 Add 'Use left and right keys for page turning' option (#12174) 2024-07-18 08:33:23 +02:00
poire-z
7ebd067a95 Footnote popup: fix XHTML handling (#12158)
Latest MuPDF update changed HTML parsing, and use a better
HTML5 parser, which may cause some issues with the XHTML
we get from crengine.
So, for footnote popups, be sure we use MuPDF's XHTML parser.
2024-07-12 13:34:47 +02:00
hius07
a7d493d966 ReaderView: speedup highlights drawing (#12134) 2024-07-06 15:24:01 +03:00
hius07
4d50787637 Dispatcher: prettify action list (#12133) 2024-07-06 15:23:27 +03:00
hius07
6d73442ecd Reader: always exit to book folder (#12129) 2024-06-30 14:29:22 +03:00
poire-z
7ef3e475cb CRE call cache: don't reset on setPageInfoOverride (#12123)
Fix slowness when top status bar enabled on books
with a large number of highlights.
2024-06-29 17:15:45 +02:00
Martín Fernández
0faccff9bc Fix for OTA updates w/ zsync (#12120)
Fixes #12115
2024-06-29 08:06:46 +02:00
David
2c9bb33f66 InputText, DictQuickLookup: add keyboard shortcut for prev/next dict, toggle virtual keyboard, comma on shift+. (#12078) 2024-06-28 15:44:18 +02:00
hius07
add783156d ReaderBookmark: fix sort by date 2 (#12112) 2024-06-28 13:27:15 +03:00
hius07
33ae788575 configdialog: fix toggle (#12104) 2024-06-27 12:43:57 +03:00
hius07
0ae84642e2 configdialog: keep original options intact (#12093) 2024-06-26 15:22:23 +03:00
hius07
41191513c9 Filemanager: fix OpenWith without config (#12095)
Closes #12094.
2024-06-26 09:05:45 +02:00
Martín Fernández
617618d587 Add Device:otaModel() (#12014)
Devices with a single target might want to specify it in `Device.ota_model`
Devices with multiple targets want to override the function or to specify `ota_model` variants for each target.
2024-06-25 21:35:38 +02:00
Marek Veselý
4c4cfa2db0 Kindle: add wifi selector (#12056)
* Kindle: Implement a NetworkMgr backend loosely based on WpaClient in order to allow feature-parity with hasWifiManager platforms. This involves dealing with the native wifid over lipc (the native IPC system, based on DBus), through custom Lua bindings (https://github.com/notmarek/openlipclua), since the stock ones lack support for the needed hasharray data type.
* NetworkMgr: Clear up leftover hallucinations from #10669, making `enableWifi` much simpler (and much more similar to `turnOnWifiAndWaitForConnection`).
* NetworkMgr: Made it clearer that `turnOnWifi` implementations *must* deal with `complete_callback`, as part of the aforementioned changes mean that it's *always* wrapped in a connectivity check, and we need that for proper event signaling.
* Android, Emu: Run `complete_callback` properly in `turnOnWifi`.
* Kindle: Support `powerd:isCharged()` on the PW2 (yes, this is random, it just happened to be my test device :D).
* NetworkMgr:disableWifi: Properly tear down any potential ongoing connection attempt (e.g., connectivity check).
* NetworkMgr:promptWifi: Make the "wifi enabled but not connected" popup clearer if there's an ongoing connection attempt, and gray out the "Connect" button in this case (as it would only lead to another "connection already in progress" popup anyway).
* NetworkMgr:reconnectOrShowNetworkMenu: Make *total* scanning failures fatal (they will lead to an immediate wifi teardown).
* NetworkMgr:reconnectOrShowNetworkMenu: Clear up the long-press behavior (which *always* shows the network list popup) so that it doesn't weirdly break all the things (technical term!).
* NetworkMgr:reconnectOrShowNetworkMenu: When we manage to connect to a preferred network on our own *before* showing the network list, make sure it is flagged as "connected" in said list.
* NetworkMgr:reconnectOrShowNetworkMenu: Make connection failures fatal in non-interactive workflows (they'll lead to a wifi teardown).
* NetworkSetting (the aforementioned network list widget): Clear NetworkMgr's "connection pending" flag on dismiss when nothing else will (i.e., when there's no connectivity check ticking).
2024-06-25 21:17:36 +02:00
David
799275d3a3 FileChooser: 0% > 'on hold' (#12037) 2024-06-24 10:19:25 +02:00
ziz57
34cd1f939f Version: fix outdated documentation of version number (#12074) 2024-06-22 23:43:29 +02:00
hius07
a1ae53c8e5 SkimTo dialog: compact mode (#12046) 2024-06-22 17:57:12 +03:00
jonnyl2
ad8e78cd09 Fix save screenshot dialog wasn't modal (#12067)
Screenshot dialog could not be interacted with in Text editor. Closes #12066.
2024-06-21 23:37:09 +02:00
hius07
527fd05d25 translator: fix settings menu order (#12051) 2024-06-21 20:15:03 +03:00
David
041ca074fb [NT] MenuWidget: add keyboard shortcuts for start/end (#12065) 2024-06-21 18:07:10 +02:00