2
0
mirror of https://github.com/koreader/koreader synced 2024-11-10 01:10:34 +00:00
Commit Graph

9634 Commits

Author SHA1 Message Date
NiLuJe
b28d52a124 ExternalKeyboard: Map KEY_COMPOSE to "Menu" 2022-11-02 03:48:39 +01:00
NiLuJe
5a939553fc ExternalKeyboard: Flip the hasKeys Device cap, too
This allows navigation to work as expected ;).
2022-11-02 03:48:39 +01:00
NiLuJe
8cba303b96 ReaderPanning: Don't crash in the key event handler.
I'm unclear on where this is supposed to do anything, though.
But at least it no longer crashes, so, yay?
2022-11-02 03:48:39 +01:00
NiLuJe
53c0a65a5b ExternalKeyboard: Don't spam the "Keyboard connected" InfoMessage
Only show it for the first keyboard
2022-11-02 03:48:39 +01:00
NiLuJe
5b6d2ab66f ExternalKeyboard: Workaround bad interaction with coverbrowser when
enabled on startup
2022-11-02 03:48:39 +01:00
NiLuJe
02020176a9 ExternalKeyboard: Only disable OTG on exit
We currently did so on plugin destruction, which was a bit
overkill/annoying, as plugin instances are torn down on view
changes (i.e., when FileManager/ReaderUI are torn down) ;).
2022-11-02 03:48:39 +01:00
NiLuJe
9863a9c0bb ExternalKeyboard: Use the evdev number passed along by base to avoid sweeping the full list of input devices
This required some... creative thinking to avoid complexifying common
Input/UIManager codepaths ;p.
2022-11-02 03:48:39 +01:00
NiLuJe
25dce4d1b5 WebDAV: Fix a warning with the latest LuaCheck version
(error-prone negation)
2022-11-02 03:48:39 +01:00
NiLuJe
1e24a1c7a3 ReaderUI: Properly neuter gesture handling from InputContainer modules
None[1] of them actually rely on their own onGesture handler, they
all register their own stuff to ReaderUI's.
Hotfix #9710 revealed that the way this was handled didn't exactly
work as expected ;).

The only thing that consumes ges_events is InputContainer's onGesture
method. All these modules *extend* InputContainer, but none of them
*implement* a custom onGesture, so self.onGesture = nil was just a NOP,
they always access InputContainer's method via inheritance.
If we actively want to neuter it, we *have* to implement it in that
module (with a NOP).

[1] The exception being ReaderZooming, but that only when in flip mode.
2022-11-02 03:48:39 +01:00
Frans de Jonge
71cad1e49c
Fix broken translation metadata (#9726)
Should fix https://github.com/koreader/koreader/discussions/9719

Regression introduced in https://github.com/koreader/koreader/pull/9682 by my fault.

See the xgettext error message:

```
frontend/dispatcher.lua:573: warning: Empty msgid.  It is reserved by GNU gettext:
                                      gettext("") returns the header entry with
                                      meta information, not the empty string.
xgettext: warning: msgid '' is used without plural and with plural.
                   xgettext.c:1975: Here is the occurrence without plural.
                   frontend/dispatcher.lua:573: Here is the occurrence with plural.
                   Workaround: If the msgid is a sentence, change the wording of the sentence; otherwise, use contexts for disambiguation.
```

Co-authored-by: Frans de Jonge <frans@clevercast.com>
2022-11-01 20:59:19 +01:00
hius07
e3f134da78
KeyValuePage: enhance TitleBar (#9713)
Add left button.
Allow title centering (may be useful with the left button).
2022-11-01 19:22:03 +01:00
Martín Fernández
8b8d79275c
calibre metadata: prevent duplicates (#9725)
Fixes #9722
2022-11-01 19:21:00 +01:00
zwim
94d3d3b487
[timeval] RIP on All Saints Day (#9686) 2022-11-01 00:03:22 +01:00
poire-z
f10ea7d339
TextViewer: allow close on any multiswipe (#9720)
Similar to most fullscreen widgets.
2022-10-31 23:15:42 +01:00
weijiuqiao
42d4056f8f
Virtual keyboard: auto releasable Shift and keypopups (#9659)
Long-press on Shift to keep it non-auto-released.
2022-10-31 15:48:05 +01:00
hius07
e1a52b5881
OPDSbrowser: fix uninitialized calibre (#9718) 2022-10-31 09:07:37 -04:00
NiLuJe
f58d1c0449
Cleanup: Track color constant name change (#9716)
* Bump base

https://github.com/koreader/koreader-base/pull/1547
https://github.com/koreader/koreader-base/pull/1548
2022-10-30 22:34:48 +01:00
yparitcher
4d8e2f0ea1 ges_events must be a table
regression in #9691 b523c2e8b9
2022-10-29 23:30:16 -04:00
Roygbyte
cf643c453b
KeyValuePage: Handle nil/empty kvp arrays (#9705) 2022-10-30 02:05:27 +02:00
NiLuJe
c740ee3174 Kindle: Make sure Device:untar actually works
The fuse proxy strikes again... Fix #9704
2022-10-29 22:55:20 +02:00
NiLuJe
f08f6fc0bf Bump base
https://github.com/koreader/koreader-base/pull/1545
https://github.com/koreader/koreader-base/pull/1546
https://github.com/koreader/koreader-base/pull/1520
2022-10-29 22:55:20 +02:00
NiLuJe
0382e0d4c2 OTM: Handle syntax errors at *both* stages when migrating
defaults.persistent.lua

We were pcall'ing the parsing, but not the execution...
The funky Lua syntax quirks means that it is possible to pass the former
but not the latter ;).

Fix #9700, de-facto regression since #9546
2022-10-29 22:55:20 +02:00
NiLuJe
5cb358f653 PocketBook: Move low-level input event type translation to the low-level
input modules.

There was a weird mix of touch being handled there, and key/msc here,
which was weird and made the logs extremely confusing to read.
2022-10-29 22:55:20 +02:00
NiLuJe
3dd87a38b3 Kindle: Oh, hey, turns out that was the new Basic
I'd completely forgotten they'd announced one ;o).
2022-10-29 22:55:20 +02:00
NiLuJe
43b021d37c Input: Allow disabling rotation_map entirely
(This involves moving it to the instance object to avoid inheritance).

Pocketbook: Disable rotation_map on the Era (fix #9556)
It would appear that InkView handles the translation for us, now...
2022-10-29 22:55:20 +02:00
NiLuJe
4e233aafc0 AutoSuspend: Update the standby help message.
Tone it down for everyone, as it's been running smoothly for a while
now, but add a dedicated extra warning on buggy boards that it might
randomly implode.
2022-10-29 22:55:20 +02:00
NiLuJe
e98bf342e7 GH: Mention that toggling verbose debug logging requires a restart.
Otherwise, stuff that inherits logger functions on require don't get
logged (i.e., framebuffer), and the debug guards aren't hooked.
2022-10-29 22:55:20 +02:00
NiLuJe
9470d473da Kindle: Lower some PM log messages to debug 2022-10-29 22:55:20 +02:00
NiLuJe
b1504ea718 Kobo: Downgrade some suspend logging messages to debug, and *all*
standby logging messages to debug (except for warnings/errors, of course).
2022-10-29 22:55:20 +02:00
NiLuJe
dbc559c0e0 USBMS: Add a human-readable log message when entering USBMS
Because apparently people are confused by the UIManager:quit ones...
2022-10-29 22:55:20 +02:00
NiLuJe
cac37ad018 Kobo: Flag all the boards similar to the Libra 2 as unreliable (Clara 2E
& Nia).

And also disable the jump marker on those, like we did for the Libra 2.
2022-10-29 22:55:20 +02:00
NiLuJe
bf574bfaaf GestureDetector: Only show the final adjustGesCoordinate log if the gesture actually was adjusted. 2022-10-29 22:55:20 +02:00
NiLuJe
b656b9f5af Persist: Make sure data is flushed to disk on save
(i.e., do the usual flush & fsync dance, because FAT32 is the worst).
2022-10-29 22:55:20 +02:00
NiLuJe
b523c2e8b9 InputContainer: Fall cleanup ;).
Get rid of the doc & seqtext fields, as they are not actually used (nor
are they particularly useful, the event handler's name should be pretty
self-explanatory).

Also, tweak the key_events documentation to highlight the quirks of the
API, especially as far as array nesting is involved...

Random drive-by cleanup of the declarations of key_events & ges_events
to re-use the existing instance object (now that we know they're sane
;p) for tables with a single member (less GC pressure).
2022-10-29 22:55:20 +02:00
Borys Lykah
9b2201a438
Initial hotpluggable keyboard handling (#9540)
* Added a new plugin external-keyboard. It listens to USB events. When keyboard is plugged in or plugged out, it updates device and input configuration accordingly.
* Added new fake events UsbDevicePlugIn and UsbDevicePlugOut that are emitted when a device is connected to a book reader that plays the role of USB host. The usage of the existing events UsbPlugIn and UsbPlugOut has not changed - they are used when a reader is connected to a host. The koreader-base has a related PR for those events.
* Did a small refactoring of initialization for the modules FocusManager and InputText. They check device keyboard capabilities on their when the module is first loaded and store it. Some of the initialization code has been extracted into functions, so that we can re-initialize them when keyboard is (dis)connected.
* Initial implementation centered around text input, and tested with USB keyboards on devices with OTG support.
* Said OTG shenanigans are so far supported on devices with debugfs & the chipidea driver, or sunxi devices.
2022-10-29 22:46:35 +02:00
hius07
c36a2929ac
OPDSbrowser refactoring (#9703)
Refactoring:
-removed duplicated code
-removed passing of username/password through all the modules
-logical order of the methods
-some optimizing and drying
-comments

New features:
-subcatalog link can be saved to the list of servers (eg: direct link to the catalog of books by an author)
-more book information can be fetched and shown (Book information)
-fixed access to the Standard library (by @KGKopli, closes #9372)
2022-10-29 19:06:42 +02:00
hius07
a8ff3a6571 readerzoomin: add zoom mode translation, simplify zoom mode validation 2022-10-29 17:48:21 +02:00
hius07
0919c4ef17 readerkoptlistener: simplify zoom mode validation 2022-10-29 17:48:21 +02:00
weijiuqiao
e8cd2ba498
WebDAV: fix bugs when start folder starts with "/" (#9688) 2022-10-29 17:45:52 +02:00
zwim
d7c63edca6
Random optimizations (#9657) 2022-10-28 07:51:27 +02:00
poire-z
e72211a5bf
bump base: xtext, cre, ffi, harfbuzz (#9696)
Includes:
- Update to HarfBuzz 5.3.1, libffi 3.4.4
- LPeg: Minor cosmetic tweaks
- cre.cpp: add cre.softHyphenateText(lang, text)
- xtext: properly support soft-hyphens
- xtext: option to allow limiting usage of soft-hyphens
- xtext: better ellipsis support with Arabic text
- ffi: Add fflush to posix_h
- fb_mxcfb: Don't wraparound update markers until UINT32_MAX
2022-10-27 22:57:16 +02:00
zwim
31b16ba3e1
UIManager: get rid of self._running and self._run_forever (#9669) 2022-10-27 22:08:38 +02:00
zwim
88add4ed6f
[spec] _task_queue has to be sorted! (#9694) 2022-10-27 21:14:25 +02:00
hius07
d37803a8e7
Dispatcher: preserve profile name, show actions count (#9682)
(1) Preserve profile name when selecting the "Nothing" action.
(2) Show number of actions instead of "Many".
2022-10-27 14:29:50 +02:00
Dylan Calvin
07be320722
[plugin] OPDS: Add stream from page (#9681) 2022-10-26 11:31:16 +02:00
Martín Fernández
3530aef891
exporter.koplugin: send the right mimetype when sharing text. (#9194)
Add an option to send title too. Currently unused.
2022-10-26 11:18:27 +02:00
zwim
db8e2a9403
[spec] Get rid of argc in the _task_queue (#9684)
argc was eliminated in #9624

Thanks to @hius07  https://github.com/koreader/koreader/pull/9680#issuecomment-1290440793

Plus a minor change in the scheduling test, so that the _task_queue is not filled only from one end.
2022-10-25 21:55:22 +02:00
weijiuqiao
ad89742e9b
Keyvaluepage: better alignment (#9672) 2022-10-25 21:50:40 +02:00
hius07
1d9c81de6e
ScrollableContainer: fix 'argc' (#9680) 2022-10-25 14:51:14 -04:00
Roygbyte
724db87755
ButtonDialog: add documentation about layout (#9505) 2022-10-25 13:50:21 +02:00