2
0
mirror of https://github.com/koreader/koreader synced 2024-11-18 03:25:46 +00:00
Commit Graph

5124 Commits

Author SHA1 Message Date
hius07
99edc53919 BookStatusWidget: insert TitleBar 2022-02-02 17:05:28 +01:00
NiLuJe
035b24bb81 UIManager: Give more time to the kernel to figure out if we're actually
plugged in...
2022-02-02 00:37:05 +01:00
NiLuJe
0408816a54 ReaderFooter: Take the PowerCover into account in the battery level
widget

Since we only use a single icon, we have to take a few shortcuts:

* The icon itself is computed based on the average of both batteries.
* The actual value is the sum of both batteries.
* Much like everywhere else, charging means the *aux* battery charging
  (i.e., connected to a power source).

Re #8741, which does the same for ReaderHeader.
2022-02-02 00:37:05 +01:00
NiLuJe
5518a8109b PowerD: Ensure we actually pull battery capacity during early boot.
(i.e., when MONOTONIC returns something lower than 60).

Fix https://github.com/koreader/koreader/pull/8711#issuecomment-1021106079
2022-02-02 00:37:05 +01:00
zwim
43f14b313f
AltStatusBar: take the PowerCover into account in the battery level (#8741)
Don't show [+] in top status line when device is charging
from a power cover, but the sum of both battery levels.
2022-02-01 21:15:49 +01:00
hius07
c1c89dd611
TouchMenu: use radio buttons for single choice menu items (#8757) 2022-02-01 20:56:28 +01:00
poire-z
d39f4ea35e CRE: fix switching to scroll mode from 2-pages mode 2022-01-31 23:57:48 +01:00
poire-z
f764a61b69 KeyValuePage: allow for more fancy callbacks
Add support for hold_callback.
Provides kv_page and kv_item to callbacks.
Allow for item removal and refresh.
2022-01-31 23:57:48 +01:00
Martín Fernández
f0197423ad
remove send2ebook plugin (#8747) 2022-01-30 22:01:51 +01:00
Andrej Shadura
f3ac95321b
PocketBook: make canAssociateFileExtensions always return true (#8729)
This change drops the #koreader signature check. 

This check prevents KOReader from modifying associations if something else has changed the file without putting a verbatim "#koreader" string back.

While this prevents KOReader from interfering with another application or the system trying to own the file, it also leads to hard to diagnose issues, when the user can inadvertently change associations without realising they’re doing so, and being unable to return back.
2022-01-30 22:01:28 +01:00
Robert-Jan de Dreu
e8fa5bdedd
PocketBook: Check NET_CONNECTED to see if wifi is really connected (#8730)
I've emailed with PocketBook about the problem with Wifi on the newer models. They explained the wrong constant was being used:

> Dear Robert,
>
> Thank you for choosing Pocketbook.
​
> Wi-Fi Connection" enabled when no connection:
> https://github.com/koreader/koreader/issues/8617  
> The problem is in incorrect usage of constant. You should use flag NET_CONNECTED with bit AND operation as shown in example below.
>
> function NetworkMgr:isWifiOn()
>     local state = inkview.QueryNetwork()
>     return band(state, C.NET_CONNECTED) ~= 0
> end
>
> Inkpad3 Wifi Standby
> https://github.com/koreader/koreader/issues/4747 
> the same solution for this issue

Related issues:
https://github.com/koreader/koreader/issues/8617
https://github.com/koreader/koreader/issues/4747

Since I made the previous hack and their suggestion seems to work on the PB741 color. I've made this PR to remove my hack.

It might be wise to also test this fix on older models.
2022-01-29 20:58:28 +01:00
roshavagarga
4f707bb49d
PocketBook: add support for PB617 (Basic Lux 3) (#8740) 2022-01-28 23:42:42 +01:00
hius07
1c863f76aa
Bookmarks: start Add note with empty text, add some buttons (#8738)
- New button Go to bookmark in Bookmark details dialog.
- New button Latest bookmark in the popup menu.
- Empty input box for new note, new button Paste to
  paste highlighted text (auto-text).
- Allow duplicated bookmarks to avoid orphaned highlights.
- TextBoxWidget: fix enabled up-arrow on empty box in InputDialog.
2022-01-28 22:59:25 +01:00
Philip Chan
978aa2006a
FocusManager:focusTopLeftWidget(): only if hasDPad (#8737)
Focusing (highlighting/inverting) widgets should not
happen on touch devices withoud DPad.
2022-01-28 22:55:26 +01:00
zwim
f2557a7aa6
Terminal emulator: full rewrite, real vt52 emulator (#8636)
New real terminal emulator, replacing the old plugin.
The emulator is basically a vt52 terminal (enriched with
some ANSI-sequences, as ash, vi and mksh don't behave well
on a vt52 term).
So far working: ash, mksh, bash, nano, vi, busybox, watch...
The input supports: tab-completion; cursor movement;
backspace; start of line, end of line (long press);
page up, page down (long press).
User scripts may be placed in the koterm.koplugin/scripts/
folder, aliases can be put in the file aliases and startup
command in the file profile.user in that folder.
2022-01-28 20:33:09 +01:00
Robert-Jan de Dreu
943dc99645
PocketBook: handle rendering of interface and books directly with inkview (#8727)
Use ffi/framebuffer_pocketbook.lua, using Pocketbooks's own
inkview library for framebuffer interactions.
2022-01-28 16:17:36 +01:00
hius07
b7a2a27590
Highlights: add strikeout style, fix pdf highlights (#8725)
- Add new strikeout highlight style.
- Fix highlight style in pdf documents (save_document enabled)
not updated when KOReader highlight style changed.
- Fix ugly combination of mupdf and KOReader highlights
2022-01-25 21:39:03 +01:00
poire-z
eb5e0f9be2 BookMap: long-press on (i) to switch current/initial views 2022-01-25 21:33:19 +01:00
poire-z
95b35ec669 Allow any multiswipe to close some fullscreen widgets
For consistency with BookMap and PageBrowser widgets
where swipe south (the usual gesture to quick close)
can't be used for closing and we had to use any
multiswipe instead, allow any multiswipe to close
these other fullscreen widgets too:
Menu (ToC, Bookmarks), KeyValuePage, ImageViewer,
BookStatusWidget, ReaderProgress, CalendarView.
2022-01-25 21:33:19 +01:00
Philip Chan
3af268dd7a
Non-Touch: improve bottom menu usability (#8712)
- FocusManager: allow managing sub widgets by merging their
  "layout" in the main one; make "press" support simpler by
  handling it as a fake tap event at the center of the
  focused widget.
- Setup gestures on non-touch devices for new focus manager.
- ToggleSwitch: use child layout.
- ButtonProgressWidget: use child layout.
- SpinWidget and DoubleSpinWidget: add keyboard navigation.
2022-01-25 01:32:46 +01:00
poire-z
21932c24a2
UI font fallbacks: allow using more "Noto Sans xyz" (#8722)
Add a submenu allowing users to add Noto Sans fonts
to be used as UI fallback fonts.
Lots of them are alrady there on Android, but can be
downloaded (manually) and side-loaded by the user
on other platforms.
2022-01-25 01:08:33 +01:00
hius07
a7842d134c ja_keyboard spinwidget: no default value in description 2022-01-24 22:27:45 +01:00
hius07
1ad7b7151a FilemanagerShortcuts: add Plus button 2022-01-24 22:27:45 +01:00
hius07
2e49b780bd InputText clipboard: disable Paste if empty 2022-01-24 22:27:45 +01:00
hius07
0cdbe91e2a KeyboardLayoutDialog: insert TitleBar 2022-01-24 22:27:45 +01:00
hius07
a3e901dcd3 OpenWithDialog: movable, addWidget 2022-01-24 22:27:45 +01:00
Martín Fernández
4423082949
Colordict: use generic send intent. (#8721)
Its custom intent was borked on last update and doesn't work anymore.

Fixes https://github.com/koreader/koreader/issues/8718
2022-01-24 18:04:34 +01:00
Martín Fernández
d67d92bcab
android screen: decouple epd and color properties (#8717)
also included new devices: 

- added onyx nova 3
- fixed onyx note 5
2022-01-24 16:01:33 +01:00
poire-z
16e3b2f0ac Allow Backspace to work as back button 2022-01-24 08:50:47 +01:00
John Beard
ccc49036aa Handle arrow keys and enter in emulator text fields 2022-01-24 08:50:47 +01:00
NiLuJe
e39ee325f9 Cleverer UIManager <-> PowerD circular dependency handling
Thanks to @poire-z ;).
2022-01-24 08:42:45 +01:00
NiLuJe
2462c1c5c1 PowerD: Make sure we immediately display accurate battery capacity on
resume.

(MONOTONIC doesn't trick during suspend, so we could happily display the
pre-suspend capacity for a while).
2022-01-24 08:42:45 +01:00
NiLuJe
69718d6ee1 PowerD: Fix a stupid typo in getCapacity
Regression since #8672
2022-01-24 08:42:45 +01:00
NiLuJe
689ec2a839 PowerD: Prevent potential dependency loop in get*Capacity
Not currently happening in vanilla code, but, not entirely unlikely.
stateChanged already uses a similar guard.

Re https://github.com/koreader/koreader/pull/8672#discussion_r790126388
2022-01-24 08:42:45 +01:00
Frans de Jonge
d7c00c586f
[lang] Add missing plurals to Dropbox download messages (#8705)
Fixes #6465.
2022-01-22 15:35:01 +01:00
poire-z
402b0cf895 Wikipedia: tweak EPUB css and footnote styletweaks
EPUB: have pages with footnotes marked as non-linear
so they can be hidden with "Hide non-linear flows".
In-page footnotes: keep the footnote number near the
left margin (a recent crengine renders them near the
text by default).
2022-01-21 21:36:10 +01:00
comphilip
f468f873bd
Support non-touch device to choose file or folder (#8696)
## Background
`pathchooser.lua` does not support non-touch device to choose file or folder due to those device cannot generate long press event.

## Choose File
Non-touch device can select file in list, it is good enough to choose file without long press to confirm.

## Choose Folder
`pathchooser.lua` changes the label of current directory `.` to `Long-press to choose a folder`. It is user friendly, while for non-device, it is a very good place to let user tell the system I want the current folder to be chosen without extra long press.
2022-01-21 18:28:04 +01:00
hius07
f83ee0d739
Bookmarks: do not duplicate datetime request on creation (#8699) 2022-01-21 17:56:08 +02:00
hius07
7783d9c8e3
InputDialog: insert TitleBar (#8695)
into InputDialog, MultiInputDialog, OpenWithDialog, LoginDialog widgets.
2022-01-20 12:36:35 +02:00
hius07
1c2b01a51e
Bookmarks: fix compare invalid xpointers (#8690) 2022-01-19 15:18:03 +02:00
NiLuJe
eb0c2bfc93 Kobo: Handle a few PowerCover quirks...
* The first few capacity reads after connecting to the cover may fail

* The PowerCover may trigger spurious move/add usb_plug uevent,
which translate into Charging events for us.
Instead of blindly lighting up the charging LED on those,
check if the device is actually charging, first.
2022-01-19 12:44:35 +01:00
NiLuJe
7018853940 Stash enableCPUCores in CanvasContext
Avoids requring Device direction in Document.

The method needs complete access to the Device object, though, so it's
just another layer of indirection, with an extra reference on the Device
object stashed in CanvasContext...
(much like it already does for Screen)
2022-01-19 12:44:35 +01:00
NiLuJe
5e3790677e OPDS: Add standard ebooks feed to existing installs
c.f., https://github.com/koreader/koreader/pull/8606#issuecomment-1008327687
2022-01-19 12:44:35 +01:00
NiLuJe
607f5db1dd Kobo: Accurately toggle the charging LED on startup
Kobo: Also refresh charging LED state on resume
2022-01-19 12:44:35 +01:00
NiLuJe
dc98384177 PowerD: Add a framework to report the status of auxiliary batteries
Implement it on the Kobo Sage, for the PowerCover

TouchMenu: Display auxiliary battery status

Kobo: More accurately report the PowerCover's charging status

i.e., try to actually figure out if the auxiliary battery is charging
instead of just checking the reader's battery (because that one will
often swap between the charging and discharging state as it drains the
aux battery...).

PowerD: Use a cached timestamp when doing battery pull checks
2022-01-19 12:44:35 +01:00
poire-z
0216493c43 Wikipedia: rework wiki languages internal handling
Fix various issues with stacked Wikipedia lookup results,
and follow up lookups when invoked from Wikipedia lookup
history (where going to a search for language LL would
not use language LL when hitting "Full wikipedia").
2022-01-19 12:23:38 +01:00
poire-z
dccd0da4cc Fix hold duration in text/html box widgets
Fix very-long-press in DictQuickLookup that should allow
doing the query to the other domain (dict/wiki) instead
of the current one.
Similar to 7dea979.
2022-01-19 12:23:38 +01:00
hius07
ca6d82e668
More widgets: insert TitleBar (#8683)
SpinWidget, DoubleSpinWidget, DateTimeWidget, RadioButtonWidget got new TitleBar.
2022-01-19 13:02:13 +02:00
yparitcher
87dbb9885e FM select mode: let the icon survive through reinit not only rotation 2022-01-18 09:35:32 +01:00
yparitcher
0508014c1b SDL & Android: Do not set FM banner on resize
regression from #8648

FileManager.instance.banner was removed and replaced with TitleBar
2022-01-18 09:35:32 +01:00
hius07
2a244278e3
Translator: copy translation to clipboard or save to note (#8669) 2022-01-16 21:54:08 +02:00
zwim
8b43811812
Reset to one core (#8579) 2022-01-16 18:19:27 +01:00
hius07
958077364a
Filemanager: insert TitleBar (#8648) 2022-01-12 19:41:52 +02:00
hius07
5c39c19a73
[chore] Remove leftover: cface (#8659)
Ancient menu widget had it.

Not used anymore.
2022-01-12 13:32:03 +01:00
hius07
1bfb49c6a5
PathChooser: add left Home button (#8646) 2022-01-11 14:47:06 +02:00
Andrej Shadura
11cd34973b
Pocketbook: switch the Wi-Fi on before attempting to connect (#8546)
Fixes #4747.

Apparently, inkview.NetConnect() doesn’t enable the Wi-Fi on its own,
this results in a failure if the device has been put into the sleep or
standby mode, when the Wi-Fi hardware is powered down.

Signed-off-by: Andrej Shadura <andrew.shadura@collabora.co.uk>
2022-01-11 12:41:19 +01:00
poire-z
99171b5267
ReaderBookmark: fix issue with unit tests (#8645)
Revert some bits from 55532b13, as the otherwise uneeded
CenterContainer is used by unit tests.
2022-01-10 23:07:39 +01:00
hius07
55532b1397
Menu widget: insert TitileBar (#8639) 2022-01-10 21:21:39 +02:00
poire-z
6fd4805bd1 ImageViewer: update to TitleBar widget
Rewrite widget layout building and update logic.
2022-01-10 19:59:11 +01:00
poire-z
2d7d6fe088 TitleBar: new options for subtitle and icon rotation 2022-01-10 19:59:11 +01:00
poire-z
a6b09c2981 BookMap, PageBrowser: make help_text translatable
Minor wording update.
Add a larger and thicker info.svg for their top left icon.
2022-01-10 19:59:11 +01:00
poire-z
ad0454dcdf KeyValuePage, Sortwidget: fix RTL mirrored layout 2022-01-10 19:59:11 +01:00
poire-z
9e1f1f19cc Style tweaks: add "Ignore publisher line-break restrictions" 2022-01-10 19:59:11 +01:00
hius07
9f6355e0ed
SortWidget: insert TitleBar (#8627) 2022-01-08 18:45:54 +02:00
hius07
1bd7b4f088
TextViewer: insert TitleBar (#8625) 2022-01-08 18:45:18 +02:00
poire-z
a1cbc3bb9e KeyValuePage: update to TitleBar widget 2022-01-08 17:43:35 +01:00
poire-z
48ca7e820c DictQuickLookup: update to TitleBar widget
Also tweak ReaderHighlight:onHoldRelease() to avoid
doing its stuff when onHold() is clearing highlight
(previous CheckButton was closing/clearing on hold
release, new TitleBar close button does that on hold).
2022-01-08 17:43:35 +01:00
poire-z
4546d826ee TitleBar: new options, dedicated close button
- Fix hold callback name
- Add options to handle long titles (truncated by default):
  "title_multines" and "title_shrink_font_to_fit" (allowing
  setTitle() with them makes the code a bit more complex).
- Add options to set bottom line color and horizontal padding.
- Use an added close.svg (based on exit.svg, tweaked to have
  similar size and baseline as other icons) for close button.

IconButton:
- handle hold/hold_release similar to Button.
- new option allow_flash to allow disabling flashing.
2022-01-08 17:43:35 +01:00
hius07
6a5f330b3b
Fix djvu crash on long-press on scanned text (#8626) 2022-01-08 08:39:13 +02:00
Robert-Jan de Dreu
e2a5fd5c36
[Pocketbook] wifi: fallback to new API when old API is out of bounds 2022-01-07 21:39:40 +01:00
hius07
00b08d7b54
Bookmarks: fix sort within one page (#8616)
Accurate sorting of bookmarks located in one page depending on their positions in text.
2022-01-06 21:54:33 +02:00
ichnilatis-gr
7163a392a8
Update el_keyboard.lua (#8622)
Adding some combinations with accents and breathings.
2022-01-06 16:26:09 +01:00
poire-z
bc16b32395 Add Book map and Page browser features
- Book map: shows a map of content, including TOC,
  boomarks, read pages, non-linear flows...
- Page browser: shows thumbnails of pages.

- ReaderThumbnail: new Reader module that provides
  a service for generating thumbnails of book pages.
  It makes available these 2 new fullscreen widgets.
- ReaderBookmark, ReaderLink, Statistics: add methods
  to return new views of bookmarks, previous locations
  and read pages, that are needed by BookMapWidget.
- ReaderToc: compute TOC max_depth.
- ReaderBookmark, ReaderHighlight: send events on
  bookmark add/update/remove so thumbnails of the
  pages impacted can be trashed.
2022-01-04 21:59:37 +01:00
poire-z
2530e954a2 Add TitleBar widget
Existing widgets building their own title bar with help
of CloseButton should progressively be updated to use
this, for clarity, consistency, and less code duplication.
2022-01-04 21:59:37 +01:00
hius07
9bb096484a
FileChooser: show nb of files and subdirs in folders (#8598)
On folders, instead of "5 items", show "2 dirs 3 files"
separately (using symbols for "dirs" and "files").
Also fix: if files filtering is enabled, PathChooser did
show the full number of files in subfolders, instead
of the number of filtered files.
2022-01-04 21:34:22 +01:00
hius07
eae07af157
Dropbox: upload file, create folder (#8610) 2022-01-04 13:29:08 +02:00
zwim
6c9e222d33
Screensaver: allow limiting stretch of covers and images (#8570)
ImageWidget: adds stretch_limit_percentage parameter.
Add support for screensaver on the emulator, for easier testing.
2022-01-02 23:13:19 +01:00
hius07
04763cdb18
ReaderHighlight leftover fix (#8609) 2022-01-02 21:16:34 +01:00
hius07
da7ef64773
Menu widget: title bar resize (#8603) 2022-01-02 20:12:52 +02:00
hius07
3450290af9
Bookmarks/Highlights: left button, show note in book (#8600)
Bookmark list: added title bar left button for multiple actions
Highlighted text: show note on tap
2022-01-02 20:09:53 +02:00
poire-z
b35c28e8b4
[Non-Touch] Don't add touch-related menu items (#8608)
They were ending up orphaned as "New:" in the top menu first tab.
2022-01-02 15:01:08 +01:00
hius07
dd07112de7
Filemanager select mode: add folder buttons (#8595)
"New folder" and "Folder shortcuts" buttons
2021-12-30 13:52:04 +02:00
Frans de Jonge
6bf85483a8
Style tweaks: add in-page classic classname Polish footnotes (#8587)
See <https://www.mobileread.com/forums/showthread.php?p=4183244#post4183244> for discussion.
2021-12-26 20:20:33 +01:00
Frans de Jonge
1622822931
[chore, CI] Remove unused logger require (#8588) 2021-12-25 23:11:25 +01:00
hius07
b8d6455c3f
[UX] CloudStorage redesign (#8569)
Cloud storage redesign, including:
(1) show server type in the list of storages
(2) add new cloud storage with a "plus" button (requires #8564)
(3) when browsing in a storage, the "plus" button is changed to the "home" button, to return to the CloudStorage home screen.
2021-12-25 22:57:51 +01:00
hius07
20e9f3e80a
textviewer: fix refresh (#8576)
When TextViewer is showing up, it causes screen refresh of the rectangle from the upper left corner of the screen (0,0) till the lower right corner of the TextViewer window (the result of `combine`).
So when the TextViewer is not full-screen, left and upper parts of the screen are refreshed.
This unpleasent screen flashing can be seen, for exampe, when showing book description from the Book information page, or when calling the clipboard (long-press on the text input box).
Let's show the TextViewer in a usual way, as (almost) all other widgets do.
2021-12-25 22:56:24 +01:00
hius07
a9229ec3aa
Menu widget: add extra (left) title button (#8564)
Customizable icon and actions on tap and long-press.
2021-12-24 13:21:12 +02:00
hius07
a024a42289
readhistory: fix file move/rename (#8575)
Reload updated history after file move/rename.
2021-12-22 13:51:58 +02:00
hius07
d0dd1ee888
[fix] readerhighlight: "View HTML" was always disabled (#8573) 2021-12-21 14:57:19 +02:00
hius07
f83eee02dd
[fix] filechooser: disable long-press in select mode (#8567) 2021-12-21 12:04:20 +01:00
Scarlett
8f1d219154
TextBoxWidget: add option to set bgcolor (#8559) 2021-12-17 00:49:53 +01:00
yparitcher
035be38430 Dispatcher: Set font
Closes: #8531
2021-12-16 15:32:40 -05:00
yparitcher
46f1f3eb5e Dispatcher: allow args_func 2021-12-16 15:32:40 -05:00
yparitcher
fd34daf224 Dispatcher: some of these are actually strings not numbers
partialy revert 4c0d11c6d9

Fixes: #8534
2021-12-16 15:32:40 -05:00
hius07
1df6ab751b
ButtonDialogTitle: no bold font in the title by default (#8557) 2021-12-16 14:46:53 +02:00
hius07
d4eecd9f00
SpinWidget in Dispatcher fix (#8558)
Enable SpinWidget OK button in dispatcher for unchanged value.
2021-12-16 13:55:05 +02:00
hius07
a703b213f7
File manager: group operations (#8536)
Copy/Move/Delete for group of files.
"Select files" button in the filemanager Plus menu.
2021-12-16 13:12:25 +02:00
ichnilatis-gr
59eaa471e6
Greek keyboard: ancient Greek numerals addition (#8554)
Added the Greek numerals for 6, 90 and 900, they are used
even today when we write numbers with Greek letters.
2021-12-16 10:39:41 +01:00
NiLuJe
a025863f54
TileCache: Preserve BlitBuffer's inversion & rotation (#8547)
* TileCache: Preserve BlitBuffer's inversion & rotation

This somehow fell through the cracks for all these years ;).

(We can't simply save the config field directly, because bb.fromstring
always generates an allocated bb, which may not be the case of the
source bb).

* Bump base

https://github.com/koreader/koreader-base/pull/1440
2021-12-13 02:15:00 +01:00
poire-z
5ed22cafb5
TextBoxWidget: fix crash in legacy mode (#8545)
Just do as in _measureWithXText(): convert to
string when text is not (ie. a number).
2021-12-10 15:28:22 +01:00
hius07
3deac02b71
ReaderHighlight: don't highlight text when long-press disabled (#8541) 2021-12-10 11:06:16 +02:00
yparitcher
2fe5ab0e7a
Trapper: fix doc (#8539) 2021-12-10 09:43:04 +01:00
poire-z
301eb387e9 ReaderRolling: fix a few re-rendering issues
When switching screen rotation, have the re-rendering
properly done only via :onUpdatePos().
When changing alt status bar font size, also have it
done via :onUpdatePos() instead of the next painting
(this also update any dogear position after the resize).
When in scroll mode (no alt status bar), be sure to
draw crengine progress bar at top (and not below the
not shown alt status bar).
2021-12-07 23:56:55 +01:00
hius07
4be2c81582
SpinWidget fix enable/disable OK button (#8529)
Regression since #8495. SpinWidget with value_table didn't work.
2021-12-07 22:10:52 +02:00
zwim
a001a13ab6
ReaderRolling: avoid ANR on Android when (re)rendering. (#8501)
Wrap document opening and re-renderings (which can block
the app for some time) with setIgnoreInput() to avoid ANR
on Android.
Any setting update that could possibly cause a re-rendering
should send the UpdatePos event, to ensure the re-rendering
happens in ReaderRolling:onUpdatePos() where precautions
are taken to avoid ANR.
2021-12-07 19:55:55 +01:00
hius07
02ddd41b38
OPDS: rename a book before downloading (#8520) 2021-12-07 15:06:37 +02:00
poire-z
cc4009e88f
ReaderDictionary: merge dict & dict_ext results (#8523)
So the presence of a dict_ext and results from it
are transparent to callers.
(This fixes the warning log when dict_ext is there.)
2021-12-07 13:51:27 +01:00
hius07
19271c08c4
Checkbutton widget optimization (#8522)
-checkmark toggling is separated from the callback
-default width added
2021-12-07 13:35:44 +02:00
Alberto
6ebcfd9e79
[fix, desktop] Use XDG_DATA_HOME to search for fonts (#8521)
Same as <https://github.com/koreader/koreader/pull/8507>.
2021-12-07 12:17:45 +01:00
Frans de Jonge
19a607b548
[i18n] Add context to "Update" (#8519)
In response to the comment by @ilyats on Weblate:

> Text appears in code twice, as menu item and as dialog button label. Ideally, translations should be different.
2021-12-06 13:07:06 +01:00
hius07
13d80739b6
docsettings fix no name file (#8517)
When trying to open/delete a supported document with empty name (eg .txt) got an error

./luajit: frontend/docsettings.lua:118: attempt to concatenate a nil value
2021-12-05 22:08:20 +01:00
Frans de Jonge
1c8ab19f83
[fix] gettext: don't replace backslash characters (#8511)
Everything in string.gsub() is replaced, not only the matching group. By using two groups, we can correctly return the full matched string when none of the special conditions apply.

Fixes <https://github.com/koreader/koreader/issues/8486>.
2021-12-04 19:01:12 +01:00
hius07
785eb5f3ef
Bookmark search (#8504)
From bookmark list, main menu and with a gesture.
2021-12-04 19:37:00 +02:00
Frans de Jonge
91c4aeb2e5
[i18n] Add context to CSS style vs highlight style (#8510)
Cf. <https://github.com/koreader/koreader/pull/8489#issuecomment-985319434>.
2021-12-04 12:51:38 +01:00
Frans de Jonge
d9730cf0fc
[chore, CI] Remove empty whitespace (#8506) 2021-12-03 07:48:40 +01:00
hius07
eda8379e8c
SpinWidget, DoubleSpinWidget: enable/disable OK button (#8495)
OK/Apply button is enabled only after changing the input value.
2021-12-01 19:58:48 +02:00
hius07
791bb380ab
ConfigDialog: fix set as default (#8498)
Fix "Set as default" action with SpinWidget and DoubleSpinWidget.
Correct name of the setting to be saved as default.
2021-12-01 17:41:30 +02:00
hius07
ad09411c3f
DoubleSpinWidget buttons move (#8490)
Move Default and extra buttons above Cancel/OK.
Default values shown in the default button.
Precisions can be set for both values separately.
Minor geometry fix for consistence with SpinWidget.
2021-12-01 12:42:54 +01:00
zwim
ef4d88ccd6
Battery stats plugin: tidy up, single page (#8491)
KeyValuePage: add a 'single_page' option to force
showing all items on a single page.
2021-12-01 12:39:48 +01:00
zwim
6a01abb52c
[doc] add documentation to a few widgets (#8425) 2021-12-01 12:37:18 +01:00
Dylan Garrett
7495ea29ef
InputDialog: add 'use_available_height' option (#8467)
Use it with bookmark edit, to allow entering longer notes.
2021-11-28 23:30:15 +01:00
Frans de Jonge
10305789dc
[i18n] Add context to various none/auto/small/medium/large (#8489)
Needed for Greek and possibly other languages.

Closes #8478.
2021-11-28 22:49:22 +01:00
zwim
b029a6a1ff
[autosuspend, plugin] Switch to datetimewidget and provide default values (#8480) 2021-11-28 22:18:44 +01:00
hius07
372dd9e36b
SpinWidget buttons move (#8485)
SpinWidget "Default value" and extra buttons move up.
Cancel/OK buttons row is in the bottom now.
Default value is shown in the Default button.
2021-11-27 19:10:54 +02:00
poire-z
56d54d2c1a Style tweaks: have "Justify most/all text" work on txt documents 2021-11-27 18:09:50 +01:00
Martín Fernández
3427c207b0
android: bump test activity (#8483)
Now users can test light drivers too. See https://github.com/koreader/android-luajit-launcher/pull/339#issuecomment-977822717
2021-11-25 22:04:09 +01:00
hius07
e66b26865b
Highlights backup fix (#8479)
Fixes opening book with old highlights, when (after deleting the last highlight on a page) empty table of highlights for this page was not deleted.
2021-11-24 19:14:13 +02:00
zwim
e9ba854ff0
DeviceMenu: Colons and more information (#8435)
Add information to device menu entries
2021-11-23 21:17:07 +01:00
hius07
3a7cba38c2
Customize page turns tap zones (#8475)
Settings for page turn tap zones position (vertical or horizontal) and width.
2021-11-23 19:16:10 +02:00
yparitcher
5dbeddd2a1
Wifi: toggle when connected even if offline (#8468) 2021-11-23 01:12:39 +01:00
hius07
1c9e21389d
Backup and restore bookmarks/highlights: fix logic (#8473) 2021-11-23 01:11:07 +01:00
Frans de Jonge
dcd34d409e
[chore] Change "filebrowser" to "file browser" (#8466) 2021-11-21 22:44:28 +01:00
Frans de Jonge
dc88fdc66d
[chore] Fix "Compact items" capitalization (#8465)
Follow-up to <https://github.com/koreader/koreader/pull/8424>.
2021-11-21 22:44:13 +01:00
Frans de Jonge
59d09f54f8
[bug] Don't translate empty strings (#8464)
Introduced in https://github.com/koreader/koreader/pull/8419

Unfortunately it's not just useless, but it causes some edge case issue.
2021-11-21 21:00:19 +01:00
yparitcher
8207bdc3e3
BookShortcuts plugin: folder support (#8449)
Allow setting a folder as a book shortcut, with 2 options:
- open file browser: opens the FM in that folder
- last book: opens the most recently read book (via
  ReadHistory) in that folder
2021-11-21 20:51:42 +01:00
hius07
0eeb8bd2b7
Backup and restore bookmarks/highlights when switching engines (#8455)
Bookmark/highlight formats in crengine and mupdf are incompatible.
This backups and restores bookmarks and highlights when opening the
document with an incompatible engine, instead of deleting them.
2021-11-21 20:41:58 +01:00
poire-z
6f2fdd96f8
[chore] Fix a few luacheck errors (#8461) 2021-11-21 19:33:09 +01:00
Aleksa Sarai
3461f8af31
Dictionary: disable fuzzy search when CJK words (#8458)
Fuzzy searching doesn't work with CJK text: with Japanese,
we get large numbers of useless results because sdcv
decides to strip off the wrong part of the word.
It seems unlikely that sdcv correctly handles Korean
or Chinese, so just disable fuzzy searching on all
CJK-containing word lookups.
2021-11-21 19:13:29 +01:00
zwim
8ef426d79f
ReaderMenu/FileManagerMenu: deduplicate Exit menu code (#8459) 2021-11-21 19:01:43 +01:00
zwim
1d92ee19fb
Navigation menu: cleanup, use colons in menu (#8442) 2021-11-21 18:47:00 +01:00
zwim
e56aae263a
AltStatusBar: cleanup, use colons in menu (#8436) 2021-11-21 18:45:59 +01:00
Frans de Jonge
c11ea4f389
[chore] Fix a few luacheck errors (#8460)
Inadvertently introduced in <https://github.com/koreader/koreader/pull/8432> and <https://github.com/koreader/koreader/pull/8445>.
2021-11-21 18:41:07 +01:00
hius07
217937a5bc
ReaderPaging/Rolling: deduplicate inverse_reading_order code (#8445) 2021-11-21 18:33:51 +01:00
hius07
c7229d90bc
ReaderHighlight: allow for 2-steps text selection (#8432)
Add a "Select" button in the highlight dialog to initiate
text selection; on the next text selection, the text between
these 2 points will be selected.
Limited to a single page with non-CRE documents.
Also move "Search" button at end, so it's the one that
will be wide in case of an odd number of buttons.
2021-11-21 18:31:10 +01:00
hius07
58c4db694e
readersearch: do not show regexp checkbutton in pdf (#8450)
Minor optimization.
2021-11-18 16:54:07 +01:00
poire-z
1004081098
DocSettings: fix settings not saved when book on read-only FS (#8448)
Witnessed on Android with books on the external SD card.
2021-11-16 19:02:42 +01:00
roygbyte
e995cf1355
Fix typo in ListView doc (#8444) 2021-11-15 09:02:00 +01:00
Aleksa Sarai
7e611ac50c
keyboard: japanese: always put digits as the south gesture for latin (#8443)
This is to match GBoard's layout for the latin keyboard mode.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-11-14 14:10:25 +01:00
Aleksa Sarai
5709b4c2f1
kopt: correctly handle CJK character detection for space insertion (#8438)
Previously getTextFromBoxes would just pass the first and last three
bytes of the current and previous words when trying to detect CJK
characters (which shouldn't have spaces inserted).

However, this handling was not correct because CJK characters can be
longer than 3 bytes, and internally BaseUtil.utf8charcode doesn't ensure
that it was only given a single utf8 character (it blindly does the bit
operations on whatever length code you give it).

As a result, before this patch selections in PDF documents would have
lots of spaces stripped because getTextFromBoxes would think that almost
all characters were CJK characters.

Fixes: 6f1b70e5eb ("util.utf8: improve CJK character detection")
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-11-11 16:09:05 +01:00
zwim
89064487b7
ReaderDictionary: Colons in menus (#8431) 2021-11-09 20:15:52 +01:00
zwim
c6e415d646
[Status bar] Consistent menu entries; Add "centered dot" as separator (#8424)
* Consistent menu entries; Add "centered dot" as separator

* Menu entry: Colon
2021-11-09 19:08:41 +01:00
zwim
abcd989ec4
[Status bar] Add custom text to footer (#8419)
Allows to add any text to the status bar. Can be a placeholder (empty space) for better positioning of the indicators.
2021-11-09 19:04:44 +02:00
hius07
3dabbd5d73
Typeset menu: adds "Reset document settings to default" (#8412) 2021-11-07 19:29:53 +01:00
hius07
e6d2c1cae6
ReaderGoto: adds Go to % (#8395) 2021-11-07 19:26:07 +01:00
Aleksa Sarai
cdae66a661 keyboard: japanese: switch to 12-key flick layout
This layout is far more commonly used on mobile devices, and allows for
much easier typing. The keyboard primarily functions through gestures in
the four cardinal directions to select which vowel kana to select. In
addition, users can cycle through each kana row by tapping the key
within a 2-second window (this is the equivalent to T9 input for
Japanese phone keyboards).

This also resolves the long-standing issue that the old keyboard did not
correctly handle dakuten (there was a standalone dakuten key which added
a stray dakuten mark, and the umlat mode which added dakuten to all of
the keys it could) and could not input handakuten characters at all.

In order to allow adding dakuten and cycling through the various
modifiers for the previous kana, we need to wrap the input-box (similar
to korean) but luckily we don't need any state machine magic since we
just need to modify the last character in the character buffer. However
because the tap timeout for T9-like-cycling needs to be reset after any
non-tap key we need to add some basic wrappers around a few other
input-box methods.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-11-07 19:23:56 +01:00
Aleksa Sarai
fb0e5fca94 menu: keyboard_layout: add ability for layout-specific settings
A layout might want to make some specific feature configurable, so
create an addToMainMenu-like system for allowing layouts to add their
own configuration sub-menu to the keyboard configuration menu.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-11-07 19:23:56 +01:00
Aleksa Sarai
cb702fb062 inputtext: add access methods for internal character list
This allows for InputText wrappers (namely the Japanese keyboard which
needs to be able to apply modifiers to the character before the cursor)
to nicely access the character list.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-11-07 19:23:56 +01:00
Aleksa Sarai
ac907df634 util: add reversible table method wrapping helper
In some cases, it's useful to be able to wrap a function and either
replace its contents entirely or have some callback be run before
calling the underlying function.

The most obvious users for this feature are the Japanese and Korean
keyboards (both of which need to wrap the inputbox methods with either
their own versions or have basic callbacks be run before the method is
executed).

This is loosely based on how busted/luassert spies work.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-11-07 19:23:56 +01:00
Aleksa Sarai
3fd931bb2f
readerhighlight: ignore cases where no text is selected (#8399)
It's possible for the user to have selected nothing, and trying to
operate on the nil highlight can cause confusion or crashes. This
restores the behaviour before commit 7a0e3d5e68 ("readerhighlight:
remove selected_word and use selected_text everywhere"), which missed
this case.

In addition, add some debug guards to ReaderHighlight methods which
cannot handle selected_text being nil (or at least, shouldn't be called
with selected_text being nil).

Fixes: 7a0e3d5e68 ("readerhighlight: remove selected_word and use selected_text everywhere")
Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-11-06 08:11:06 +01:00
Aleksa Sarai
7baeebc2d4
dictionaries: switch to far more up-to-date JM(ne)dict (#8413)
The previous version of JMdict comes from 2009 and doesn't appear to
work at all when trying to do basic lookups (likely due to some kind of
encoding problem). In addition, the license information and sourcing was
not really in line with the requirements specified by the JMdict
license. This version is far more up-to-date and also includes synonym-based
deinflection (though because KOReader has a Japanese plugin now, this is
technically not necessary).

Since there didn't exist a nicely-maintained place to download these
dictionaries (because StarDict is not widely used for Japanese
dictionaries), I've set up a personal GitHub repository where I've
hosted them. Note that we're intentionally not pinning the commit hash
because GitHub only recommends we use gh-pages for CDN purposes, and one
of the requirements of the JMdict license is that you need to be able to
update to later versions.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-11-04 10:17:06 +01:00
NiLuJe
4d261d29a4 ProgressWidget: Better contrast in thin mode
Re #8400

Also, use the proper colors when switching between thick & thin.
2021-11-01 23:38:22 +01:00
NiLuJe
bc5da5276d NetworkManager: Always prefer system APs as intended.
If we had a local prefered AP with a higher RSSI,
we attempted to associate with it over wpa_supplicant
being already attempting to associate with its own preferred AP.
That... failed horribly.

Also adapt to the new lj-wpaclient API, fixing a few other edge-cases,
and making the whole thing slightly faster because we no longer
uselessly sleep.
And more reliable because we now actually wait for replies to our
requests.

Bump base

https://github.com/koreader/koreader-base/pull/1424
2021-11-01 23:38:22 +01:00
NiLuJe
1ff19f8ba7 Kobo: On sunxi, add a delay between the white flash and the sleep
screen.

Otherwise, on the Sage, weird flash glitches may happen, depending on
what was on screen...
(e.g., there's some weird update merging shenanigans going on
despite those updates being flagged NO_MERGE...).
2021-11-01 23:38:22 +01:00
NiLuJe
f94101178f ReaderFooter: Add a compact prefix for frontlight_warmth
Fix #8398

Also, tweak the actual codepoints being used so that they somewhat look
like their icon brothers. May or may not actually be compact :D.
2021-11-01 23:38:22 +01:00
zwim
7887c9b1cf
Fix crash in readerhighlight (#8396) 2021-10-31 17:36:00 +01:00
hius07
bfddf710d6
InputDialog: fix "number" input (#8383) 2021-10-29 14:03:57 +03:00
zwim
a7cfc65928
Fix crash when entering a digit on the SDL keyboard (#8388)
Fixes #8387.
2021-10-29 12:59:03 +02:00
Frans de Jonge
0aab7d7378
[fix] gettext: unescape \\ for ID matching (#8357)
Fixes <https://github.com/koreader/koreader/issues/8356>.
2021-10-28 17:48:23 +02:00
NiLuJe
3483238546
Fix reflow calls for DjVu documents (#8379)
The second argument is a ddjvu_render_mode_t
Try to actually honor the user settings instead of enforcing COLOR
while we're there.

Fix #8376
Regression since #8250
2021-10-26 21:13:57 +02:00
Aleksa Sarai
de7c1e20c5 languagesupport: check that ui.languagesupport is non-nil
Now that FileManager registers its UI modules in the same way as Reader,
this shouldn't be necessary but this protects us against some other app
creating a ReaderDictionary instance without having ui.languagesupport
registered properly.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-10-26 07:41:17 +02:00
Aleksa Sarai
cdbedcbcce filemanager: align UI plugin registration with reader
With the addition of the language support module, ReaderDictionary
tries to use modules registered with the UI instance, but the
FileManager doesn't provide key-based registration of its UI modules.

In order to allow the same code to be used by both FileManager and
Reader seamlessly, copy the :registerPlugin() method from Reader and use
it with FileManager. This will ensure any other hidden assumptions about
UI module registration are handled properly.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-10-26 07:41:17 +02:00
hius07
f301ca59b7
Bookmarks: icon by type, combined view, filter, bulk remove (#8347)
- Add an icon to distinguish between page bookmarks, plain
  highlights, and highlights with an added note
- Bookmark details: show both highlighted text and added note
- Bookmark list: allow filtering by type and/or by keyword
- New bookmark selection mode, to allow multiple removals
- New option: show separator line
2021-10-25 20:21:24 +02:00
NiLuJe
e17b136d67
Initial support for the Kobo Libra 2 (#8367)
* Initial support for the Kobo Libra 2

* It's the same touch panel as the Elipsa & Sage.
* Plug in proper nightmode waveforms on mxcfb.

* Bump base

https://github.com/koreader/koreader-base/pull/1423
2021-10-24 20:26:04 +02:00
Aleksa Sarai
d0d2d0d1d6
*: luacheck fixes (#8368)
These weren't caught during the Japanese support plugin review.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-10-24 10:58:14 +02:00
NiLuJe
db21521968
Support frontlight warmth on the Sage (#8366)
Follow-up to #8361.
2021-10-23 20:56:35 +02:00
Frans de Jonge
59710ec67a
[chore] Fix todo and fixme tags (#8365)
Slightly overlooked in #8312.
2021-10-23 16:29:00 +02:00
Aleksa Sarai
7c5243667b reader: implement language-support plugin system
This creates a new plugin system which hooks into a handful of reader
operations in order to allow plugins to add language-specific support
where the default reader falls short. The two hooks added are:

 * During hold-without-pan taps, language plugins can modify the
   selection in order to better match what users expect koreader to
   highlight when selecting a single word.

   The vast majority of CJK language words are more than one character,
   but KOReader treats all CJK characters as a single word by default,
   so adding this hook means that readers no longer need to manually
   select the whole word every time they need to look something.

 * During dictionary lookup, language plugins can propose alternative
   candidate words to look up if the selected word could not be found in
   the dictionary.

   This is pretty necessary for Japanese and Korean, both of which are
   highly agglutinative languages and the fuzzy searching system of
   StarDict is simply not usable because often the inflection of the
   word is so much longer than the dictionary form that sdcv decides to
   chop off the actual word and search for the inflection (which yields
   useless results).

This system is of particular interest for readers of CJK languages
(without this, looking up words using KOReader was fairly painful) but
this system is designed to be minimal and language-agnostic enough that
other languages could make use of it by creating their own plugins if
the default "whole word" highlight and fuzzy-search system doesn't match
their needs.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-10-23 15:49:54 +02:00
Aleksa Sarai
da70fe9de1 common_settings: migrate document menu to menu_order ordering
This is necessary in order to allow the language support module to be
added to the menu outside of the common_settings menu table definition.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-10-23 15:49:54 +02:00
Aleksa Sarai
dca65a793e readerdictionary: separate out raw sdcv handling from startSdcv
In order to make startSdcv usable for plugins that might need to do
dictionary lookups in order to work, it is necessary to split out the
core of startSdcv into another method which returns the raw data from
sdcv.

In addition, in order to make it possible to amortise the cost of each
lookup (which could be fairly expensive) make it possible to pass
multiple words to rawSdcv at the same time. Sdcv supports passing
multiple words as arguments (which it then looks up in order and returns
a separate JSON array per line for each word) so we just need to tweak
the return style accordingly.

All of the deduplication and dummy results handling remains in startSdcv
because plugins might strongly depend on whether sdcv returned actual
results.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-10-23 15:49:54 +02:00
Aleksa Sarai
7a0e3d5e68 readerhighlight: remove selected_word and use selected_text everywhere
There were two ways of specifing selected text for a highlight depending
on whether it was a "single word" or text selected using hold-and-pan.
In addition to being a bit more complicated than is necessary, with the
addition of the language support plugin system (where the "single word"
selected might be expanded), it makes more sense to simply use the same
logic and table structure for both cases.

The dictionary lookup special case (hold-without-pan triggering a
dictionary lookup by default) still works as before.

In addition, this patch fixes a minor inefficiency during dictionary
quick lookup -- before this patch, the highlight would be re-selected
because the quick lookup window is run concurrently and tries to fetch
ReaderHighlight.selected_text but this is set to nil immediately after
triggering the lookup. This is unnecessary because :clear() will be
called anyway when the quick pop-up closes, and so clearing this can be
left until then.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-10-23 15:49:54 +02:00
Aleksa Sarai
3ffb4c1692 kopt: add fallbacks for cases where kctx is not in cache
There were a handful of cases where if there was no cached kctx there
was no fallback and several KoptInterface methods would return nil,
causing issues in various parts of KOReader (this happened with the
migration to selected_text everywhere but it's unclear how that change
caused this regression).

In any case, from a correctness perspective it makes sense to have the
corresponding fallback paths to create a new kctx if we couldn't find a
cached one.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-10-23 15:49:54 +02:00
Aleksa Sarai
b21029f1ac credocument: update getTextFromXPointers wrapper to support selections
With the latest koreader-base update, we can now create native
selections using getTextFromXPointers. In order to make the wrapper less
annoying to use, always enable segmented selection if selections are
enabled (to match getTextFromPositions).

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-10-23 15:49:54 +02:00
Aleksa Sarai
a29d24f86d geom: supplement :combine with more generic .boundingBox
It is a bit cleaner to do all of the necessary looping over lists of
Geoms within a straight-forward Geom.boundingBox function rather than
looping over :combine every time (or reimplementing :combine in some
cases). Geom:combine can be trivially reimplemented in terms of
Geom.boundingBox as well.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-10-23 15:49:54 +02:00
Aleksa Sarai
6f1b70e5eb util.utf8: improve CJK character detection
Previously the CJK character detection defined only characters in the
range U+4000..U+AFFF as "CJK characters". This excludes an incredibly
large number of CJK characters within the BMP, let alone the whole two
planes dedicated to rarer CJK characters (the SIP and TIP). As a result,
a very large number of Chinese, Japanese, and Korean characters were not
detected as being CJK characters.

While slightly less elegant-looking, it is far more accurate to compute
the codepoint from the utf8 character and then see if it falls within
one of the defined CJK blocks. This is not future-proof against future
CJK ideograph extensions in future Unicode versions, but there is no
real way to accurately predict such changes so this is the best we can
do without accidentally treating characters explicitily defined as being
non-CJK in Unicode as CJK.

While we're at it, copy Lua 5.3's utf8.charpattern constant definition
so that we can more easily write utf8 iterators with string.gmatch (at
least in the interim until there is a rework of utf8 handling in
KOReader and everything is rebuilt on top of utf8proc).

Some unit tests are added for Korean and Japanese text, and the existing
unit tests needed a minor adjustment to handle the fact that
isSplittable now correctly detects CJK punctuation as a character to
compare against the forbidden split rules.

Signed-off-by: Aleksa Sarai <cyphar@cyphar.com>
2021-10-23 15:49:54 +02:00
Frans de Jonge
8e017de898
ReaderSearch: remove stray newline from regex help (#8358)
Noticed due to #8356.
2021-10-23 13:39:53 +02:00
Mike Kozlowski
2cd4d09db4
Add initial support for Kobo Sage (Cadmus) (#8361) 2021-10-23 13:27:25 +02:00
NiLuJe
942ea70235 ProgressWidget: Simplify painting logic.
* Use paintRect and plain colors instead of lightenRect and a weird
  dimming factor.
* Update call sites to the new API
* Handle FP maths properly (i.e., floor coordinates & ceil dimensions at
  the latest possible time).
* Fix border handling in the fill bar (make sure we actually honor it
  when computin the x position, and that we won't overflow into it when
  computing the width).
* Update docs
2021-10-22 20:24:46 +02:00
NiLuJe
b996b8282f ReaderRolling: Unbreak CRe spinner on e-Ink
Regression since #8195, but the fact that it sometimes worked before
that was already a fluke ;).

c.f., https://github.com/koreader/koreader/pull/5406#issuecomment-948632160
2021-10-22 20:24:46 +02:00
hius07
22a012e729
[chore] RadioButtonWidget: remove unused "Use default" string (#8354) 2021-10-22 10:27:30 +02:00
poire-z
37eb53f6e4
DocSettings/Purge .sdr: reword, don't purge other books (#8348)
Reword "Purge .sdr" to "Reset settings".
When purging, remove only the known document metadata
files, and not those for a document with the same name but
a different suffix.
2021-10-21 22:43:05 +02:00
hius07
2c6943e5d6
FileManager: no notification on successful file operations (#8330) 2021-10-21 21:50:16 +02:00
yparitcher
61d02923e9
Dispatcher: fix horizontal margins (#8344)
Regression from #8287
2021-10-19 11:50:31 +02:00
hius07
d652eec2cd
ReaderHighlight: allow updating a highlight drawing style (#8323)
Also modify highlight dialog's "Edit" button to be "Add note"
or "Edit note" whether a note has already beed added.
Adds a new RadioButtonWidget.
2021-10-18 19:17:37 +02:00
hius07
f0b992d425
Bookmarks: new settings and tweaks (#8301)
Bookmarks list:
- page numbers are displayed
- page bookmarks are marked with a star
- new setting: Sort by largest page number (default: checked)
New bookmark setting: Add page number / timestamp to bookmark
- If enabled (default), bookmark name is 'Page # notes @ time'.
- If disabled, bookmark name is equal to the notes field.
Rename bookmark dialog:
- page number and timestamp are displayed in the input
  dialog description
- blank input renames bookmark to the default name in
  accordance with the new setting
Also fix: changing boundaries of the highlight: the name of the
highlight is not changed if it was previously edited by the user.
2021-10-18 17:26:04 +02:00
hius07
7036500f5b
Menu widget: adapt font size of shrunken items (#8340) 2021-10-18 08:52:40 +02:00
hius07
4ffabcf087
Screensaver: correct call of BookStatusWidget 2021-10-17 17:52:34 +03:00
ElimGarak1
863255c9f4
Add PocketBook InkPad Lite (PB970) (#8335)
Closes #8331.
2021-10-17 10:08:51 +02:00
poire-z
ca1c3484d8
DictQuickLookup: two minor fixes (#8333)
- Allow Wikipedia languages cycling when invoked
  from File browser.
- Fix TextBoxWidget content not updated when next/prev
  when use_xtext=false.
2021-10-15 20:32:21 +02:00
yparitcher
1c2e5eee1d
BookStatusWidget: fix status toggle (#8329)
Fix:  #8324

cf: #7671
2021-10-15 09:22:26 +02:00
ichnilatis-gr
a1e0d87c62
Greek keyboard: minor updates (#8319)
New popup menu on the Greek acute key for Greek numeral signs.
2021-10-14 11:33:33 +02:00
git-help-eng
0d231cbbef
Footer: maybe shouldn't be visible on resume (#8289) 2021-10-10 20:51:50 +02:00
poire-z
ade89cb9b6
Adds ScrollableContainer, to be used with tall widgets (#8299)
And use it with KeyboardLayoutDialog.
2021-10-10 15:09:42 +02:00
hius07
b2a7d0d5ce
BookStatusWidget: use correct read percentage (#8318)
Closes #8317.
2021-10-10 11:55:32 +02:00
ichnilatis-gr
23be2f278c
[UX] Keyboard: Fix Greek Y popup (#8308)
Correction of the "Υ" popup, where instead of Greek upsilon (as was written) there was the Greek capital tau ("Τ").
2021-10-06 19:24:32 +02:00
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
4c0d11c6d9 Dispatcher: use absolutenumber in more places 2021-10-05 23:34:29 +02:00
yparitcher
888802f618 kopt: allow pdf auto straighten 2021-10-05 23:34:29 +02:00
NiLuJe
75706ca0be
TextBoxWidget: Unbreak Wikipedia (bis) (#8298)
re: https://github.com/koreader/koreader/pull/8275#issuecomment-933744596
2021-10-05 15:40:51 +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
3fe09ecc01
CenterContainer: options to handle larger content (#8277) 2021-10-01 20:33:39 +02:00
hius07
4c9d1ac3f8
Spinwidgets: can now get width or width_factor (#8269) 2021-10-01 20:32:16 +02:00
hius07
2b87b1d8ed
Virtualkeyboard: allow grey'ing the legacy umlaut mode key (#8276)
This key is still available on non-updated keyboard layouts.
2021-09-28 14:08:40 +02:00
NiLuJe
0ea8bee4e1
TextBoxWidget: Unbreak Wikipedia (#8275)
Turns out we can't release line_num_to_image early, so, delay it until the final, full widget teardown.

(Regression since #8250, c.f., https://github.com/koreader/koreader/pull/8250#discussion_r716646211)
2021-09-28 01:37:13 +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
NiLuJe
4a2f519600 Kobo: Use CLOEXEC in the Device module
We have a guarantee that it's supported on this platform.
2021-09-25 23:09:43 +02:00
NiLuJe
53b8ed48bf Kobo: Don't leak fds in isWifiOn
io.lines only closes the fd when the loop is exited sanely, not by a
control flow keyword (i.e., no break or return allowed).

Regression since #8169
2021-09-25 23:09:43 +02:00
zwim
9ed22df03f
DateTimeWidget: replaces DateWidget and TimeWidget (#8240)
Deduplicate code by combining DateWidget and TimeWidget.
ReadTimer plugin: some rewording.
2021-09-25 19:59:45 +02:00
ichnilatis-gr
84baf00416
Greek keyboard: minor updates (#8258) 2021-09-25 12:15:44 +02:00
zwim
20f7d14495
Plugin: Auto warmth and night mode (#8129)
("Auto nightmode" only on devices without warmth.)
2021-09-25 11:02:10 +02:00
hius07
8a750d4692
File searcher: fix FileManager invocation (#8257)
Do not start a new instance if not needed.
2021-09-25 10:55:59 +02:00
hius07
e3cf8eea56
Many widgets: similar size in portrait and landscape (#8238)
- ButtonTable, ButtonDialog, ButtonDialogTitle
- ConfirmBox, MultiConfirmBox, SkimToWidget
- KeyboardLayoutDialog (and initially move the dialog
  down to show the title in landscape mode)
- InputText's Clipboard dialog
Also: Notification: truncate long text
2021-09-25 10:51:58 +02:00
hius07
1e47cd7e5f
SpinWidget: similar size in portrait and landscape (#8226) 2021-09-25 10:40:04 +02:00
hius07
456dfeaf8e
Fix segfault on exit after opening fb2.zip (#8232) 2021-09-25 10:22:47 +02:00
hius07
3e313be22b
Screenshoter: allow reset default folder from menu (#8227) 2021-09-25 10:21:18 +02:00
hius07
02170ee9b6
Progresswidget: lighter background color (#8195)
Should make ticks more visible.
2021-09-25 10:17:05 +02:00
NiLuJe
48da545e32 Kobo/Elipsa: More fine-grained control over the amount of online CPU
cores

* Only keep a single core online most of the time.
* Device: Add an enableCPUCores method to allow controlling the amount of
  online CPU cores.
* Move the initial core onlining setup to Kobo:init, instead of the startup script.
* Enable two CPU cores while hinting new (e.g., cache miss) pages in PDF land.
* Enable two CPU cores while processing book metadata.
* Drive-by fix to isolate the DocCache pressure check to KoptInterface
  and actually apply it when it matters most (e.g., k2pdfopt stuff).
2021-09-25 02:47:06 +02:00
NiLuJe
65abac9431 TextBoxWidget: Fix getSize when recycling an instance.
* Make sure we have a BB to measure in getSize, in case the instance is
  recycled. (fix #8241)

* nil `line_num_to_image` early in `:free`

* Hide the _renderText calls that are used across the whole module to
  simply update the text layout & instantiate the inner bb behind a
  wrapper function with a slightly less obscure name.
2021-09-25 02:47:06 +02:00
hius07
3a01ab7899
fontlist: disable/enable some Kindle fonts (#8233)
Some Kindle system fonts cannot be registered and cause errors in crash.log.
Disabling them, and enabling one good font.
Tested on PW4, Voyage, Oasis.

Also https://github.com/koreader/koreader/issues/8228#issuecomment-922335608.
2021-09-20 15:28:21 +02:00
hius07
ed68445626
crash.log: write plugin regular information only in debug mode (#8230)
* Update pluginloader.lua

* Update filemanager.lua

* Update readerui.lua
2021-09-18 18:00:20 +02:00
hius07
859327dea5
Input dialogs: keep size in rotation (#8223) 2021-09-17 19:36:57 +02:00
hius07
5b049a5a82
Help text fixes (#8217)
* Update css_tweaks.lua

* Update readersearch.lua
2021-09-14 19:18:50 +02:00
Frans de Jonge
b48cce7fa0
Dispatcher: adjust "screen and lights" to style guide (#8215)
Same as "Taps and gestures"
2021-09-14 09:22:43 +02:00
hius07
e934a4ad67 Refresh menu table: more remove unused 2021-09-13 19:32:19 +02:00
hius07
aa210e96ce Refresh menu table: remove unused 2021-09-13 19:32:19 +02:00
hius07
5c62c11aa8 TimeWidget: keep "colon space" size 2021-09-13 19:32:19 +02:00
hius07
28c132a740 DateWidget: keep "dash space" size 2021-09-13 19:32:19 +02:00
hius07
054d94a560 Refresh menu custom settings: keep size in rotation 2021-09-13 19:32:19 +02:00
hius07
1dd50381d0 ReaderTypography: Hyphenation Limits keep size in rotation 2021-09-13 19:32:19 +02:00
hius07
11aca120a9 ConfigDialog: keep size in rotation 2021-09-13 19:32:19 +02:00
hius07
bdccc7de07 DateWidget: keep size in rotation 2021-09-13 19:32:19 +02:00
hius07
a321bade2b TimeWidget: keep size in rotation 2021-09-13 19:32:19 +02:00
hius07
611e576b7e DoubleSpinWidget: keep size in rotation 2021-09-13 19:32:19 +02:00
hius07
66156084e6 NumberPickerWidget: keep size in rotation 2021-09-13 19:32:19 +02:00
yparitcher
c40874d300 book shortcuts plugin 2021-09-13 10:56:06 -04:00
yparitcher
1f8574cf7e Dispatcher:removeAction()
Gestures: use sub_item_table_func to allow the menu to refresh on change
2021-09-13 10:56:06 -04:00
yparitcher
f5dc7b4539 Dispatcher: Revamp sections and item order 2021-09-13 10:56:06 -04:00
NiLuJe
3955f83019 DocCache: Only compute cache size once
Minor refinement to #8198
2021-09-12 00:30:16 +02:00
hius07
f6020a7260
Readerhighlight: manage actions (#8199)
Discussion in #6409.

Highlight action renamed to Long-press on text and moved from Gear - Document to Gear - Taps and gestures.

Added action Do nothing.
Removed menu item Typeset - Highlighting - Allow highlighting.

Fixed untranslated strings in the Cycle highlight action notification.

Long-press on images always opens ImageViewer. Closes #6409.
2021-09-11 11:04:48 +02:00
Mel-kior
9e55e4da3d Fix syntax 2021-09-11 10:55:50 +02:00
Mel-kior
3001efb85f Fix quote and text 2021-09-11 10:55:50 +02:00
Mel-kior
224e167309 Add passwordless wifi support 2021-09-11 10:55:50 +02:00
hius07
dd1b10332e Readersearch: reduce icon size in search dialog 2021-09-11 10:48:09 +02:00
hius07
07c8b0029e Buttontable: pass icon size to the button 2021-09-11 10:48:09 +02:00
hius07
3b6fd8a1d5 Button: default icon size 2021-09-11 10:48:09 +02:00
hius07
e16d36d5da
Readersearch: add button to recall search input dialog (#8190) 2021-09-10 01:07:31 +02:00
NiLuJe
18687e4666
DocCache: Allow disabling it (again) (#8198)
* Ensure DocCache will always have at least one slot
Fix #8181
2021-09-10 01:07:04 +02:00
poire-z
084ae1509d
Style tweaks: add a few ruby specific tweaks (#8189) 2021-09-08 23:50:30 +02:00
hius07
ecf378067d
Readerdevicestatus: optimize code (#8194)
Correct read settings.
Standardize showing values in menu (a colon).
SpinWidget and DoubleSpinWidget default widths.
2021-09-08 15:50:20 +02:00
hius07
0283c44ff7
Page overlap: long-press to set as default (#8180)
Also deduplicate code out of ReaderPaging and ReaderRolling,
now in ReaderView and a specific menu module.
2021-09-06 21:30:35 +02:00
hius07
3a677f40de
Spinwidget: update default width (#8182) 2021-09-06 21:26:57 +02:00
hius07
ab4e27908b
Standardize: long-press/hold to long-press (#8185)
* Gestures: standardize hold to long-press

* Common settings menu: standardize hold to long-press

* Readerstyletweak: standardize hold to long-press

* Readersearch: standardize hold to long-press
2021-09-06 17:08:48 +02:00
NiLuJe
90d4d22ba6
ReaderBookmark:renameBookmark: Better nil guard (#8176)
When matching a highlight to a bookmark *really* fails.

(Noticed in the log from #8175)
2021-09-04 12:02:06 +02:00
hius07
6f612a1c41
Readerhighlight: allow translation (#8174)
Show translatable title of the style.
https://www.mobileread.com/forums/showthread.php?p=4151396#post4151396
2021-09-03 16:25:41 +02:00
NiLuJe
acbf4b7a8c
Document: Round dimensions properly in getPageDimensions (#8170)
* Geom:transformByScale:
  * Apply the right scaling factor to the y axis
  * Round in a more sensible fashion (àla fz_round_rect, since we pretty much exclusively use it in a similar fashion).
* Bump base (https://github.com/koreader/koreader-base/pull/1407)
2021-09-02 23:50:10 +02:00
hius07
1a127633c2
InputDialog: add :addWidget(), use it for checkboxes (#8168)
Also: Text editor now closes its keyboard when calling Find
and Go to line (which open their own keyboards) to avoid
conflicts between multiple keyboards.
2021-09-02 22:53:54 +02:00
hius07
889c4489b7
Highlights style: long-press to set as default (#8166) 2021-09-02 22:46:27 +02:00
zwim
debf5dc550
Footer: add Warmth as footer item (#8060) 2021-09-02 22:44:22 +02:00
NiLuJe
af8988ef5f
Minor script tweaks (#8169)
* Neater fbdepth usage on sunxi
* Make sure we only ever match *loaded* modules when we check lsmod
2021-09-02 22:33:10 +02:00
poire-z
607333b181 View HTML: allow long-press to hide "View CSS" buttons 2021-09-01 23:22:35 +02:00
poire-z
57d7fd8aaa bump crengine: support for 'box-sizing', and other fixes
Includes among others:
- (Upstream) Various CHM handling fixes, and others
- HTML documents: rebuild TOC from headings after load
- Font: use metrics for underline offset and thickness
- epub.css, html5.css: tweak ruby styling
- CSS: fix EPUB's head>style content encoding
- CSS: add support for 'box-sizing: content-box/border-box'
- CSS: support for styling the <html> element

Also bump KoboUSBMS to v1.2.2 and FBInk to v1.24.0.

ReaderFont's "Generate font test document": update the
generated HTML so its ToC is build from proper HTML headings.
2021-09-01 23:22:35 +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
3b6f521e26 Statistics: move dispatcher items to plugin 2021-09-01 10:30:46 -04:00
yparitcher
31397e10ef Dispatcher: initial Kopt support 2021-09-01 10:30:46 -04:00
yparitcher
5e1ab8c06b Dispatcher: update configurable before event (like configdialog) 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
Frans de Jonge
8689b6cecc
[plugin] Add GoodReads to obsolete plugins (#8153)
Fixes <https://github.com/koreader/koreader/issues/8152>.
2021-08-31 08:53:04 +02:00
Martín Fernández
903646debe
[plugin] Exporter plugin without evernote (#7983) 2021-08-30 09:11:23 +02:00
ichnilatis-gr
785200d76b
VirtualKeyboard: Update el_keyboard.lua (#8148) 2021-08-29 18:15:43 +02:00
NiLuJe
426e56613c
FrontLightWidget: Fix "Auto" max_width (#8144)
re: https://github.com/koreader/koreader/issues/8070#issuecomment-902162990
2021-08-29 17:08:46 +02:00
NiLuJe
910c0bd250
VirtualKeyBoard: Switch to schedule-less visual feedback for flash_keyboard (#8143)
Should prevent open/close races ;).
2021-08-29 17:04:24 +02:00
hius07
32d61c7878
Virtual keyboard: default layout, compact mode (#8142) 2021-08-29 12:29:41 +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
hius07
68782c3f89
Checkbutton: optimize callback (#8134) 2021-08-27 21:21:14 +02:00
John Beard
27bf5b59dd
Add slash to WebDAV starting URL if missing (#8137)
If this is not done, the URL when the file is downloaded will be
something like hostdir/path, rather than host/dir/path.

Also add a debug log to make it more clear when a bogus URL
is being fetched,
2021-08-27 09:40:14 +02:00
John Beard
dac3940ced
WebDAV: Unescape XML entities when reading the item list (#8138)
Without this, a file named "A & B.epub" is read as "A &amp; B.pdf"
and will 404 when fetched.
2021-08-27 08:39:15 +02:00
NiLuJe
c171a06212 USBMS: Dismiss ConfirmBox on unplug
Fix #8112
2021-08-25 20:15:57 +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
hius07
684fd6c12d
Standardize select/choose to choose (#8128)
Closes #8105.
2021-08-24 22:19:07 +02:00
John Beard
5d0ae3dde8
WebDAV: Handle non-self-closing tag for empty collection (#8121)
Some servers serve <D:resourcetype></D:resourcetype> rather
than <D:resourcetype/>. So handle this case when deciding
if an item is not a collection.
2021-08-23 08:51:33 +02:00
asynchronous-sheep
c16d2712ef
Fix link for Portuguese dictionary “Dicionário Aberto” (#8118) 2021-08-22 17:07:42 +02:00
hius07
3c3361addf
File browser, Path chooser: fix margin of the long folder name in the header (#8103)
* Filemanager: margin of the folder name in the header

* Menu: margin of the folder name in the header
2021-08-22 09:35:22 +02:00
hius07
66b644295a
Checkbutton: remove unused (#8108)
* Inputtext checkbutton: add "parent"
2021-08-22 09:10:35 +02:00
NiLuJe
1c739f1d54
ReadTimer: More QoL tweaks (#8107)
* Cleanup util.secondsFrom*Clock stuff (simpler maths, tail calls, meaningful printf tokens).
* Use util.secondsToClockDuration in ReadTimer instead of reinventing the wheel three different ways.
* Reschedule unexpired timers properly on resume (as best as we can, given the unreliable nature of REALTIME).
* Make clock timers tick on the dot, instead of at the same second as when being set.
* Speaking of clock timers, leave the math to os.date & os.time, don't reinvent the wheel yet again.
2021-08-22 00:34:09 +02:00
NiLuJe
edfb29b406 Fix duplicate suspend scheduling in Device:onPowerEvent
We should always unschedule suspend before scheduling it again (i.e.,
use rescheduleSuspend ;)).

Fix #8097 (many thanks to @Mel-kior for the detailed repro!)
2021-08-19 22:40:04 +02:00
NiLuJe
c044480658 Don't exclude the full .kobo directory tree
Only exclude the useless/dangerous bits.
Allows getting to the Dropbox folder.

Fix #8101
2021-08-19 22:40:04 +02:00
Galunid
611a5311b6
Fix warmth settings on some android devices (#8104) 2021-08-19 15:55:11 +02:00
hius07
b4ec68d8c0
[UX] File search: add hold in search results (#8100)
Currently we see filenames only.

Added hold action to show the full path. Go to on a file will open the folder with a focused file.
2021-08-18 16:17:27 +02:00
poire-z
1a12e8555e
Translator: add "Translate from book language" option (#8094)
When enabled, if the book has some supported language tag
in its metadata, use it as the source language. Otherwise,
fallback to the current settings (auto-detect or selected
source language).
2021-08-18 00:42:14 +02:00
poire-z
4e65b74b73
Footer: add "Include current page in pages left" setting (#8093) 2021-08-17 22:51:54 +02:00
poire-z
55a4d6fd1f Button: avoid cut words when switching to multilines
Followup to 954ba960
2021-08-17 21:44:48 +02:00
poire-z
6e02e62dcb Dict: avoid list items bullet/digit truncation with HTML dicts 2021-08-17 21:44:48 +02:00
poire-z
5df84bcb4f Footnote popups/in-page: support type/role=endnote 2021-08-17 21:44:48 +02:00
hius07
b875ccc6f9
InputText: fix hold handling, add clipboard empty hint (#8091)
Before: when holding the input box in input dialogs
for calling the Clipboard, hold release was passed to
MovableContainer and input dialog moved a little bit.
2021-08-17 15:24:44 +02:00
hius07
a8b39c17ed
ReaderDeviceStatus: show only one alert (#8086) 2021-08-17 15:22:31 +02:00
hius07
19f43c47e1
CheckButton: accurate vertical alignment (#8083) 2021-08-17 15:20:41 +02:00
poire-z
54eb2e1137
Quick start guide: fix links to images (#8072)
"../resources/..." was not working on some devices like
Android. Build the correct relative path on all devices.
2021-08-14 22:53:46 +02:00
poire-z
954ba9608e
Button: reduce font size to avoid truncation (#8078)
If the button text would be truncated, try to avoid
it by reducing the font size, and even switching to
a 2-lines TextBoxWidget.
TextBoxWidget: fix possible glyphs truncations when
a small line_height is used. Also avoid some bad
result from getFontSizeToFitHeight(), possible due
to some rounding errors.
2021-08-14 22:15:01 +02:00
hius07
ef1dea990e
Menu/GoTo: tweak go to page/letter dialog layout (#8056)
2 columns instead of 3, to get larger buttons and
avoid truncation with some translations.
2021-08-14 21:29:25 +02:00
hius07
3c597d1d84
FileSearcher: allow call with a search string (#8073) 2021-08-14 17:53:39 +02:00
hius07
fa4784cf13
Screenshoter: options to View and Delete after screenshot (#8050)
Also remove code duplication in ImageViewer.
2021-08-14 17:52:29 +02:00
hius07
c8a7f52672
Checkbutton: ensure max width, multiline if needed (#8066) 2021-08-14 00:49:19 +02:00
hius07
b622d6edd8
ReaderDeviceStatus: add high battery level alert (#8037) 2021-08-14 00:00:47 +02:00
Martín Fdez
6fb52528cd disable light settings on ChromeOS, android TV and e-ink devices without lights 2021-08-13 11:35:43 +02:00
Martín Fdez
8bf19a7327 flush settings before being killed 2021-08-13 11:35:43 +02:00
hius07
ace3f0ee16
ConfirmBox: new properties (#8065)
* keep_dialog_open, default to false.
Set to true to keep dialog open upon pressing any button, except Cancel and dismissable tap.

* other_buttons_first, default to false.
Set to true to put other buttons above Cancel - OK row
2021-08-13 00:45:10 +02:00
NiLuJe
f4cd12a48c
Merge pull request #8057 from NiLuJe/master
A bunch of tweaks & fixes
2021-08-11 22:06:25 +02:00
yparitcher
7148aed51c
ReaderStatus: end book action: delete file: go to current directory in FM (#8042)
Go to the directory of the deleted file, instead of the folder you happend to switch into the reader from as this may have changed (via changing books from history etc)
2021-08-11 09:54:44 +02:00
zwim
b3c4b8dc94
[fix, lang] SortWidget: make "go to page" string translateable (#8061) 2021-08-10 21:19:07 +02:00
Frans de Jonge
3f8d389ee4
[fix, lang] KeyValuePage: make "go to page" string translateable (#8059) 2021-08-10 21:18:38 +02:00
NiLuJe
1e9346aec6 Fix Wi-Fi toggle on the Elipsa
It turns out that the kernel needs a little push now that the dedicated
wifi power control module is gone ;).

Issue was only exposed if you booted KOReader while the Wi-Fi was down.
2021-08-09 02:33:07 +02:00
NiLuJe
bc133e70d3
Input: Minor simplifications around pen/finger discrimination & the snow protocol (#8021)
* Decode EV_KEY:KEY_BATTERY
* Input: Only drop hovering *pen* events.
  There are currently too many broken 0-pressure *finger* events being
  reported on the Elipsa, making a dumb rejection highly annoying.
* Bump base
https://github.com/koreader/koreader-base/pull/1393
* Rely on actual events to detect loss of contact for the "snow"
protocol.
  Allows simplifying the whole thing.
* Use `ipairs` over `pairs` for pure arrays.
2021-08-03 20:57:53 +02:00
Frans de Jonge
acfc5eec2b
[lang] Add a couple of plurals (#8028)
Reported by @ichnilatis-gr , see https://www.mobileread.com/forums/showthread.php?p=4140493#post4140493 and following.
2021-07-26 09:41:04 +02:00
hius07
e5f28a0f60
"Page turns" menu development (#8022)
Make "Taps and gestures - Page turns" available only in reader.
Move there other page turn related menu items from Navigation.
Remove duplicated code. Added standard "star" for default RTL.
2021-07-25 23:59:06 +02:00
Martín Fernández
990b6768f4
disable battery level on desktop Linux (#8026)
This also include ChromeOS laptops (chromebooks) since the power sysfs attributes don't exist in linux containers.
2021-07-25 23:29:30 +02:00
Evan Boehs
9bb6b70c7a
Check for update → Check for updates (#8027) 2021-07-25 21:04:13 +02:00
hius07
45d770b131
Activate menu: standardize to 2 checkboxes (#8017) 2021-07-23 17:19:36 +02:00
hius07
2a6931e72f
History: add confirmation before cleaning (#8016) 2021-07-23 17:14:25 +02:00
poire-z
5bab3e5e98
Fix luacheck after d9cc3af2 2021-07-23 15:54:12 +02:00
hius07
2ab31a9a36
File browser: Settings submenu reordering (#8000) 2021-07-23 15:47:02 +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
yparitcher
dc59391632
Dispatcher: use UIManager:sendEvent instead of the current instance (#7999)
This fixes inheritance issues when changing documents.
Also allow "Go to page" in FM.
2021-07-23 13:27:12 +02:00
Galunid
e7fa044807
Remove zsync plugin (#7957) 2021-07-22 09:01:57 +02:00
poire-z
7b90305570
PDF written highlights: trash cached tiles on close (#8002)
Small followup to e3bac94d.
2021-07-21 22:28:34 +02:00
NiLuJe
817e9e26e8
Minor input tweak after #7986 (#8004) 2021-07-21 22:20:08 +02:00
NiLuJe
ae35e898fb
Kobo Elipsa support (#7986)
Includes a few minor cleanups along the way ;).
2021-07-21 18:12:58 +02:00
poire-z
b31b7728db
Quick start guide: revamp text and look (#7985)
By @offset-torque, extracts from his upcoming user manual.
See https://github.com/koreader/koreader/discussions/7898
2021-07-20 17:22:45 +02:00
poire-z
e3bac94db1 PDF written highlights: fix boxes, trash cached tiles
TileCacheItem: add created_ts property.
Document: manage a tile_cache_validity_ts and ignore
older cached tiles.
This timestamps is updated when highlights are written
as annotations in, or deleted from, the PDF, so we can
get the most current rendered bitmap from MuPDF and
avoid highlight ghosts on old tiles.
Save this timestamp in doc settings so older cached to
disk tiles will also be ignored across re-openings.
Bump base for: mupdf.lua: update frontend pboxes with
MuPDF adjusted ones.
2021-07-20 15:19:59 +02:00
poire-z
eeb09d2150 PDF text selection: fix/tweak spacing between words/boxes
We may get multiple boxes when selecting texts, one for each
word, and we have to add spaces between the extracted words
ourselves. Previously, we were only adding a space if the
last char of previous word was ASCII, so missing spaces
after accents or greek words.
Try to do better by measuring the distances between boxes
and comparing to box heights, with a few heuristics.
2021-07-20 15:19:59 +02:00
zwim
48d1b23469
FileSearcher honor filemanagers sorting order (#7978) 2021-07-18 20:21:39 +02:00
yparitcher
120eaf9193
secondsToHClock(): always floor seconds for consistency (#7987)
Fixes: #7984
2021-07-18 20:18:56 +02:00
poire-z
16ab5aa194 SDL keyboard input: should go to top level widget only
Avoid the typed input to be added to all
InputText present on the stack: only the
top one should handle it.
2021-07-15 23:18:47 +02:00
hius07
41f2a6f8a4
InputText: fix search on multi-bytes UTF-8 (#7981)
Also fix crashes when text is invalid UTF-8.
2021-07-15 21:57:12 +02:00
zwim
9d2c6b07aa
Fix date in onetime_migration (#7980)
Fixes #7979
2021-07-15 17:52:23 +02:00
hius07
7eea2ae7cd
InputText/InputDialog: add case sensitive search (#7966) 2021-07-15 16:28:54 +02:00
NiLuJe
72fbdf7fd4
ReaderZooming tweaks (#7968)
* ReaderZooming tweaks

Re #7964 & #7962

* Fix oversight in setNumberOf

Co-authored-by: yparitcher <y@paritcher.com>
2021-07-15 15:34:13 +02:00
zwim
ab6867c8fa
FileManager: allow case sensitive file search (#7956)
Bump base for cre.cpp cleanup and utf8proc FFI.
Add a checkbutton for case sensitive search in FileBrowser,
and use Utf8Proc.lowercase() for case insensitive search.
Also use it in ReaderUserHyph as a replacement for
crengine getLowercasedWord().
2021-07-15 12:53:28 +02:00
zwim
26cc3df5c5
ReaderSearch: fix wait button position, code cleanup (#7973) 2021-07-15 11:51:10 +02:00
hius07
5947085ba4
InputText: up/down arrows move cursor to start/end of line (#7976)
when already on the first or last line.
2021-07-15 10:27:21 +02:00