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

3647 Commits

Author SHA1 Message Date
poire-z
fd5e4df142 Style tweaks: adds Ignore all vertical/horizontal margins/paddings
Provides a bit more granularity than the generic "Ignore all
publisher margins" - and allow the same for paddings for books
that wrongly use paddings for that effect.
2019-07-19 22:31:28 +02:00
poire-z
0f3f2b660b TOC: baseline align chapter name and page number 2019-07-19 22:31:28 +02:00
sladflob
4717d6f70a Update screensaver.lua (#5123)
Change to use Math.round()
2019-07-19 05:52:12 +02:00
NiLuJe
564ee15679
Auto-detect the touchscreen input device on the PW4 (#5113)
Once again, LTE devices have an extra proximity sensors that shifts the
evdev path by one...

Fix #5110
2019-07-18 22:36:41 +02:00
sladflob
912e617377 [feat] Add percentage read (and other book information) to sleep message (#5121)
Add checking for escape sequences for current/total page, percentage read, and document title.
2019-07-18 14:11:21 +02:00
poire-z
642aed240c Update Wikipedia EPUB stylesheet to allow floating thumbnails
Main thumbnails and galleries items will float in "book" and
"web" modes.
Also use a honest User-Agent when requesting Wikipedia to
comply with their policy and avoid rate limitation (and
broken images).
2019-07-15 20:14:33 +02:00
poire-z
aedc5a4806 Style tweaks: update for latest epub.css, added a few more
- Updated "Avoid page break" tweaks to work on our latest epub.css.
- Added "New page on headings>" menu, as we no more break page on
H1, H2, H3 in EPUBs.
- Added "Center headings" as we no more have them centered.
- Added "Pure black and white" which can make some documents
  more readable.
2019-07-15 20:14:33 +02:00
poire-z
8b612142b7 Prettier CSS when viewing HTML
Avoid wraps on comma in properties values (eg. in font list,
in rgb() values).
Also prettify CSS included in the HTML in debug view.
2019-07-15 20:14:33 +02:00
poire-z
9f3c85ed83 cre: toggable enhanced rendering (floats, collapsed margins...)
Adds "Render mode" toggle with 4 modes, to enable some or all
of crengine's new enhanced block rendering features.
Use "legacy" rendering for previously opened books to not mess
with bookmarks, and "web" (all of the new features) for new books.

Also make available the added "HTML5" stylesheet to the Style menu.
2019-07-15 20:14:33 +02:00
Андрей Тюрин
bea7ca7008 Pocketbook 622 preliminary support (#5118) 2019-07-15 14:39:37 +02:00
Martín Fernández
b385e443e6 [Android] Add support for 3rd party dictionary apps (#5108)
Co-Authored-By: poire-z <poire-z@users.noreply.github.com>
2019-07-08 14:19:36 +02:00
Martín Fernández
338bc8cced fullscreen toggle for Jelly Bean devices 2019-07-06 17:09:18 +02:00
Robert
7d093fc0b9 [feat] Delete book after reading (#5107) 2019-07-05 10:35:23 +02:00
NiLuJe
38e7975728
More robust Gyro toggle (#5104)
* Make toggling Gyro events more robust

Actually ask to turn it on/off depending on the setting, instead of a
blind toggle

A quick succession of suspend/resume events could otherwise leave it
in an unexpected state (i.e., off when it should have been on).
2019-07-01 17:12:24 +02:00
NiLuJe
a13f9835be Tweak SleepCover handling a bit on Kobo
Specifically, how we ignore it.
No longer do anything specific and potentially racy, and let the
unexpected wakeup handler take care of putting us back to sleep.

Also add an option to only ignore wakeup events from the SleepCover.

Re #5098
Re #5087
2019-06-29 19:53:14 +02:00
NiLuJe
2ab3e48286 Make sure we only pass a single IP to ping
For some mysterious reason, I have a duplicate default gateway on my
Forma, one with no metrics, and a proper one.
This ensures we pick the proper one.

I'm fairly sure this is temporary insanity on the part of my device,
but, still, it can't hurt.

route -n:
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 eth0
0.0.0.0         192.168.0.1     0.0.0.0         UG    208    0        0 eth0
192.168.0.0     0.0.0.0         255.255.255.0   U     208    0        0 eth0

ip r:
default via 192.168.0.1 dev eth0
default via 192.168.0.1 dev eth0  metric 208
192.168.0.0/24 dev eth0  src 192.168.0.49  metric 208
2019-06-29 19:53:14 +02:00
NiLuJe
2e7a910178
Some BookStatus QoL tweaks (#5100)
* Make the cover thumbnail respect the cover's AR in the widget
* Add a "Mark as read/unread" button in the FM's longpress menu.
* Make sure the cover_info cache is wiped if necessary (sidecar purge/BookInfo cache clear).
2019-06-28 04:46:16 +02:00
poire-z
03bbba249a
MovableContainer: avoid refresh glitches on close (#5094)
The contained widget may not have integer position/dimen
(which should probably be fixed in those that don't ensure
that), and our maths could eventually make them even more
shifted by fractional parts.
In the end, when closing the widget, the refresh code may
miss painting/cleaning 1px and leave a border of the widget
on the screen.
2019-06-26 13:48:02 +02:00
NiLuJe
4ccb1f3dd5
Allow disabling automagic image inversion in Nightmode in CRe (#5095)
* Allow disabling automagic image inversion in NightMode

Fix #4986
2019-06-26 00:23:41 +02:00
Frans de Jonge
fca51757af
[fix] OPDS crash with fewer than 4 servers (#5092)
Regression introduced in <https://github.com/koreader/koreader/pull/4249>.

Fixes <https://github.com/koreader/koreader/issues/5091>.
2019-06-25 19:50:01 +02:00
Martín Fernández
75ff5dcaae Add Device:Info for android and use it in report a bug infomessage.
Move local function getCodename to top, use android.app.activity.sdkVersion directly,
instead of relying on Device.firmware_rev
2019-06-21 19:55:19 +02:00
Martín Fernández
c60d672b04 bump base & luajit-launcher: workaround for buggy firmwares and more 2019-06-13 22:16:58 +02:00
Frans de Jonge
6f153255d6
[fix] Kindle Basic 3: use Kobo snow protocol (#5071)
Otherwise touch will be stuck in perpetual hold.

Fixes https://github.com/koreader/koreader/issues/5070
2019-06-11 09:12:57 +02:00
Frans de Jonge
9300a59a89
[fix] util.getSafeFilename() maximum extension length (#5067)
Strip HTML and do some semi-intelligent detection of faux extensions (i.e., more than 10 characters probably isn't one).

Fixes #5049.
2019-06-10 17:06:13 +02:00
Frans de Jonge
5df31f2dbf
[doc, fix] Some documentation issues (#5066)
Fixes #5065.
2019-06-09 15:50:22 +02:00
Frans de Jonge
efe2db4406 [feat, UX] Paste in folder shortcuts
Fixes #5046.
2019-06-09 15:26:05 +02:00
Frans de Jonge
986b44f9f8 [fix] FileManager: Empty clipboard after paste 2019-06-09 15:26:05 +02:00
Frans de Jonge
7cbd56fcdd
[fix] End of document - go to file browser: swap openFileBrowser() close/open order (#5062)
Fixes #5060.

Cf. 89e002f236/frontend/apps/reader/modules/readermenu.lua (L42-L50) and 89e002f236/frontend/apps/reader/readerui.lua (L711-L718)
2019-06-09 15:19:38 +02:00
NiLuJe
89e002f236
Minor networking fixes on legacy Kindles (#5059)
* Allow toggling WiFi & Suspend on legacy Kindles
* Fix ping invocations on Legacy Kindles
* Don't crash when disabling WiFi on legacy Kindles
2019-06-05 21:36:38 +02:00
NiLuJe
3798e1b72c Kindle Basic 3 support (#5057)
* Detect a few new PW4 variants

* Detect the new Kindle Basic 3

* Bump base for KT4 mxcfb support
2019-06-04 21:36:21 +02:00
NiLuJe
efe34b6fee Fix shutdown action on Kobo (#5055)
Bypass init, like Nickel does.
Otherwise, some devices either deadlock or panic.
2019-06-03 18:54:45 +02:00
limerainne
53b6e3d018 [i18n] Add Korean keyboard (2-beolsik) (#5053) 2019-06-03 11:03:28 +02:00
limerainne
98b681bb4f [fix] InputText: fix ignoring first char when carat not in front of hint (#5052) 2019-06-01 16:48:35 +02:00
Frans de Jonge
439f876ad8
[fix] util.getSafeFilename() default to worst-case scenario (#5036)
Also pass path from Wallabag plugin.

Fixes #5025.
2019-05-22 11:34:46 +02:00
NiLuJe
de1146c0b5 [Kobo] Tweak the Aura viewport (#5034)
Officially, the bezel should only cover the bottom 10 pixels ;).
(The Aura was officially advertised as having a 758x1014 screen).
2019-05-21 20:31:23 +02:00
poire-z
34e6f41e05
cre: fix 2 footnotes issues, bump crengine (#5031)
- Popup footnotes: workaround strange behaviour of MuPDF
  which is adding some unwanted margin above elements
  with an "id=" attribute.
- In-page footnotes: also remove any left and right margin,
  to keep footnotes aligned with the main text.
  Also add 2 classnames (witnessed in quite a few recent
  french books) to the list of classic classnames.
- Also bump crengine: CSS: fix parsing of multi classnames
  and attributes selectors
2019-05-18 01:29:51 +02:00
Frans de Jonge
8815cbe07a
[fix, chore] Abstract filename logic in util.getSafeFilename() (#5026)
Fixes https://github.com/koreader/koreader/issues/5025

The OPDS browser was doing some fancier stuff in a way that should be abstracted away in util (because it applies anywhere files will be saved):

eace8d25c1/frontend/ui/widget/opdsbrowser.lua (L482-L491)
2019-05-14 19:10:41 +02:00
Frans de Jonge
de75f6bfa3
[fix] Don't try to save highlight into non-PDF document (#5027)
* [fix] Don't try to save highlight into non-PDF document

Fixes <https://github.com/koreader/koreader/issues/5024>.

Highlighting will still work with the .sdr metadata.

* temp fix
2019-05-14 17:57:59 +02:00
Frans de Jonge
5d7dbb4466
[UX] Update Greek keyboard with swipes & popup (#5028)
Closes #5023. Thanks to @noembryo.
2019-05-14 16:30:21 +02:00
poire-z
eace8d25c1 cre: fix possible crash when switching books too fast
Noticable with "End of document action > Open next file",
and holding PgDn in a directory full of single page html
files.
2019-05-09 22:14:13 +02:00
Frans de Jonge
2968f558eb
[fix, UX] Ignore first hold release when keyboard opened with hold (#5011)
Fixes #4902.
2019-05-08 10:13:44 +02:00
NiLuJe
4ba7f984bf Sync powerd.fl brightness with powerd when toggling the FL (#4999)
Possibly helps with some more edge cases related to interaction with
autowarmth & the KA1...

re: #4925
2019-05-05 22:08:53 +02:00
poire-z
7c53fcd922 CRe margins: hide bottom menu on change (#5000)
So we can immediately see how's the bottom margin.
2019-05-05 10:15:13 +02:00
NiLuJe
f3decdc26c [fix] Restore PAGE_MARGIN string (#4993)
It's used by KOptConfig

Fix #4992
Regression since #4945
2019-05-02 19:06:57 +02:00
NiLuJe
aec7594af5
Blacklist the C BB on devices where it cannot be used (#4989)
Either at all, or because it would impose reduced functionality.

Meaning:
* On 4bpp fb, because those are completely unsupported by the C BB
* On 24bpp fb, because it has limited support for that target format (no alpha blending).
* On 8bpp Linux eInk fb with an inverted palette (that's basically only the K4 ;)).
* On Linux eInk devices w/ no HW inversion support, as that would render NightMode inoperable.

That last point means that it's currently *always* blacklisted on PocketBook, because I don't have a PB device, so I don't know how safe HW inversion would be, meaning none of them are marked as being HW invert capable.

(I was a tiny bit hasty with https://github.com/koreader/koreader-base/pull/912 ;).)
2019-05-02 04:27:48 +02:00
poire-z
bf07c44009
CRe margins: add toggle to sync top and bottom margins (#4990)
Also fix DogEar size update on margin change.
Also re-order cre bottom tabs to be like with kopt.
2019-05-01 22:18:50 +02:00
NiLuJe
888d3591b2
Give more control over CRe margins (#4945)
Without having to resort to weird custom defaults.

* Split the current margins setting in three:
  * Horizontal margins (because you generally want those two to be balanced).
  * Top margin & Bottom margin (because you may want to tweak those separately to deal with quirky status bar/final line shenanigans).

* Also, add a "Reclaim bar height from bottom margin" toggle to the status bar menu, to optionally make sure the status bar won't eat into the bottom margin.

* Includes a free fix to diacritics popup refresh handling in the keyboard ;).
2019-05-01 02:09:01 +02:00
Frans de Jonge
96179670f8
[fix] Close calibre search when opening document (#4978)
Fixes https://github.com/koreader/koreader/issues/4225.
2019-04-28 20:10:41 +02:00
Frans de Jonge
3f670baaa2
[UX] Keyboard popup: add X (#4977) 2019-04-27 09:04:48 +02:00
Qingping Hou
080c079d01 chore: add test for screen color toggle 2019-04-24 21:09:23 +02:00
NiLuJe
d9ab5d2f43 Make sure the AutoWarmth feature will never try to turn the light back (#4953)
on if it's off.
Because, on the KA1, since wetting the warmth *has* to set the
brightness, it could ;).

Patch only actually needed on Kobo, as all Cervantes devices with warmth
support have a mixer, which mean they *can* set the warmth without
affecting the brightness ;).
2019-04-21 20:46:29 +02:00
Frans de Jonge
ff843e0eb7 [i18n] Change user-facing floating punctuation text to hanging punctuation
See https://www.mobileread.com/forums/showthread.php?t=316787
2019-04-20 19:47:31 -07:00
Frans de Jonge
4782f5ffc1
[UX] Keyboard popup: add = (#4950)
As suggested by @Biep in https://github.com/koreader/koreader/pull/4889#issuecomment-485158316
2019-04-20 23:36:52 +02:00
Frans de Jonge
8ec42d1e60
[fix] Actually commit V popup data (#4940)
Overlooked in https://github.com/koreader/koreader/pull/4938
2019-04-19 14:17:18 +02:00
NiLuJe
9134594119
Allow toggling CRe's new dithering & scaling (#4922)
Smooth scaling toggle is per document, in the gear tab.
Dithering is in the Dev top menu ;).
2019-04-18 23:26:53 +02:00
Frans de Jonge
6203fbb633
[UX] Keyboard popup: add V diacritics (#4938) 2019-04-18 21:03:17 +02:00
Galunid
9759ffa381 [feat] GestureManager: Implement action to change highlight style using gesture manager (#4936) 2019-04-18 12:12:38 +02:00
Frans de Jonge
c053e48526
[UX] Keyboard popup: add Y diacritics (#4935) 2019-04-17 21:21:28 +02:00
Frans de Jonge
04c39a8591
[UX] Keyboard popup: add R diacritics (IPA edition) (#4934) 2019-04-17 20:47:30 +02:00
Martín Fernández
a69c09a275 [Android] do not log verbose blitbuffer messages on release builds, unless specified in settings.lua. Keep debug builds as they are (#4933) 2019-04-17 20:04:07 +02:00
Frans de Jonge
1299ae93a8
[UX] Keyboard popup: add P (#4932)
Only Greek pi seems to make sense here.
2019-04-17 14:37:31 +02:00
Frans de Jonge
8882cdf0c5 [chore] Show FileManager in case of showReaderCoroutine failure
Same as https://github.com/koreader/koreader/pull/2956.

Fixes https://github.com/koreader/koreader/issues/4928.
2019-04-16 22:40:31 -07:00
Frans de Jonge
39b48d56c0
[UX] Keyboard popup: add N and M diacritics (#4930) 2019-04-16 20:44:22 +02:00
NiLuJe
717db55566
Some more FL fixes when we start with the FL off (#4924)
* Don't override hw_intensity when we start with the FL off
* And add an insane workaround to make the first toggle behave sanely in this case.
* And also handle the sneakier case where the first toggle happening would not be manual, but triggered by a suspend/resume cycle.
2019-04-16 00:04:29 +02:00
NiLuJe
33946aa732
Some FL regression fixes after #4901 (#4921)
* Make hasNaturalLight* caps safe to call without a device check. (fix #4919)
Make it clear that it's expecting the NTX implementation, though.
* Don't turn the FL on on resume if it was off on suspend
* Make sure turnOn/turnOff actually updates hw_intensity in the process where it matters, instead of just in a short lived fork ;). (fix #4923)
2019-04-15 20:06:24 +02:00
Frans de Jonge
7e06db9c2a
[UX] Keyboard popup: add H and J (#4920) 2019-04-14 18:39:09 +02:00
Frans de Jonge
a507f753fb
[UX] Keyboard popup: minor changes to S (#4918)
Split sigma into upper and lowercase to make room for esh.
2019-04-14 09:50:39 +02:00
Frans de Jonge
06a73ba550
[UX] Keyboard popup: add F and G (#4914) 2019-04-13 20:00:36 +02:00
Frans de Jonge
742453a047
[UX] Keyboard popup: add Q and W (#4913)
Mainly for easy swipe access to `[]{}`.
2019-04-13 15:18:05 +02:00
Frans de Jonge
762b4bef26
[UX] Keyboard popup: add C diacritics (#4912) 2019-04-13 11:40:31 +02:00
Frans de Jonge
d27393d723
[UX] Keyboard O popup: add Ø (#4911)
Danish/Norse and IPA close-mid front rounded vowel.

Requested by @gerhaher over in https://github.com/koreader/koreader/pull/4907#issuecomment-482784459
2019-04-13 09:51:52 +02:00
Frans de Jonge
ad62cc23e2
[UX] Keyboard popup: add Z diacritics (#4910) 2019-04-12 23:02:48 +02:00
NiLuJe
f63ca005c6 [fix] Update AutoWarmth state on resume (#4901)
Regression since #4871
Fix #4895

* Hide the "Configure" button in the FL/NL widget on devices where it
won't do anything

(i.e., those w/ a NL mixer).
2019-04-12 22:46:10 +02:00
Frans de Jonge
74e14a927c
[UX] Keyboard popup: k and l diacritics (#4908)
There doesn't seem to be much going on in k-land, and I like using proper hyphens and dashes.
2019-04-12 22:20:14 +02:00
poire-z
d3aaff135c
Update FR and ES keyboards (#4906)
Extend the FR and ES keyboards from the EN one, and
just tweak what has to be changed.
This will allow them to stay in sync with the EN keyboard's
recent and futur developments of key popups.
Also make the FR keyboard a bit more AZERTY.
2019-04-12 21:12:33 +02:00
Frans de Jonge
6f8a077f32
[UX] Keyboard popups: stubs for the rest of the vowels (I, O, U) (#4907)
With the basic pattern of diacritics and special characters established by now, the basic diacritics + IPA don't need too much thought for an initial draft.

Cf. https://github.com/koreader/koreader/pull/4906#discussion_r274966796
2019-04-12 18:28:05 +02:00
NiLuJe
2a91b2b038 Go back to "UI" refreshes in the FM (#4903)
Going with partial ends up being problematic on REAGL devices in a
number of different ways.

On Kindle (at least pre EPDCv2), it's slightly flickery because of the
whitespace and the boldface.
On Kobo, it's slow when anything else tries to queue an update (i.e.,
flashing the chevrons).
Which is a non-issue on the Forma because then it's fast when using
pageturns to navigate, but, still :D.

The obvious downside is we lose the automatic flash after n refresh,
which is potentially annoying on older, non-reagl devices.
It's not really on issue on REAGL devices, especially on EPDCv2.
2019-04-12 17:57:22 +02:00
Frans de Jonge
9b26178118
[UX] Keyboard popup: add T diacritics (#4905)
The Ťť is used in Czech and Slovak. The t-comma Țț is Romanian. The rest is a combination of IPA, Greek, and why not.
2019-04-12 17:53:19 +02:00
Frans de Jonge
58d88b12ab
[UX] Keyboard: add d diacritics (#4898)
Eth (ð) is an important letter for people who like Old English (me), and for IPA.

Ď/ď is Czech/Slovak.

Đ/đ is sometimes an alternative rendering of ð, maybe because you could type it on a traditional typewriter. It's also Slavic and something Vietnamese.

Delta is an often-used Greek letter.
2019-04-11 18:22:32 +02:00
Frans de Jonge
021f1d9107
[fix] VirtualKeyboard: always fall back to en (like it used to) (#4900)
Fixes #4899.
2019-04-11 14:01:58 +02:00
Frans de Jonge
4ba826ca3c
[fix] VirtualKeyPopup close refresh (#4897)
See https://github.com/koreader/koreader/pull/4891#issuecomment-481866246
2019-04-11 14:00:59 +02:00
Frans de Jonge
c35f96c819
[UX] VirtualKeyPopup: add B, comma, and period popups (#4893)
Adds B because it's on the same row as a comma.
2019-04-11 10:32:13 +02:00
Frans de Jonge
3f59dee721
[UX] VirtualKeyPopup: variable size (#4892)
This makes the code a lot more complex, but it looks much better.
2019-04-11 10:12:29 +02:00
Frans de Jonge
fd50dc34a6
[UX] VirtualKeyPopup: close on hold release (#4891)
As suggested by @poire-z.
2019-04-10 17:05:02 +02:00
Frans de Jonge
2d5cbafd27
[UX] Keyboard: add S diacritics (#4890) 2019-04-10 15:47:15 +02:00
Frans de Jonge
80953b5c4c
[UX] Keyboard: add @ and A diacritics (#4889)
Also rename std to en_keyboard.
2019-04-10 12:54:28 +02:00
Frans de Jonge
69e3830bc1
[UX] VirtualKeyPopup: respond to hold & pan release (#4887)
As suggested by @poire-z in https://github.com/koreader/koreader/pull/4886#discussion_r273569802

This is actually much better than before.

It subtly changes the behavior of every key this way, but I don't think that's a bad thing.
2019-04-09 22:19:56 +02:00
Frans de Jonge
23f903274a
[UX] Keyboard character selection popup (#4886) 2019-04-09 21:29:36 +02:00
Frans de Jonge
2760b98582
[UX] Add keyboard swipes (#4884)
Only the `e` and `E` are added in this initial commit.
2019-04-09 10:40:39 +02:00
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
Frans de Jonge
22db71c075
[fix] OPDS last-modified check (#4874)
Fixes #4873. Unfortunately this will introduce a slight delay but I don't see any other quick & reasonable solution.
2019-04-05 08:50:33 +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
Martín Fernández
dde301e765 [Android] use the same tag for all logs (#4862) 2019-04-01 15:48:10 +02:00
Frans de Jonge
0a314e3ab8
[fix] widget/scrollhtmlwidget: default_font_size same as infofont and Screen:scaleBySize() (#4864)
Otherwise it's:

1. Too small on virtually all devices due to a lack of scaling.
2. Unusably small by default.

It's currently scaled by the callers (dictquicklookup & footnotewidget) based on other properties, but you shouldn't have to change it from the default just to get something usable. ;-)
2019-03-31 22:00:07 +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
poire-z
8f019b8183 Night mode: keep some images non-inverted
Have the code pre-invert some images when in night mode,
so they get inverted back to normal by night mode.
This will allow images to be displayed normally in
the following contexts:
- images in credocument pages
- long-press on images in credocument viewed in ImageViewer
- cover thumbnails in File browser and History
- full size covers when viewed in ImageViewer
- images in Wikipedia lookup results
2019-03-30 01:30:46 +01:00
poire-z
e2b4099228 Footnote popups: fix link unhighlight when closing with keys 2019-03-30 01:30:46 +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
fe3fc78171 Move AutoSuspend menu to the Plugin itself 2019-03-27 17:34:41 +01:00
NiLuJe
04f5bc7823 Remove the Aura SE viewport
This feels somewhat arbitrary and potentially unneeded,
and it'll prevent full blits, so, off it goes.
2019-03-27 17:34:41 +01:00
NiLuJe
9ecc2dd119 There's no viewport on the H2O²
Fix #4834
2019-03-27 17:34:41 +01:00
NiLuJe
9be3455ccc Don't crash when sizeUtf8Text is called on a nil
By returning a table with the right fields instead of nil.

Re #4845
2019-03-27 17:34:41 +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
NiLuJe
783c3fd7dc Allow toggling sleepcover handling from the UI 2019-03-27 17:34:41 +01:00
NiLuJe
860b4b24a0 Allow setting the autosuspend timeout from the UI
Fix #4179
2019-03-27 17:34:41 +01:00
NiLuJe
32c9ea74a6 Ignore the accelerometer while we're sleeping on Kobo
It might cause unwanted wakeups, and even it it doesn't, it just feels
and looks stupid ;).
2019-03-27 17:34:41 +01:00
Frans de Jonge
83cdb9cb9a
[fix] MenuSorter: don't add empty menu item (#4848)
Fixes #4845.
2019-03-27 09:50:25 +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
b7b4cdd2a7 ConfigDialog: fix possible crash (#4838)
When one has set a default for toggles thad don't have 'values' in
their definitions (possibly only Orientation).
2019-03-25 19:15:29 +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
Galunid
5f44ef5dad [feat] Kindle suspend using lipc (#4825)
Fixes problems with making Kindle go to sleep using menu or gesture manager action.
2019-03-21 11:52:58 +01:00
Frans de Jonge
2f65fb94ec
[Android, UX] Add Device:openLink() implementation (#4824)
Fixes https://github.com/koreader/koreader/issues/4821

Same as https://github.com/koreader/koreader/pull/4822

Thanks to @pazos who implemented the Android backend, see https://github.com/koreader/android-luajit-launcher/pull/133
2019-03-20 17:28:19 +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
NiLuJe
003de939b0 [fix] Properly account for MuPDF feeding us premultiplied alpha (#4807)
* Properly account for MuPDF feeding us premultiplied alpha

* Bump base to pickup necessary backend changes

Also includes a bunch of CMake refactoring
(https://github.com/koreader/koreader-base/pull/865
https://github.com/koreader/koreader-base/pull/867
https://github.com/koreader/koreader-base/pull/868)
2019-03-18 09:35:27 +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
b16aa79636
ConfigDialog ButtonProgress: black border on default item (#4805)
Make the default (user set, or KOReader's default) item
among the button progress squares shown with a black border.
2019-03-15 23:15:05 +01:00
Frans de Jonge
e357165f17
[fix] GestureDetector: fix typo in ges_coordinate_translation_90 (#4804)
Fixes #4803.
2019-03-15 19:53:15 +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
poire-z
6239d89022
Screensaver: fix crash when "Choose screensaver image" (#4799)
Just switched to use the friendly PathChooser instead of
FileChooser (which is more like a superclass and shouldn't
be used directly).
2019-03-15 14:14:53 +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
17f07e755f CoverBrowser: speedup "View full size cover"
It was doing a full document load to get the cover. It now does
the faster "only metadata" load.
Also move the trick of setting a default font in CreDocument, so
that all callers of document:loadDocument(false) benefit from it.
Prevent crash when no cover image is available (even if the cache
says it has one, the file may have been updated and doesn't have
it anymore).
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
poire-z
9560bc2061
ConfigDialog: fix some gray mismatch in prev commit (#4797)
Remove gray underline on text items (font size items).
Adjust gray color of ButtonProgressWidget to match the
one of ToggleSwitch (just need to invert it, as it's
used to select button, which cause this color to be
inverted).
2019-03-14 22:09:55 +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
NiLuJe
fdf92e13ea
Remove the Kobo-specific 16bpp JIT loopunroll tweak (#4784)
* Remove the Kobo-specific 16bpp JIT loopunroll tweak
It's now generic, and handled in ffi/blitbuffer.lua directly.
2019-03-14 04:48:03 +01:00
poire-z
ce3d181e24
cre 2-pages: rename toggle to "Dual Pages" (#4788) 2019-03-13 23:11:51 +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
NiLuJe
930286d3f5 Slightly prettier virtual keyboard (#4776)
Add a thin border around keys (square)
2019-03-12 20:00:06 +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
tob1az
89c17092e8 [feat] PocketBook: implement Wi-Fi connection toggling (#4775)
Partially resolves #4747. Will enable switching Wi-Fi on/off in the menu and getting the network status. However, a new Wi-Fi session lasts ~100 seconds and then terminates automatically, apparently, to save the energy. I believe it can be prolonged by some networking activity. Also it is not shut down if the auto suspension is disabled.
2019-03-12 07:05:43 +01:00
Qingping Hou
fc69257660 fix: auto dpi menu checkbox display (#4771) 2019-03-11 10:01:37 +01:00
poire-z
658f513512 [fix] cre: fix position and page number after window resize (#4754) 2019-03-10 21:50:11 +01:00
NiLuJe
7c2df53808
Update FBInk (#4765)
* Add a bit of logging before fbdepth calls, to make the progression
easier to grasp.
* Bump base (pickup FBInk update)
2019-03-10 00:59:49 +01:00
Frans de Jonge
294c92fdc7
[fix] FileManagerShortcuts: prevent interference with general Menu class (#4764)
The widget system doesn't really do multi-inheritance as well as it should at the moment. Instead of diving into the internals with release upcoming, this commit rewrites the shortcuts to behave better.

Also fixes an older bug in that changing the friendly name didn't actually do anything on first adding a shortcut.

Fixes #4763.
2019-03-09 13:55:03 +01:00
Frans de Jonge
2536cc2645
[fix] widget/menu: Don't propagate ShowGotoDialog to other widgets (#4761)
Fixes #4760.
2019-03-08 21:52:45 +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
Frans de Jonge
2cbec1b54e
[fix] Add fake delayed pan to SDL scroll event (#4758)
Not actually delayed. Avoids a crash otherwise caused by #4666.
2019-03-08 19:39:50 +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
Martín Fernández
fda231adcd scheduleIn actions needed to open a new file from an intent on resume, to provide feedback since we cannot blit to the window yet 2019-03-05 20:46:47 +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
151aedb038 [chore] Bring file manager plugin loading in line with reader
This allows for simple testing if self.ui.plugin_name is loaded without complex additional methods in, e.g., PluginLoader.
2019-03-05 15:55:03 +01:00
Martín Fernández
39be43ad84 do not refresh eink on activity changes, system will do that! (#4735) 2019-03-05 12:25:04 +01:00
Qingping Hou
4b7d5c82b7 fix: update gesturedector constant for custom screen dpi 2019-03-05 01:17:37 -08:00
Frans de Jonge
bae83ad663
[UX] Gesture manager: add action - folder shortcuts (#4733)
See #4727.
2019-03-04 22:45:55 +01:00
Frans de Jonge
c5b2bad6d6
[fix] Allow overriding low pan rate on E Ink device (#4729)
Cf. #4721.
2019-03-04 19:15:00 +01:00
Frans de Jonge
17fa07ee43
[fix] GestureDetector: deep copies of events for multiswipes when rotated (#4728)
Fixes #4724.
2019-03-04 19:01:01 +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
Martín Fernández
5e01a0c264 android: hasColorScreen depends on hasEinkScreen 2019-03-03 16:06:39 +01:00
Martín Fernández
f8c71f6a45 disable low_pan_rate on non e-ink devices by default 2019-03-03 16:06:39 +01:00
Qingping Hou
587758939e split UI agnostic code from font.lua into fontlist.lua 2019-03-03 13:10:45 +01:00
Qingping Hou
05f62cc4ba add more comment 2019-03-03 13:10:45 +01:00
Qingping Hou
bf40b5d5e6 avoid assigning screen as local variable in creoptions 2019-03-03 13:10:45 +01:00
Qingping Hou
dd1ab7b409 bump base to decouple G_reader_settings from core 2019-03-03 13:10:45 +01:00
Qingping Hou
634fed5487 use device instead of canvascontext in UI modules 2019-03-03 13:10:45 +01:00
Qingping Hou
1605409c60 rename runtimectl to document/canvascontext 2019-03-03 13:10:45 +01:00
Qingping Hou
adb5d5a52c use screen for UI color control 2019-03-03 13:10:45 +01:00
Qingping Hou
4d8da96177 fix test 2019-03-03 13:10:45 +01:00
Qingping Hou
855c8c2569 add dummy device & rename runtimectl:setDevice to runtimectl:init 2019-03-03 13:10:45 +01:00
Qingping Hou
8513778990 decouple device from koptinterface 2019-03-03 13:10:45 +01:00
Qingping Hou
b1f94f9afa decouple device from credocument 2019-03-03 13:10:45 +01:00
Qingping Hou
d749591984 decouple device from pdfdocument, font & bgr checking 2019-03-03 13:10:45 +01:00
Qingping Hou
9e57e56f95 decouple UI definitions from document modules 2019-03-03 13:10:45 +01:00
Qingping Hou
02eca23649 decouple device 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
NiLuJe
bb3f49a566 [feat, Kobo] On Kobo, drop fb to 8bpp on startup (#4637)
* The Great 8bpp Experiment

Swap to 8bpp on Kobo, because we're 'effing grayscale, for pete's sake!

* Always swap to 8bpp, no matter the launch method.

Because it turned out that, even when restarting Nickel, we had to
restore the expected bitdepth ourselves, because pickel/Nickel didn't do
the job completely.

(I'm going to guess the grayscale flag wasn't getting flipped properly).

* Dither every non-transparent icon to the eInk palette

* Make sure hasBGRFrameBuffer is only enabled when the Kobo fb actually is
@ 32bpp...

* Re-process badly grayscaled icons

* And re-grayscale that one w/ gamma correction so the squares show up
better.

* Allow the fbdepth switch to be disabled (in Developer settings).

Also, allow setting debug mode that way.

Also, forcibly disable verbose logging when disabling debug.

* Update setting name to piggyback on the existing check in reader.lua

* Update icons postprocessing info
2019-03-03 12:31:55 +01:00
Martín Fernández
be407d1059 [Android] Disable ota updates on fdroid builds 2019-03-03 11:47:52 +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
poire-z
279ffbab43 Fix slow keyboard when double tap not disabled (#4711)
[fix, UX] Fix slow keyboard when double tap not disabled

When double tap is not disabled (only ensured in ReaderRolling),
repeated key hits were slowed down by it. This ensures
Input widgets that temporarily overrides it to be disabled
are satisfied.
2019-03-02 16:50:07 +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
ab53d798e5
[UX] GestureDetector: add diagonal multiswipes (#4704)
Multiswipes consisting of mixed straight and diagonal strokes are not dependable and too easy to mess up, but making them mutually exclusive seems to work out quite well.
2019-03-02 13:22:44 +01:00
poire-z
779909343c [UX] ButtonProgressWidget: thin grey buttons instead of black (#4700)
May help with ghosting when closing bottom dialog,
and fit better with the other grey toggles.
2019-03-02 12:24:15 +01:00
Frans de Jonge
9fb7801974
[fix] ConfigMenu cre margins hold action (#4702)
See https://github.com/koreader/koreader/pull/4691#issuecomment-468905263
2019-03-02 12:14:36 +01:00
Frans de Jonge
d8845f8589
[fix] GestureDetector: only initiate multiswipe with clear N/S/E/W direction (#4698)
Accidentally lost while refacturing. See <https://github.com/koreader/koreader/pull/4640#issuecomment-468788986>.
2019-03-01 21:47:45 +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
Frans de Jonge
1d1dc74290 [UX] creoptions: add more margin values
Fixes #4684.
2019-03-01 15:26:25 +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
a1f7f25eaf
[chore, UX] Migrate Screen menu to MenuSorter & put Screensaver under Screen (#4675)
Doing more of this is the general purpose of MenuSorter, after all.

This is making some space for a new `Taps and gestures` menu, see <https://github.com/koreader/koreader/pull/4655#issuecomment-466808273>.
2019-02-28 18:32:11 +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
abba7ba873
[fix] TimeVal: add dbg:guard against incorrect subtraction order (#4669)
In principle, any negative subtraction result should be caused by a logical error.
2019-02-27 22:20:47 +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
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
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
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
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
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
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
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
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
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
Martín Fernández
301aa580cc cervantes: add usb storage on devices w/updated 3rd party tools 2019-02-16 17:32:43 +01:00
Martín Fernández
51ce6664e5 move Cervantes4 to new natural light interface, like Kobo Forma and Kobo ClaraHD 2019-02-16 17:32:43 +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
134998a323 [fix] Eliminate ghosting on eInk when showing an image ScreenSaver (#4591)
* Flash a white screen before showing a screensaver image, to prevent
ghosting.

* Really limit the white flash to full-screen images

* Limit that behavior to eInk screens

(Not that clear() is implemented anywhere else, but, still).
2019-02-14 20:23:28 +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
011370882f [chore] Some Wi-Fi tweaks (#4564)
* On Kobo, kill WiFi on startup if we detect an inconsistent state...

Untested, not terribly pretty.

The other solution is to slow down the Wi-Fi meny by doing the same
check for the "Wi-Fi connection" checkbox as in the later wifi_status
one...

* Don't enable auto_restore_wifi by default

It's liable to silently murder batteries for no good reason, given that
we prompt to enable WiFi by default when needed, and we otherwise have
no actual need to keep WiFi on in the background.

re #2215 (in particular, this directly contradicts @houqp in
https://github.com/koreader/koreader/pull/2215#discussion_r74696133 ;)).
2019-02-08 22:29:11 +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
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
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
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
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
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
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
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
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
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
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
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
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
poire-z
19280078de bump crengine: Harfbuzz light, WTF-8, corrupted ZIPs
Includes:
- EPUB: workaround ZIP files with corrupted central directories
- Supports book text encoded in WTF-8
- Harfbuzz kerning (full): fix possible wrong flags
- (Upstream) Adds new kerning method: Harfbuzz light, without ligatures

Adds Harfbuzz light kerning methods as the 3rd toggle.
2019-01-15 23:02:40 +01:00
poire-z
77ec8e32e9 ConfigDialog: tweak widths computation
Small fixes to widths computation for a more balanced layout.
Decreased min width of names (on the left) from 33% to 25%, to
allow more room for toggles on the right.
(May make things a little bit too stretched out with english,
but should help with other languages that use longer words to
name things than english.)

Also ignore disabled option names in the names width calculation
(noticable on the PDF right most config menu, where toggles were
uneededly too small)
2019-01-15 23:02:40 +01:00
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.
2019-01-15 23:02:40 +01:00
NiLuJe
c327069f43
Set actual model names on PB devices (#4479)
* Set an actually useful model name for PocketBook devices
* Pickup yet another PB fb setup fix ;).
2019-01-14 00:49:29 +01:00
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
2019-01-13 15:49:50 +01:00
Frans de Jonge
2cb4be7cad
[fix] PocketBook 626 new firmware with new codename (#4474)
Might need to be repeated for the others?

Fixes #4473.
2019-01-13 12:34:53 +01:00
Martín Fernández
ab09dedf33 open new files from intent 2019-01-11 22:12:00 +01:00
Martín Fernández
2009ffa12f android: keep screen awake toggle (using wakelocks) & bump luajit-launcher 2019-01-10 22:57:37 +01:00
Frans de Jonge
6b59101aa4
[fix] Dictionary download: repackage lzip to gzip (#4466)
Fixes #4465.
2019-01-09 18:01:22 +01:00
NiLuJe
4ea05ce0a7 Implement workarounds for/from #4387 to better handle WiFi menu
corner-cases on some Kobo devices

Fix #4387
2019-01-09 03:19:06 +01:00
NiLuJe
bc8d92c5d9 Detect the PocketBook Basic Touch 2 (PB625)
AFAICT, Pearl -> Carta, but same resolution/feature set.

Fix #4366
2019-01-09 03:19:06 +01:00
Sergey Avseyev
973e61557b [cervantes] automatically restore wifi connection (#4463) 2019-01-08 21:03:05 +01:00
Sergey Avseyev
12c8d4fd17 [cervantes] wifi: try to connect to known network before listing (#4462)
Defines new function reconnectOrShowNetworkMenu(), which iterates over
available networks ordered by signal power, and check if we can connect
to saved SSIDs. If we can, then skip network list dialog.
2019-01-08 16:54:21 +01:00
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
2019-01-08 02:59:47 +01:00
NiLuJe
cc9f58687a [Kindle] Handle the two newish Indian PW4 variants (#4459)
xref: https://www.mobileread.com/forums/showthread.php?t=314156
2019-01-07 20:33:37 +01:00
Frans de Jonge
bba7635763
[lang] CSS tweaks: fix typo (#4456) 2019-01-07 11:21:50 +01:00
poire-z
f8d8863712 Style tweaks: split in-page footnote tweaks
Split the In-page footnotes tweak into 3 distinct ones,
mainly because I want the 3rd one with classic class names
to be disabled'able, while keeping the others, in case
these classic class names are not used for footnotes.

Also fix footnotes list-style-type in Wikipedia EPUBs,
which may have been wrong (but it was less noticable when
following page links because of the little black marker,
or showing them in popup footnotes where the number/letter
is not shown).
2019-01-06 23:06:04 +01:00
Viktor Sokyrko
ea424e621e Add PB641 aka Aqua 2 support (#4445)
Add Pocketbook 641 aka Aqua 2 support.
It has 212 ppi. The model code detected is 641.
Tested on real device, works well.
2019-01-05 09:02:45 +01:00
poire-z
41b885f073 [UX] Adds "Enable back history" menu item (#4443)
For a hidden setting already present, and used in
/apps/reader/modules/readerback.lua
Only shown, as the whole Navigation> submenu, on
devices with keys.
2019-01-03 21:23:20 +01:00
Martín Fernández
6de5927dc2 [build] Add support for Debian packages (#4434)
* Add support for Debian packages

* SDL: add device probe
2019-01-03 18:21:35 +01:00
Martín Fernández
236724ef3e use android log categories 2019-01-03 08:56:29 +01:00
Frans de Jonge
ee673b1e10 cre: in-page footnotes and alternative TOC: fix wording
Co-Authored-By: poire-z <poire-z@users.noreply.github.com>
2019-01-02 09:46:39 +01:00
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.
2019-01-02 09:46:39 +01:00
poire-z
9afe3da6c2 History: show files sizes, as File browser does 2019-01-01 20:19:09 +01:00
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.
2019-01-01 20:19:09 +01:00
NiLuJe
92b8d70342 [fix] If zsync eats dirt during an OTA update, allow to fallback to a full download (#4438)
* On zsync delta failure, offer to retry OTA update with a full download

Fix #4429

* Bring the "this may take a while" popup back up before full DL

Don't rebuild the local tarball for a full dl, we're ignoring it anyway
;)

Co-Authored-By: NiLuJe <ninuje@gmail.com>
2019-01-01 20:06:55 +01:00
NiLuJe
f6743a45db
Proper Forma support (#4414)
* Enforce a known rotation on startup, to make sure we handle touch input coordinates properly.
* Proper FrontLight warmth support (thanks to @cairnsh & @pazos in #4291)!
* Fix the PageTurn buttons mapping to match Nickel's defaults
* Properly remap PageTurn buttons depending on the current rotation.
* Actually enable the Mk.7 screen refresh codepath on *all* Mk.7 devices (I'd messed up the device check...).
* Full accelerometer handling (includes a touch of refactoring regarding orientation handling in general).
* Fix insidiously broken USBMS behavior in Nickel after we exit on FW >4.8.

Fix #4291
Fix #3002
2018-12-28 04:32:42 +01:00
endofline
295cc55e03 [fix] ODPS: socket.http redirect, where the target is a different host (#4420)
Split https/http code-path (as socket.http can adjust the Authorization/Host headers automatically)
Warn the user when the protocol differs from http/https
2018-12-26 14:12:50 +01:00
jperon
8e575a5f3b Add support for PocketBook Touch HD Plus (#4419) 2018-12-26 00:56:02 +01:00
Frans de Jonge
b21a9efa53
[UX] Download dictionary: keep menu open (#4412)
As suggested by @poire-z in https://github.com/koreader/koreader/pull/4401#issuecomment-447629244
2018-12-23 19:49:06 +01:00
Frans de Jonge
c41dfc25dd
[feat] Add many more downloadable dictionaries (#4401)
* Virtually the entire list that was originally on Sourceforge, except for some dictionaries with unclear or questionable licences.

* Without the Webster's duplicates. The GCIDE (GNU Collaborative International Dictionary of English), already included, is the extended version of it.

* Without Freelang. To "dissociate" dictionaries, the permission of individual authors has to be obtained.

Many thanks to @avsej who prepared it all.

See https://github.com/koreader/koreader/pull/3176#issuecomment-447085441
2018-12-21 11:01:24 +01:00
poire-z
80cb9d0db1 adds "Translation settings" menu
and the list of 104 languages supported by Google Translate
2018-12-17 15:19:25 +01:00
poire-z
22b7f17cd8 Fix translator, enable selected text translation
Update translator.lua to use a still working google translate API.
Add a method to show translations (main and alternates) in
a TextViewer.
Re-enable "Translate" button in text selection/highlight buttons
dialog.
Target language can be set with a manually added setting:
    translator_target_language = "fr"
and will fallback to the UI language.
2018-12-17 15:19:25 +01:00
Frans de Jonge
a9964309ac
[Android] OTA: Differentiate architectures (#4402)
This seems like a good thing to have. However, Android OTA seems to be broken due to some permission issue.
2018-12-15 10:23:51 +01:00
Frans de Jonge
1cba60765b
[feat] MenuSorter: add sorting_hint support (#4399)
By adding a `sorting_hint` to a menu item, the program will put orphaned items in the relevant (sub)menu instead of in the first menu with a NEW prefix.

Fixes #4393.
2018-12-14 16:56:57 +01:00
Frans de Jonge
b261a647c2
[feat] Add dictionary download option (#3176)
You can now download pretty much all of the easily available freely licensed dictionaries I could find.
2018-12-13 06:27:49 +00:00
Frans de Jonge
8fec0f330f
[UX, Android] Hide E Ink full refresh setting on Android (#4397)
Fixes confusion caused by its appearance such as in #4396.
2018-12-12 20:32:07 +00:00
NiLuJe
f020b1264a
A few Kindle fixes (#4394)
* Implement isWifiOn on Kindle (fix #4380)
* Ensure frontlight intensity is properly restored on resume on Kindle. (fix #Fix #4392)
Only actually matters when the frontlight is *off*.
2018-12-10 22:10:35 +01:00
poire-z
8f77de8481
Fix crash when tap on external link in non-EPUB documents (#4391) 2018-12-10 20:39:31 +01:00
poire-z
98c3f0d366
bump crengine: fix max image height, handle <epub:switch> (#4390)
Includes:
- (Upstream) Fix dangerous compile warnings
- Fix max image height to prevent spurious page breaks
- Hide <epub:case> in <epub:switch>, show only <epub:default>

Adds a style tweak to show <epub:case> and hide <epub:default>
for the curious person.
2018-12-08 22:58:11 +01:00
Frans de Jonge
0407b577f5
[UX] DPI: show concrete numbers and add more custom DPI presets (#4389)
Follow-up of #4388.

Implements the suggestion by @turkeyphant from <https://github.com/koreader/koreader/issues/2589#issuecomment-445474155>.

Also adds a little explanatory message when holding on the Auto DPI option.
2018-12-08 21:12:18 +00:00
Frans de Jonge
e8192c8a04
[UX] Inform about hold to set custom DPI, up DPI limit to 900 (#4388)
* It was unclear that you needed to hold to set DPI, see https://github.com/koreader/koreader/issues/2589#issuecomment-445471384

* Up the DPI limit to 900 as several Android devices have already breached 800. This will increase the possibility of crashes due to a higher setting even on relatively high-DPI devices, but that was always already an issue.

* Also brings the custom DPI dialog box in line with the UX guidelines as per <http://koreader.rocks/doc/modules/ui.widget.confirmbox.html>.
2018-12-08 17:11:55 +00:00
poire-z
74c3c90faa
Style tweaks: move some sub-menus to first-level menu (#4384)
We don't need that first-level menu to be short
as it contains no tweak itself (only the submenus
with toggable tweaks need to be kept shorter to
let room below to see the tweak effects).
2018-12-07 23:39:27 +01:00
poire-z
ea946d52d6 bump crengine: tables rendering improvements and others
bump crengine, which includes:
- Adds support for symbol fonts (local or embedded)
- Fix some issues when rendering text in constrained width
- Page splitting: fix possible missing blocks
- CSS: adds support for 'auto', ignore % for borders
- Fix right border drawing position
- Fix: adds missing properties in copystyle()
- Adds comments, erm_killed rendering method
- Adds getRenderedWidths(): get node min/max node content width
- Tables rendering: fixes and improvements
- getRenderedWidths: enable min_width to be a single CJK char
- Fix wrong text wrap avoid in some case
- epub.css: add style for 'blockquote'
- Fix rendering issue when line ends with an image

Adds a few style tweaks related to tables.

Enforce table width: 100% in Wikipedia EPUBs to keep
previous look, which feels better with the various kinds
of tables in Wikipedia pages.

Fix unit tests as juliet.epub (full of blockquotes), grew quite
a few pages with the epub.css update.
2018-12-07 14:11:46 +01:00
poire-z
ed8f87f9f4 Fix diagonal refresh not working in TOC and History
By delegating diagonal swipe handling to GestureManager only
when the Menu or FileChooser instance is the FileManager one.
2018-12-07 14:11:46 +01:00
patrick-tang
a2e7e62be7 Fix wrong keymapping for Forma (#4376) 2018-12-07 13:53:53 +01:00
Frans de Jonge
062d9a44d1
[fix] MuPDF: set default DPI-based EPUB fontsize (#4372)
Makes an attempt at a reasonable default. References #4368.
2018-12-02 22:02:54 +00:00
Sergey Avseyev
063071fcdf [UX] Set timeout for wifi result info message (#4371)
When Wifi is connected, the message "Connected." stays on the screen
waiting for the user feedback. The change sets reasonable timeout
for info message to disappear
2018-11-30 18:14:40 +01:00
Hzj_jie
9be82da449 Lower file suffix (#4369) 2018-11-29 19:29:14 +01:00
poire-z
2b9694d7d2 [fix] Ensure "Open last/previous" point to existing files (#4367) 2018-11-28 21:14:07 +01:00
wsotest
7841351a81 Added support for pb627 (touch lux 4) (#4362) 2018-11-26 15:19:00 +01:00
Frans de Jonge
923d9e0a89
[UX] Add paragraph whitespace/indent style tweaks (#4358)
Requested on the forum, and it makes a lot of sense.

https://www.mobileread.com/forums/showthread.php?p=3777972#post3777972
2018-11-24 12:33:52 +01:00