Commit Graph

1997 Commits (5ec736ae963639deac00c1273d4ec2349f1868d7)

Author SHA1 Message Date
hius07 eb299c300d
FileChooser: Sort by date (#10627) 1 year ago
NiLuJe 08dd97384c
KOSync: Clarify settings, plus refactor & fixes to make "auto-sync" more reliable (#10605)
Fix: #10539, and for context #6489, #6733, #6534

Reorganize and reword most of the settings to make it clear what actually ties into auto sync, and what doesn't. (Specifically, what happens when a pull attempts to sync forward or backward has nothing to do with auto sync, it applies in all cases; while the periodic sync *does* require auto sync).

The main point of contention, though, is that auto sync will now *always* attempt to setup network connectivity (i.e., on resume/suspend/close). Periodic sync will *not* though (the intent being that, if you use periodic sync, you're relying on the activity check to actually keep wifi on at all times)).

Since this may lead to a large amount of nagging about wifi toggles on devices w/ NetworkManager support, it is now *disabled* by default on those devices. (And given that it wouldn't have worked because of the lack of connectivity, that doesn't really make any practical difference ;p).

Additionally, given the fact that there's no way to make this behavior viable if the "before wifi" action is left at its default of "prompt", this feature now *requires* that to be set to "turn_on" (on devices where it can, of course); attempting to toggle it on will warn about that if necessary.
This change is retroactive (OTM).

Includes an assortment of fixes and cleanups, including migrating to the new LuaSettings API, which is why there's no longer a smattering of superfluous flushes.
1 year ago
kosmoski 72c1905110
Add 'Content-Length' header to WebDAV upload request (#10567)
Co-authored-by: wojtek <wojtek@pop-os.localdomain>
1 year ago
hius07 45428dda49
History: shorten date/time field (#10594) 1 year ago
hius07 54ab0a04f8
Archive viewer (#10584) 1 year ago
hius07 eef99dafd6
Overlap: fix detecting reflow mode (#10576) 1 year ago
hius07 46933035c5
Open with: images (#10561) 1 year ago
hius07 fc7181419f
CoverImage: custom cover support (#10553) 1 year ago
hius07 23feb0c9cd
Bookmarks: filter by highlight style (#10549) 1 year ago
hius07 01e6593dd4
File popup dialog buttons (#10537) 1 year ago
poire-z 04425b74fc BookMap: add "Overview" mode
Add a restricted but convenient mode showing BookMap like
in initial view, while still allowing chapter levels to be
tweaked. This allows getting back to this view with another
gesture to see the overall progress in the book, while
still having the normal BookMap in flat mode acting as
an alternative ToC.
Available as an action to associate to a gesture, and
with long-press on the "Book map" menu item.
1 year ago
hius07 1944f54aa0
Custom cover: fix (#10513)
Somehow have overlooked in testing.
Closes #10512.
1 year ago
hius07 57f4ff2c68
ReaderHighlight: manage overlapped highlights (#10492) 1 year ago
hius07 6c0bfb1c0a
FileManagerCollection: Fix crash on "Execute shell script" 1 year ago
hius07 919d67656d
readerhighlight: fix translator auto lang (#10469) 1 year ago
hius07 3d5775241d
Exporter: selected files (#10453)
Export highlights for selected files.
Having a button "Select all files in folder", it is easy to export the whole folder.
So, closes #10402.

To keep even number of buttons, added a feature "Show selected files list". May be useful to check selections before an operation. Just a sorted list, no titlebar or popup menu, tapping a file jumps to its folder.
1 year ago
hius07 5f59ee6417
readerhighlight: fix translate (#10451)
Fix translation for books without "language" in properties (it is "", Translator expects nil).
Regression after #10438.
1 year ago
hius07 3dce41269d
Translator: translate current page (#10438) 1 year ago
poire-z fc81c7db24 DictQuickLookup: add button to show list of results
Add a left button to the title bar to show the list
of results as a popup.
Dictionary: tap or long-press on that button give
different view of the results.
Wikipedia: request 30 results instead of 20, so we
can show 15, 10 or 6 of them per page of that popup.
1 year ago
hius07 b4f453eb58
Page overlap: add "Horizontal line" marker (#10401) 1 year ago
Frans de Jonge 46f0bba74b
ReaderLink: fix capitalization typo in "Go Forward" (#10399) 1 year ago
yparitcher de5c872dcb Dispatcher: add `addCurrentLocationToStack`
This is useful when i want to reference something a few pages away while keeping track of my current page
1 year ago
hius07 4f23a6fafa
Custom book covers (#10329) 1 year ago
hius07 9db74f1f01
ConfirmBox: add widgets (#10364) 1 year ago
yparitcher 64b0f5e7cf ReaderFooter: separate ToggleFooterMode from TapFooter
the footer can be toggled by gestures and menu, and should only be locked or skim in flipping mode when the footer is tapped

also allow toggling when only displaying the progress bar

rename to TapFooter to show it is not an event

Fixes: #10355
1 year ago
poire-z 7bae2ed920 Dispatcher: add "Save book metadata" 1 year ago
Frans de Jonge 744f2d185f
[fix] Reintroduce "Start with" default to prevent nil string on startup (#10369)
Regression from #10198.

Fixes #10368.
1 year ago
hius07 99265ba1b7
BookInfo: fix crash on show cover (#10315) 1 year ago
hius07 af45ec75c3
ReaderThumbnails: update cached page thumbnail on bookmark note change (#10303) 1 year ago
hius07 be7d6008d1
Reader: do not apply line spacing out of range (#10307)
* readercoptlistener: fix line spacing out of range

* readerkoptlistener: fix line spacing out of range

* creoptions: fix line spacing limit
1 year ago
zwim 4dbaca180a
PM: Optimize task queue handling around standby (#10203)
Instead of firing on(Enter|Leave)Standby Events, and having every other piece of code that might care about that handle re-scheduling their stuff themselves; simply make the standby implementation (i.e., AutoSuspend's) shift the whole task queue by the amount of time spent in standby to re-sync everything automatically.

(This is necessary in the first place because Linux, as the task queue ticks in CLOCK_MONOTONIC, which does *not* tick during suspend/standby; while we expect most of the tasks scheduled to actually reflect real world clock delays).
1 year ago
hius07 483a005cc2
File browser: show Folder Menu on long-press on Home icon (#10298) 1 year ago
hius07 b01e1c5918
Reader: do not apply font size out of range (#10295) 1 year ago
hius07 34ab0d8ac6
Folder Menu: sign for Home folder (#10288) 1 year ago
hius07 827581ac72
readerbookmark: fix writing pdf annotation (#10287) 1 year ago
hius07 59a0139a60
File browser: add Folder Menu (#10275) 2 years ago
nairyo 983e083a0b
Center pdf manual zoom mode (#10246)
Center PDF content when its width is smaller than the screen

fix #9967
2 years ago
hius07 a3080b042a
BookInfo: add page information (#10255) 2 years ago
hius07 3a37d30ad6
Dispatcher: use translated labels for Zoom Mode actions (#10269) 2 years ago
yparitcher bc5d354225
ReaderLink: allow a forward location stack (#10228)
this allows going back and forth from links (think of undo / redo)

when going back and no forward locations and when we are not on the same page as the last saved location, add the current location to the forward stack, helping if one goes back by mistake they can jump back to their current location

when going back and no forward locations and when we are not on the same page as the last saved location, add the current location to the forward stack, helping if one goes back by mistake they can jump back to thier current location
2 years ago
hius07 4d26650ad6
Filesearcher: add search in book metadata (#10198) 2 years ago
hius07 df9c2bcb7f
History: fix book info buttons disable (#10244) 2 years ago
hius07 c6a7f083c9
readerstyletweak: update profiles on unregistering in dispatcher (#10247) 2 years ago
hius07 aedb713f82
Menu widget: cleanup (#10241) 2 years ago
poire-z f16fbf1d0b Book style tweak: add button with CSS suggestions
Mostly non-standard CSS declarations (so, possibly unknown
to users) that can be useful for solving certain issues.
2 years ago
hius07 1e6b22a60e
Readerzooming: fix use of default settings (#10205)
(1) Fix default direction. Closes #10201. Fixes #9321.
(2) Fix default overlap (unreported bug).
(3) Do not write unused settings to doc_settings.
2 years ago
poire-z 3006348585 PageBrowser: toggle page bookmark with long-press on thumbnail 2 years ago
nairyo 65031ae14f
Dictionary lookup window: use from/to language to determine glyph form (#10184)
For example, to determine whether the Japanese or Chinese form should be shown.

* Dictionaries.lua - use iso3 codes everywhere
readerdictionary.lua - convert iso to bcp tag, to construct ifo_lang
isolanguage.lua - map from iso3 to full language name, map from iso3 to bcp language tag

* Make the full language names translatable

* Store ifo information from dictionaries.lua in downloaded dictionaries
2 years ago
hius07 536d71970f
Bookmark flipping mode fix (#10196)
(1) Changed indicator icon to "bookmark".
(2) Added toggling action to dispatcher.
2 years ago
hius07 a3d42ac344
Classic display mode: add popup file dialog buttons (#10185) 2 years ago
poire-z eeb3c08457 View HTML: add CSS helpers with long-press
Move View html code from ReaderHighlight to a new
dedicated module.
Long-press on an element or its text in the HTML will
show a popup with a list of selectors related to this
element that can be copied to clipboard (to be pasted
in Find or in a Book style tweak).
2 addtional buttons in this popup allow seeing all the
CSS rulesets in all stylesheets that would be matched by
this element, which should make it easier understanding
the publisher stylesheets and using or creating style
tweaks.
2 years ago
Frans de Jonge 5fce41d7d9
[i18n] FileManagerMenu: remove stray newline from translated sting (#10174) 2 years ago
hius07 38bd768d5e
DocSettings: Move book metadata to preferred location (#10149) 2 years ago
NiLuJe 189739ac4c
ReaderFooter: Don't reset session marker on standby (#10167) 2 years ago
hius07 55f1b8c974
UX: a set of minor fixes (#10165)
- AutoFrontlight plugin: update checkmark on toggling
- KeepAlive plugin: update checkmark on toggling
- ReaderPageMap: font size menu entry
- ReaderStatus, common_settings_menu_table: book status "read" -> "finished"
2 years ago
hius07 5c9ba53353
History: update last book access time (#10156) 2 years ago
poire-z b610facfdc
Partial rerendering: really avoid flash on reload (#10155)
Also restore input if ReaderUI crashed.
Also avoid refresh_count management when "Full refresh
rate" is set to "never".
2 years ago
hius07 54b3b5a8cc
ReaderHighlight: minor fixes (#10142)
* readerui: save highlight to pdf requires button press

* readerhighlight: fix select mode confirmbox icon
2 years ago
hius07 15605291c2
DocSettings: add support of centralized sdr storage (#10132) 2 years ago
NiLuJe c5d606a7f4
ProgressWidget: Add an optional marker on the initial position (#10114)
* Enable it on SkimToWidget
* Optional on ReaderFooter (toggle in the progress bar > style submenu)
2 years ago
poire-z 81f2aed086 ReaderRolling: quicker partial rerenderings with EPUBs
Only available with EPUBs containing 2 or more fragments,
and a file size large enough to ensure a cache file is used.
The idea is simply, on any rendering setting change, to
skip the rerendering of the full book and to defer any
rerendering to the moment we draw a DocFragment, and
render only it.
So, on a setting change, only the fragment containing the
current page will be rerendered, and the new fragments we
may cross while turning pages.
When having done so, KOReader is in a degraded state (the
full page count is incorrect, the ToC is invalid...).
So, a full rerendering is needed, and one will happen
in the background, and when the user is idle, we reload
seamlessly and quickly from the cache file it has made.
ReaderFlipping will show some icons in the top left
corner to let it know at which steps in this procress
we are.
2 years ago
poire-z 2f0954fa71 Book style tweak: revamp sample tweak 2 years ago
hius07 91ff6ce2d8
ReaderBookmark: fix comparing positions (#10109) 2 years ago
Melik 881d8ed406 Fix spelling of filemanagerutil.genStatusButtonsRow 2 years ago
Melik 7d6da81233 Compact covermenu addn. to for loop, fix collections bug, further gimp genStatusButton to use upvalues 2 years ago
Melik 0e470aaed9 Remove leftover function, arg 2 years ago
Melik d9b0785a96 Reset button gen to util, collections current file check
- filemanagerutil.resetDocumentSettings()'s doc_settings:close() -> doc_settings:flush()
- Remove current_status from filemanagerutil.getStatusButtonsRow() args, get it inside from file
- Move genStatusButton() inside filemanagerutil.getStatusButtonsRow()
- Move "Reset settings" button generation to filemanagerutil
- Rename "Reset settings" button to "Reset" and update popup box text
- Disable "Reset settings" for file if it's currently open in Collections (same as History)
2 years ago
Melik fb7ec830c6 Create getStatusButtonsRow() for status buttons, hide row if history item deleted 2 years ago
Melik 31cfffc289 Pull genStatusButton() to filemanagerutil 2 years ago
Melik 502bb0ccbf Create genStatusButton() for buttons, use item.dim for deleted in history 2 years ago
Melik 9e7e68beb6 Shorten status button names 2 years ago
Melik c0d0b36f98 Get rid of luacheck warning 2 years ago
Melik 1b2adfd201 Return to callback fudging, fix book info callback replacement 2 years ago
Melik 628cacf1e6 Disable status buttons for deleted files in history 2 years ago
Melik 77b110a987 Add 'Reset settings' button to collections 2 years ago
Melik 8642509f26 Move 'Put on hold' between reading & read 2 years ago
Melik a9313dda1a Add buttons to collections 2 years ago
Melik 57849b3f7c Add buttons to history, use id for button-getting 2 years ago
Melik 086d4622e6 Add buttons to file manager, lay groundwork 2 years ago
NiLuJe 45a4aac3d3
Notification: Fence the *display* update in an attempt to avoid upsetting some boards... (#10083)
Re: https://github.com/koreader/koreader/issues/9806#issuecomment-1416827447

Depends on https://github.com/koreader/koreader-base/pull/1576

Includes assorted cosmetics tweaks related to duplicate `setDirty` calls when instantiating widgets that already have an `onShow` handler doing it. (I left widgets doing it in `update` instead of `init` alone, on the assumption that callers *may* be relying on that behavior when updating widgets at runtime. This might actually never matter, and it certainly didn't for ScreenSaverWidget, which is why I removed it from there ;p).
2 years ago
Sargun Vohra 15fb73384f
EInk: Add a setting to toggle flashing on pages with images (#10049)
With minor code cleanups along the way ;).
2 years ago
NiLuJe 21210800c1
ReaderFooter/Header: Refine autorefresh repaint-or-not checks (#10045)
Use both a whitelist for targeted widget repaints, a blacklist for no repaint at all, and a fallback for a full in-order ReaderUI repaint when unsure.

Use a similar approach in ReaderHeader (i.e., prevent explicit refreshes while ReaderMenu is open).

Re #9979, re #9768
2 years ago
NiLuJe 7863a7ad70
Misc: Natural sorting refactor (#10023)
* Move natural sorting algo to a dedicated sort module to avoid code duplication
* Use a slightly more accurate algorithm, and speed it up by caching intermediary strings
* Calibre: Use natural sorting in metadata search (fix #10009)
2 years ago
NiLuJe 4732bc9aed ReaderView: Recompute page layout when toggling ReaderFooter in
non-reflowable documents.

The code only handled setups with "reclaim bar height" enabled (because
that's my usual workflow, har har), but would have broken in various
more or less obvious ways without it, depending on the exact layout/zoom
settings.
The previous attempts at handling the no-reclaim case were focused
on scroll mode, which is a bit of a nightmare. This approach should
deal as well/badly as the previous one in scroll mode, but actually
handle page mode properly ;).

Re #9979
2 years ago
hius07 d5a4ac14e1
ReaderUI: fix status and history (#9993) 2 years ago
NiLuJe 4ce0058e2d
ReaderLink: Minor logic simplification in onGoToPageLink (#9987)
Abort earlier if the nearest link is too far, instead of computing stuff and creating an object we'll never actually use.

Includes minor logging tweaks to vaguely related codepaths ;p.
2 years ago
zwim f0b007bb31
Footer: avoid footer auto refresh over bottom menu (#9983) 2 years ago
poire-z 7448ad23e7 ReaderDogear: fix no y-offset after load with top status bar 2 years ago
zwim ebaef61536
Make translateable: SystemStat, custom footer (#9945)
Fixes #9942.
2 years ago
NiLuJe 788ccac561
Input/Device: Refactor Gyro events handling (#9935)
* Get rid of the `canToggleGSensor` Device cap, it's now mandatory for `hasGSensor` devices. (This means Kindles can now toggle the gyro, fix #9136).
* This also means that `Device:toggleGSensor` is now implemented by `Generic`.
* Update the Screen & Gyro rotation constants to be clearer (c.f., https://github.com/koreader/koreader-base/pull/1568) (/!\ This might conceivably break some `rotation_map` user-patches).
* Input: Move the platform-specific gyro handling to Device implementations, and let Input only handle a single, custom protocol (`EV_MSC:MSC_GYRO`).
* Input: Refine the `rotation_map` disable method implemented in 43b021d37c. Instead of directly poking at the internal field, use a new method, `disableRotationMap` (/!\ Again, this might break some `rotation_map` user-patches).
* Input: Minor tweaks to event adjust hooks to make them more modular, allowing the Kobo implementation to build and use a single composite hook. API compatibility maintained with wrappers.
2 years ago
hius07 ee75abd4a0
Statistics: show correct number of notes in a book (#9928) 2 years ago
poire-z b1b7773237
TouchMenu: tweak menu search (#9926)
- Cleanup search and animation codes, fix inconsistencies
  between animation/no-animation opening, and refreshes
  glitches on eInk.
- Show menu item on tap, with buttons to either open
  directly, or to walk there (removed earlier "Animation"
  checkbox, so the choice can be decided later).
- Move event handlers into ReaderMenu/FileManagerMenu.
- Avoid duplicated and confusing results from gestures
  and font-family submenus.
2 years ago
melyux a53e9847fa
Footer: some menu items rewording (#9915)
Change footer status bar type setting label from 'Prefix' to 'Item style'.
2 years ago
melyux 6f39f6cb7b
Screensaver: exclude content when excluding cover, random image as fallback (#9912)
Exclude some screensaver option showing book content
(title, page image) when "Exclude this book cover" is checked. 
Random image as fallback, KOReader logo as 2nd-order fallback.
2 years ago
hius07 7719ad04f3
Reader: add open next file in folder to Dispatcher (#9916)
Closes https://www.mobileread.com/forums/showthread.php?t=350683.
2 years ago
NiLuJe b16b215cbb ReaderHighlight: Appease newer versions of LuaCheck
Good to know: it now defaults to assuming that function arguments
prefixed with an underscore would be unused, which is... nice in theory ;).
2 years ago
Roygbyte 3e49cf9a18
ReaderLink: allow buttons to be added to the External link dialog (#9746)
So plugins can register and advertize themselves
as handlers of external links (ie. Wallabag).
2 years ago
Frans de Jonge e1fe897c9b
[i18n] Add a couple of explanatory comments for translators (#9878) 2 years ago
hius07 c53dd55b16
ReaderHighlight: new Select mode icon (#9869) 2 years ago
weijiuqiao 49d8ec2f4f
Cloudsync: dropbox token re-generation (#9862) 2 years ago