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

8022 Commits

Author SHA1 Message Date
poire-z
05126b94b6 Dual pages: shown as 2 columns on a single page
Rework Dual pages code so that the view is considered
a single page number, so it looks more like 2-columns
on a single page.
This solves a few issues like:
- Page number and count are consistent between top
  and bottom status bars
- SkimTo -1/+1 doing nothing every other tap
- Statistics being wrong (like "Pages read" never
  going over half of the book page count)
2021-01-29 01:32:52 +01:00
poire-z
7779e2d8e7 CRe: use getDocumentRenderingHash() to detect rendering changes
Instead of just relying on document full height
and number of pages.
2021-01-29 01:32:52 +01:00
poire-z
fbdff1c672 CRe top status bar: ensure 12-hours clock setting 2021-01-29 01:32:52 +01:00
poire-z
8ff50a9e24 CreDocument: disable crengine image scaling options
Since their handling in crengine has been re-enabled.
2021-01-29 01:32:52 +01:00
poire-z
3c123bf119 bump crengine: support min/max-width/height, 2-pages tweaks
Includes:
- EPUB ncx TOC: allow items with an empty title
- resizeImage(): restore original scaling options code
- CSS: parse and store min/max-width/height
- Add getStyledImageSize() ensuring min/max-width/height
- renderBlockElementEnhanced(): ensure min/max-width/height
- 2-pages mode: add option twoVisiblePagesAsOnePageNumber
- TOC, PageMap: save the visible pages number they were build for
- 2-pages mode: tweak header drawing
- Header: add option to display time as 12-hours clock
- 2-pages mode: decrease min middle margin from 1.2 to 0.8em
- Add LVDocView::getDocumentRenderingHash()
- (Upstream) Text: don't remove trailing space on last word if pre
- (Upstream) Font: replace notfound glyphs only on last fallback font
- (Upstream) Add a few lString8 methods
2021-01-29 01:32:52 +01:00
poire-z
a482baac5b Footer current chapter: use first chapter on page instead of last 2021-01-29 01:32:52 +01:00
poire-z
564db73cd8 TOC: show en-dash on empty titles 2021-01-29 01:32:52 +01:00
poire-z
e74c28efa9 CRe TOC, Bookmarks: show marker when jumping 2021-01-29 01:32:52 +01:00
NiLuJe
df0bbc9db7
Tame some ButtonTable users into re-using Buttontable instances if possible (#7166)
* QuickDictLookup, ImageViewer, NumberPicker: Smarter `update` that will re-use most of the widget's layout instead of re-instantiating all the things.
* SpinWidget/DoubleSpinWidget: The NumberPicker change above renders a hack to preserve alpha on these widgets almost unnecessary. Also fixed said hack to also apply to the center, value button.

* Button: Don't re-instantiate the frame in setText/setIcon when unnecessary (e.g., no change at all, or no layout change).
* Button: Add a refresh method that repaints and refreshes a *specific* Button (provided it's been painted once) all on its lonesome.

* ConfigDialog: Free everything that's going to be re-instatiated on update
 
* A few more post #7118 fixes:
  * SkimTo: Always flag the chapter nav buttons as vsync
  * Button: Fix the highlight on rounded buttons when vsync is enabled (e.g., it's now entirely visible, instead of showing a weird inverted corner glitch).
  * Some more heuristic tweaks in Menu/TouchMenu/Button/IconButton
* ButtonTable: fix the annoying rounding issue I'd noticed in #7054 ;).

* Enable dithering in TextBoxWidget (e.g., in the Wikipedia full view). This involved moving the HW dithering align fixup to base, where it always ought to have been ;).

* Switch a few widgets that were using "partial" on close to "ui", or, more rarely, "flashui". The intent being to limit "partial" purely to the Reader, because it has a latency cost when mixed with other refreshes, which happens often enough in UI ;).

* Minor documentation tweaks around UIManager's `setDirty` to reflect that change.

* ReaderFooter: Force a footer repaint on resume if it is visible (otherwise, just update it).
* ReaderBookmark: In the same vein, don't repaint an invisible footer on bookmark count changes.
2021-01-29 00:20:15 +01:00
NiLuJe
f4f8820575
Bump the things for 2021.01.1 (#7202)
* Bump base

https://github.com/koreader/koreader-base/pull/1293
https://github.com/koreader/koreader-base/pull/1294

Fix #7187

* Bump android-luajit-launcher

https://github.com/koreader/android-luajit-launcher/pull/289
https://github.com/koreader/android-luajit-launcher/pull/292

Fix #7193
2021-01-26 23:29:00 +01:00
Martín Fernández
a5768c7411
calibre plugin: handle huge metadata files (#7159)
metadata files > 30MB will be parsed manually to prevent OOM
2021-01-24 13:47:52 +01:00
Frans de Jonge
2db763c6f7
Bump base for nnsvg libm stuff (#7191)
Fixes #7190.

See <https://github.com/koreader/koreader-base/pull/1292>.
2021-01-23 23:25:31 +01:00
Martín Fernández
9f4e7456cf
bump base (#7181) 2021-01-21 22:43:29 +01:00
Glen Sawyer
34b177aa69
Wifi toggle for reMarkable 2 (#7122)
reMarkable 1 is no-op for the moment
2021-01-19 21:09:17 +01:00
Jason Benwell
41ab04b49e
Fix crash attempting to set compact items in status bar (#7172) 2021-01-19 21:07:56 +01:00
NiLuJe
0c76c73e4f
Assorted fixes after #7118 (#7161)
* I'd failed to notice that ButtonTable *also* instantiates seven billion Buttons on each update. Unfortunately, that one is way trickier to fix properly, so, work around its behavior in Button. (This fixes multiple issues with stuff using ButtonTable, which is basically anything with a persistent set of buttons. A good and easy test-case is the dictionary popup, e.g., the Highlight button changes text, and the next/prev dic buttons change state. All that, and more, was broken ;p).

* Handle corner-cases related to VirtualKeyboard (e.g., Terminal & Text Editor), which screwed with both TouchMenu & Button heuristics because it's weird.

* Flag a the dictionary switch buttons as vsync

(They trigger a partial repaint of the dictionary content).

* Flag the ReaderSearch buttons as vsync

They very obviously trigger a partial repaint, much like SkimTo ;p.
2021-01-18 16:51:25 +01:00
Cali-Co
66eb939936
[feat] Add skimming support for Non-Touch devices (#7163)
Fixes #6866.
Replace InputContainer with FocusManager for easier DPad Handling.
Add ProgressBar jump via key Q to P, corresponds with 0% to 100%.

Tested on K3 and SDL. Should be safe for devices with touch.
2021-01-18 11:59:04 +01:00
Frans de Jonge
b1b2fbfc94
Update translations submodule for 2021.01 (#7156) 2021-01-17 11:39:48 +01:00
Frans de Jonge
1ef6d0b257
[feat] Support mimetypes in DocumentRegistry:hasProvider() (#7155)
And make .djvu the canonical extension for DjVu.

Fixes #5478.
2021-01-17 09:22:48 +01:00
Glen Sawyer
7753577616
[reMarkable] Don't need to keep attempting WiFi connection after success (#7121)
If we're in range of multiple known WiFi Access Points (including multiple instances of the same SSID), we don't need to keep trying to connect after the first successful connection.

Minimal change would have been replacing the return inside the foreach function with return [a non-nil value].
But foreach is deprecated, and since I was touching the code anyhow, I figured I'd do that tiny update as well.
2021-01-16 21:44:47 +01:00
Frans de Jonge
5c9dc850e8
Address assorted Weblate comments (#7154)
* Fix typo in dropbox

Reported by @lescheck

* Rephrase text justification explanation more elegantly

* CoverBrowser: fix up some plurals

* Statistics: remove random use of template function

* Use ngettext for minute/minutes and second/seconds

* Change KB/MB/GB to kB/MB/GB SI units
2021-01-16 21:40:00 +01:00
Jason Benwell
cd6e2d9975
Make status bar prefix compact items a bit more compact (#7153)
For battery level, show icon only
Reduce separator between items to " " from "  "
2021-01-16 15:30:43 +01:00
NiLuJe
8bf829da0a
Bump base (#7150)
https://github.com/koreader/koreader-base/pull/1287
https://github.com/koreader/koreader-base/pull/1288
2021-01-16 04:43:58 +01:00
NiLuJe
dffe86dfe9
Cleanup eye-gouging madness around io.read calls (#7149)
* Don't reinvent the wheel when reading a one-line int or string from sysfs

* Simplify a whole other bunch of read calls
2021-01-16 04:41:46 +01:00
Martín Fernández
f52fffd467
Mark calibrecompanion plugin as obsolete (#7147) 2021-01-15 20:31:44 +01:00
Frans de Jonge
4b02edc4e1
Bump luajit-launcher (#7142)
For https://github.com/koreader/android-luajit-launcher/pull/288
2021-01-14 21:13:26 +01:00
NiLuJe
183e0a2e25
Bump android-luajit-launcher (#7137)
* Check available width when using a viewport

* Mention that available_width should always match width
2021-01-13 21:43:46 +01:00
poire-z
396d1fbf46
bump crengine: parsing, lists, 2-pages mode fixes & tweaks (#7138)
Includes:
- EPUB: fix truncated HEAD>STYLE stylesheet
- XML parsing: slightly better parsing of <script>
- Update German hyphenation patterns
- (chore) Silence some clang warnings
- (Upstream) CSS content: fix regression with open-quote/close-quote
- (Upstream) HTML lists: support the 'reversed' attribute
- (Upstream) Tweak list items disc/circle/square symbols
- 2-pages mode: option to skip geometry checks

CRE bottom menu: allow toggling Dual Pages in portrait mode.
2021-01-13 20:26:14 +01:00
Martín Fdez
1148e46651 migrate fontlist to persist 2021-01-13 15:00:13 +01:00
Martín Fdez
b27cf0d168 migrate calibre plugin to persist 2021-01-13 15:00:13 +01:00
Martín Fdez
b8f0dc3752 add table persistence module 2021-01-13 15:00:13 +01:00
NiLuJe
47b0d4089a
Remember the final rotation during Reboot/PowerOff/AutoSuspend, too (#7133)
Re #7096, Fix #7125

Co-authored-by: yparitcher <y@paritcher.com>
2021-01-12 22:31:38 +01:00
Jason Benwell
f53fa1d323
[UX] Footer: add prefix option "Compact items" (#7127)
For a compact layout, with removed/shortened spaces.
2021-01-12 02:04:15 +01:00
poire-z
9b11497652 KOPT bottom menu: hide it when applying Zoom options 2021-01-12 00:34:30 +01:00
poire-z
b92c078e9c ConfigDialog: temporarily hide when showing SpinWidgets
Hide bottom panel when showing a SpinWidget, so we gain
on the bottom the space covered by the SpinWidget to see
more how a change is affecting the book text.
For clarity, rename delay_repaint & refresh_callback
to hide_on_apply & when_applied_callback.

Normalize SpinWidgets: have them both accept a
cancel_callback and a close_callback.
InfoMessage: call dissmiss_callback also on timeout.
2021-01-12 00:34:30 +01:00
poire-z
4043ba27b0 CRE: fix to Top/Bottom margins fine tuning
Rework eb66856d so that "Sync T/B Margins" is disabled
when set Top and Bottom margins differ (previously,
the bottom one was taking over the top one when
it was enabled).
2021-01-12 00:34:30 +01:00
poire-z
8f79c662cf Notification: closed by any event, but not consuming it
Make Notification have toast=true, and UIManager deal
specifically with such widget:
a "toast" widget gets closed by any event, and let
the event be handled by a lower widget.
This should allow us to not wait or tap to get rid
of a notification, and just go on with what we're
doing.
Also make them have a default timeout of 2s,
used with all existing ones.
2021-01-12 00:34:30 +01:00
poire-z
f1046f07a9 Dispatcher: increase hold_step for usability 2021-01-12 00:34:30 +01:00
Markismus
67ca9c35f5
Prevent sdcv from interpreting search term starting with dash as an option (#7134) 2021-01-11 14:32:10 +01:00
zwim
8991ec1372
Align wording of AltStatusBar menu to the bottom one (#7130)
Also change to "Font size (%1)"
2021-01-10 19:37:51 +01:00
NiLuJe
47568ae9b4
ScreenSaver: Unbreak "disable" mode (#7124)
* Unbreak "disable" mode

Regression since f67296942f
2021-01-10 01:51:32 +01:00
NiLuJe
3060dc81af
Revamp "flash_ui" handling (#7118)
* Wherever possible, do an actual dumb invert on the Screen BB instead of repainting the widget, *then* inverting it (which is what the "invert" flag does).
* Instead of playing with nextTick/tickAfterNext delays, explicitly fence stuff with forceRePaint
* And, in the few cases where said Mk. 7 quirk kicks in, make the fences more marked by using a well-placed WAIT_FOR_UPDATE_COMPLETE

* Fix an issue in Button where show/hide & enable/disable where actually all toggles, which meant that duplicate calls or timing issues would do the wrong thing. (This broke dimming some icons, and mistakenly dropped the background from FM chevrons, for example).
* Speaking of, fix Button's hide/show to actually restore the background properly (there was a stupid typo in the variable name)
* Still in Button, fix the insanity of the double repaint on rounded buttons. Turns out it made sense, after all (and was related to said missing background, and bad interaction with invert & text with no background).
* KeyValuePage suffered from a similar issue with broken highlights (all black) because of missing backgrounds.
* In ConfigDialog, only instanciate IconButtons once (because every tab switch causes a full instantiation; and the initial display implies a full instanciation and an initial tab switch). Otherwise, both instances linger, and catch taps, and as such, double highlights.
* ConfigDialog: Restore the "don't repaint ReaderUI" when switching between similarly sized tabs (re #6131). I never could reproduce that on eInk, and I can't now on the emulator, so I'm assuming @poire-z fixed it during the swap to SVG icons.
* KeyValuePage: Only instanciate Buttons once (again, this is a widget that goes through a full init every page). Again, caused highlight/dimming issues because buttons were stacked.
* Menu: Ditto.
* TouchMenu: Now home of the gnarliest unhilight heuristics, because of the sheer amount of different things that can happen (and/or thanks to stuff not flagged covers_fullscreen properly ;p).

* Bump base
https://github.com/koreader/koreader-base/pull/1280
https://github.com/koreader/koreader-base/pull/1282
https://github.com/koreader/koreader-base/pull/1283
https://github.com/koreader/koreader-base/pull/1284

* Bump android-luajit-launcher
https://github.com/koreader/android-luajit-launcher/pull/284
https://github.com/koreader/android-luajit-launcher/pull/285
https://github.com/koreader/android-luajit-launcher/pull/286
https://github.com/koreader/android-luajit-launcher/pull/287
2021-01-10 01:51:09 +01:00
poire-z
475bb648b0 Margins info msg: show left/right margin values
As we can now tweak them independantly.
2021-01-10 01:14:48 +01:00
poire-z
ebf997dd99 DictQuickLookup: allow continuous reading with keys
We could scroll a definition with keys. Now, when
reaching top or bottom, switch to prev/next result.
2021-01-10 01:14:48 +01:00
poire-z
27b493afef Fix selected word non-highlighted on PDF
Optimisation for CRE from dd74194e made it not work with
KOpt-based documents.
2021-01-10 01:14:48 +01:00
poire-z
9ec3dcb376 ReaderDictionary: fix possible crash with Wikipedia
Also reword some "...canceled" to "...interrupted"
for consistency.
2021-01-10 01:14:48 +01:00
poire-z
1f2447dc06 Statistics plugin: change some logger.info() to dbg() 2021-01-10 01:14:48 +01:00
zwim
a44c178d74
show AltStatusBar when changing the font size (#7119) 2021-01-08 16:06:54 +01:00
yparitcher
1c9c40fb95
Save rotation across restarts (#7096) 2021-01-07 23:58:30 +01:00
yparitcher
00556715f4
Dispatcher: update document.configurable (#7116)
So ConfigDialog knows about changed settings and
properly reflects their states.
2021-01-07 23:19:23 +01:00