Commit Graph

41 Commits (04d9a557aabbb49cd70bcc7de1579d7e9b56c145)

Author SHA1 Message Date
poire-z 04d9a557aa Use fsync() for more robust setting files saving
Bump base for util.fsyncOpenedFile() and util.fsyncDirectory().

Use these to force flush to storage device when
saving luasetting, docsetting, and history.lua.
Also dont rotate them to .old until they are at least
60 seconds old.
Also make auto_save_paging_count count right.

Also bump crengine: open (as text) small or empty files
4 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
poire-z bb949afb7f
Fix crash and History with books in read-only directories (#4138)
docsettings can be stored either as a sidecar file (prefered, when
possible), or as a .lua file in the koreader/history/ folder (good,
when book is in a read-only directory where we can't create the
.sdr/ directory).
They are managed correctly if for some reason, the book directory
becomes writable: the docsettings in history/ is read, used, and
removed when a docsetting in a .sdr/ can be saved.
These docsettings in koreader/history/ contribute to the History
list build: they are put it in history.lua, and the duplicates
on followups history.lua builds are removed.

This fix a crash when a book is in a read-only directory.
Also fix History containing strange entries like "Book.epub.lua",
that came from the koreader/history/book.epub.lua.old backup,
that weren't removed as they are not a duplicate.
6 years ago
Hzj_jie 7461e396dd [chore] Ignore empty files and tables in DocSettings (#3348) 7 years ago
Zijie He 2ba079e3eb Reserve last good docsetting 7 years ago
Frans de Jonge 96d4adb34c Docs: DocSettings (#2763) 7 years ago
Hzj_jie 0b29e73e2e BatteryStat plugin and instruction of KoboLight plugin (#2643)
* Start battery stat plugin

* BatteryStat & kobolight

* Several minor improvements

* Remove a useless function

* flush settings

* Some review feedbacks

* Resolve review comments

* Remaining Minutes -> Remaining Hours

* Add dump_file

* typo

* realpath

* realpath on folder

* Remove useless os.time()

* Resolve review comments

* warning

* Add BatteryStat.debugging flag

* treat log as txt

* Minor improvement

* Charging hour should be positive

* Use warn instead of info

* onSuspend in Kobo

* Charging events for kobo and kindle

* More events

* dumpOrLog

* Warnings

* Typo

* More space

* Singleton

* slightly format change

* BatteryStat singleton

* Init

* Remove debugging flag

* sleeping percentage is still negative

* Read settings

* Do not need to change was_suspending and was_charging

* Typo

* Remove debugging flag

* Not charging should happen before suspend

* Resolve review comments

* was_suspend and was_charging should be updated each time in onCallback()
7 years ago
Qingping Hou 2aa9d5d64e test: add unit tests for docsettings 7 years ago
Zijie He 83d8606270 Crash on directory 7 years ago
Zijie He b502047635 Removing metadata file instead of purging .sdr folder 7 years ago
poire-z 8f6a38db69 Fix sidecar file name
Get back "metadata." part forgotten while refactoring.
7 years ago
Hzj_jie 529d1b3d33 evernote: ReadHistory integration and text file output (#2498) 7 years ago
poire-z 0aa19d72a0 FileManager: show files with sidecar dir in bold (#2391)
docsettings : added hasSidecarDir() and made getSidecarDir() more robust
widget/menu : allow items to specify themselves to be displayed in bold
8 years ago
Zijie He ced671bc69 Add readhistory_spec / docsettings_spec 8 years ago
Hzj_jie 7493fc89f6 Add removed item name in "Remove this item from history" and fix wrong items deleted issue. (#2164)
* Add removed item name in "Remove this item from history".

* Fix #2162, wrong history items deleted.
8 years ago
Qingping Hou 20eb36a03d feat: add network management UI for kobo 8 years ago
Hzj_jie cf8c0aa81f Add docsettings unittest 8 years ago
Hzj_jie 016aaa92b9 Merge remote-tracking branch 'upstream/master'
Conflicts:
	frontend/docsettings.lua
8 years ago
Hzj_jie 2085b774e2 Remove legacy document settings after flushing. 8 years ago
Qingping Hou 2e417cfbd8 filemanager(refactor): use purge method from docsettings 8 years ago
Zijie He 4f897acc67 Refine docsettings, does not write history folder if it's not necessary. 8 years ago
Zijie He 667e8834ad Migrate history folder, FileManagerHistory uses own history.lua file and ReadHistory component 8 years ago
Frans de Jonge 5638819f25 Removed a bunch of "successfully", replaced an ellipsis, and some deviant spellings of KOReader. 8 years ago
Zijie He ccd95b80fa Prefer sdr folder to history folder 8 years ago
Qingping Hou e5c1ff1ef6 test(bookmark): purge doc settings before test 8 years ago
Qingping Hou 11ee8d6fcc refactor: use new KeyValuePage widget for displaying statistics 8 years ago
Qingping Hou 9bd2d42834 build: enforce luacheck in travis build 8 years ago
Qingping Hou 722eaed4b2 feat: docsettings:getSidecarDir 8 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
chrox 34ea9ac574 add datastorage module to handle data directory on various platform
On kindle, kobo and pocketbook the data directory is the current
running directory but on Android the app is installed in system
defined location and users may have no access to that location.
The same circumstances should be true for the upcoming Koreader for
Ubuntu touch, so the data directory (in which tessdata, dictionaries,
global settings, persistant defaults and probably history data are
stored) could be stored in another place.
9 years ago
Hans-Werner Hilse 5b48c165b3 factor out dump() function, handle reference loops 10 years ago
chrox 6ee8f22d73 add clear api for DocSettings
to remove both history settings and sidecar settings
10 years ago
WS64 d47af7e368 minor code optimizing optimizing 10 years ago
WS64 f7c640e550 Code optimization 10 years ago
chrox b7c7287bab remove more global variables 10 years ago
chrox 3b25af4f4d protected call to open sidecar history file
This should fix #724.
10 years ago
chrox a3a4e7f7fb fix dofile of nil filename 10 years ago
chrox 2900432efb read/save document settings in document sidecar too 10 years ago
Qingping Hou 8162192a9d fix(setting): handle empty setting files properly
empty reader setting evalues to nil
10 years ago
chrox 92219a1f1e cleanup: expand tab to 4 spaces 10 years ago
HW ef111b99c6 Refactored to use strictly locals 11 years ago