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

828 Commits

Author SHA1 Message Date
NiLuJe
4005bf69aa
Slightly less crappy Nightmode (#4871)
Companion PR to https://github.com/koreader/koreader-base/pull/884
* Basically flags devices known to be stable when using PxP inversion.
* Plus, random fix for #4870 ;).
* A few FrontLight tweaks & cleanups on Kobo:
  * Moved the Kobo-specific startup status insanity to Kobo-specific init
  * Made turnOff/turnOn frontlight do a smooth ramp down/up
  * On Kobo, use turnOff/turnOn for suspend/resume, to get that smooth toggle
  * On Kobo, for NaturalLight w/ a mixer, only set warmth for setWarmth, and only set Brightness for setBrightness, otherwise, it tried to set both with not in-sync values, which made the FL widget jittery.
2019-04-08 23:05:08 +02:00
Frans de Jonge
8466af2c5b
[UX] Gesture manager: corner gestures (#4878)
Adds configuration to the top corners as well as the additional gestures hold and two-finger tap.

Deprecates `DTAP_ZONE_FLIPPING` and `DTAP_ZONE_BOOKMARK`.

Fixes #4877.
2019-04-07 19:00:15 +02:00
poire-z
5c38bcb8b7 [UX] Links menu and handling tweaks (#4867)
- Removed "Swipe to follow first link on page" menu item and
  handling code, as it feels not really as practical as
  "Swipe to follow nearest link".
- Removed recently added "External link action", as we can
  just always present a popup with the url and the available
  actions.
- Generic handling of these actions in onGoToExternalLink(),
  so they are proposed on the Wikipedia lookup popup too.
- Allow external link on PDF documents (previously, only
  internal links were handled).
- Have "Ignore external links on tap" available on all
  document types.
- Added "Ignore external links on swipe" (default to true,
  the current behaviour).
- Added multiswipe gesture "Follow nearest internal link"
  (the existing "Follow nearest link" now follows the
  nearest external or internal link)
- ButtonDialogTitle: added an option to look a bit more
  alike ConfirmBoxes.
- Footnote popups: fix link unhighlight when tap on external link.
2019-04-02 18:27:35 +02:00
Frans de Jonge
709207a621
[feat, UX] Add external link to Wallabag (#4863)
Offers a choice when Wallabag is available.
2019-03-31 19:19:07 +02:00
poire-z
7396abebf2 [chore] reformat all gestures "overrides" to be diff friendly 2019-03-30 23:47:07 +01:00
poire-z
44529dbbc9 Fix tap for top menu occasionally not working
It was missing some ordering hints to have it always
precede taps to change page.
(Somehow noticed only when we reached > 32 gestures
registered, which may have introduced some shuffling,
while previously the addition order was somehow
preserved...)
2019-03-30 23:47:07 +01:00
Frans de Jonge
433b89638a
[UX] Gesture manager: show selected two-finger swipe action (#4855)
As requested by @poire-z here: https://github.com/koreader/koreader/pull/4820#issuecomment-478220239
2019-03-30 13:06:15 +01:00
NiLuJe
b72a2000b1
A few minor fixes after #4847 (#4850)
* Add a toggle to disable the C blitter in the Dev menu (depends on https://github.com/koreader/koreader-base/pull/882) (never shown if the JIT is disabled, grayed out if the C blitter is not installed)
* Fix a few sizeUtf8Text call sites that were doing a nil check in order to account for the new return type.
* Tweak statusbar handling to avoid spurious sizeUtf8Text warnings when it's hidden, and unify its behavior between being hidden via toggle, and hidden on book open (at least when all-at-once is not enabled).
* c.f., https://github.com/koreader/koreader-base/pull/882 (Android, PB, RGB32 & Legacy Kindle regression fixes).
2019-03-29 20:12:09 +01:00
Frans de Jonge
db5bd8884d
[UX] Gesture manager: add diagonal two-finger swipes (#4820)
Follow-up to #4815. Pointed out as an easy target [here](https://github.com/koreader/koreader/pull/4815#issuecomment-473990141) by @poire-z.
2019-03-29 11:28:24 +01:00
NiLuJe
7210fb478d
Faster blitting @ BB8/BBRGB32 when no processing is needed (#4847)
* Pickup the eponymous blitting performance tweaks from koreader/koreader-base#878
* Cleanup BitOpts usage (require & cache)
* Unify oddness checks (MOD -> AND)
* Enforce the native Portrait orientation on Kobo (except @ 16bpp, i.e., KSM w/ 8bpp swap disabled), to allow for faster blitting when unrotted.
* Switch CRe BB to 32BPP on color screens
* Minor cleanups
2019-03-27 22:50:44 +01:00
NiLuJe
abbb3ea747 Increase granularity of the font size fine tuning button
Should allow us to get at the full 12 to 30 range when scaled on a 300dpi
device (29 -> 72 or 26 -> 64 w/ a dpi override).
2019-03-27 17:34:41 +01:00
poire-z
b98ee4583b Footnote popups: fix crash when used on some links
Fix crash when dismissing the popup when the link was
detected as "not coherent".
2019-03-26 21:44:57 +01:00
poire-z
a47f3a2765 ReaderRolling: proper refresh when toggling scroll/page mode
When toggling between scroll and page modes multiple
times, _gotoXPointer() could find the xpointer to be
already positionned and avoid calling setDirty() (so
not enqueuing a whole screen refresh). But the page
will be slightly moved to account for the top margin
disappearing. We need that whole screen refresh in
such cases, so ensure one is enqueued.
2019-03-26 21:44:57 +01:00
poire-z
cfd562697f
Fix Color rendering toggle not toggable (#4836)
Also refresh screen when toggling.
2019-03-24 21:54:58 +01:00
Frans de Jonge
b1ed2838c8
[UX] Add Device:openLink() stub for Linux SDL (#4822)
References #4821.
2019-03-20 16:58:32 +01:00
Frans de Jonge
728bb187fa
[UX] Gesture manager: add two-finger swipe left and right (#4815)
Also add Device:hasMultitouch() to control whether the configuration menu is shown.

Cf. #4727.
2019-03-19 20:18:38 +01:00
Frans de Jonge
59d8a1852f
[fix, lang] ReaderGesture: toggle highlight action to cycle (#4809)
I overlooked this until I noticed it on Transifex today.

See https://github.com/koreader/koreader/pull/4791#discussion_r265546245

Also changing the internal name because for something that's only been in one or two nightlies there's no point in prematurely introducing legacy settings.
2019-03-16 11:24:11 +01:00
poire-z
454f14384b
Gesture manager: fix actions: Book cover, Book description (#4800)
Code removed from ReaderGesture and put into BookInfo where
it belongs, so we can just use Events.
Also convert description to plain text to not show HTML tags.
2019-03-15 15:29:25 +01:00
NiLuJe
645d41eda9
Add more granularity in line-height settings with CRe (#4785)
70 -> 130, in steps of 5 ;).
2019-03-15 00:34:46 +01:00
poire-z
2aa77a4879 Gesture manager: add actions: Book cover, Book description 2019-03-14 22:34:18 +01:00
poire-z
c060595580
ConfigDialog: fix ButtonProgressWidget and some refreshes (#4793)
This internal ButtonProgressWidget widget was behaving
differently from all others (OptionTextItem, OptionIconItem
and ToggleSwitch) by duplicating some code from
ConfigDialog:onConfigChoose() instead of calling it directly.

While making it similar to others, I noticed that onConfigChoose()
did a full repaint, which was necessary for some settings to
be applied (ie: Contrast).
On CreDocument, this full repaint may cause some double drawing
on config changes (ie: Margins, drawing once after margin changes,
and then re-positionning to previous xpointer).
So, make the need for full repaint a condition on KoptOptions.
2019-03-14 22:23:17 +01:00
NiLuJe
2011cf1ad1 Various blitting related cleanups (#4789)
* Fix the "Enable debug logging" checkbox so that it properly disables "Enable verbose debug logging" when it gets disabled
* Avoid asking ImageWidget for alpha-blending when it's not useful
* Make ImageWidget's alpha-blending code-path double-check that alpha-blending actually is needed, and avoid it if possible
* In the same vein, only do alpha-blending in textboxwidget when absolutely necessary
* Prefer color constants over the gray() method, ensuring that they're part of the eInk palette

Depends on https://github.com/koreader/koreader-base/pull/853

Fix #4774
2019-03-14 20:58:45 +01:00
Galunid
f637555d93 [UX] Gesture manager: add action - cycle default highlight action (#4791)
Cf. https://github.com/koreader/koreader/issues/4727
2019-03-14 15:33:04 +01:00
Frans de Jonge
930731d67c
[UX] Gesture manager: add a little notification to the wifi on action (#4786)
Fixes #4783.

Perhaps this should be in NetworkManager instead.
2019-03-14 10:37:25 +01:00
poire-z
766b199880 cre 2-pages view: allow extending selection across pages
Similar to what's been added for 1 page view, but just turn
one page instead of switching to scroll mode when reaching
top left or bottom right corners.
Also make the selection start xpointer more accurate by
getting them in onHold(), instead of possibly too late in
onHoldPan() where we have already moved.
2019-03-13 22:18:04 +01:00
poire-z
220b2dcfc2 cre 2-pages view: fix markers when following links and back
Show markers in the middle margin when target is in the right page.
2019-03-13 22:18:04 +01:00
poire-z
22bc9dacb5 cre landscape view: adds 1 page / 2 pages toggable
Adds a toggle switch in the Orientation bottom config menu to
allow showing 1 page or 2 pages when in landscape mode.
Previously, this was hardcoded to be in 2-pages modes only
in some circumstances (device resolution + user dpi).
2019-03-13 22:18:04 +01:00
poire-z
0948a4b656 cre: tweak current page highlights detection
No need to use current page and xpointers. We can use
'pos', in both scroll and page modes, as it is always
accurate to show the y of the current view.
2019-03-13 22:18:04 +01:00
poire-z
1a4faad17c cre: Footnotes popup: fix markers disappearing too early
When following a footnote popup, the highlighted link
delayed clearing (when the link is hidden by the popup)
would clear the margin marker on the target page too early.
2019-03-13 22:18:04 +01:00
Galunid
14c705f11b Enable addNote button, by letting it edit highlight (#4773) 2019-03-12 20:14:34 +01:00
Frans de Jonge
80d7d1a530
[UX] Gesture manager: add action - show book information (#4777)
As requested by @ersi.

Cf. https://github.com/koreader/koreader/issues/4727#issuecomment-471766024
2019-03-12 09:17:27 +01:00
poire-z
658f513512 [fix] cre: fix position and page number after window resize (#4754) 2019-03-10 21:50:11 +01:00
Frans de Jonge
5ccc3ec352
[UX] Gesture manager: allow folder shortcuts as action in Reader (#4759)
Note that `self.ui:onClose()` properly closes open documents. There might be similar pieces of code around that don't do that.

Fixes #4755.
2019-03-08 21:02:25 +01:00
poire-z
2c98c81a0d
cre: fix highlights in 2-pages mode (#4753)
Also check for boxes in the 2nd page when in 2 page modes
(and fix onTapXPointerSavedHighlight(), too quickly cut
and pasted from drawXPointerSavedHighlight() recently).
Bump crengine and cre.cpp to correctly returns rect for
the first line of the 2nd page.
2019-03-07 22:13:30 +01:00
Frans de Jonge
511570f65d
[fix] ReaderUI Pass self in open with cancel callback (#4751)
I added a call to self in ReaderUI:showFileManager() in #4720, breaking this singular reference that wasn't passing self.

Reported on Gitter by @ptrm, see https://gitter.im/koreader/koreader?at=5c81465725e4e24c072f1a00
2019-03-07 18:04:39 +01:00
Frans de Jonge
52300ffb15
[fix] ReaderStatus showStatus to onShowBookStatus (#4750)
Overlooked in #4746, see https://github.com/koreader/koreader/pull/4746#issuecomment-470569106
2019-03-07 16:35:05 +01:00
Frans de Jonge
dc829d0223
[UX] Gesture manager: add action - book status (#4746)
Marking a document as "finished" is important for Wallabag (see, among others, #4737, #4271). Also it's an obvious missing action.

Default to left, up. That keeps with the fullscreen dialog gestures generally go up. Also it was still unassigned.

* Remove separator on last item, see https://github.com/koreader/koreader/pull/4737#pullrequestreview-210948520
2019-03-06 18:50:32 +01:00
Frans de Jonge
5992bb6401
Bump fonts (#4744)
Fixes #4743 (shallow submodule + GitHub bug). Updated FreeSans fixes #4707 todo (swapped arrows).
2019-03-05 22:56:59 +01:00
Frans de Jonge
2f456dfb2f
[UX] Gesture manager: add actions - toggle wifi and wifi on/off (#4739)
As suggested by @poire-z.

https://github.com/koreader/koreader/issues/4727#issuecomment-469668338

I wanted to make the gesture a `W`, but that's a bit too unwieldy. Instead there's the suggestion of a (backward) `W`.

The default gestures for wifi on and off are diagonal multiswipe half circles, like an turnable on/off knob.
2019-03-05 21:34:58 +01:00
poire-z
addd06c1de [fix, UX] Gesture manager: fix "Toggle rotation" action (#4740)
By using the same events used by the bottom menu toggles.

Reference #4724 (comment). Close #4738.
2019-03-05 18:33:50 +01:00
Frans de Jonge
29f52cce81 [feat] Gesture manager: add Wallabag download 2019-03-05 15:55:03 +01:00
Frans de Jonge
bae83ad663
[UX] Gesture manager: add action - folder shortcuts (#4733)
See #4727.
2019-03-04 22:45:55 +01:00
poire-z
c510a5b1b1 [UX] Gesture manager: add Exit and Restart action and a few gestures (#4725)
* [UX] Gesture manager: add action - Exit and Restart

Also:
- add and show some separators in the gestures list
- fix gesture removal, and also remove it from settings
- add missing east west east
- add 6 remaining of the 8 knob 3/4 rotations
- add 3 easy knob full rotation (down + east + west)

* Show and allow removing gestures only in settings

* small optimisation (no loop needed on each multiswipe check)

* keep menu open and updated when recording multiswipe
2019-03-04 18:46:58 +01:00
Qingping Hou
9e57e56f95 decouple UI definitions from document modules 2019-03-03 13:10:45 +01:00
Frans de Jonge
2ba480b41d
[UX] Gesture manager: add action - file search (#4720)
Also makes it callable from the reader.

Fixes #4717.
2019-03-03 12:43:09 +01:00
poire-z
3059ad8bce
Fix "fonts test HTML document" styles (#4718)
Needed some update after we made htm.css obsolete and
use epub.css instead.
2019-03-03 09:16:27 +01:00
Frans de Jonge
c1b4085b93
[UX] Add cropping: none mapped to page width zoom (#4696)
Fixes #1923.
2019-03-03 08:57:20 +01:00
poire-z
93422d05f4 [UX] Gesture manager: add action - clear location history (#4716)
Also show notification when previous_location can't go
back because the location stack is empty.
2019-03-02 22:55:09 +01:00
Frans de Jonge
5b30ea1920
[fix, UX] Common menu & info menu: switch to dofile (#4713)
Require is kept in memory, including the modifications made to it by MenuSorter. This can cause trouble when switching between the FileManager and Reader.

Fixes #4703.
2019-03-02 21:45:12 +01:00
Frans de Jonge
e96ac7e7dc
[UX] Gesture manager: add action - fulltext search (#4715)
Fixes #4687.
2019-03-02 21:36:30 +01:00
Frans de Jonge
c9de46d656
[UX] Gesture manager: add action - follow nearest link (#4714)
Start your gesture on the link to follow it.

Defaults to southeast, northeast.

References https://github.com/koreader/koreader/issues/4687
See https://github.com/koreader/koreader/issues/4687#issuecomment-468827385
2019-03-02 21:23:40 +01:00
Frans de Jonge
614cbb509d
[fix] ReaderFooter: Don't hide progressbar if it's the only ticked option (#4648)
Fixes #3914.

Cf. #3056.
2019-03-02 15:06:26 +01:00
Frans de Jonge
e4319ddaea
[feat, UX] Gesture manager: add support for diagonal swipes (#4710)
NB The north east and north west arrows are swapped, see https://github.com/koreader/koreader/issues/4707
2019-03-02 14:38:40 +01:00
Frans de Jonge
57ce8dc574
[UX] Gesture manager: add action - show dictionary/Wikipedia (#4699)
References #4687.
2019-03-02 13:29:10 +01:00
Frans de Jonge
3aa5ebb1df [fix] Gesture manager: most defaults should be reader-only 2019-03-01 17:01:08 +01:00
Frans de Jonge
8a1c0f6bd4 [UX] Gesture manager: add default previous/next chapter gesture
* Up, down, up for previous.
* Dow, up, down for next.
2019-03-01 17:01:08 +01:00
Frans de Jonge
ba4bf7243d
[chore] Deprecate TapForward/TapBackward (#4689)
Also fix previous page action in gesture manager.
2019-03-01 16:05:03 +01:00
poire-z
1e4469fec2 [UX] Gesture manager: add actions - prev/next chapter (#4692)
Also adds rudimentary support for these in ReaderPaging.
2019-03-01 14:54:38 +01:00
Frans de Jonge
1475acdae7
[UX] Gesture manager: add action - go to (#4690)
Cf. <https://github.com/koreader/koreader/issues/4687>.
2019-03-01 12:59:39 +01:00
Frans de Jonge
332fa642e3
[UX] Gesture manager: add action - toggle reflow (#4688)
Cf. https://github.com/koreader/koreader/issues/4687
2019-03-01 10:38:29 +01:00
Frans de Jonge
4547b2d65f
[fix] GestureDetector: add PAN_DELAYED_INTERVAL (#4666)
When multiswipes are enabled, this fixes the long-standing complaint that swiping to open the menu could unintentionally trigger some light panning. With the introduction of multiswipes, this problem has become more noticeable.
2019-02-28 23:49:23 +01:00
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.
2019-02-28 22:38:24 +01:00
Frans de Jonge
060902534d
[fix] Gesture manager: more logical position for file browser (#4679)
See https://github.com/koreader/koreader/pull/4678#issuecomment-468378040
2019-02-28 20:50:43 +01:00
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>.
2019-02-28 20:42:00 +01:00
Frans de Jonge
32d813dc92
[UX] Gesture manager: add action - go to file browser (#4678)
Fixes #4676.
2019-02-28 19:07:33 +01:00
Frans de Jonge
75501d5f83
[fix] ReaderGesture: enable/disable multiswipes without restarting (#4673) 2019-02-28 16:27:09 +01:00
Frans de Jonge
163853afdf
[UX] Gesture manager: add action - show menu (#4665) 2019-02-26 18:58:26 +01:00
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...)
2019-02-26 09:43:35 +01:00
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.
2019-02-26 09:43:35 +01:00
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.
2019-02-26 09:27:28 +01:00
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.
2019-02-25 16:07:04 +01:00
Frans de Jonge
47ba296f17
[UX] Gesture manager: more multiswipe defaults (#4660) 2019-02-25 14:43:05 +01:00
Frans de Jonge
926150db58
[UX] Gesture manager: add action - go to latest bookmark (#4657) 2019-02-24 21:40:27 +01:00
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
2019-02-24 20:41:20 +01:00
Frans de Jonge
7098e6ef35
[fix] Gesture manager: default at the top (#4656)
Accidentally broken by 1d6948ddf1
2019-02-24 17:36:15 +01:00
Frans de Jonge
1d6948ddf1
[UX] Gesture manager: show selected action in menu (#4655) 2019-02-24 17:07:42 +01:00
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.
2019-02-24 15:12:01 +01:00
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.
2019-02-24 12:29:49 +01:00
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.
2019-02-22 21:31:22 +01:00
Frans de Jonge
2e255a1abd
[feat, UX] Add multiswipe recorder (#4644) 2019-02-22 20:59:32 +01:00
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
2019-02-22 16:56:22 +01:00
Frans de Jonge
9a92792551
[feat, UX] Gesture manager: add option - open previous document (#4641)
Fixes #4333.
2019-02-22 16:29:19 +01:00
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.
2019-02-21 11:38:19 +01:00
Frans de Jonge
a2c47b35de
[UX] Gesture manager: add paged zoom gestures (#4610)
References #4333.
2019-02-20 13:45:14 +01:00
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.
2019-02-20 09:34:44 +01:00
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`.
2019-02-17 21:38:02 +01:00
poire-z
62d548fc61 Highlight adjusting: avoid start and end crossing each other 2019-02-17 16:54:54 +01:00
Frans de Jonge
1623acc007 [UX] ReaderGesture: add option - toggle rotation 2019-02-16 22:13:19 +01:00
Frans de Jonge
e4b4680b04 [UX] ReaderGesture: add option - show history 2019-02-16 22:13:19 +01:00
Frans de Jonge
45b87307b4 [UX] ReaderGesture: add option - suspend action 2019-02-16 22:13:19 +01:00
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
2019-02-16 18:20:30 +01:00
Frans de Jonge
33840c17cb
[fix] Highlight moving button text shouldn't be translated (#4597) 2019-02-16 15:03:27 +01:00
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.
2019-02-16 00:42:27 +01:00
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)
2019-02-11 03:28:46 +01:00
NiLuJe
5eb4fc5c2d [UX] Add Prev/Next page actions to GestureManager (#4570)
c.f., https://www.mobileread.com/forums/showthread.php?t=315023
2019-02-09 16:28:22 +01:00
NiLuJe
491f24d3d1 [UX] Don't show low battery warning when charging (#4563)
Fix #4560
2019-02-08 18:51:13 +01:00
NiLuJe
abc6d17a25
A few minor fixes after #4541 (#4561)
* Enforce dithering in PicDocument
* Ensure we'll get a flashing update on ScreenSaver exit
2019-02-08 18:31:40 +01:00
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 ;).
2019-02-08 00:56:32 +01:00
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)
2019-02-07 01:14:37 +01:00
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.
2019-02-03 22:12:00 +01:00