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

61 Commits

Author SHA1 Message Date
poire-z
29707bd664 FileBrowser: change page to show last file or previous subdir (#3351)
When going from reader to filemanager, we are in the directory
containing the last_file. With this, we will also be on the page
showing this file.
When in filemanager and going up (".."), we will also be on the
page containing the directory we came from.
2017-10-13 18:43:02 +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
17014f9281 Avoid settings double save when leaving Reader (#3131) 2017-08-25 18:55:44 +02:00
Frans de Jonge
c8ab9183aa [UX] ReaderUI: save/don't save document instead of yes/no
Brings it in line with UX guidelines.
2017-08-21 09:19:24 +02:00
poire-z
031df2ffee Added PicDocument:getCoverPageImage() and :getProps()
So an image file can have a cover in coverbrowser's display.
It also allows for an alternative viewer (ImageViewer widget)
when holding on file / View full size cover.
2017-08-20 19:59:15 +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
poire-z
64f699ba36 Store book metadata and nb of pages in new settings
They may already be available (with other statistics stuff) under
the 'stats' key, but not if Statistics plugin is disabled. As this
plugin may be migrated to SQLite, readerui and readerfooter will now
set two new properties: doc_props (containing all and only the metadata
returned by document:getDocumentProps()) and doc_pages (updated
by readerfooter on any display or font change).

PDF document: returns additional PDF properties: Keywords
and Subject (as Description).
2017-07-14 16:46:38 +02:00
Frans de Jonge
28524a5847 ReaderUI: return to filemanager instead of quitting if no document (#2956)
This affects #2335, at least for documents covered by `validDjvuFile()` (see 76cef07c07/frontend/document/djvudocument.lua (L15-L23)). However, that's only with regard to `touch invalid.djvu` and should not affect whatever happened in the OP.
2017-06-17 11:44:29 +08: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
fd862f5e28 plugin(fix): catch plugin crash at init time 2017-04-22 00:22:37 -07:00
Qingping Hou
00cf81febc readercopt(fix): set view mode after reader is ready
Otherwise, self.xpointer might still be nil in
ReaderRolling:onChangeViewMode
2017-03-25 13:53:47 +01:00
Qingping Hou
a943b73303 fix: adjust pan rate for eink and non-eink screens 2017-03-24 15:42:41 +01:00
Qingping Hou
f95ad00b9e feat: add logger module & rewrite kobo suspend script in lua 2017-01-02 19:52:09 -08:00
Hzj_jie
c662ca4cc8 Load plugins also in FileManager (#2426)
added is_doc_only plugin attribute
2016-12-19 23:19:54 -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
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
Hzj_jie
d4c31d683f Add a setting to disable save document (#2138)
* Add a setting to disable save document
* Add UI elements to control save-document settings
2016-07-14 10:38:00 -07:00
chrox
03fda94562 fix #2110 by adding disable double tap option in screen options 2016-06-27 23:02:10 +08:00
Qingping Hou
f71534e399 readerfooter(fix): only populate footer info after document is loaded 2016-06-03 01:31:46 -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
2cf4e77ae5 readerui(chore): rename _running_instance 2016-05-02 22:42:19 -07:00
Qingping Hou
0166ff8add reader(fix): force draw info message before loading document
Since the doShowReader will run in nextTick, it will get picked up by
checkTask, which is in the beginning of next UI loop and blocks
UIManager from redrawing the screen for the info popup.
2016-04-23 21:17:38 -07:00
chrox
6e723237ba fix 'opening file' dialog not centered in landscape
by setting the timeout to 0.0 seconds so that when the screen
is turned to landscape the dialog is already closed.
2016-04-23 23:09:34 +08:00
Zijie He
667e8834ad Migrate history folder, FileManagerHistory uses own history.lua file and ReadHistory component 2016-04-20 22:44:44 -07:00
Qingping Hou
2f78493e9e minor: write reader error to stderr 2016-03-17 21:55:46 -07:00
Qingping Hou
34e0238b6f readermenu: move book status to info tab & minor cleanup 2016-03-06 22:45:41 -08:00
Qingping Hou
5e8c5243c4 uimanager: fix crash on crash.... 2016-03-05 12:37:45 -08:00
Qingping Hou
03e81cfa4d test: fix readerui instance reset test 2016-02-17 00:06:55 -08:00
Qingping Hou
b63ddb8736 fix: kill in fly hinting event on document close 2016-02-16 23:26:08 -08:00
Alex Pletnev
fbf98ed920 #1710 FR: Add support of statistics plugin for pdf 2016-02-12 16:55:02 +02:00
Alex Pletnev
0f9bfbf147 #1730 Create complete book feature 2016-02-08 18:16:55 +02:00
Qingping Hou
2f0544b1b7 refactor(statistics): avoid magic 0.1 schedule with PostRender event 2016-02-07 14:03:53 -08:00
Qingping Hou
e2096ed8d9 doc: add documentation build infrastructure 2016-02-04 10:24:53 -08:00
Andrey Golovizin
bb1d4c60b3 Choose hyphenation dict by document language 2016-01-21 17:01:01 +01:00
Qingping Hou
9c46cafc9c chore: fix luacheck warning 2016-01-03 00:56:55 -08:00
Qingping Hou
3b92bdc084 feat: support screenshot in filemanager 2016-01-03 00:47:44 -08:00
Qingping Hou
90d1101ab7 minor: quit uimanager properly on coroutine error 2015-12-25 20:35:58 -08:00
Qingping Hou
41240464ca minor: fail loudly with stack trace when doShowReader crashed 2015-12-23 00:01:43 -08:00
chrox
8b85cbf157 add support for password protected zip/cbz documents 2015-10-06 21:18:31 +08:00
chrox
d08e22ec2e add simple sync service as a plugin
The 'KOSync' plugin will synchronize furthest reading progress
across different koreader devices after users registering their
devices.

The synchronizing service is open-sourced as the project
[koreader/koreader-sync-server](https://github.com/koreader/koreader-sync-server).
2015-03-09 20:20:36 +08:00
Hans-Werner Hilse
94ce08937a clean up refreshes
This is a larger clean-up of the refresh situation.
The general shift is that refreshes are now mainly triggered by
the (top-level) widgets when they get shown or closed via UIManager.

All refreshes for the widgets when they are in use were handled by
themselves before. This adds the case of showing/closing.

It is the desired result of not having UIManager:show()/:close()
do (full screen) refreshes on its own.
2014-12-01 16:03:40 +00:00
Frans de Jonge
7c01a3f2a9 Fixed spaces stripped out by Transifex in readerui.lua by using util.template 2014-11-21 17:08:55 +01:00
chrox
d65e5cf813 dismiss 'Opening file' dialog once reader view is ready 2014-11-13 14:00:35 +08:00
chrox
bd0975896d add fulltext search for EPUB documents 2014-11-05 12:28:28 +08:00
Hans-Werner Hilse
3066c86e38 Refactoring hardware abstraction
This is a major overhaul of the hardware abstraction layer.
A few notes:

General platform distinction happens in
  frontend/device.lua
which will delegate everything else to
  frontend/device/<platform_name>/device.lua
which should extend
  frontend/device/generic/device.lua

Screen handling is implemented in
  frontend/device/screen.lua
which includes the *functionality* to support device specifics.
Actually setting up the device specific functionality, however,
is done in the device specific setup code in the relevant
device.lua file.

The same goes for input handling.
2014-11-02 21:19:04 +01:00
chrox
bdebe90412 keep only one readerui instance running 2014-10-28 18:09:22 +08:00
chrox
4897d70b1f add reader history in the info panel 2014-10-28 17:42:06 +08:00
chrox
e34ad5ffe5 refactoring module registration in readerui
now every module can be looked up in readerui so that
unit test of these modules is possible.
2014-10-09 17:41:27 +08:00
chrox
2bec0017a0 refactor out global functions showHomePage and showReaderUI 2014-09-05 21:07:42 +08:00