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

10684 Commits

Author SHA1 Message Date
jonnyl2
2a9fe6fdcf
Dispatcher/DeviceListener: temporarily turn on Accelerometer/GSensor for 5 sec (#12419) 2024-09-01 23:53:51 +02:00
mbays
d097dc0f8c Terminal: Add newline when wrapping
Required to maintain "tty-matrix".
2024-08-31 23:38:37 +02:00
mbays
c2dbd7bf88 Terminal: Don't refresh while input widget closed
Fixes crash on e.g. closing widget after "sleep 3 && echo -e '\eY11'"
2024-08-31 23:38:37 +02:00
mbays
2a39bd15b3 Terminal: Add FIXMEs 2024-08-31 23:38:37 +02:00
mbays
f6ee0aed4f Terminal: Ignore rightChar at end of line 2024-08-31 23:38:37 +02:00
mbays
40034743ad Terminal: Fix handling of '\b' 2024-08-31 23:38:37 +02:00
mbays
f86482c210 Terminal: Remove unnecessary expensive textbox re-inits 2024-08-31 23:38:37 +02:00
mbays
ffd75eb8f1 Terminal: Remove delay on enter 2024-08-31 23:38:37 +02:00
mbays
381a87f9f3 Terminal: Refactor to reduce algorithmic complexity 2024-08-31 23:38:37 +02:00
mbays
1ae38ea8bd Terminal: Ignore ctrl on chars less than '@'
Previous behaviour was to crash.
2024-08-31 23:38:37 +02:00
NiLuJe
cf83dc8bd3
ReaderView: Don't crash on pre-#11044 highlights without a color field (#12438)
(They'll be drawn in gray, as before)

Regression since #11044
(https://github.com/koreader/koreader/pull/11044#issuecomment-2322820971)
2024-08-31 22:55:59 +02:00
hius07
49e885321a
Exporter: choose highlight styles to be exported (#12431) 2024-08-31 19:28:48 +03:00
hius07
38c8d66b5b readerhighlight: fix showing anchored popup dialog 2024-08-31 15:18:18 +02:00
hius07
6f7277d269 readersearch: fix building findall result 2024-08-31 15:18:18 +02:00
hius07
963aa9ac7c filemanagerhistory: fix update list after deleting a file 2024-08-31 15:18:18 +02:00
hius07
ee5a4169d1 webdavapi: fix 'resourcetype' property check 2024-08-31 15:18:18 +02:00
hius07
84ed68ba82 inputtext: fix deleting a word by backspace swipe north 2024-08-31 15:18:18 +02:00
Rowan Decker
60e0e3ef45
Add color highlight menu (#11044) 2024-08-30 22:10:43 +02:00
NiLuJe
89fdb5516b Bump platform/android/luajit-launcher
https://github.com/koreader/android-luajit-launcher/pull/508
https://github.com/koreader/android-luajit-launcher/pull/506
https://github.com/koreader/android-luajit-launcher/pull/510
2024-08-30 22:09:57 +02:00
NiLuJe
896d753a35 Bump base
https://github.com/koreader/koreader-base/pull/1894
https://github.com/koreader/koreader-base/pull/1908
https://github.com/koreader/koreader-base/pull/1909
https://github.com/koreader/koreader-base/pull/1904
https://github.com/koreader/koreader-base/pull/1910
https://github.com/koreader/koreader-base/pull/1911
https://github.com/koreader/koreader-base/pull/1912
https://github.com/koreader/koreader-base/pull/1901
https://github.com/koreader/koreader-base/pull/1913
https://github.com/koreader/koreader-base/pull/1680
https://github.com/koreader/koreader-base/pull/1915
https://github.com/koreader/koreader-base/pull/1916
https://github.com/koreader/koreader-base/pull/1914
2024-08-30 22:09:57 +02:00
NiLuJe
ca71bb2917
Input: Ignore ABS_X, ABS_Y & ABS_PRESSURE for snow_protocol (#12427)
On Monza, the lift frame can report these for *multiple contacts* without an id or a slot, which is super-duper invalid -_-".

(And we have ABS_MT_POSITION_X & ABS_MT_POSITION_Y for the "saner" frames, plus these devices generally don't support pens, so we don't make use of pressure).

(Also, switched to a dedicated handler like for the phoenix quirks, to avoid bogging down the standard handler with hacks for broken drivers).

Fix #11910
2024-08-30 16:04:28 +02:00
NiLuJe
a486acf48b
FileManagerSetDefaults: Handle strings that we default to nil (#12433)
The actual defaults table is a hash, so we have no way of salvaging it from there without using a custom NULL type or another kind of sentinel value.
But since everything that actually *uses* the offending defaults expects a nil, don't rock the boat, and just fix the Advanced Settings widget to be able to deal with it.

Fix #11679
Regression since #9546
2024-08-30 16:02:24 +02:00
poire-z
d51179690d
PageBrowser: fix drawing of thicker thumbnail frame on tap (#12432)
Bottom and right edges were not drawn since some
recent FrameContainer tweak.
2024-08-30 14:40:14 +02:00
NiLuJe
7e52c15de2
FileManager: Handle the FlushSettings event (#12425)
It's used on Android when we're murdered by the task switcher, and when doing an OTA update.

Fix #12124
2024-08-29 11:28:16 +02:00
NiLuJe
5fc5386e87 ReadTimer: Don't blindly repaint the footer in update_status_bars
Send a dedicated event that will let ReaderFooter check if we actually have anything relevant to display, and will do the usual "should I repaint/refresh" checks ;).

Fix #12323
Regression since #12002
2024-08-28 23:53:38 +02:00
NiLuJe
a86271b8f1 ReaderFooter: Use maybeUpdateFooter in onBookMetadataChanged
I'm not sure that one could ever have been truly problematic, but let's
be cautious ;).
2024-08-28 23:53:38 +02:00
jonnyl2
f3005906d4
Readerfont: current font on top in menu; new fonts from current session on top in font test doc (#12410)
* Move down call setupFaceMenuTable(); list current font on top in menu if sorted by recently selected.

* New fonts from current session listed on top in fonts test documents; small wording changes
2024-08-26 22:51:29 +02:00
Benoit Pierre
6e7b09cd3c
kodev: fix ./kodev run android… (#12407)
Need to install the NDK / SDK when not configured.

Close #12404.
2024-08-26 15:35:39 +02:00
Benoit Pierre
070d591483 kodev: improve kodev prompt
Automatically use rlwrap if available.
2024-08-26 13:06:46 +02:00
Benoit Pierre
342fc850ad make: add RWRAP parameters to all emulator run rules
Useful to run those command under a debugger, valgrind, or rlwrap.
2024-08-26 13:06:46 +02:00
Benoit Pierre
6e7ccf2320
android: add custom adb logcat formatter (#12385)
- standalone: no other dependencies than Python (>= 3.7) and adb
  (Android >= 4.3 [Jelly Bean])
- filter KOReader's traces, and other processes chatter about KOReader
  (e.g. mentions of its application ID or PID)
- show time, PID, TID (when different), tag, priority, and message
- only parse the log (don't rely on `adb shell` commands)
- can be used as a filter, including on its own (uncolored) output
- we can simplify instructions to users when asking for detailed logs

Why not use pidcat?
- project is unmaintained
- does not support Python 3 (need at least one extra patch)
- mangle long lines by wrapping them, even when not outputting to a terminal,
  which is a big no-no, IMHO (as it break searching, copy pasting, etc…)
2024-08-25 23:41:25 +02:00
David
dd9f96eddb
ReaderFooter: fix page-turn item (#12388)
Account for per-document reading order direction adjustments.
2024-08-25 22:44:19 +02:00
poire-z
96312bfa10 HtmlBoxWidget: help MuPDF with block elements it doesn't know
MuPDF's own stylesheet is incomplete, and doesn't specify that
a few common (and uncommon) elements are display:block, so it
would consider them inline, and render them badly (MuPDF also
doesn't handle well <BR/> inside inline elements, so this
fixes <br/> ones in these elements).
Fix this in HtmlBoxWidget so it solves any issue in HTML
dict and popup footnote.
For popup footnotes, also include crengine internal block
elements, as we may indeed get them in the HTML content.
2024-08-25 22:39:31 +02:00
poire-z
837b32906a TextBoxWidget: fix handling of Home/End keys on a scrollable edit box 2024-08-25 22:39:31 +02:00
poire-z
9f308399f9 Book style tweak editor: fix double notification on discard
Avoid two identical stacked notifications "Book tweak not modified"
after Close + Discard when text was modified.
2024-08-25 22:39:31 +02:00
poire-z
db8786f058 ReaderRolling: fix batched notifications sometimes not shown
When a profile changes a few settings (ie. font), a few notifications
may be stacked, before the single rerendering happens. If that rendering
takes some time, the notifications' timeout may close them as soon
as it is done, before they get a chance to be painted/refreshed.
So, delay a bit more that rerendering to be sure the notifications
are shown.
2024-08-25 22:39:31 +02:00
NiLuJe
9cd305177e
FocusManager: Fix focus_flags check in moveFocusTo, and deal with the fallout (#12361)
* FocusManager: Fix `focus_flags` check in `moveFocusTo` (0 is truthy in Lua, can't do AND checks like in C ;).)
* FileManager+FileChooser: Pass our custom title bar directly to FileChooser (which also means we can now use FC's FocusManager layout directly).
* FileChooser/Menu: Get rid of the weird `outer_title_bar` hack, and simply take a `custom_title_bar` pointer to an actual TitleBar instance instead.
* FileManager/Menu/ListMenu/CoverMenu: Fix content height computations in `_recalculateDimen` (all the non-FM cases were including an old and now unused padding value, `self.header_padding`, leading to more blank space at the bottom than necessary, and, worse, leading to different item heights between FM views, possibly leading to unnecessary thumbnail scaling !)
* ButtonDialog: Proper focus management when the ButtonTable is wrapped in a ScrollableContainer.
* ConfigDialog: Implement a stupid workaround for a weird FocusManager issue when going back from `[⋮]` buttons.
* ConfigDialog: Don't move the visual focus in `update` (i.e., we use `NOT_FOCUS` now that it works as intended).
* DictQuickLookup: Ensures the `Menu` key bind does the exact same thing as the hamburger icon.
* DictQuickLookup: Ensure we refocus after having mangled the FocusManager layout (prevents an old focus highlight from lingering on the wrong button).
* FileChooser: Stop flagging it as no_title, because it is *never* without a title. (This behavior was a remnant of the previous FM-specific title bar hacks, which are no longer a thing).
* FileChooser: Stop calling `mergeTitleBarIntoLayout` twice in `updateItems`. We already call Menu's, which handles it. (Prevents the title bar from being added twice to the FocusManager layout).
* FocusManager: Relax the `Unfocus` checks in `moveFocusTo` to ensure we *always* unfocus something (if unfocusing was requested), even if we have to blast the whole widget tree to do so. This ensures callers that mangle self.layout can expect things to work after calling it regardless of how borked the current focus is.
* FocusManager: Allow passing `focus_flags` to `refocusWidget`, so that it can be forwarded to the internal `moveFocusTo` call.
* FocusManager: The above also allows us to enforce a default that ensures we do *not* send a Focus event on Touch devices, even if they have the hasDPad devcap. This essentially restores the previous/current behavior of not showing the visual feedback from such focus "events" sent programmatically, given the `focus_flags` check fix at the root of this PR ;).
* InputDialog: Fix numerous issues relating to double/ghost instances of both InputText and VirtualKeyboard, ensuring we only ever have a single InputText & VK instance live.
* InputDialog: Make sure every way we have of hiding the VK play nice together, especially when the `toggleKeyboard` button (shown w/ `add_nav_bar`) is at play. And doubly so when we're `fullscreen`, as hiding the VK implies resizing the widget.
* InputText: Make sure we're flagged as in-focus when tapping inside the text field.
* InputText: Make sure we don't attempt to show an already-visible VK in the custom `hasDPad` `onFocus` handler.
* Menu: Get rid of an old and no longer used (nor meaningful) hack in `onFocus` about the initial/programmatically-sent Focus event.
* Menu: Get rid of the unused `header_padding` field mentioned earlier in the FM/FC fixes.
* Menu: Use `FOCUS_ONLY_ON_NT` in the explicit `moveFocusTo` call in `updatePageInfo`, so as to keep the current behavior of not showing the visual feedback of this focus on Touch devices.
* Menu: Make sure *all* the `moveFocusTo` calls are gated behind the `hasDPad` devcap (previously, that was only the case for `updatePageInfo`, but not `mergeTitleBarIntoLayout` (which is called by `updateItems`).
* MultiInputDialog: Actively get rid of the InputText & VK instances from the base class's constructor that we do not use.
* MultiInputDialog: Ensure the FocusManager layout is *slightly* less broken (password fields can still be a bit weird, though).
* TextViewer: Get rid of the unfocus -> layout mangling -> refocus hack now that `refocusWidget` handles this case sanely.
* VirtualKeyboard: Notify our parent InputDialog when we get closed, so it can act accordingly (e.g., resize itself when `fullscreen`).
* ScrollableContainer: Implement the necessary machinery for focus handling inside ButtonDialog (specifically, when scrolling via PgUp/PgDwn).
* TextEditor: Given the above fixes, the plugin is no longer disabled on non-touch devices.
* ReaderBookMark: Make sure we request a full refresh when closing the "Edit note" dialog, as CRe highlights may extend past its dimensions, and if it's closed separately from VK, the refresh would have been limited to its own dimensions, leaving a neat InputDialog-sized hole in the highlights ;).
2024-08-25 19:34:31 +02:00
David
4910afffdd
Add numerical key_codes to event_map on kindle 3 (#12358) 2024-08-24 14:17:40 +02:00
Frédéric Brière
39fa008e21
Bookmarks: refresh list entry when closing Bookmark details dialog with X (#12390)
Also: refresh dogear state for current page when closing Page browser
or Book map, as we may have toggled bookmark on it.
2024-08-21 23:46:51 +02:00
hius07
9c001a660a
PDF: no "Contrast set to" notification on opening (#12391) 2024-08-21 20:57:22 +03:00
hius07
64094435f2
filemanagercollection: fix context menu (#12383) 2024-08-21 20:55:02 +03:00
hius07
415ce40f84
Touch menu: always go up to correct parent page (#12378) 2024-08-21 20:53:45 +03:00
David
698fc35c3f
Minor keyboard corrections (#12372) 2024-08-20 12:01:27 +02:00
charrarr
ab47bd10a4
Screensaver: add option to rotate to fit screen (#12366) 2024-08-19 20:57:02 +02:00
zwim
004311e2aa
Fix terminal broken cursor and backspace (#12375)
This shall fix #12271

Use $SHELL env-variable if available. (thanks to @Frenzie)

Use a read line wrapper (either rlfe or rlwrap) if available so that dash can be used as interactive shell.
2024-08-19 20:18:37 +02:00
Benoit Pierre
92ab1f01bc
ci/macos: fix homebrew packages install (#12382) 2024-08-19 20:17:14 +02:00
hius07
ed9cde8feb
UX minor fixes (#12374) 2024-08-19 08:10:14 +03:00
hius07
f0c9a642d1
ReaderStatus, Book status widget: cleanup (#12343) 2024-08-19 08:05:19 +03:00
charrarr
91c15d5277
ReaderFont: display preview of italic-only fonts in italic (#12351)
In font selection menus, ask creengine for italic versions
of fonts if there's no regular version to preview.
Also prevents a crash when a font can't be previewed in
the font family menu.
2024-08-18 09:28:23 +02:00
Benoit Pierre
2403087f68
doc: update Android build instructions (#12368) 2024-08-17 22:50:21 +02:00