2
0
mirror of https://github.com/koreader/koreader synced 2024-10-31 21:20:20 +00:00
Commit Graph

6452 Commits

Author SHA1 Message Date
Frans de Jonge
97f7f75643
[fix, Android] hasEinkScreen function in eink_opt_menu_table (#4558)
Follow-up to #4557. Ten-second fixes are never a good idea.
This hides the E Ink settings menu properly again.
2019-02-08 11:12:43 +01:00
Frans de Jonge
e6b3542bdb
[fix, Android] hasEinkScreen should be a function (#4557)
Fixes https://github.com/koreader/koreader/pull/4541#issuecomment-461739983
2019-02-08 10:45:09 +01:00
NiLuJe
9e65ff4ac9
Bump base (#4556)
* Android basename fix
* FBInk 1.10.2
* lpeg mirror
2019-02-08 01:28:44 +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
Frans de Jonge
5d21990b0e
[Android] Add E Ink support for Inkbook Prime HD & exit after crash (#4552)
* add eink support for Inkbook Prime HD (https://github.com/koreader/android-luajit-launcher/pull/110) @pazos (references #4551)
* [fix] Exit after crashing to avoid unknown states (https://github.com/koreader/android-luajit-launcher/pull/109) @pazos
2019-02-05 21:01:22 +01:00
Martín Fernández
3f415604b9 fix android release version (#4549) 2019-02-04 13:52:20 +01:00
Frans de Jonge
778c42312d
[i18n] Add Slovak to translations (#4548) 2019-02-04 09:33:45 +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
poire-z
6e3b40e2bf Adds CreDocument:getScreenPositionFromXPointer()
Factorize same code used by ReaderLink and ReaderRolling into
CreDocument:getScreenPositionFromXPointer().
2019-02-03 22:12:00 +01:00
Frans de Jonge
81a2423982
[Android, feat] Set APK version to a sane automated value (#4546)
Includes "set android versionCode and android versionName at buildtime" (<https://github.com/koreader/android-luajit-launcher/pull/106>)

* versionCode uses the number of Git commits, because Google doesn't like values larger than `2100000000`
* versionName uses our existing version string

References #2040.
2019-02-03 20:19:52 +01:00
Frans de Jonge
2709fb2432
[chore] Bump third-party libraries (#4545)
* LuaJIT 20190110 in luajit-launcher & base
* HB v2.3.1
* glib 2.58.3
* FBInk v1.10.1

https://github.com/koreader/koreader-base/pull/801
5a17ca7521
2019-02-03 16:55:42 +01:00
poire-z
f2a9ed0b79
bump crengine: count nb of images drawn & others (#4542)
Includes:
- Update french hyphenation pattern
- epub.css: update style for 'blockquote'
- DrawBuf: count nb of images and surface drawn

Adds Document:getDrawnImagesStatistics() to help deciding
if refresh with (possibly costly) dithering should be used
(on devices with HW dithering capabilities) with CreDocument:
when a page contains enough images to benefit from it.
2019-02-03 11:25:34 +01:00
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.
2019-02-03 11:17:27 +01:00
NiLuJe
27b6c1546a [fix, Kindle] Fix i.MX 6/7 detection pattern (#4539)
Some variants have a space before the number, others don't :/.

Followup to #4475
2019-02-01 15:37:15 +01:00
Frans de Jonge
8207e4bdf2
[fix, lang] More accurate auto-DPI text (#4537)
Simply don't mention any values when the device DPI isn't known.
A more robust auto-DPI info function could be added to Screen
but I'm not sure if it's worth the trouble.

Fixes https://github.com/koreader/koreader/pull/4389#issuecomment-454552446
2019-02-01 10:15:22 +01:00
Martín Fernández
19d13b1876 [feat, Android] Add basic support for android eink refreshes on some rockchip devices (#4517)
Supported devices:

- Boyue T61 and *some* clones
- Boyue T62 and *some* clones
- Onyx C67
- Energy Sistem (which are in fact Boyue T62 clones). Was tested on a energy pro 4.

Others may work with the same controller too, but are disabled by default.

Requires https://github.com/koreader/koreader-base/pull/798
Requires https://github.com/koreader/android-luajit-launcher/pull/96

Fixes #4373 
Fixes #1613 (supported devices will show the "full refresh rate" option under eink settings. Others won't)

Related #4228 (need to add support for this specific device to work)
2019-02-01 09:18:27 +01:00
Frans de Jonge
b0570460cb
[fix, Android] Bump luajit-launcher to keep all the binaries in ./bin (#4535)
I forgot to push this local change in #4532.

* [fix] Keep all the binaries in ./bin https://github.com/koreader/android-luajit-launcher/pull/102
2019-02-01 09:16:39 +01:00
Frans de Jonge
c0c4bcdace
[chore, CI] Ensure no whitespace between gettext() call and string (#4530)
Follow-up to https://github.com/koreader/koreader/pull/4524

The regex in the Python wasn't actually picking up on that style of writing it at all, because it's not only ugly, but also so counter-intuitive that I overlooked to test for and add support for it.

```
_(
[[
```

It'd be easy to fix up the Python regex a little, and perhaps I will,
but either way it makes more sense to automatically enforce this as a coding standard.
2019-01-31 18:10:58 +01:00
Frans de Jonge
b68cdc202d
[Android] Add release/debug APK switch (#4532)
References #2040.

Includes https://github.com/koreader/android-luajit-launcher/pull/99
2019-01-31 17:34:13 +01:00
Martín Fernández
67644f6200 [chore, Kobo] Move Clara HD to frontlight mixer (#4531)
Move Clara HD to same interface used in the Forma.

Fixes #4523

The same should apply to other devices without green leds, but needs testing.
2019-01-31 14:55:14 +01:00
Frans de Jonge
4874751020
[Android] Bump base & luajit-launcher for basic E Ink refresh support (#4529)
Prerequisite for #4517.

* Add basic support for RK30xx eink devices https://github.com/koreader/android-luajit-launcher/pull/96
* Add basic support for full eink updates https://github.com/koreader/koreader-base/pull/798
2019-01-30 13:23:42 +01:00
poire-z
b1215812cb bump base/blitbuffer.c: small optimisation 2019-01-29 00:05:55 +01:00
poire-z
b0e127fd31 Adds "Generic web browser paragraph style" tweak 2019-01-29 00:05:55 +01:00
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.)
2019-01-29 00:05:55 +01:00
Frans de Jonge
32bbf17003
[Android] Update logcat command for kodev run android (#4516)
This filters out useless messages using the "intended" way (without
grep).
2019-01-26 19:49:43 +01:00
Sergey Avseyev
744316ea6f opds: add two more public servers (#4515) 2019-01-26 16:08:59 +01:00
Sergey Avseyev
3337e45381 opds: fix parsing OPDS from textos.info (#4514) 2019-01-26 16:01:54 +01:00
sonix-github
4d15058773 NewsDownloader: fix RSS titles decoding (#4502) 2019-01-24 23:04:49 +01:00
poire-z
7a4aa89d45
bump crengine: increase max nodes limit and others (#4507)
Includes:
- CSS: adds (limited) parsing of 'list-style:' property
- Avoid "style hash mismatch" on kerning or hinting change
- Increase max number of nodes from 1M to 16M
2019-01-24 22:48:00 +01:00
Brian Winkler
b6298810bb Fixed Wallabag plugin's parsing of wrong API url. (#4501)
The Wallabag plugin's callAPI() method was attempting to parse the user supplied
URL for the Wallabag API. Unfortunately, the parse was silently failing since
the variable apiurl did not contain a complete URL. The scheme of the parsed
URL (always nil) was then used to select either http or https (default). The
result being https was always selected, regardless of the user supplied setting.

The parsed URL was switched to the variable server_url instead of apiurl but the
behavior resulting in the default selection of https when parsing fails was left
unchanged.
2019-01-22 21:56:24 +01:00
Martín Fernández
6b3158e497 android: disable wakelocks by default 2019-01-22 14:27:14 +01:00
Martín Fernández
23f1597246 android: disable exit menu 2019-01-22 14:27:14 +01:00
Frans de Jonge
e592468f38
[Android] Bump luajit-launcher (#4500)
* Disable wakelocks by default (https://github.com/koreader/android-luajit-launcher/pull/95)
2019-01-22 14:26:53 +01:00
NiLuJe
e1cb983cec Point the Kindle 4 to non-legacy OTAs
It uses the same CPU as a Kindle Touch ;).
2019-01-20 23:05:25 +01:00
NiLuJe
6ed66384c8 Properly point Kindle PW2+ to the PW2+ OTAs
Re #4497
2019-01-20 23:05:25 +01:00
NiLuJe
81b255cb85 Better-than-nothing key repeat handling.
Mainly aimed at the Forma.
Still fairly terrible, as these things goes ;p.
2019-01-20 23:05:25 +01:00
NiLuJe
cd4181ba49 Fix WiFi status on Kindle
WiFi handling is handled asynchronously (deferred to lipc), so this is a
bit clunkier than on devices where we handle WiFi ourselves...

But, basically, try to honor the menu callback when toggling WiFi so
that the status gets updated in the menu.

Fix #4472
2019-01-20 23:05:25 +01:00
Frans de Jonge
6ec3143f2f
[fix, Android] Bump luajit-launcher to silence warning on Android 9 (#4494)
* https://github.com/koreader/android-luajit-launcher/pull/93

Fixes #4348.
2019-01-18 21:22:01 +01:00
poire-z
391360dd8c
bump crengine: adds support for 'orphans:' and 'widows:' (#4490)
Includes:
- (Upstream) Harfbuzz light: fix rendering of fallback font
- CSS: adds support for 'orphans:' and 'widows:' properties

Adds some Style tweaks related to Widows and orphans.
2019-01-17 23:41:36 +01:00
Frans de Jonge
166e3f9421
[Android, fix] Bump luajit-launcher (#4491)
For https://github.com/koreader/android-luajit-launcher/pull/92

Cf. #4478, #4489.
2019-01-17 22:52:25 +01:00
Galunid
0678d75438 Adds choice of default action when highlighting (#4486)
New menu Document > Highlight action.
2019-01-17 22:12:38 +01:00
Martín Fernández
b15c2ed0c5 [Android] misc fixes (#4478)
* use product as device model
* print android version (codename + number) + api at launch
* exit the application properly
* fix fullscreen switching (and disable it on newer android versions)
* gettext: lower log level for message: cannot open translation file
* android common settings refactor
2019-01-17 21:44:15 +01:00
Frans de Jonge
81e160692d
[Android] Bump luajit-launcher for #4478 (#4489) 2019-01-17 21:43:02 +01:00
Frans de Jonge
b7eb2f7e7f
[fix] AppImage: include libsndio for SDL (#4488)
Better than #4487.
2019-01-17 16:04:34 +01:00
Frans de Jonge
9351910657
[fix] AppImage: also include libsndio (#4487)
Should fix #4485.
2019-01-17 15:28:18 +01:00
poire-z
a245630422 Implement generic internal clipboard for all devices
Will allow copying selected text from a book to the TextEditor.
Will be overriden on devices that implement interactions with
the system clipboard.
2019-01-15 23:56:11 +01:00
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
2019-01-15 23:56:11 +01:00
poire-z
df28b90419 TouchMenu: show checkboxes in grey for disabled menu items 2019-01-15 23:56:11 +01:00
poire-z
d98ea4e9ee util.splitToChars(): supports text encoded in WTF-8
https://en.wikipedia.org/wiki/UTF-8#WTF-8
WTF-8 is a superset of UTF-8, that includes UTF-16 surrogates
in UTF-8 bytes (forbidden in well-formed UTF-8).
We may get UTF-8 with these from bad producers or converters.

We can get such chars in the text we get from Wikipedia API once
their (fully valid) JSON has been decoded by our lpeg-based JSON
decoder (which is a defect, hard to fix). (Our other pure-Lua json
decoder has no problem and do that correctly).
We might also find these WTF-8 in some dictionaries, so let's
support them.
2019-01-15 23:56:11 +01:00