2
0
mirror of https://github.com/koreader/koreader synced 2024-11-10 01:10:34 +00:00
koreader/plugins
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
..
archiveviewer.koplugin TextViewer: add dialog to set font size and justify text (#11210) 2023-12-14 07:50:54 +02:00
autodim.koplugin [plugin] AutoDim: reset counter on page turn (#11984) 2024-06-05 21:17:49 +02:00
autofrontlight.koplugin Kindle: Add a hasLightSensor devcap, and use it in the AutoFrontlight plugin (#11255) 2023-12-24 17:15:30 +01:00
autostandby.koplugin [plugin] AutoStandby: Make "Update" string translatable (#9655) 2022-10-20 19:35:09 +02:00
autosuspend.koplugin NetworkMgr: Handle non-blocking turnOnWifi implementations better (#10863) 2023-09-21 18:21:09 +02:00
autoturn.koplugin PM: Optimize task queue handling around standby (#10203) 2023-04-05 20:54:47 +02:00
autowarmth.koplugin [AutoWarmth] Delay front light actions after resume (#12315) 2024-08-09 19:42:13 +02:00
backgroundrunner.koplugin lint: fix issues reported by newer shellcheck / shfmt 2024-06-15 23:02:52 +02:00
batterystat.koplugin Duration format: add "Letters" format (1h30m10s) (#9924) 2023-02-12 23:22:11 +01:00
bookshortcuts.koplugin Clarify our OOP semantics across the codebase (#9586) 2022-10-06 02:14:48 +02:00
calibre.koplugin Calibre Metadata: Flag array & objects as such in the "safe" parser 2024-06-09 19:28:21 +02:00
coverbrowser.koplugin FocusManager: Fix focus_flags check in moveFocusTo, and deal with the fallout (#12361) 2024-08-25 19:34:31 +02:00
coverimage.koplugin [CoverImage] Honor rotation after opening of a book (#11752) 2024-05-06 22:53:13 +02:00
docsettingtweak.koplugin copt deduplicate: font_size, visible_pages (#10882) 2023-09-09 09:24:05 +03:00
exporter.koplugin Annotations: fix exporting (#12261) 2024-08-01 13:14:46 +03:00
externalkeyboard.koplugin Input: Some more followups to the input device auto-detection stuff (#11855) 2024-05-19 22:53:14 +02:00
gestures.koplugin Touch menu: always go up to correct parent page (#12378) 2024-08-21 20:53:45 +03:00
hello.koplugin Clarify our OOP semantics across the codebase (#9586) 2022-10-06 02:14:48 +02:00
httpinspector.koplugin HttpInspector: allow browsing global variables 2024-05-05 21:02:21 +02:00
japanese.koplugin Cleanup various varargs shenanigans (#9624) 2022-10-12 19:59:48 +02:00
keepalive.koplugin UX: a set of minor fixes (#10165) 2023-02-28 09:19:17 +02:00
kosync.koplugin InputContainer: consistent input type in onInput() (#12012) 2024-06-15 09:54:17 +03:00
movetoarchive.koplugin Fix "Move current book to archive" (#11321) 2024-01-05 19:33:20 +01:00
newsdownloader.koplugin NewsDownloader: use <content:encoded> from RSS item, if available (#11694) 2024-04-18 13:24:08 +02:00
opds.koplugin OPDS: Don't append Search twice for feeds with an OpenSearchDescription 2024-06-04 20:28:34 +02:00
patchmanagement.koplugin TextViewer: add dialog to set font size and justify text (#11210) 2023-12-14 07:50:54 +02:00
perceptionexpander.koplugin Optimization: Use constant folding for divisions not a power of two (#9609) 2022-10-10 22:21:27 +02:00
profiles.koplugin Profiles: make sure to close menu/quickmenu before executing action (#12299) 2024-08-06 15:15:08 +02:00
qrclipboard.koplugin Clarify our OOP semantics across the codebase (#9586) 2022-10-06 02:14:48 +02:00
readtimer.koplugin [plugin] Reader footer: check if header resp. footer are available (#12264) 2024-08-03 16:38:56 +02:00
SSH.koplugin SSH.koplugin: fix cant stop SSH server bug when pid file's stale (#10300) 2023-04-05 08:39:56 +02:00
statistics.koplugin InputContainer: consistent input type in onInput() (#12012) 2024-06-15 09:54:17 +03:00
systemstat.koplugin History: update last book access time (#10156) 2023-02-23 19:23:30 +02:00
terminal.koplugin Fix terminal broken cursor and backspace (#12375) 2024-08-19 20:18:37 +02:00
texteditor.koplugin FocusManager: Fix focus_flags check in moveFocusTo, and deal with the fallout (#12361) 2024-08-25 19:34:31 +02:00
timesync.koplugin TimeSync: Double-check that ntpd is busybox (#10992) 2023-10-11 20:17:15 +02:00
vocabbuilder.koplugin VocabBuilder: fix and improve non-touch device experience (#12030) 2024-06-16 13:10:37 +02:00
wallabag.koplugin Wallabag: properly deal with mimetype actually being content-type (#11532) 2024-03-13 12:47:13 +01:00