Commit Graph

209 Commits

Author SHA1 Message Date
hius07
d5ba5e3baf CoverBrowser main: fix Settings menu position (#13516)
Some checks failed
macos / macOS 13 x86-64 🔨15.2 🎯10.15 (push) Has been cancelled
macos / macOS 14 ARM64 🔨15.4 🎯11.0 (push) Has been cancelled
2025-04-07 18:53:37 +03:00
hius07
7453c786de Selected files: more actions (#13510) 2025-04-07 12:56:37 +03:00
hius07
93ee0a1415 File browser: sort by metadata (#13437)
Some checks are pending
macos / macOS 13 x86-64 🔨15.2 🎯10.15 (push) Waiting to run
macos / macOS 14 ARM64 🔨15.4 🎯11.0 (push) Waiting to run
2025-03-24 19:12:46 +02:00
hius07
5463ab641e CoverBrowser list mode: fix shortcut icon position (#13429)
Some checks are pending
macos / macOS 13 x86-64 🔨15.2 🎯10.15 (push) Waiting to run
macos / macOS 14 ARM64 🔨15.4 🎯11.0 (push) Waiting to run
2025-03-19 08:01:09 +02:00
hius07
f1726a9e5d FileSearcher: consistent results window (#13298) 2025-02-27 18:45:52 +02:00
hius07
7c45700ceb Collections: sort (#13264)
Some checks are pending
macos / macOS 13 x86-64 🔨15.2 🎯10.15 (push) Waiting to run
macos / macOS 14 ARM64 🔨15.4 🎯11.0 (push) Waiting to run
2025-02-22 10:17:19 +02:00
hius07
a641207f79 bookinfomanager: handle zip (#13290)
Some checks are pending
macos / macOS 13 x86-64 🔨15.2 🎯10.15 (push) Waiting to run
macos / macOS 14 ARM64 🔨15.4 🎯11.0 (push) Waiting to run
2025-02-21 08:51:23 +02:00
hius07
17504993ae CoverBrowser info_cache: move to core (#13018)
Some checks failed
macos / macOS ${{ matrix.image }} ${{ matrix.platform }} 🔨${{ matrix.xcode_version }} 🎯${{ matrix.deployment_target }} (10.15, 13, x86-64, 15.2) (push) Has been cancelled
macos / macOS ${{ matrix.image }} ${{ matrix.platform }} 🔨${{ matrix.xcode_version }} 🎯${{ matrix.deployment_target }} (11.0, 14, ARM64, 15.4) (push) Has been cancelled
2025-01-18 10:08:18 +02:00
Frans de Jonge
bb93c44346 [minor] Normalize more requires (#13074)
I thought I had them all in <https://github.com/koreader/koreader/pull/13055> but I seem to have missed a few.
2025-01-17 21:20:16 +01:00
hius07
f0a3e1c63a File list: new display options (#12954)
Some checks are pending
macos / macOS ${{ matrix.image }} ${{ matrix.platform }} 🔨${{ matrix.xcode_version }} 🎯${{ matrix.deployment_target }} (10.15, 13, x86-64, 15.2) (push) Waiting to run
macos / macOS ${{ matrix.image }} ${{ matrix.platform }} 🔨${{ matrix.xcode_version }} 🎯${{ matrix.deployment_target }} (11.0, 14, ARM64, 15.4) (push) Waiting to run
2025-01-05 18:59:28 +02:00
Frans de Jonge
a707b7c163 [plugin, i18n] CoverBrowser: add missing plural (#12968) 2025-01-01 10:56:04 +01:00
hius07
0114954fc1 CoverBrowser BookInfoManager: lite getDocProps() (#12936) 2024-12-27 08:16:47 +02:00
hius07
72086b7a26 CoverBrowser: minor fix and remove unused (#12895)
Remove unused UIManager:clearRenderStack().
Previously it was used by CoverBrowser plugin when extending the FileManager popup file dialog with aditional buttons.
Now the buttons are inserted through the api added in https://github.com/koreader/koreader/pull/12845.
2024-12-15 09:14:01 +02:00
hius07
157c03c42d FileManager: Plus dialog button from CoverBrowser (#12857) 2024-12-07 09:18:18 +02:00
hius07
cd8ef3ceb5 FileManager, History, Collections: expose file dialog buttons (#12845) 2024-12-05 18:54:32 +02:00
hius07
8b710d183c Focus: fixes (#12688) 2024-10-30 20:09:59 +02:00
mergen3107
f8446538c0 Fix KOReader spelling in the code (#12670) 2024-10-24 10:46:46 +02:00
NiLuJe
fdd342de40 Menu: Fix fallout from #12583 on hasDPad devices (#12657)
Tweak `mergeTitleBarIntoLayout` to keep the current selection (adjusted for the added rows) instead of resetting the focus.

It only actually called `moveFocusTo` on `hasDPad` devices, which explains why this was missed during testing.

Fix https://github.com/koreader/koreader/pull/12583#issuecomment-2423554770
2024-10-21 13:35:44 +02:00
hius07
ce7fcff360 Menu widget: draw focus on focused item (#12583) 2024-10-13 18:02:51 +03: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
3992438872 [CoverBrowser.MosaicMenu] Increase focus underline thickness (#12189) 2024-08-05 10:19:16 +02:00
NiLuJe
d59c837714 Kobo: Refactor various aspects of the Kaleido/MTK support (#12221)
* UIManager: Let the fb backend deal with Kaleido wfm promotion. This fixes a number of quirks that poisoned the refresh queue with spurious full-screen refreshes. See https://github.com/koreader/koreader-base/pull/1865 for more details.
* This also means we now disable Kaleido waveform modes when color rendering is disabled (remember to trash your thumbnail cache if you don't want to mix color w/ grayscale thumbnails, though).
* UIManager: Merge refreshes that share an edge, because that was driving me nuts (and would have most likely been merged by the kernel anyway). A perfect test-case is the FM, which trips two separate refreshes because of its title bar.
* ReaderFlipping: Use sensible dimensions, so that we only refresh the icon's region.
* ReaderBookmark: Only refresh the dogear instead of the whole page when toggling bookmarks.
* NetworkSetting: Make it a real boy, so it consistently refreshes properly on dismiss instead of relying on UIManager saving the day.
* Kobo: Aggressively prevent *both* suspend & standby while MTK devices are plugged-in, as both will horribly implode the kernel (we previously only prevent standby while charging).
* Kobo: Switch to 8bpp on B&W MTK devices (or when color rendering is disabled on Kaleido panels).
2024-07-28 01:19:40 +02:00
hius07
ed550948a9 mosaicmenu: fix collection mark (#11969) 2024-06-05 07:48:29 +03:00
hius07
14519bc076 Dispatcher: add File browser actions 'Set display mode', 'Sort By' (#11921) 2024-06-01 10:33:14 +03:00
SomeGuy
eb63cf655f CoverBrowser: update MosaicMenu FocusManager grid view to 2D (#11906)
This PR [and #11884] are for #11834.
2024-05-27 11:03:06 +02:00
hius07
c6e6d72cf3 Collections: add collection mark to books (#11868) 2024-05-26 08:18:44 +03:00
hius07
c47d3b3177 Menu widget: cleanup (#11759) 2024-05-07 09:34:30 +03:00
hius07
d82815952e Annotations, part 1 (#11563)
New format to handle annotations (page bookmarks, highlights, notes) and store them in the book metadata files.
2024-05-03 09:08:57 +03:00
hius07
6b0d97bf22 Multiple collections (#11693) 2024-05-01 09:01:59 +03:00
hius07
c8c4e0301a covermenu: fix file dialog (#11576) 2024-03-20 11:02:01 +02:00
hius07
66afeebe85 CoverBrowser: show cached cover of deleted file in history (#11523) 2024-03-09 17:02:31 +02:00
hius07
5d4747c593 FileManager: less lfs calls (#11452)
Use item info provided by FileChooser.
Also fix showing PathChooser with invalid path,
and fix issue when opening non-supported files.
2024-02-17 01:17:59 +01:00
hius07
50fcc04725 CoverBrowser: do not call lfs on every item (#11449) 2024-02-08 07:57:19 +02:00
hius07
b8090c641c Minimize DocSettings:open() calls (#11437) 2024-02-07 10:35:52 +02:00
hius07
d94b819eb1 CoverBrowser: use bookinfo cache in Classic mode (#11404)
Getting bookinfo from the cache db is much faster than opening a book, let's use it in Classic mode too.

With fallback if no metadata available.
2024-01-26 22:01:45 +01:00
hius07
b832d43d98 CoverBrowser: fix classic mode update cache (#11398) 2024-01-23 08:17:47 +01:00
NiLuJe
90ae4acca6 Chore: Review FrameContainer constructors for shared dimen objects
Nothing else seems problematic, this is mostly just cosmetic sanitization
around Geom objects.
2024-01-19 00:08:10 +01:00
NiLuJe
65e22ceafc Widgets: Fix a bunch of regressions after the FrameContainer change in #11364
FrameContainer now preserves its self.dimen, which means it cannot be
shared with another widget or container that might also modify it during
painting ;).

Fix #11370
Fix https://github.com/koreader/koreader/pull/11364#issuecomment-1894454657
Fix #11379
2024-01-19 00:08:10 +01:00
hius07
e0ed04a1a1 CoverBrowser: fix cover cache check #2 (#11380) 2024-01-17 18:05:09 +02:00
hius07
43831236ce CoverBrowser: doc_settings cache improvement (#11360) 2024-01-17 09:58:21 +02:00
hius07
234a68d80b CoverBrowser: fix cover cache check (#11356) 2024-01-14 17:44:59 +01:00
hius07
ea9ef6781c CoverBrowser: adjustable mosaic grid (#11232) 2024-01-12 08:13:50 +02:00
hius07
e577c79d95 File search, FileChooser and others (#10994) 2023-10-12 08:58:52 +03:00
hius07
0ac258fcb7 Coverbrowser: event for cache refreshing (#10956) 2023-10-03 09:24:29 +03:00
Benoit Pierre
08555ad68b coverbrowser: make showing some metadata fields optional 2023-10-02 12:46:33 +02:00
Benoit Pierre
e8bc28db33 coverbrowser: minor simplification
Add a `toggleSetting` helper.
2023-10-02 12:46:33 +02:00
Benoit Pierre
7d3456edc1 [plugin] CoverBrowser: improve title & authors layout (#10942)
- handle possible height overflow
- now that labels don't overflow, increase the minimum font size
2023-09-29 10:05:03 +02:00
hius07
108d87742a Custom metadata: fixes (#10889) 2023-09-12 07:54:38 +03:00
hius07
e4ba8c7909 Custom metadata: event (#10869) 2023-09-06 09:41:10 +03:00
hius07
ed2ea6803f Custom metadata (#10861) 2023-09-01 08:07:29 +03:00