Commit Graph

446 Commits

Author SHA1 Message Date
yparitcher
feab232f35 Kopt: keep 4 items per panel
move newly enabled auto straighten from settings to crop
2021-10-05 23:34:29 +02:00
yparitcher
888802f618 kopt: allow pdf auto straighten 2021-10-05 23:34:29 +02:00
ichnilatis-gr
e4337d1306 Greek keyboard: minor updates (#8292)
Adds Greek semicolon (upper dot) to the dot pop-up menu.
2021-10-03 10:37:15 +02:00
ichnilatis-gr
c6b3d5d3a5 Greek keyboard: minor updates (#8291)
Adds Greek semicolon (upper dot) to the dot pop-up menu.
2021-10-03 10:36:49 +02:00
hius07
4c9d1ac3f8 Spinwidgets: can now get width or width_factor (#8269) 2021-10-01 20:32:16 +02:00
zwim
0c7d174cd7 [frontlight, kobo, cervantes] Remove auto_warmth (#8154)
The feature is now provided by the "Auto warmth
and night mode" plugin (#8129).
2021-09-25 23:24:34 +02:00
ichnilatis-gr
84baf00416 Greek keyboard: minor updates (#8258) 2021-09-25 12:15:44 +02:00
hius07
5b049a5a82 Help text fixes (#8217)
* Update css_tweaks.lua

* Update readersearch.lua
2021-09-14 19:18:50 +02:00
poire-z
084ae1509d Style tweaks: add a few ruby specific tweaks (#8189) 2021-09-08 23:50:30 +02:00
hius07
85cfb552cb Keyboard preferred layouts: usability fixes (#8159)
Store list of layouts in settings file as array of enabled
layouts only (up to 4 elements). Optimize code.
Allows sorting of the abbreviations in the globe popup:
just check layouts in the desired order (the first checked
will be northeast).
Requires onetime migration to clean up the settings.
2021-09-01 22:55:59 +02:00
yparitcher
31397e10ef Dispatcher: initial Kopt support 2021-09-01 10:30:46 -04:00
yparitcher
36fd668093 ConfigDialog: remove uneeded support for muliple events
Fixes reflow support for dispatcher
2021-09-01 10:30:46 -04:00
ichnilatis-gr
785200d76b VirtualKeyboard: Update el_keyboard.lua (#8148) 2021-08-29 18:15:43 +02:00
mergen3107
39b810a3bd [lang] Change "full" to "best" (#8141)
I guess `full` was in on of the old iterations. Might affect translations though
2021-08-28 09:10:20 +02:00
yparitcher
c6a8dc34a2 [UX] HE keyboard: Use updated symbols from new layout (#8131) 2021-08-25 09:20:09 +02:00
mergen3107
fdae07e2cc VirtualKeyboard: redesign and enhancements (#8089)
See #8089 for all the details.
2021-08-24 23:51:39 +02:00
asynchronous-sheep
c16d2712ef Fix link for Portuguese dictionary “Dicionário Aberto” (#8118) 2021-08-22 17:07:42 +02:00
poire-z
5df84bcb4f Footnote popups/in-page: support type/role=endnote 2021-08-17 21:44:48 +02:00
poire-z
5bab3e5e98 Fix luacheck after d9cc3af2 2021-07-23 15:54:12 +02:00
Brian Hughes
d9cc3af220 Reset everyone's duration time to classic (#8008)
Reset unwanted migration of this setting to "modern"
done with #7897.
2021-07-23 14:16:41 +02:00
zwim
48d1b23469 FileSearcher honor filemanagers sorting order (#7978) 2021-07-18 20:21:39 +02:00
zwim
9d2c6b07aa Fix date in onetime_migration (#7980)
Fixes #7979
2021-07-15 17:52:23 +02:00
ichnilatis-gr
4b7ac191dc Greek keyboard: translate Space key (#7974) 2021-07-15 10:26:25 +02:00
hius07
f711f060bf A few small design fixes (#7933)
Reduce CheckButton font size.
Remove icons in TouchMenu truncated items popup.
Fix some wording.
2021-07-05 12:38:24 +02:00
jimman2003
a7bbf24f87 Greek keyboard: tweak popup keys (#7930)
By @ichnilatis-gr
2021-07-03 20:57:39 +02:00
poire-z
c0386e5dd0 Greek keyboard: add more diacritics (polytonic) (#7906)
Provided by @ichnilatis-gr
2021-06-30 20:47:41 +02:00
Brian Hughes
ba65dc155b Adds time left for chapter and document to the screensaver message options (#7897) 2021-06-30 01:45:34 +02:00
hius07
c6ccc73d55 Status bar: hide battery if level higher than threshold (#7876)
closes #7242
2021-06-22 19:03:05 +02:00
yparitcher
002b4d4be9 Kopt/Creoptions: change to using an event to update configurable. Abstract implimentation out of ConfigDialog 2021-06-11 13:26:48 +02:00
NiLuJe
0b58abada5 [fix] ReaderZooming: Deal with some more zoom_mode shenanigans (#7780)
Migrate *global* zoom_mode settings to genus/type, too.

Nothing can actually set this as a global anymore, but we still honored
it nonetheless.

Fix #7778
2021-06-01 12:08:12 +02:00
NiLuJe
8d37d49d70 CSS Tweaks: Update Alt ToC description, now that it moved to a dedicated
menu entry.
2021-06-01 12:07:36 +02:00
zwim
e955a28796 Uppercase sharp s (#7741) 2021-05-23 12:36:28 +02:00
NiLuJe
c05b1a4ee4 ReaderZooming: Deal with some more fallout of the new zoom modes (#7728)
* Namely, ensure zoom_mode is consistent with genus & type *both ways*. (I only dealt with the "no zoom_mode" case in my original fixup).
Because documents with settings dating back from before the new zoom modes had "old" zoom_mode settings mixed with "new" genus/type defaults that didn't agree with each other.
It lead to super-confusing ConfigDialog behavior, because ConfigDialog was in fact not reflecting the reality.
(As the source of truth is actually `zoom_mode`).

* There was a snafu in manual mode, because of the extremely weird way prefixes are handled by Configurable/ReaderConfig/DocSettings/ConfigDialog.
So, make sure we only have a *single* zoom_factor, and that it's updated and saved properly under the right name everywhere.

Fixes inconsistencies between first swapping to manual mode, and what the ConfigDialog said/did (because again: possibly a lie), vs., re-opening the same document, which would magically use *different* settings, closer to what was expected (but still broken because of the prefix mismatch and a disagreement on defaults between the two variants).

Fallout from #6885
2021-05-22 03:28:52 +02:00
zwim
6e2be98edc Notifications: options to show none/some/more (#7718)
Notification: adds some functions so it can be used as
a notification manager.
Have various bits of code emitting events that may generate
notifications advertize themselves as the source for following
notifications.
Add a menu to allow selecting some subsets of sources
to show or hide.
2021-05-20 23:14:11 +02:00
NiLuJe
189035cafc ReaderFooter: Get rid of magic nil settings
And go through one-time-migration to ensure the settings are properly
filled.

Also, disable hold-to-skim by default.
2021-05-19 20:55:00 +02:00
NiLuJe
1ffbd8760d KOPTInterface: Minor optimization when hashing the configurable status
Use a table & table.concat instead of individual concats.
And then use that same table for every hash-related operation.

(Nothing else uses the configurable hash function, otherwise I'd have
limited the table shenanigans to the function itself).
2021-05-09 23:10:44 +02:00
NiLuJe
21b067792d Cache: Rewrite based on lua-lru
Ought to be faster than our naive array-based approach.
Especially for the glyph cache, which has a solid amount of elements,
and is mostly cache hits.
(There are few things worse for performance in Lua than
table.remove @ !tail and table.insert @ !tail, which this was full of :/).

DocCache: New module that's now an actual Cache instance instead of a
weird hack. Replaces "Cache" (the instance) as used across Document &
co.
Only Cache instance with on-disk persistence.

ImageCache: Update to new Cache.

GlyphCache: Update to new Cache.
Also, actually free glyph bbs on eviction.
2021-05-05 20:37:33 +02:00
NiLuJe
ce624be8b8 Cache: Fix a whole lot of things.
* Minor updates to the min & max cache sizes (16 & 64MB). Mostly to satisfy my power-of-two OCD.
  * Purge broken on-disk cache files
  * Optimize free RAM computations
  * Start dropping LRU items when running low on memory before pre-rendring (hinting) pages in non-reflowable documents.
  * Make serialize dump the most recently *displayed* page, as the actual MRU item is the most recently *hinted* page, not the current one.
  * Use more accurate item size estimations across the whole codebase.

TileCacheItem:

  * Drop lua-serialize in favor of Persist.

KoptInterface:

  * Drop lua-serialize in favor of Persist.
  * Make KOPTContext caching actually work by ensuring its hash is stable.
2021-05-05 20:37:33 +02:00
NiLuJe
b24ecf35d4 CreOptions: Display weight classes names, in addition to their raw value. 2021-04-30 06:02:09 +02:00
NiLuJe
56d7a2d86b CreOptions: Minor wording tweak after #7616
c.f., https://github.com/koreader/koreader/pull/7616#discussion_r622732969
2021-04-30 06:02:09 +02:00
poire-z
9ef435c97a bump crengine: more granular font weights (#7616)
Includes:
- MathML: a few minor fixes
- (Upstream) lvtext: fix possible index out of range
- Fonts: RegisterExternalFont() should take a documentId
- Fonts: fix: letter-spacing should not be applied on diacritic
- (Upstream) Fonts: more granular synthetic weights
- Fonts: synthesized weights: tweak some comments
- Fonts: keep hinting with synthetic weight
- Fonts: fix synthesized weight inconsitencies
- Fonts: fix getFontFileNameAndFaceIndex()
- Fonts: adds LVFontMan::RegularizeRegisteredFontsWeights()
- Fonts: handle synth_weight tweaks in glyph/glyphinfo slots
- (Upstream) Fonts: fix some compiler warnings
- Fix hyphenation on Armenian and Georgian text

Update the bottom menu widget "Font Weight" to allow more
granular weights than the previous "regular | bold".

Also bump thirdparty/luasec to v1.0.1.
2021-04-29 01:37:53 +02:00
hius07
3df1ce3644 Style tweaks: add links italic style (#7567) 2021-04-19 02:21:44 +02:00
NiLuJe
ea3fa5c2c7 Calibre: More QoL tweaks (#7545)
* Wireless: Optimize memory usage in StreamMessageQueue (use an array of string ropes, that we only concatenate once). Allowed to relax the throttling, making transfers that much faster.
* Persist: Add a "zstd" codec, that uses the "luajit" codec, but compressed via zstd. Since both of those are very fast, it pretty much trounces everything in terms of speed and size ;).
* Persist: Implemented a "writes_to_file" framework, much like the existing "reads_from_file" one. And use it in the zstd codec to avoid useless temporary string interning.
* Metadata: Switch to the zstd codec.
2021-04-14 00:35:20 +02:00
NiLuJe
47c59e0e5a Persist: Add the new native LuaJIT serializer to the list of supported codecs (#7543)
And swap the Calibre metadata cache to it.
2021-04-13 18:11:39 +02:00
NiLuJe
22b9396696 Centralize one time migration code after updates (#7531)
There have been a couple of these this month, and keeping stuff that should only ever run once piling up in their respective module was getting ugly, especially when it's usually simple stuff (settings, files).

So, move everything to a dedicated module, run by reader.lua on startup, and that will actually only do things once, when necessary.
2021-04-13 17:54:11 +02:00
poire-z
25aabd69d9 Style tweaks: remove "Toggle alternative EPUB content"
With MathML support, this is no longer all or nothing.
As it's quite rare and technical, let this be handled
via user style tweaks.
2021-04-02 23:05:51 +02:00
Frans de Jonge
975e2d4b80 Add DBNL footnotes styletweak (#7467)
`.voetnoten` is standard in DBNL ebooks.

A good test book can be found at <https://www.dbnl.org/tekst/veld028jnot01_01/>.
2021-03-30 19:13:37 +02:00
NiLuJe
f0f69e9a7a ReaderZooming: Fix defaults handling (#7463)
It appears the fancy split settings from #6885 were not being honored at all.

Also:

* Made sure "pagewidth" is actually the default zoom mode again, "full" had sneaked in as the default state of the zoom type toggle).
* Display human-readable values in the "Make as default" popup, instead of the raw, meaningless numerical setting.
* Disable zoom options when reflow is enabled, and restore 'em properly when it's disabled.

Fix #7461, #7228, #7192
2021-03-30 18:47:52 +02:00
Frans de Jonge
7a925a3caf Improve fit to … help text (#7462)
Cf. https://github.com/koreader/koreader/issues/7461#issuecomment-809582341
2021-03-29 20:32:38 +02:00
NiLuJe
e33476996a Rotation icons: make 'em dynamic. (#7440)
Followup to #7306.

As discussed there, the only way to make everybody happy is to make 'em context-aware. At which point, trying to make the fact that it's a *device* rotation and not a *content* one come across in the icon design loses its interest, and would actually only further muddy the issue.

So, these are similar is spirit to the traditional rotation icons in pretty much anything that can rotate text content, with a special inspiration from the Kindle 4 & PocketBook UI.

Fix #7429
2021-03-29 05:12:22 +02:00