2
0
mirror of https://github.com/koreader/koreader synced 2024-11-11 19:11:14 +00:00
Commit Graph

6532 Commits

Author SHA1 Message Date
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
poire-z
7779f674ee bump crengine: fix text selection and cache issues
Includes:
- Fix text selection in some tables
- Add known HTML attributes to avoid cache issues
- Make existing context.AddLine() and pb_flag clearer

cre.cpp:
- gotoPos(): allow scrolling after end of document
(to avoid not seeing the last line of a document
that would be hidden by the footer bar)
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
6ddba11392
[UX] Alternative update message when ota_version < local_version (#4661)
See https://github.com/koreader/koreader/issues/4650#issuecomment-466965983 and https://github.com/koreader/koreader/pull/4661#issuecomment-467088984
2019-02-25 22:50:01 +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
d090f3e651
[fix, UX] GestureDetector: fix multiswipe length detection (#4649)
Reported by @poire-z, cf. https://github.com/koreader/koreader/pull/4640#issuecomment-466544922

Apparently it's natural for me to make the second swipe slightly longer than the first, so I never noticed a logic issue. I did notice that it seemed slightly harder to make 4-swipe multiswipes than I expected it to be, but those are not necessarily easy gestures to make.

The problem was that I needed to prevent obviously silly gestures like west west west east. In ignoring such duplication, what I accidentally did was to ignore any further movement west after the first multiswipe direction was detected, meaning that the following swipe east could still end up as a relatively western movement overall.

By simply updating the current multiswipe slot in case of the same direction, both problems are prevented. We'll never get the same direction twice, and X moves over to where it's supposed to be on the left.
2019-02-23 21:34:03 +01:00
Martín Fernández
0532d7a507 [Android] (re)enable update downloads using full apks (#4639) 2019-02-23 14:25:29 +01:00
Frans de Jonge
76028513ea
[Android] Bump luajit-launcher for basic download & notification support (#4647)
https://github.com/koreader/android-luajit-launcher/pull/122

For https://github.com/koreader/koreader/pull/4639
2019-02-23 14:24:08 +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
260427d226
[fix] GestureDetector: fix multiswipe direction detection code (#4640)
Unfortunately a mistake snuck into the final steps of refactoring <https://github.com/koreader/koreader/pull/4607>.

Thanks to @poire-z for pointing it out [here](https://github.com/koreader/koreader/pull/4607#issuecomment-464856789).
2019-02-22 12:36:03 +01:00
Frans de Jonge
365a5ad876
[chore] Deprecate Android OTA code (#4636)
Fixes #4632.
2019-02-22 12:02:26 +01:00
NiLuJe
b48b0d243f
Bump base to pickup posix ffi fix (#4638) 2019-02-22 01:47:55 +01:00
Frans de Jonge
a607629129
[fix, AppImage] Add libbsd.so.0 & libXss.so.1 dummy (#4634)
Fixes #4627.
2019-02-21 20:14:20 +01:00
Frans de Jonge
48eb21ad60
Bump base to unbreak SDL2 FFI (#4633)
https://github.com/koreader/koreader-base/pull/830

See https://github.com/koreader/koreader/pull/4631
2019-02-21 18:39:47 +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
NiLuJe
afa12ef8ce [fix] Leave size_t alone in FFI stuff: flip that back to size_t (#4629) 2019-02-21 09:56:54 +01:00
Frans de Jonge
4015901136
Bump base for better BB8 performance and bitness FFI stuff (#4631)
* Leave bitness-dependent types alone in FFI stuff https://github.com/koreader/koreader-base/pull/825 @NiLuJe
  Required for #4629.
* A few blitting changes for better BB8 performance https://github.com/koreader/koreader-base/pull/816 @NiLuJe
2019-02-21 09:56:22 +01:00
NiLuJe
6c29b7da65 [fix] PicDocument: Pass a copy of image_bb in getCoverPageImage() (#4628)
Avoids a use-after-free in mupdf.scaleBlitBuffer

Fix koreader/koreader-base#821

Thanks for the hint, @poire-z ;).

* As @poire-z suggested, the original unscaled bb should probably be free'd.
2019-02-21 08:59:41 +01:00
Frans de Jonge
8e5c1addf5
[feat] Update check (#4620)
The concept is quite simple: stick a file on the OTA server named
something like `koreader-appimage-latest-stable` (by analogy with
`koreader-cervantes-latest-stable.zsync`), which contains nothing
but a filename.

The difference with the zsync update is that the link is then launched
in the user's browser (AppImage) or DownloadManager (Android, not yet
implemented).

* Android hasOTAUpdate = no for the moment
2019-02-21 08:26:48 +01:00
Frans de Jonge
35ea8893fb
Bump base to download GNU deps from mirror (#4626)
https://github.com/koreader/koreader-base/pull/824

This is a simple one. https://ftp.gnu.org/ is currently offline but we shouldn't actually be using it anyway.

https://www.gnu.org/server/mirror.en.html

> First, for users/downloaders: the address http://ftpmirror.gnu.org/ multiplexes between the mirrors, trying to choose one that is nearby and up to date. E.g., http://ftpmirror.gnu.org/emacs/ goes to a mirror's directory of GNU Emacs. We recommend using this generic ftpmirror.gnu.org address wherever possible in links, documentation, etc., to reduce load on the main GNU server.

tl;dr http://ftpmirror.gnu.org should be more stable.
2019-02-20 17:08:38 +01:00
NiLuJe
869b8aebd1 [Cervantes, Kobo] Stricter WiFi callback (#4616)
* Double-checks that the connection was successful, and forcefully kills WiFi if it didn't, to avoid leaving stuff in an inconsistent state.

Should fix #2183

* Limit the turnOffWifi call to devices where it might make some sense to
do
2019-02-20 14:59:33 +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
NiLuJe
5495c5d108 [fix] Fix partial refresh when coming out of ScreenSaver in landscape (#4622)
When we rotate to show a screensaver, restore original rotation *before* closing the ScreenSaver window.

And ensure closing the ScreenSaver *always* triggers a full update, no
matter the settings.

Fix #4621
2019-02-19 18:17:58 +01:00
Frans de Jonge
388871a2c3
[fix, Android] Bump luajit-launcher to unbreak fullscreen toggle in api14-15 (#4619)
* add support for older energy ereaders https://github.com/koreader/android-luajit-launcher/pull/116
* README: slight tweaks https://github.com/koreader/android-luajit-launcher/pull/117
* [chore] Fix README codacy issues https://github.com/koreader/android-luajit-launcher/pull/118
* fix codacy issues, part one: unused imports and minor fixes https://github.com/koreader/android-luajit-launcher/pull/120
* unbreak fullscreen toggle in api14-15 https://github.com/koreader/android-luajit-launcher/pull/119
2019-02-19 08:01:59 +01:00
Frans de Jonge
8abf79b497
[spec] Add GestureDetector stub (#4614)
Cf. #4613.
2019-02-19 07:38:25 +01:00
NiLuJe
e3bcd6c2a9
Really disable HW dithering on Kindle ;) (#4617)
* Cosmestic tweak to an error message.
PicDocument handles more than just JPEGs ;)
* Bump base
To really disable HW dithering on Kindle ;).
2019-02-19 00:52:28 +01:00
NiLuJe
bad6305124
Bump base (#4615)
* Bump base
  * PB fb setup cleanups (https://github.com/koreader/koreader-base/pull/813)
  * Buildsystem tweaks (https://github.com/koreader/koreader-base/pull/817)
  * Disable HW dithering on Kindle https://github.com/koreader/koreader-base/pull/819)
2019-02-18 19:45:11 +01:00
Frans de Jonge
c09045efcd
[fix] GestureDetector: multiswipe rotation (#4613)
Reported by @poire-z in <https://github.com/koreader/koreader/pull/4607#issuecomment-464622906>.

Also refactor slightly along the way to make the translations more straightforward.
2019-02-18 16:42:34 +01:00
NiLuJe
b70eaa7322 Warn that the restart may fail...
(Hopefully, only when there are actual changes to the startup script,
which should be a rare occurence).
2019-02-18 15:59:06 +01:00
NiLuJe
a3f8e49a0d Use a temporary copy of our tar binary during OTA updating, to avoid the
potential for a SIGBUS error...

Fix #4602
2019-02-18 15:59:06 +01:00
NiLuJe
3bc29aa618 Re-order tar CLI args to be closer to other platforms 2019-02-18 15:59:06 +01:00
Martín Fernández
b6683b7a9f android: update wifi menus 2019-02-18 14:32:35 +01:00
Martín Fernández
4ab7e367b5 strings, not ints 2019-02-18 14:32:35 +01:00
Martín Fernández
04e17424d0 display network settings based on device capabilities + fix android basic network info 2019-02-18 14:32:35 +01:00
Frans de Jonge
f3a36f8285
[fix] GestureDetector typo (#4612) 2019-02-18 09:18:10 +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
Frans de Jonge
0adbd510c1
[feat] GestureDetector: add multiswipes (#4606)
The basic idea is that you gain an infinite amount of extra gestures,
although in practice you're probably mostly limited to your 16 basic
two swipe combinations and maybe a few three swipe ones.
2019-02-17 21:09:09 +01:00
poire-z
62d548fc61 Highlight adjusting: avoid start and end crossing each other 2019-02-17 16:54:54 +01:00