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

249 Commits

Author SHA1 Message Date
Frans de Jonge
a710d2c68a Fix readerfooter_spec (#3326)
My bad, leftover from #3323 but not caught due to some Travis → CircleCI migration birth pains.
2017-10-08 22:01:42 +02:00
Frans de Jonge
6e52e559ae [fix, Android] Don't steal frontlight control on start (#3319)
I believe this should be `if isKobo()`, or better yet that the entire
block should be moved to `KoboPowerD:init()` because afaik that is the
only platform where the system doesn't provide trustworthy frontlight
information. But to be absolutely sure that I don't break anything (and I
don't want to spend any time on this atm) I'm temporarily excluding only
Android where this behavior is known to be problematic.

See discussion in https://github.com/koreader/koreader/issues/3118#issuecomment-334995879

References #3118 (using keyword "references" because phrases like "possibly fixes"
result in GH autoclose).
2017-10-08 16:40:24 +02:00
Frans de Jonge
d23d01643e Add LuaData and Dictionary Lookup History (#3161)
* Add dictionary history

Fixes #2033, fixes #2998.

* Add LuaData

* table handling in base settings

* Add LuaData spec
2017-10-07 22:13:46 +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
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
poire-z
2c1e7f2a4f Bump base for crengine bump (#3249)
crengine crashes, rendering and selection delay fix by @frankyifei
2017-09-23 00:10:47 +02:00
Frans de Jonge
cfaa119c35 [fix, UX] Allow modal widget on top of modal widget (#3170)
Fixes #2653.
2017-09-05 00:01:46 -07:00
Frans de Jonge
829e2fffd8 [fix] MenuSorter: take care of orphaned submenus
See https://github.com/koreader/koreader/pull/3167#issuecomment-326805768
2017-09-04 22:55:14 -07:00
Hzj_jie
1ff46a67b4 SwitchPlugin and BackgroundTaskPlugin with tests (#3137) 2017-08-31 16:37:39 +02:00
Frans de Jonge
4513718a2a [fix] MenuSorter: ignore separator as first item
See https://github.com/koreader/koreader/pull/3107#issuecomment-323581851
2017-08-20 21:12:17 +02:00
Frans de Jonge
7277059176 add unit test 2017-08-17 11:18:28 +02:00
Zijie He
2ba079e3eb Reserve last good docsetting 2017-08-17 08:50:15 +02:00
Frans de Jonge
1fd8989906 [ci] readerlink_spec.lua: #nocov on failing tests 2017-08-16 17:44:16 +02:00
Frans de Jonge
7b12954cad [ci] #nocov on BatteryState
All tests fail while trying to do coverage.
2017-08-16 17:15:12 +02:00
Frans de Jonge
e3c17aa6d0 Travis: run luacheck on unit tests (#3059)
* Travis: run luacheck on unit tests
2017-08-08 13:35:40 -07:00
Robert
1bfad22af0 Fix: Footer hides text (#3056)
This patch should resolve issue #2257 (Footer hides text)
Sometimes, depending on an epub style, some text is hidden by the progress bar (the mini one at the bottom).
2017-08-08 19:06:11 +02:00
Hzj_jie
a8513c95b6 Several minor fixes (#3057)
1. Android.getScreenBrightness() is used in frontend/device/android/powerd.lua to retrieve the frontlight intensity.
2. kosync.koplugin won't save settings for whisper sync.
3. batterstat.koplugin won't work correctly if several on* events are fired.
2017-08-08 08:29:57 +02:00
Hzj_jie
c9a997f42c BackgroundRunner (#3008)
* Use getCapacityHW() to ensure latest battery capacity can be retrieved

* BackgroundRunner

* Start background_runner_spec.lua

* AutofrontLight plugin now uses BackgroundRunner plugin
2017-07-28 16:48:19 +02:00
Hzj_jie
d6845d94b1 ReadHistory: support reload (#3003)
Allows ReadHistory to reload according to the modification timestamp of history.lua.
2017-07-19 14:56:17 +02:00
poire-z
17656778b1 Book information: refactored and additional features
- Factored out duplicate code from filemanager.lua and filemanagerhistory.lua
to new filemanagerbookinfo.lua (and other common code to filemanagerutil.lua).
- Uses sidecar files' new doc_props and doc_pages settings, or fallback to
old 'stats' settings, or to opening document.
- Shows filename, filetype and directory.
- Shows description (Hold to see whole truncated text), keywords, and
cover image (tap to extract image from document and display it if available).
- Book information now available from reader menu, to display info about
the currently opened book.
- Convert possibly HTML description to plain text via added
util.htmlToPlainTextIfHtml() (for simple HTML conversion).
2017-07-14 16:46:38 +02:00
Frans de Jonge
9b557ed15a Bump base: crengine update (#2985)
* crengine: return description and keywords metadata
  Only available for EPUB documents for now. @poire-z
* crengine: css related improvements, fix crash, better handling of gif @frankyifei
2017-06-28 08:39:24 +02:00
Hzj_jie
970f2e7306 Several improvements of AutoFrontlight plugin and enable it by default (#2975)
* Force refresh when kindle is out of screensaver or usb is unpluged.

* Improve AutoFrontlight

* More plugins sub menu

* Last brightness should always be updated

* Finish autofrontlight improvement and enable it by default.

* More tets

* onFlushSettings

* MenuSorter can now correctly sort sub menus
2017-06-24 09:55:31 +02:00
Hzj_jie
7d2ed4c3d0 Move kobo auto-suspension logic out of UIManager (#2933) 2017-06-23 10:04:11 -07:00
Hzj_jie
53eb4dee50 AutoFrontlight plugin (#2941)
* Add AutoFrontlight plugin

* Add configuration to control autofrontlight feature
2017-06-14 19:32:16 +02:00
Frans de Jonge
ed0ba6737e test: add optmath spec stub (#2950)
* test: add optmath spec stub
2017-06-13 09:40:56 -07:00
Frans de Jonge
2096a27b65 test: add translator spec (#2953) 2017-06-13 00:11:43 -07:00
Hzj_jie
30378eb2a8 Add restart koreader function and ensure FlushSettings event can be delivered to all widgets (#2772) 2017-05-16 02:11:11 -07:00
Qingping Hou
55ec64a859 readermenu(fix): override pan gesture from scrolling 2017-04-24 15:19:38 +02:00
Qingping Hou
72ae80870c quickstart fix (#2804)
* translation text fix

* quickstart(fix): go back to home dir after document close

* quickstart(fix): purge old quick start files

* spec: fix quickstart tests
2017-04-24 08:27:29 +02:00
Frans de Jonge
a192178bf6 Version spec: slight improvements 2017-04-22 02:15:56 -07:00
Frans de Jonge
21622b5da8 Spec: Wikipedia stub 2017-04-15 15:59:03 -07:00
Frans de Jonge
89099e2c94 Swipe for menu and quickstart guide (#2761)
* Swipe for menu and quickstart guide

Because swiping for the menu is a big change from what we're used to, this commit includes a new quickstart guide.

Fixes #2608.

* add some dev docs
* add FileConverter spec
* add QuickStart spec
* add Version module
* add Version spec
2017-04-15 14:45:56 +02:00
Hzj_jie
999898fa69 Merge various information into systemstat (#2764)
* Merge various information to systemstat
2017-04-14 21:12:28 +02:00
Frans de Jonge
92b9139294 ReaderFooter (lang): "Show toc markers" to "Show chapter markers"
I think it sounds more natural as chapter than as table of content, which is an implementation detail (i.e., the chapter markers are shown based on what's in the TOC).

Also removed redundant "this" from "Remaining pages in this chapter"
2017-04-08 01:39:25 -07:00
Frans de Jonge
3982170886 MenuSorter: fix findById 2017-04-04 08:04:14 -07:00
Frans de Jonge
e9df73f6dc Developer documentation improvements
* Fixed up all of util and added when absent
* Updated widget examples to new coding style
2017-04-04 08:01:15 -07:00
Robert
a3c4254809 Added util.fixUtf8 (#2704)
* Remove invalid UTF-8 chars from OPDS
* add unit tests
2017-04-02 16:17:49 +02:00
Hzj_jie
ea2de9638b LuaSettings:wrap() / LuaSettings:child() function to create an LuaSettings to represent a sub table of an existing one (#2685) 2017-03-28 15:10:36 -07:00
Frans de Jonge
8b7e18a7d7 MenuSorter: resolve review comments
* simplify user config loop
* simplify unit test for Travis memory use
* remove unused util variable
2017-03-26 11:12:44 +02:00
Frans de Jonge
ddf590eb6d MenuSorter: split out menu order configuration 2017-03-26 11:12:44 +02:00
Frans de Jonge
33c848f813 MenuSorter: first unit tests 2017-03-26 11:12:44 +02:00
Frans de Jonge
653ff64438 MenuSorter: handle disabled 2017-03-26 11:12:44 +02:00
Frans de Jonge
8f31a81601 MenuSorter: some documentation
MenuSorter: forgot to add plugin style change

MenuSorter: worked out the final quirks

* Menu always compressed into tables without missing indexes for ipairs compatibility
* Orphans attached
* Separators no longer count as items
2017-03-26 11:12:44 +02:00
Frans de Jonge
56659ddb20 MenuSorter: avoid recursion in findById 2017-03-26 11:12:44 +02:00
Frans de Jonge
b7b5950e98 MenuSorter: review comments and various bug fixes
* fixed wrongful retention of submenus variable and added return to MenuSorter:findById
* fixed readerfooter_spec.lua error
* fixed review comments
2017-03-26 11:12:44 +02:00
Qingping Hou
2aa9d5d64e test: add unit tests for docsettings 2017-03-06 07:47:20 +01:00
Qingping Hou
9b7aba3fba fix: override readerhighlight hold in readerfooter
Also fix touch zone dependency graph generation code.

ReaderHighlight has now been migrated to use touch zone

Inputcontainer's touch event handling logic changed to only stop
propagation when handler returns `true`. Previously, it stops
propagation when a handler is found. This is needed to support
both readerhighlight_tap and tap_forward touch zones.
2017-01-30 05:53:44 -08:00
Qingping Hou
0b9c9d6ddb test(chore): remove side effects 2017-01-30 05:53:44 -08:00
Hzj_jie
529d1b3d33 evernote: ReadHistory integration and text file output (#2498) 2017-01-21 01:32:42 -08:00
Qingping Hou
581039aed5 opds(fix): unescape name and value 2016-12-29 00:02:22 -08:00
poire-z
a8dd8c6f30 textboxwidget: even better text wrapping
util.isSplitable() accepts now also the previous char to help
decide if a space can be used to split a line.
TextBoxWidget:_splitCharWidthList() : simplified logic
2016-12-14 11:39:46 -08:00
poire-z
5040bfe4c5 textboxwidget and scrolltextwidget enhancements (#2393)
util: made isSplitable() accept an optional next_char
for wiser decision

textboxwidget: speed up rendering, enhanced text wrapping,
allow selection of multiple words with Hold.

scrolltextwidget: allow scrolling with Tap.

Details in #2393
2016-12-11 14:32:02 -08:00
Qingping Hou
a6c506dc10 kobolight(refactor): move into plugin & only enable for kobo 2016-12-10 16:06:51 -08:00
Qingping Hou
0c49b915de refactor: add touch zone subsystem to inputcontainer
Touch zone decouples screen size from gesture event registration.

The win here is each individual widget does not need to update
gesture range on screen rotate/resize anymore.

Another advantage is we now have a centralized ordered array to handle
all registered touch event listeners, makes it much easier to resolve
gesture range conflicts between multiple widgets.

This patch also includes the following changes:

* migrate readerpaging to use readerui's touch zone
* migrate readerfooter to use readerui's touch zone
* move inverse read direction setting to touch menu's setting tab
* moved kobolight widget from readerview into readerui
* various dead code cleanups and comments
2016-12-10 16:06:51 -08:00
Hzj_jie
9efc723388 PR #2356 breaks CJK character splitting 2016-11-25 16:46:56 -08:00
Qingping Hou
cd24eb82d7 readerpaging(fix): handle edge cases where paging pan will crash the reader 2016-11-24 00:41:29 -08:00
robert00s
fc5ba9b862 Fix hyphenation words with unicode character in texboxwidget (#2356) 2016-11-19 12:26:53 -08:00
Qingping Hou
efae2ed16f network(fix): automaticallly obtain IP if network is already authenticated 2016-11-06 23:56:29 -08:00
Qingping Hou
558754e9b5 footer(refactor): various bug fixes and optimizations 2016-11-05 00:06:26 -07:00
Qingping Hou
abbb72b6d3 readerrolling(fix): do not emit PageUpdate event until document is ready 2016-10-08 15:53:58 -07:00
Hzj_jie
f1637ef19b Merge pull request #2268 from Hzj-jie/master
This is the implementation of whisper sync
2016-10-07 14:47:58 -07:00
Hzj_jie
fd7ae875c0 Whisper sync feature
Now KOReader supports more sync options, and most of the sync operation can be
executed automatically.
2016-10-07 11:23:27 -07:00
Qingping Hou
ebc7055b43 chore: move kobo specific code into kobo/device.lua 2016-09-19 01:10:53 -07:00
Qingping Hou
31470efa3b Merge pull request #2250 from Hzj-jie/master2
Add readhistory_spec / docsettings_spec
2016-09-13 00:35:28 -07:00
Zijie He
ced671bc69 Add readhistory_spec / docsettings_spec 2016-09-12 20:04:13 -07:00
Zijie He
125fb6dfc6 unload network manager package to ensure it is initialized correctly. 2016-09-12 14:52:22 -07:00
Zijie He
9b66bf1149 Restore WIFI state when koreader starts. 2016-09-12 11:53:42 -07:00
Hzj_jie
da2c57f93a Automatically connect WIFI after Kobo has been resumed (#2215)
* Add bash scripts to control WIFI / IP, so we can share them with frontend/device/kobo/device.lua.

* add test cases
2016-09-01 00:05:40 -07:00
chrox
001433e6bc various test/coverage optimization 2016-08-15 00:32:40 +08:00
chrox
7fd6037bb0 fix #2219
The ABS_PRESSURE ABS code is also detected on some KOBO devices
if ABS_PRESSURE events are feeded to handle orientation those devices
will have a unresponsive screen as described in #2219.

This patch registers an event adjustment handler for Kindle Oasis to
adjust the ABS_PRESSURE code to ABS_OASIS_ORIENTATION code so that
it won't affect event handling on other devices.
2016-08-13 18:57:15 +08:00
chrox
9ab005a1d3 fix unit test of readerlink and readerpaging
and have more confidence with the unit testing framework.

Now `make testfront` won't retry on failure and testing files are
ordered in each run so that it's possible to reproduce testing failure.

And this patch also fix flush settings not working before suspend issue:
at some point the `FlushSettings` event is sent to `UIManager` instead
of `ReaderUI`, but `UIManager` only delegated events to active widgets
and `ReaderUI` is actually not an active widgets thus will miss the event.

This patch also add a verbose debug mode with "-v" as a switch to turn
on this mode. With verbose mode on, event handling will be logged.
2016-08-12 17:05:07 +08:00
Qingping Hou
61b6896391 Merge pull request #2217 from chrox/benchmark_tool
fix k2pdfopt performance degradation
2016-08-11 13:37:39 -04:00
chrox
9afad43a3e refactoring utils to tools as discussed in #2197 2016-08-11 19:29:09 +08:00
chrox
7ea12c0198 fix broken unit tests on Travis CI
1. It turns out that `device_id` is not defined in unit test environment
which makes the `assert(self.kosync_device_id)` fail and somehow makes `luajit` segmentation fault.
2. In the device spec, stubbing `io.open` will make subsquent `require`
all return boolean value and segmentation fault `luajit`.

This patch is a minimum viable change that makes CI work on both my
local box and Travis.
2016-08-11 18:17:09 +08:00
Zijie He
820a39c8f7 Update KOSyncClient 2016-08-10 10:42:51 -07:00
Qingping Hou
1c5543358c readerfooter(fix): avoid setting mini footer to invisible when full progress bar is on
Our previous assumption is user will only choose between full or min
bar. The does not hold anymore as many more info has been added to the
mini bar and sometimes user might want to have both of them on. This
patch makes the reader behavior consistent when both bars are set to be
on for a document.
2016-07-23 18:00:37 -07:00
Qingping Hou
f30e487959 readerpaging(fix): set the corrent page number on GoBackLink event 2016-07-18 01:33:35 -07:00
Qingping Hou
3339ed4e5f test(fix): update tests for default scroll mode 2016-07-17 23:33:03 -07:00
Qingping Hou
0d9fc17d7c chore: rename SetDefaults:SaveSettings 2016-07-16 22:47:19 -07:00
Qingping Hou
20eb36a03d feat: add network management UI for kobo 2016-07-11 23:50:19 -07:00
chrox
71bf9efc7c split accient greek words with spacing character
This should fix #1705.
2016-06-28 23:50:25 +08:00
Qingping Hou
fadad90447 uimanager(fix): handle stack change in close 2016-06-21 01:53:42 -07:00
Qingping Hou
af2f3c30c7 uimanager(fix): handle last widget in broadcast event properly 2016-06-18 22:32:08 -07:00
chrox
f5ea29c8d3 fix unit test of defaults since we deleted one global default
I'm afraid this unit test is not maintainable, each time we
change the structure of the defaults.lua we must change this spec
accordingly. We probably will get rid of defaults.lua as well as the
filemanagersetdefaults and this spec.
2016-06-15 02:52:58 +08:00
Qingping Hou
ce7ae2dfac uimanager(fix): handle edge case where second widget in stack is ignored 2016-06-11 12:17:18 -07:00
Hzj_jie
cf8c0aa81f Add docsettings unittest 2016-06-06 10:05:16 -07:00
Hzj_jie
016aaa92b9 Merge remote-tracking branch 'upstream/master'
Conflicts:
	frontend/docsettings.lua
2016-06-06 08:56:07 -07:00
Qingping Hou
301925e34a textboxwidget(fix): handle onHoldWord event 2016-06-05 00:37:54 -07:00
Qingping Hou
adf5ffdd26 dictquicklookup(fix): use self.region for matching hold event 2016-06-05 00:08:23 -07:00
Qingping Hou
2e417cfbd8 filemanager(refactor): use purge method from docsettings 2016-06-03 22:06:02 -07:00
Qingping Hou
8268d8d32c test(fix): clean up after screenshot test 2016-06-01 21:32:35 -07:00
chrox
449089881c accommodation of EPUB spec for new crengine 2016-06-01 21:35:14 +08:00
Huang Xin
f718b0669f Merge pull request #2045 from koreader/defaults
defaults(refactor): remove global hack in filemanagersetdefaults
2016-06-01 08:31:36 -05:00
Qingping Hou
a92a88e063 uimanager(fix): check active widgets in the correct order 2016-05-29 22:03:04 -07:00
Qingping Hou
9586b36eb6 defaults(fix): purge entry from persistent file 2016-05-26 00:44:42 -07:00
Qingping Hou
60587e08c6 defaults(refactor): remove global hack in filemanagersetdefaults
also added screensaver folder setting dialog for kobo
2016-05-25 22:07:20 -07:00
Qingping Hou
82a3e0f9ad automatically adjust ev time for kobo touch 2016-05-23 23:21:14 -07:00
Qingping Hou
068cefe8fc test: flush book settings before suspend 2016-05-02 22:42:19 -07:00
Qingping Hou
f01b261188 test: add kindle init and fl tests 2016-04-30 22:41:44 -07:00