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

330 Commits

Author SHA1 Message Date
NiLuJe
5871132c25
UI Behavior tweaks (#3983)
* Switch all initial highlights to "fast" update

i.e., everything that does an invert
Plus a few other things that refresh small UI elements onTap
Re #3130

* Tweak refreshtype for a number of widgets:
  * Fix iconbutton dimen
  * Make touchmenu flash on close & initial menu popup. Full-screen on close.
  * Use flashing updates when opening/closing dictionary popup. Full-screen on close.
  * Switch FileManager to partial.
    It's mostly text, and we want flash promotion there.
  * Make configdialog & menu flash on exit
  * Make FLWidget flash on close
  * virtualkeyboard: flash on layout change & popup.
  * Potentially not that great workaround to ensure we actually see the
highlights in the FM's chevrons
  * Flash when closing BookStatus Widget
  * Optimize away a quirk of the dual "fast" update in touchmenu

* Promote updates to flashing slightly more agressively.

* Document what each refreshtype actually does.

With a few guidelines on their optimal usecases.

* Switch remaining scheduleIn(0.0) to nextTick()

* Tighter scheduling timers

Shaving a hundred ms off UI callbacks...

* Cache FFI C Library namespace

* Ask MuPDF to convert pixmaps to BGR on Kobo

Fix #3949

* Mention koxtoolchain in the README

re #3972

* Kindle: Handle *all* fonts via EXT_FONT_DIR instead of bind mounts insanity

* Make black flashes in UI elements user-configurable

(All or nothing).

* Jot down some random KOA2 sysfs path
2018-06-02 12:10:55 -04:00
Robert
6fbb4e4ff4 [feat] Add default to the last value used in ReadTimer (#3963) 2018-05-19 23:29:16 +02:00
Frans de Jonge
fcc24fc7b1 [fix, i18n] plugins/SSH.koplugin: public SSH key info (#3947) 2018-05-14 20:37:00 +02:00
onde2rock
c0e80461ff [feat] Integrated Dropbear SSH server (#3842)
* Add a menu item to start an ssh server

* Add blank login option
2018-05-13 21:27:52 +02:00
Robert
e6518c4f68 Use RenderImage:renderImageData insteed of Pic.openJPGDocumentFromMem (#3930) 2018-05-05 15:07:16 +02:00
Robert
4bf4578d17 Add HTML widget in GoodReads review (#3929) 2018-05-04 23:44:09 +02:00
Robert
9e67c5a614 CloudStorage: Allow use reserved characters in FTP username and FTP password (#3924)
Depends on RFC 3986 compliant util.urlEncode() and adds unit tests for the new functions.
2018-05-04 17:06:58 +02:00
onde2rock
dad7f209fa [CI] Add a check to detect tab in lua files (#3919) 2018-04-29 15:15:11 +02:00
poire-z
4bb3999cbc RenderImage: factorize all image rendering and scaling code
New module RenderImage (alongside existing RenderText) to provides
image rendering and scaling facilities.
Uses MuPDF, but tries first giflib on GIF.
Allows for getting all the frames from an animated GIF.
2018-04-22 17:00:29 +02:00
poire-z
9e4e71d630 coverbrowser: close sqlite db after init (#3897)
Don't keep a handle on bookinfo_cache.sqlite3 when
"Start with: last book"
2018-04-19 17:06:36 +02:00
mwoz123
a6b824ed90 NewsDownloader: add date time to filename (#3863)
* Download all files from ftp server(Not only epub). Show failed download number

* add date and time to filename

* optimalization - decrese max redirect number

* remove new external lib from luacheck

* add new lib licence info
2018-04-12 16:05:50 +02:00
poire-z
cc7ef363e5 [UX] CoverBrowser: set default display modes on first launch (#3834) 2018-04-06 18:14:49 +02:00
poire-z
eb613ace3e [chore] CoverBrowser: avoid page info code duplication (#3835)
Also allows full refresh with small diagonal swipe
of Menu instances (TOC, bookmarks)
2018-04-06 11:53:11 +02:00
David Engster
ba46376299 [UX] plugins/kobolight: Handle automatic warmth
If warmth is handled automatically, do not try to change warmth but
display a message instead.
2018-04-01 15:35:05 +02:00
onde2rock
f893b01f04 [fix, UX] CoverBrowser: reset cursor (#3817)
Also don't show the underline before the first key move.
2018-03-31 07:59:12 +02:00
onde2rock
74a06d98a2 [chore] Code cleanup : deprecate the 'Enter' event, replaced with 'Press' (#3815)
'Escape' now do 'Back' on SDL
'Enter' now do 'Press' on SDL
2018-03-30 23:22:18 +02:00
onde2rock
e502bf04d3 [feat, UX] Support the virtualKeyboard on non touch-device (#3796)
* [VirtualKeyboard] Add support for keynaviguation

Also rename the variable "layout" to "keyboard_layout" because conflict
with the layout from the focusmanager

* Make the goto dialog compatible with key naviguation

My solution is to change the order of the widget. The last one will the
virtualkeybard so it catch all the keybinding, and below it, make the
dialog "is_always_active = true" so it can receive touch event.

* Correctly show the virtual keyboard on dpad devices

* change the order to call the virtualKeyboard so it end up on top

* Handle the multi input dialog

* Support reopening the virtualKeyboard by the Press key

* add check focusmanager

* Fix https://github.com/koreader/koreader/issues/3797

* MultiInputDialog : Now work on non touch-device

* Set the virtualkeyboard to be a modal widget

* Fix the layout in multiinputwidget

* Fix for the various combination of
hasKeys,hasDpad,isTouchDevice

* [Focusmanager] Better handling of malformed layout
2018-03-30 12:46:36 +02:00
Frans de Jonge
3838aab169
[fix] calibrecompanion.plugin (#3799)
Fixes #3794. 

Upstream luasocket 96965b179c switched from just `socket.udp()` to `socket.udp4()` and `socket.udp6()`.
2018-03-25 21:37:30 +02:00
onde2rock
dfd87447da [UX] Make the reader bottom menu compatible with key navigation (#3785)
* [toggleswitch] Add support for key navigation to this widget

Add the onFocus an onUnfocus event handler
add a new function that just circle the switch if not touch event is
detected

* Add key navigation to the readermenu

The shortcut is still Alt-gr on sdl, to be defined on Kindle

* Remove the old method of handling the Press key.

Now the event is handled by the main widget who implement focusmanager
and then dispatched to the currently focused item.
Modify the fine font tuning only for non touch-devices

See : https://github.com/koreader/koreader/pull/3785#issuecomment-375306466
2018-03-22 21:01:38 +01:00
poire-z
79448ac046
coverbrowser: fix some vertical alignments (#3779)
introduced by the recent correction to UnderlineContainer.
2018-03-20 20:34:54 +01:00
poire-z
b3b7e3d279 Remove some leading and trailing newlines (#3768)
in some InfoMessage and ConfirmBox, introduced willingly
or not, that cause top or bottom padding
2018-03-17 18:13:04 +01:00
poire-z
0fde66c2c6
BookInformation: speedup getting EPUB metadata/cover (#3767)
coverbrowser: also plug optimised callback to the right
button ("Book information" was shifted when "Open with..."
was added)
2018-03-17 00:28:37 +01:00
poire-z
04350a8409 coverbrowser: fix some texts (#3764) 2018-03-16 17:22:41 +01:00
poire-z
9858060c56 [lang] coverbrowser: fix some texts (#3759) 2018-03-15 13:45:32 +01:00
onde2rock
e8aab49ee9 Kindle4NT improvements (#3745)
* [device][kindle4] add fake event to kindle4

* modify focusmanager to allow for more complex layout

The focusmanager now naviguate the layout by avoiding nil value
instead of relying on table lenght. It should be completely backward
compatible

* add Dpad naviguation to the touchmenu

* fix crash because virtualkeyboard on non touch device

the kindle4NT has no keyboard nor touch, the fix open the virtual
keyboard so koreader dont crash but it's not useable

* Enable device with keys to use the touchmenu

* Don't get stuck in reader progress statistics plugin

* [underlinecontainer] Fix and remove unused function

References #1898.
2018-03-14 22:16:38 +01:00
poire-z
9849d89f0e
coverbrowser: allow for batch metadata extraction (#3750)
This adds a button to the Tap Plus menu, that allows
extracting metadata and cover images for books in
current directory. Info about the process and questions are
initially shown and asked, and the process can be aborted at
any moment.
2018-03-14 18:14:52 +01:00
Frans de Jonge
18baf5b7ba
[fix, i18n] plugins/goodreads.koplugin: make untranslated string translatable (#3751)
Fixes #3748.
2018-03-14 15:50:35 +01:00
cramoisi
ac3325fb95 [typo] PerceptionExpander: main.lua fix typo (#3747)
correcting a typo (as requested by @Frenzie) in line 18  name = "percepton_expander", =>     name = "perception_expander",
2018-03-13 10:48:44 +01:00
poire-z
c5b547f6b3 Fix some minor plugin errors on exit (#3739) 2018-03-11 15:05:30 +01:00
poire-z
db31bd4b96
coverbrowser: quicker extraction of EPUB metadata (#3736)
bump crengine:
Allow for quicker loading when interested in metadata only.
Allow for more than 65535 different attribute values.
Increase gamma values range.
2018-03-10 22:20:54 +01:00
poire-z
fdb8dfd295
Set default 'cre_storage_size_factor' also in coverbrowser (#3733) 2018-03-09 00:46:38 +01:00
poire-z
a8e71706b1 coverbrowser list view: show book status (#3708)
Replace reading percentage with 'Finished' or 'Abandoned'
when book status is no more 'Reading' (can be changed back
via Book Status widget).
2018-03-02 17:22:41 +01:00
poire-z
3c857e4016 coverbrowser: keep up to date with recent core changes (#3707)
Remove the subprocess management functions from xutil.lua, as they were
moved into base/ffi/util.lua, and use them from there.
Also use the cre_storage_size_factor setting when processing credocuments,
to avoid CRE WARNING while indexing too.
Fix dealing with MuPDF document opening failures (previously, these
were not noticed and indexing was retried each time).
2018-03-02 13:03:39 +01:00
mwoz123
83b88fcbcd send2ebook: Download all files from ftp server(Not only epub). Show failed download number (#3702) 2018-03-01 20:34:27 +01:00
Frans de Jonge
40ff967615
[fix, lang] Send2Ebook: remove stray space (#3694) 2018-02-23 09:18:28 +01:00
mwoz123
25a67a2e17 Send2Ebook (receiver) plugin (#3681) 2018-02-23 00:02:32 +01:00
Frans de Jonge
0c7bba225f [fix] KoboLight: typo (#3672) 2018-02-10 12:15:34 +01:00
Frans de Jonge
91bbfc4190 [i18n, fix] KoboLight plugin: fix up text issues (#3665) 2018-02-10 11:44:02 +01:00
David Engster
af694a3d89 kobolight.plugin: Support for setting natural light
Add new swipe zone on the right border to change 'warmth' value for
natural light.
2018-02-06 10:21:16 +01:00
mwoz123
c63d31f8d5 NewsDownloader: Message with details when invalid configuration. (#3658) 2018-02-03 20:35:07 +01:00
mwoz123
016c17e616 NewsDownloader: better exception handling and basic redirects (#3652) 2018-01-31 23:37:19 +01:00
mwoz123
d0f9b53eb3 NewsDownloader externalize download engine (#3618) 2018-01-31 12:39:04 +01:00
Frans de Jonge
7d7280a1dd
[fix] NewsDownloader: non-existent logger.error to logger.err (#3643) 2018-01-30 17:00:38 +01:00
poire-z
ba389c9a00
epub metadata: support multiple authors (#3624)
crengine may now give us multiple authors (if multiple <dc:creator>
in epub metadata) separated by \n.
Deal with that where needed.
Limit the number of authors displayed in coverbrowser views.

Bumped base/crengine: multiple <dc:creator> + fix mobi images order
Bumped base: util.runInSubProcess(): give child its own process group
2018-01-21 22:33:40 +01:00
mwoz123
1d0a5b4aa3 [feat] Add NetworkManager:beforeWifiAction() to enable optional auto-connect (#3482) 2018-01-17 18:16:11 +01:00
Frans de Jonge
21274f5e92
[feat] Add NetworkManager:isConnected() (#3593)
This enables connecting to calibre and FTP without Internet connectivity.
2018-01-17 15:32:54 +01:00
Hzj_jie
65f26cecbb Do not execute background runner if device is suspended (#3608) 2018-01-17 09:17:53 +01:00
Robert
cffe95b54a DoubleKeyValuePage: make PgUp and PgDown key go to prev/next page (#3601) 2018-01-13 18:20:10 +01:00
poire-z
7797c2369e
credocument: deal with loadDocument() failures (#3570)
cre:loadDocument() may fail in recognizing the document format, and
koreader would previously keep calling other methods on it, which would
make crengine segfaults. We now check loadDocument success at the
various places it is called, and try to deal the best way we can when it fails.
2018-01-03 09:43:49 +01:00
Ben Kelly
f9ac8b138b Basic fixes to calibre-sync (#3558)
* Properly create intermediate directories when receiving books from Calibre.

This fixes an issue where you can't receive books except into directories that
already exist on the Kobo, which, in particular, causes problems when your
configuration in Calibre is something like "put books in $Author/$Title.epub"
and you haven't previously synced any books by that author.

* Wake up periodically to process ZMQs if any are registered.

This fixes an issue where if there are any timed events (such as the suspend
timer) in the queue, ZMQ events may not get processed until the timed event
fires, which is a problem when (for example) the suspend timer goes off in
an hour and you have something trying to send a book to the kobo over wifi
*right now*.

With this change, the event loop will wake up every 50ms to check for ZMQ
events and process them if necessary. If there are no ZMQs registered (which
is typical), it uses the original behaviour -- so this won't affect battery
life under normal usage.
2018-01-01 15:40:28 +01:00
Robert
a692b5adfb KeyValuePage: option to align value to the right (#3550)
Applied in Reading statistics plugin
2017-12-17 22:08:13 +01:00
Robert
efa0d06df9 Add new options to screensaver (#3535)
* Prevent open screensaver more than one in the same time

* Add option to enable/disable background in message screensaver

* fallback to random images if this book cover is excluded feature + fix Disabled (leave screen/page as it is)

* Autostretch disable by default, more fallback options, leave screen as it is
2017-12-17 18:27:24 +01:00
Robert
a6de9ff7d4 [UX] Right align keyvaluepage in statistics (#3507) 2017-11-20 18:08:55 +01:00
mwoz123
6d1e185555 NewsDownloader: Number items in processing InfoMessage (#3467) 2017-11-05 22:04:40 +01:00
mwoz123
456e31a358 NewsDownloader: Compatibility for users with previous configuration files (#3445) 2017-10-29 22:23:08 +01:00
mwoz123
c2bed639e3 NewsDownloader: wifi off prompt after download (#3395) 2017-10-28 17:53:37 +02:00
mwoz123
424593ca7c NewsDownloader: Remove NewsDownloader files from history (#3424) 2017-10-27 23:00:49 +02:00
mwoz123
97a72e2dd4 NewsDownloader: use feed.description as news context instead download full web page (#3426)
Fixes #3425.
2017-10-26 22:44:03 +02:00
Robert
e1019baf46 separate strings for singular and plural (#3420) 2017-10-24 16:30:25 +00:00
mwoz123
23ab33c0b9 NewsDownloader promptWifiOn (#3388) 2017-10-22 07:11:23 +00:00
poire-z
c573bdd610 CoverBrowser: some optimizations
Speedup initialization (needs to be done only once, and avoid
saving current mode to sqlite each time) and reader-to-filebrowser
switch, by doing a single rendering (instead of 2 or 3 previously).
ListMenu: cache sidecar file parsing results (page/percent
completed) for the browsing session duration.
Fix "No choice available" when on last page and changing
to a display mode with less pages.
2017-10-21 19:09:24 +00:00
poire-z
c15915a4ee Added util.getFriendlySize() (#3381)
* Added util.getFriendlySize()

* Allow for GB
2017-10-20 15:48:32 +00:00
Robert
3c99600835 close button alignment (#3367) 2017-10-16 18:23:50 +02:00
Robert
9f50ef696f [Goodreads] lookup improvement (#3354)
* add navigation button (next, prev) on the bottom of screen
* flash item when selecting
* small lookup improvements
* fix refresh "Please wait..."
2017-10-14 17:55:26 +02:00
poire-z
561caadc5c Avoid recalculation of partial_md5_checksum at each opening (#3352)
This is done by/for kosync plugin at each opening, because
the docsettings was re-opened and saved for this, but later
overwritten by the current koreader docsettings - so it was
redone each time. This correctly adds this partial_md5_checksum
to the current koreader docsettings, which will be saved on
document closing - so it will not be redone next time.
Note: this partial_md5_checksum is not (yet) used by anything.
2017-10-13 19:18:36 +02:00
poire-z
efd0d4f0de calibre 'series' metadata fixes (#3349)
Decode XML entities in series metadata and display decimal in series number
if any.
2017-10-13 00:31:40 +02:00
Robert
31f8372c87 [fix] Statistics: onPosUpdate and save stats when closing document (#3332) 2017-10-10 08:49:13 +02:00
poire-z
66e521f34b Fix stats in cre scroll mode (#3331) 2017-10-09 20:22:34 +02:00
Robert
ddf700043d [ReadTimer] Time from now (#3311) 2017-10-07 16:19:40 +02:00
Robert
0b2b2bbc2b refresh footer (#3313) 2017-10-07 12:28:08 +02:00
poire-z
b483c54be8 Fix footer, stats, TOC position with cre in scroll mode (#3304)
This gives the page position to these modules even in scroll mode.
Also, in readerrolling: don't query battery/charging status
when crengine does not need it (used only when it shows its top
progress bar).
2017-10-05 21:49:59 +02:00
Robert
ceb7cf9771 Migrate Goodreads to https (#3298) 2017-10-04 18:31:54 +02:00
poire-z
b55265ba91 CoverBrowser: avoid crash when indexing some cre documents (#3293) 2017-10-03 00:31:36 +02:00
Frans de Jonge
23e2183931 [fix] KOSync plugin server location (#3288)
This is only step one. It remains to be determined why the connection is downgraded to sslv3, which will result in a handshake failure.
2017-10-02 09:51:34 +02:00
Robert
f45188fb9d Time reader with normal time format v2 (#3279) 2017-10-01 18:15:59 +02:00
poire-z
e350e0e35a CoverBrowser: use a cache for crengine books extraction (#3277)
We previously disabled cache, but that may cause excessive
memory usage with big books. We now use a temporary
cache directory, that we clean when no more needed.
2017-09-30 18:02:35 +02:00
poire-z
48d888bedb CoverBrowser: use MuPDF for down-scaling images (#3272) 2017-09-28 21:47:05 +02:00
Robert
8d765e7d0d Add back button to statistics (#3267)
Closes: #3236 and #3235
Details:

> Also, when looking in days, we see info how many hours we read. It would be great if we could tap a day, it opens info on book(s) we read that day with info pertaining to that day, and if we tap on book, we receive book info for that book.

>  Statistics plugin is really great, I started to look in my reading statistics now much more, but all the time I can go only in one way. And I need to exit at lowest level of info. It would be great if I can use statistics plugin like part of menu, to go up and down within statistics data and exit at my wish, not when I have to.

Also added:

 * new statistics book by week
 * new statistics book by month
 * last year by week now we can see days in selected week
2017-09-28 15:35:25 +02:00
Frans de Jonge
ff3ca5d98d [Android] Enable CoverBrowser (#3264)
I was reminded by @KenMaltby that this is disabled on Android.

https://www.mobileread.com/forums/showthread.php?p=3586162#post3586162
2017-09-28 15:03:04 +02:00
mwoz123
e7da93da89 Adapt ND to changes in code where 0 means no limit (#3258)
+ reorganize config, improved comments
2017-09-24 18:30:45 +02:00
Frans de Jonge
8f3a5353e5 [fix] statistics: typo (#3252) 2017-09-23 22:03:28 +02:00
Frans de Jonge
a6be301695 Added Size module 2017-09-23 20:24:45 +02:00
Frans de Jonge
9eb073a524 [travis] Add protection against unscaled sizes
As pointed out by @poire-z

* [fix, UX] SkimToWidget scaling

* [fix] Button scaling

* [fix, UX] Scale ProgressWidget

* [fix, UX] Scale confirmbox

* [fix, UX] Scale just about everything
2017-09-23 20:24:45 +02:00
Robert
f0b9a66359 Book information for all books (#3250) 2017-09-23 19:51:58 +02:00
poire-z
4d18ac1100 Some History fixes and enhancements (#3247)
Made the onHold buttons table similar to the one of File browser.
Added "Purge .sdr" and "Delete" to these buttons.
Moved the purgeSettings and removeFileFromHistoryIfWanted
logic into filemanagerutil functions.
Stay on the same page when manipulating history (previously, we were
always put back on first page).
Really keep deleted files in history (unless setting says otherwise).
Show deleted files in grey or dimmed in classic History and all
CoverBrowser display modes.
2017-09-22 18:24:38 +02:00
Robert
019513f785 Prevent crash Timer in Filemanager (#3237) 2017-09-18 19:53:06 +02:00
Robert
2c3936ddb4 Refactoring readerfooter statistics - TB and TC (#3223) 2017-09-16 13:36:54 +02:00
Robert
7c88bad189 [fix] Statistics settings reset to default when on save without change (#3188)
* Fix: #3186
2017-09-14 22:31:25 +02:00
Robert
e5eb015f1b Statistics in bookstatuswidget (#3218) 2017-09-14 22:29:09 +02:00
Robert
b617efa21f Disable Current book when statistics are disabled (#3210) 2017-09-12 18:35:23 +02:00
Robert
392209c200 Change message after import (#3197) 2017-09-10 13:12:19 +02:00
Robert
c948472b66 On monthly statistics we can see the daily stats (#3175) 2017-09-09 20:19:05 +02:00
Robert
807c4a256d Fix problem with import old .stat files (#3195) 2017-09-09 20:18:16 +02:00
Hzj_jie
12af617b46 Revert last change to autofrontlight.koplugin 2017-09-05 12:30:55 -07:00
Robert
a003b375c2 Fix: Remove primary key from page_stat (#3157)
* Fix: Remove primary key from page_stat

* Fix: Prevent crash on Reading progress when no data from last 7 days

* Add indexes
2017-09-01 22:05:57 +02:00
Hzj_jie
1ff46a67b4 SwitchPlugin and BackgroundTaskPlugin with tests (#3137) 2017-08-31 16:37:39 +02:00
Frans de Jonge
a8d65aad35 [fix] Statistics: translation (#3151)
* [fix] Statistics: translation
2017-08-30 21:53:13 -07:00
Robert
7cec63e77a database name change to statistics.sqlite3 (#3147)
Clearer filename.
2017-08-29 20:42:17 +02:00
Robert
0e2d20353a Statistics plugin v2 (SQLite) (#2893) 2017-08-29 17:34:49 +02:00
poire-z
2595dbb0ec Add some settings to Display mode/Other settings menu (#3129) 2017-08-25 17:01:18 +02:00