Commit Graph

136 Commits (23cd7e24bb0d1ed63592411abec9749d222eb589)

Author SHA1 Message Date
poire-z c2a5d3f3f3
FileManager: tell plugins to save settings on close (#5872)
So that Statistics settings modified while in FileManager
are saved.
Also allows resetting statistics when in FileManager
(where there is no current book id to exclude).
4 years ago
poire-z 95d18fe8d9
Statistics: revamp settings, add calendar settings (#5867)
Also adds options to remove statistics for books
with low reading duration (to clean up stats for
books just quickly browsed and not yet read).
Also adds TextWidget:getFontSizeToFitHeight()
even if we ended up not using it.
4 years ago
poire-z 3ca46577bf
Statistics: new Calendar view (#5854)
Also fix RTL UI mirroring in OverlapGroup when
overlap_offset are used.
4 years ago
poire-z 0599c440cc [RTL UI] Bidi-wrap filenames, paths, urls, metadata
bidi.lua:
- Revert "Alias everything to Bidi.nowrap() when in LTR UI,
  as using LTR isolates seems uneeded when already LTR" (part
  of a628714f) which was a wrong assumption: we need proper
  wrappers for all things paths. Enhance some of these wrappers.
- Fix GetText RTL wrapping which was losing empty lines and
  trailing \n.

- Wrap all paths, directories, filenames in the code with
  these wrappers.
- Wrap all book metadata (title, authors...) with BD.auto(),
  as it helps fixing some edge cases (like open/close quotation
  marks which are not considered as bracket types by FriBiDi).
  (Needed some minor logic changes in CoverBrowser.)

- Tweak hyphenation menu text
- Update forgotten SortWidget for UI mirroring
- KoptConfig: update "justification" index for RTL re-ordering,
  following the recent addition of the page_gap_height option.
4 years ago
Robert dec0e73a7b [statistic plugin] Don't generate md5 sum on open document (#5528)
There is no need to generate a md5 sum for documents that were already opened.
5 years ago
Robert deebbfe606 [plugin/statistics] Synchronize Current book with footer (#5344)
Better synchronize statistics Current Book with footer.

Also some stylistic improvements in the strings.
5 years ago
Frans de Jonge 102180b202 [i18n, plugins] Statistics: fix estimated days to read plural 5 years ago
Frans de Jonge 45a0f285f1
[fix, i18n] Make two strings translatable (#5256)
Fixes <https://github.com/koreader/koreader/issues/5255>.
5 years ago
Frans de Jonge a2dcfe9aec
[doc] Tag @todo, @fixme and @warning (#5244)
This commit standardizes the various todos around the code a bit in a manner recognized by LDoc.

Besides drawing more attention by being displayed in the developer docs, they're also extractable with LDoc on the command line:

```sh
ldoc --tags todo,fixme *.lua
```

However, whether that particular usage offers any advantage over other search tools is questionable at best.

* and some random beautification
5 years ago
Frans de Jonge da988c15de
[CI] Switch to custom xgettext build to extract multiline strings (#5242)
Because let's face it, it just looks much better this way.

Docker image update in https://github.com/koreader/virdevenv/pull/43

Discussion in https://github.com/koreader/koreader/pull/5238#issuecomment-523675211 and https://github.com/koreader/koreader/pull/4524
5 years ago
Frans de Jonge e2ceace302
[fix, CI] Push to Transifex from master, fix multiline strings for xgettext (#5238)
Related to https://github.com/koreader/koreader/pull/5237
5 years ago
Robert 825a3c4b52 Add gesture - show current book statistics (#5167) 5 years ago
NiLuJe e2961097e7
Don't use WAL on devices where it's not supported (#5162)
(i.e., truly ancient kernels and weird FS).

In which case, we use TRUNCATE, which might be a tad less terrible than
DELETE on said weird crap FS.
5 years ago
Robert 93b6335421 [statistics] Remove conversion message on new installations (#5120) 5 years ago
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
5 years ago
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.)
5 years ago
Robert dc5a479b66 Gesture manager (initial) (#4240)
Manager supports separate gestures for the file manager and the reader. Gestures from the manager have a higher priority than built-in gestures.

Settings available in Gear -> Device -> Gesture manager
6 years ago
Robert 3d128b543b [Statistics] Add estimated reading finished date (#4241) 6 years ago
poire-z 850be52177
Keep some menus open when Tap or Hold (#4189)
TouchMenu: added options to menu items with the following defaults:
    keep_menu_open = false
    hold_keep_menu_open = true
So, default for Tap callback is to close menu, and for Hold callback
to keep menu open.
In both cases, provide the TouchMenu instance as the 1st argument to
the callback functions (instead of a refresh_menu_func I added in #3941)
so the callback can do more things, like closing, refreshing,
changing menu items text and re-ordering...

ReaderZooming: show symbol for default (like it was done for
ReaderFont, ReaderHyphenation...)
TextEditor plugin: update the previously opened files list in real
time, so the menu can be kept open and used as the TextEditor main
interface.
SSH plugin: keep menu open and update the Start/Stop state in real time
ReadTimer plugin: tried to do what feels right (but I don't use it)

Also remove forgotten cp in the move/paste file code
6 years ago
Robert 5344e0b672 [Fix] Don't load disabled plugins (#4169) 6 years ago
Robert 4428ecb422 Plugin manager (#4159)
Also adds descriptions to all plugins.
6 years ago
poire-z 9971eb8533 Fix untranslatable strings (#4132)
Some problem somewhere with [[...]] strings starting with a
leading newline. Should probably be allowed, but for now
fix the few such cases to allow them being translated.
6 years ago
NiLuJe 0924b57877
Tweak/unbreak my CPUFreq experiment (#4119)
* Only switch to ondemand when we actually can, and when it's better than the current governor...
  This potentially leaves Mk.5 in the lurch, but there's no perfect solution there :/.

* Switch to UI for the unmark event of navigation hints markers
Might help on non-REAGL devices, and doesn't hurt there (re #3983).

* Switch SQLite DBs to WAL
Sounds nice in theory, behaves fine in practice.
6 years ago
onde2rock dad7f209fa [CI] Add a check to detect tab in lua files (#3919) 6 years ago
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
6 years ago
Robert a692b5adfb KeyValuePage: option to align value to the right (#3550)
Applied in Reading statistics plugin
7 years ago
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
7 years ago
Robert a6de9ff7d4 [UX] Right align keyvaluepage in statistics (#3507) 7 years ago
Robert 31f8372c87 [fix] Statistics: onPosUpdate and save stats when closing document (#3332) 7 years ago
poire-z 66e521f34b Fix stats in cre scroll mode (#3331) 7 years ago
Robert 0b2b2bbc2b refresh footer (#3313) 7 years ago
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).
7 years ago
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
7 years ago
Frans de Jonge 8f3a5353e5 [fix] statistics: typo (#3252) 7 years ago
Robert f0b9a66359 Book information for all books (#3250) 7 years ago
Robert 2c3936ddb4 Refactoring readerfooter statistics - TB and TC (#3223) 7 years ago
Robert 7c88bad189 [fix] Statistics settings reset to default when on save without change (#3188)
* Fix: #3186
7 years ago
Robert e5eb015f1b Statistics in bookstatuswidget (#3218) 7 years ago
Robert b617efa21f Disable Current book when statistics are disabled (#3210) 7 years ago
Robert 392209c200 Change message after import (#3197) 7 years ago
Robert c948472b66 On monthly statistics we can see the daily stats (#3175) 7 years ago
Robert 807c4a256d Fix problem with import old .stat files (#3195) 7 years ago
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
7 years ago
Frans de Jonge a8d65aad35 [fix] Statistics: translation (#3151)
* [fix] Statistics: translation
7 years ago
Robert 7cec63e77a database name change to statistics.sqlite3 (#3147)
Clearer filename.
7 years ago
Robert 0e2d20353a Statistics plugin v2 (SQLite) (#2893) 7 years ago
Frans de Jonge 338fcd76ae Lang: two tiny strings
* ReaderHighlight: underscore to underline. Although underscore means to
emphasize by underlining, the emphasis lies on the, ahem, emphasis. Besides
which, it's mostly AmE and less well understood worldwide (although in this
particular context it should probably cause no trouble).

* Statistics plugin: menu item text to "reading statistics" to make it clear
which statistics we're talking about. Fixes #2744.
7 years ago
Frans de Jonge a970a1f034 MenuSorter: fix outside testability (for potential unit tests) 7 years ago
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
7 years ago
Frans de Jonge 5b20106db7 MenuSorter: initial implementation
* Menus are now sanely configurable
* Custom separator placement for clearer menus
7 years ago
Robert 0cab4ca35e Day of week and months can now be translated (#2546)
* Day of week and months can now be translated
7 years ago
robert00s 042eb660e8 Can't display the doc name in Statistics page 7 years ago
Nick Savage d33fee3a40 Statistics: Add percentage completed to Statistics plugin
Makes percentage completed easily accessible through the statistics plugin. It has always been accessible through the status bar, but not through the statistics menu.
7 years ago
Hzj_jie dbdce45129 Update statistics plugin to support docless mode 7 years ago
Qingping Hou ead5dfd9b4 readerview(feat): add registerViewModule method 8 years ago
Hzj_jie c662ca4cc8 Load plugins also in FileManager (#2426)
added is_doc_only plugin attribute
8 years ago
Qingping Hou 854043e18d chore: fix all luacheck errors for plugins 8 years ago
robert00s 872ac457da Create reading progress page (#2312)
Create reading progress page
8 years ago
Qingping Hou 93873bfd69 plugins(chore): fix static check errors 8 years ago
robert00s 378ba2c7fe Extend current book statistics and fix bugs 8 years ago
robert00s 42b705f47d Extend and fix statistics (#2300)
* Extend and fix statistics
* Add reading statistics: https://github.com/koreader/koreader/issues/2299
* Statistics / All Books shows only currently opened book : https://github.com/koreader/koreader/issues/2170
* Fix incorrect time: https://github.com/koreader/koreader/issues/2298
8 years ago
chrox 1d887f4fe1 book reading statistics for djvu documents 8 years ago
Qingping Hou c22a3747d8 fix all the tests 8 years ago
Frans de Jonge b92e2264a1 Fix statistics translation 8 years ago
Qingping Hou 7a22282dbe statistics: show current value in setting 8 years ago
Alex Pletnev 853e8581d0 fix error in case when process old statistics files 8 years ago
Qingping Hou bc8144ddfa statistics: ignore books with 0 total_time 8 years ago
Qingping Hou 11ee8d6fcc refactor: use new KeyValuePage widget for displaying statistics 8 years ago
Alex Pletnev fbf98ed920 #1710 FR: Add support of statistics plugin for pdf 8 years ago
Alex Pletnev a6ebbe9adb #1807 FR: Add separator into menu 8 years ago
Qingping Hou 2f0544b1b7 refactor(statistics): avoid magic 0.1 schedule with PostRender event 8 years ago
chrox 2ea217296b comments on the delayed stats initialization 8 years ago
chrox 6d3634b58d fix occationally stats being wiped out 8 years ago
Qingping Hou e19f73bdba style(util): rename tablelength to tableSize 8 years ago
Alex Pletnev 6bf9d75807 #1750 TB feature/statistics issue
Change time to read book formula to: ((total_read_time / read_pages) * (all_pages - current_page))
9 years ago
Alex Pletnev ce4e32e01c #1723 Add time to read into the status bar
Add new statuses:
TB - book time to read
TC - chapter time to read

Fix backward compatible in statistics plugin
9 years ago
Alex Pletnev daebb00f50 #1718 Save the statistics data into the history file 9 years ago
Alex Pletnev 698374c948 #1707 FR: Time to Read. Add "Time to read" into "current" section for statistics plugin 9 years ago
chrox 9d041fd5a3 fix FlushSettings event consumed by statistics plugin
so that ReaderUI cannot receive that event and all devices
don't flush settings when going into suspend or background.
9 years ago
chrox a60544b1ad Koreader Ubuntu-touch port
Currently only tested on Ubuntu-touch emulator with framework
ubuntu-sdk-14.10 for armhf.
The ubuntu-touch port is binary compatible with the Kobo port
major changes in this PR are:
1. rename the emulator device to sdl device since both the emulator
and the ubuntu-touch target use libsdl to handle input/output.
2. ubuntu-touch app has no write access to the installation dir so
all write-outs should be in a seperate dir definded in `datastorage`.
9 years ago
Alexander Pletnev 57d6d64ad3 Add Statistic plugin (#1581 Amount of hours spent on a book)
check for NaN in case when nothing read yet
9 years ago
Alexander Pletnev 24a4830bcc #1658 fix "All time" in statistics 9 years ago
chrox 9fd4ee8eac fix statistics translation 9 years ago
Alexander Pletnev 85f284440c Add Statistic plugin (#1581 Amount of hours spent on a book) 9 years ago
Alexander Pletnev c797bb53a4 Add Statistic plugin (#1581 Amount of hours spent on a book)
Add template
9 years ago
Alexander Pletnev c45328f14e Add Statistic plugin (#1581 Amount of hours spent on a book)
Changes based on comments
9 years ago