Commit Graph

983 Commits (96823df503b54ec65991e25a9468a0b68eacbce1)

Author SHA1 Message Date
Frans de Jonge 96823df503
[UX] Navigation settings for all devices (#4680)
Before multiswipes and the gesture manager this was impractical on touch-only devices, but no more!

Also includes some minor textual clarifications on some of the settings.
5 years ago
Frans de Jonge 060902534d
[fix] Gesture manager: more logical position for file browser (#4679)
See https://github.com/koreader/koreader/pull/4678#issuecomment-468378040
5 years ago
Frans de Jonge db0467c9f0
[UX] Introduce Taps & Gestures menu (#4677)
This more logically groups together various settings related to taps and gestures.

Cf. <https://github.com/koreader/koreader/pull/4655#issuecomment-466808273>.
5 years ago
Frans de Jonge 32d813dc92
[UX] Gesture manager: add action - go to file browser (#4678)
Fixes #4676.
5 years ago
Frans de Jonge 75501d5f83
[fix] ReaderGesture: enable/disable multiswipes without restarting (#4673) 5 years ago
Frans de Jonge 163853afdf
[UX] Gesture manager: add action - show menu (#4665) 5 years ago
poire-z 1c0a8c1ef9 cre scroll mode: fix last line of book hidden by footer
By scrolling last page a little bit further.

Also fix a few other scroll mode issues, all related
to doc_height not being updated (eg, in the middle of
a book, and doubling the font size, one would not
be able to turn pages and read the 2nd half of the
book...)
5 years ago
poire-z 918f296bd3 cre scroll mode: fix highlights not shown when small pages
The idea of looking for highlights 1 page before and after
was not working when you have multiple small pages, and
some scroll mode view was actually showing 3 or 4 pages.
So, rework that by using absolute positions when looking
for highlights present in the scrolled view.
5 years ago
Frans de Jonge f8f3132315
[UX] Gesture manager: add action - show frontlight dialog (#4664)
Rationale for the default `down, left` gesture: it's pointing at the location for the frontlight toggle.
5 years ago
Frans de Jonge ff14c7896d
[UX] Gesture manager: add north west = folder up as file manager default (#4662)
Up, left is also the traditional Opera gesture for parent directory.
5 years ago
Frans de Jonge 47ba296f17
[UX] Gesture manager: more multiswipe defaults (#4660) 5 years ago
Frans de Jonge 926150db58
[UX] Gesture manager: add action - go to latest bookmark (#4657) 5 years ago
Frans de Jonge dccebe1fb5
[fix] Gesture manager: send TapForward event for page forward (#4658)
Otherwise you can get rather unexpected results in paged media and scroll mode.

Workaround suggested by @NiLuJe here: https://github.com/koreader/koreader/pull/4570#discussion_r258693835
5 years ago
Frans de Jonge 7098e6ef35
[fix] Gesture manager: default at the top (#4656)
Accidentally broken by 1d6948ddf1
5 years ago
Frans de Jonge 1d6948ddf1
[UX] Gesture manager: show selected action in menu (#4655) 5 years ago
Frans de Jonge ab1132e885
[UX] Gesture manager: re-order actions, add Skim option (#4654)
Also move multiswipes_enabled setting reading into init(),
to avoid it taking effect only after next restart.
5 years ago
Frans de Jonge 91b83c5176
[UX] Gesture manager: delete custom gestures and update menu (#4652)
Include a safety check to prevent rerecording an existing gesture.

Also extend the default set of gestures to include all of them, and add east south west north for refresh. (I've always thought small diagonal swipe to be rather awkward to trigger.)

See https://github.com/koreader/koreader/pull/4644#issuecomment-466743715 and https://github.com/koreader/koreader/issues/4651 regarding the menu update.
5 years ago
Frans de Jonge 92174815a8
[fix] ReaderGesture: don't crash without custom gestures (#4645)
Silly oversight in https://github.com/koreader/koreader/pull/4644.

Also remove unused util because apparently CircleCI didn't run on the other PR when it should've.
5 years ago
Frans de Jonge 2e255a1abd
[feat, UX] Add multiswipe recorder (#4644) 5 years ago
Frans de Jonge 6246d44068
[fix] Gesture manager: actually register multiswipe (#4643)
Accidentally broken in https://github.com/koreader/koreader/pull/4623

Also see https://github.com/koreader/koreader/pull/4640#issuecomment-466443328
5 years ago
Frans de Jonge 9a92792551
[feat, UX] Gesture manager: add option - open previous document (#4641)
Fixes #4333.
5 years ago
Frans de Jonge ca6c7316e6
[fix] ReaderZooming: work around tiles that are too large (#4608)
Zooms out until a page can fit in the cache. It's a bit ugly, but better than being stuck. Fixes #3491.
5 years ago
Frans de Jonge a2c47b35de
[UX] Gesture manager: add paged zoom gestures (#4610)
References #4333.
5 years ago
Frans de Jonge 13d4ead330
[fix] Gesture manager: check multiswipe defaults (#4623)
Pointed out by @poire-z

Also add default previous location action for left, right.
5 years ago
Frans de Jonge 635927269d
[feat] ReaderGesture: add multiswipe support (#4607)
This basic initial implementation offers an introductory message
on the first multiswipe with the option to disable, as well as
a few example multiswipes.

Custom multiswipes can be added to `settings/multiswipes.lua`.
5 years ago
poire-z 62d548fc61 Highlight adjusting: avoid start and end crossing each other 5 years ago
Frans de Jonge 1623acc007 [UX] ReaderGesture: add option - toggle rotation 5 years ago
Frans de Jonge e4b4680b04 [UX] ReaderGesture: add option - show history 5 years ago
Frans de Jonge 45b87307b4 [UX] ReaderGesture: add option - suspend action 5 years ago
Frans de Jonge 333f8658bb
[UX] ReaderGesture: add back to previous location as an option (#4600)
See https://github.com/koreader/koreader/issues/4333#issuecomment-464361133
5 years ago
Frans de Jonge 33840c17cb
[fix] Highlight moving button text shouldn't be translated (#4597) 5 years ago
Galunid 015fb4d34e Allows adjusting highlight start and end (#4582)
Adds arrow buttons under Delete|Edit.
Tap to move by word, hold to move by char.
5 years ago
NiLuJe b274080846
Some more repaint/refresh tweaks (#4578)
* ReaderView & ReaderPaging panning should *probably* keep using "partial" ;). (Fix #4575)
* Try to avoid unnecessary footer repaints (mini status bar)
5 years ago
NiLuJe 5eb4fc5c2d [UX] Add Prev/Next page actions to GestureManager (#4570)
c.f., https://www.mobileread.com/forums/showthread.php?t=315023
5 years ago
NiLuJe 491f24d3d1 [UX] Don't show low battery warning when charging (#4563)
Fix #4560
5 years ago
NiLuJe abc6d17a25
A few minor fixes after #4541 (#4561)
* Enforce dithering in PicDocument
* Ensure we'll get a flashing update on ScreenSaver exit
5 years ago
NiLuJe 8189945be9
A few graphics fixes after #4541 (#4554)
* Various FocusManager related tweaks to limit its usage to devices with a DPad, and prevent initial button highlights in Dialogs on devices where it makes no sense (i.e., those without a DPad. And even on DPad devices, I'm not even sure how we'd go about making one of those pop up anyway, because no Touch ;)!).
* One mysterious fix to text-only Buttons so that the flash_ui highlight always works, and always honors `FrameContainer`'s pill shape. (Before that, an unhighlight on a text button with a callback that didn't repaint anything [say, the find first/find last buttons in the Reader's search bar when you're already on the first/last match] would do a square black highlight, and a white pill-shaped unhighlight (leaving the black corners visible)).
The workaround makes *absolutely* no sense to me (as `self[1] -> self.frame`, AFAICT), but it works, and ensures all highlights/unhighlights are pill-shaped, so at least we're not doing maths for rounded corners for nothing ;).
5 years ago
NiLuJe 812e595608
Enable HW dithering in a few key places (#4541)
* Enable HW dithering on supported devices (Clara HD, Forma; Oasis 2, PW4)
  * FileManager and co. (where appropriate, i.e., when covers are shown)
  * Book Status
  * Reader, where appropriate:
    * CRe: on pages whith image content (for over 7.5% of the screen area, should hopefully leave stuff like bullet points or small scene breaks alone).
    * Other engines: on user-request (in the gear tab of the bottom menu), via the new "Dithering" knob (will only appear on supported devices).
  * ScreenSaver
  * ImageViewer
* Minimize repaints when flash_ui is enabled (by, almost everywhere, only repainting the flashing element, and not the toplevel window which hosts it).
  (The first pass of this involved fixing a few Button instances whose show_parent was wrong, in particular, chevrons in the FM & TopMenu).
* Hunted down a few redundant repaints (unneeded setDirty("all") calls),
  either by switching the widget to nil when only a refresh was needed, and not a repaint,
  or by passing the appropritate widget to setDirty.
  (Note to self: Enable *verbose* debugging to catch broken setDirty calls via its post guard).
  There were also a few instances of 'em right behind a widget close.
* Don't repaint the underlying widget when initially showing TopMenu & ConfigDialog.
  We unfortunately do need to do it when switching tabs, because of their variable heights.
* On Kobo, disabled the extra and completely useless full refresh before suspend/reboot/poweroff, as well as on resume. No more double refreshes!
* Fix another debug guard in Kobo sysfs_light
* Switch ImageWidget & ImageViewer mostly to "ui" updates, which will be better suited to image content pretty much everywhere, REAGL or not.

PS: (Almost 💯 commits! :D)
5 years ago
poire-z e802b96e45 cre: allow text selection/highlighting across pages
Panning to the bottom right corner (or top left corner) switches
to scroll mode and scroll the page forward (resp. backward) 1/3rd
of the screen.
One has to pan out of the corner to continue selection.
Panning again to that corner scrolls another 1/3rd of screen.
Page mode is restored when highlighting or dismissing the highlight
dialog, and a little marker is shown at where selection was started
so one does not get lost after all that scrolling and restoring.
5 years ago
poire-z 6e3b40e2bf Adds CreDocument:getScreenPositionFromXPointer()
Factorize same code used by ReaderLink and ReaderRolling into
CreDocument:getScreenPositionFromXPointer().
5 years ago
poire-z 895589ddaa
Page overlap menu (cre): set nb of overlap lines (#4538)
Make this existing setting tunable with a menu item.
Also make the Page overlap and Highlight menus use a
checkbox, and their items grayed out when disabled.
5 years ago
poire-z 335a513826 [chore] cleanup multi-lines translatable strings
Revert 9971eb85 and make multi-lines strings more readable.
(Multiline translatable strings extraction has been fixed
in koreader-misc tralua_xgettext.py.)
5 years ago
Martín Fernández 23f1597246 android: disable exit menu 5 years ago
Galunid 0678d75438 Adds choice of default action when highlighting (#4486)
New menu Document > Highlight action.
5 years ago
poire-z 4d67dd59ca Rationalize Links> menu items
- Remove duplicated "Show footnote popup". Have the same setting
  applied for Tap or 'Swipe to follow nearest link'.
- Make some menu items enabled or disabled depending on if they would
  have some effect with the current state of other menu items, as
  some kind of visual self-documentation of these dependancies.
- Add menu item to set the footnote popup font size, relative to
  the book font size.
- SpinWidget: allow for showing some informative text
5 years ago
poire-z f533acb7f9 InfoMessage: avoid overflowing screen height with long messages
When no height= provided, and the InfoMessage would overflow
screen height when some long message is provided, decrease the
font size until the widget fit.
5 years ago
Frans de Jonge fd662bc829
[fix, lang] Swipe to show footnotes in popup setting text (#4477)
Duplicate with the tap to show footnotes text, reported on https://www.mobileread.com/forums/showthread.php?p=3798627
5 years ago
NiLuJe d113cb9475
A few Kobo input tweaks (#4450)
* Fix the Touch input probe on Trilogy devices that depend on the touch_probe_ev_epoch_time quirk (fix #630)
* Expose a "Pageturn button inversion" feature in the Navigation menu (for all devices with keys) (fix #4446)
* Allow ignoring the accelerometer on the Forma (Screen > Ignore accelerometer rotation events; also available from the Gesture Manager) (fix #4451)
* Fix SleepCover handling on the Forma (fix #4457)
* Make isWifiOn a tiny bit more accurate (check the actual WiFi module instead of sdio_wifi_pwr)
* Move all flash related Screen options to the eInk submenu
5 years ago
poire-z 3fe6eeff71 cre: adds in-page footnotes and alternative TOC hints tweaks
Adds 2 tweaks to allow displaying footnotes at the bottom of pages,
like it's done in some printed books. This will work only with
books with correctly specified footnotes with the adequate EPUB
attributes, and with Wikipedia EPUBs. But users may be able to
activate them for other books with some user style tweaks.

Adds a few tweaks to control the build of the alternative TOC.
With some user style tweaks, one may be able to build a usable
TOC for some badly formatted or converted books.

Also fixes 2 paragraphs tweaks.
5 years ago
poire-z fddb77d758 ReaderRolling: remove swipe north/south
Fix some conflict on Android where a swipe north from the
bottom to show system buttons (to exit or swith apps) would
cause a page change.
These gestures have never been available in ReaderPaging, so
it shouldn't be a big loss.
5 years ago