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

1294 Commits

Author SHA1 Message Date
Frans de Jonge
23f903274a
[UX] Keyboard character selection popup (#4886) 2019-04-09 21:29:36 +02:00
Frans de Jonge
2760b98582
[UX] Add keyboard swipes (#4884)
Only the `e` and `E` are added in this initial commit.
2019-04-09 10:40:39 +02:00
NiLuJe
4005bf69aa
Slightly less crappy Nightmode (#4871)
Companion PR to https://github.com/koreader/koreader-base/pull/884
* Basically flags devices known to be stable when using PxP inversion.
* Plus, random fix for #4870 ;).
* A few FrontLight tweaks & cleanups on Kobo:
  * Moved the Kobo-specific startup status insanity to Kobo-specific init
  * Made turnOff/turnOn frontlight do a smooth ramp down/up
  * On Kobo, use turnOff/turnOn for suspend/resume, to get that smooth toggle
  * On Kobo, for NaturalLight w/ a mixer, only set warmth for setWarmth, and only set Brightness for setBrightness, otherwise, it tried to set both with not in-sync values, which made the FL widget jittery.
2019-04-08 23:05:08 +02:00
Frans de Jonge
8466af2c5b
[UX] Gesture manager: corner gestures (#4878)
Adds configuration to the top corners as well as the additional gestures hold and two-finger tap.

Deprecates `DTAP_ZONE_FLIPPING` and `DTAP_ZONE_BOOKMARK`.

Fixes #4877.
2019-04-07 19:00:15 +02:00
Frans de Jonge
22db71c075
[fix] OPDS last-modified check (#4874)
Fixes #4873. Unfortunately this will introduce a slight delay but I don't see any other quick & reasonable solution.
2019-04-05 08:50:33 +02:00
poire-z
5c38bcb8b7 [UX] Links menu and handling tweaks (#4867)
- Removed "Swipe to follow first link on page" menu item and
  handling code, as it feels not really as practical as
  "Swipe to follow nearest link".
- Removed recently added "External link action", as we can
  just always present a popup with the url and the available
  actions.
- Generic handling of these actions in onGoToExternalLink(),
  so they are proposed on the Wikipedia lookup popup too.
- Allow external link on PDF documents (previously, only
  internal links were handled).
- Have "Ignore external links on tap" available on all
  document types.
- Added "Ignore external links on swipe" (default to true,
  the current behaviour).
- Added multiswipe gesture "Follow nearest internal link"
  (the existing "Follow nearest link" now follows the
  nearest external or internal link)
- ButtonDialogTitle: added an option to look a bit more
  alike ConfirmBoxes.
- Footnote popups: fix link unhighlight when tap on external link.
2019-04-02 18:27:35 +02:00
Frans de Jonge
0a314e3ab8
[fix] widget/scrollhtmlwidget: default_font_size same as infofont and Screen:scaleBySize() (#4864)
Otherwise it's:

1. Too small on virtually all devices due to a lack of scaling.
2. Unusably small by default.

It's currently scaled by the callers (dictquicklookup & footnotewidget) based on other properties, but you shouldn't have to change it from the default just to get something usable. ;-)
2019-03-31 22:00:07 +02:00
poire-z
8f019b8183 Night mode: keep some images non-inverted
Have the code pre-invert some images when in night mode,
so they get inverted back to normal by night mode.
This will allow images to be displayed normally in
the following contexts:
- images in credocument pages
- long-press on images in credocument viewed in ImageViewer
- cover thumbnails in File browser and History
- full size covers when viewed in ImageViewer
- images in Wikipedia lookup results
2019-03-30 01:30:46 +01:00
poire-z
e2b4099228 Footnote popups: fix link unhighlight when closing with keys 2019-03-30 01:30:46 +01:00
NiLuJe
b72a2000b1
A few minor fixes after #4847 (#4850)
* Add a toggle to disable the C blitter in the Dev menu (depends on https://github.com/koreader/koreader-base/pull/882) (never shown if the JIT is disabled, grayed out if the C blitter is not installed)
* Fix a few sizeUtf8Text call sites that were doing a nil check in order to account for the new return type.
* Tweak statusbar handling to avoid spurious sizeUtf8Text warnings when it's hidden, and unify its behavior between being hidden via toggle, and hidden on book open (at least when all-at-once is not enabled).
* c.f., https://github.com/koreader/koreader-base/pull/882 (Android, PB, RGB32 & Legacy Kindle regression fixes).
2019-03-29 20:12:09 +01:00
NiLuJe
7210fb478d
Faster blitting @ BB8/BBRGB32 when no processing is needed (#4847)
* Pickup the eponymous blitting performance tweaks from koreader/koreader-base#878
* Cleanup BitOpts usage (require & cache)
* Unify oddness checks (MOD -> AND)
* Enforce the native Portrait orientation on Kobo (except @ 16bpp, i.e., KSM w/ 8bpp swap disabled), to allow for faster blitting when unrotted.
* Switch CRe BB to 32BPP on color screens
* Minor cleanups
2019-03-27 22:50:44 +01:00
poire-z
b7b4cdd2a7 ConfigDialog: fix possible crash (#4838)
When one has set a default for toggles thad don't have 'values' in
their definitions (possibly only Orientation).
2019-03-25 19:15:29 +01:00
NiLuJe
003de939b0 [fix] Properly account for MuPDF feeding us premultiplied alpha (#4807)
* Properly account for MuPDF feeding us premultiplied alpha

* Bump base to pickup necessary backend changes

Also includes a bunch of CMake refactoring
(https://github.com/koreader/koreader-base/pull/865
https://github.com/koreader/koreader-base/pull/867
https://github.com/koreader/koreader-base/pull/868)
2019-03-18 09:35:27 +01:00
poire-z
b16aa79636
ConfigDialog ButtonProgress: black border on default item (#4805)
Make the default (user set, or KOReader's default) item
among the button progress squares shown with a black border.
2019-03-15 23:15:05 +01:00
poire-z
c060595580
ConfigDialog: fix ButtonProgressWidget and some refreshes (#4793)
This internal ButtonProgressWidget widget was behaving
differently from all others (OptionTextItem, OptionIconItem
and ToggleSwitch) by duplicating some code from
ConfigDialog:onConfigChoose() instead of calling it directly.

While making it similar to others, I noticed that onConfigChoose()
did a full repaint, which was necessary for some settings to
be applied (ie: Contrast).
On CreDocument, this full repaint may cause some double drawing
on config changes (ie: Margins, drawing once after margin changes,
and then re-positionning to previous xpointer).
So, make the need for full repaint a condition on KoptOptions.
2019-03-14 22:23:17 +01:00
poire-z
9560bc2061
ConfigDialog: fix some gray mismatch in prev commit (#4797)
Remove gray underline on text items (font size items).
Adjust gray color of ButtonProgressWidget to match the
one of ToggleSwitch (just need to invert it, as it's
used to select button, which cause this color to be
inverted).
2019-03-14 22:09:55 +01:00
NiLuJe
2011cf1ad1 Various blitting related cleanups (#4789)
* Fix the "Enable debug logging" checkbox so that it properly disables "Enable verbose debug logging" when it gets disabled
* Avoid asking ImageWidget for alpha-blending when it's not useful
* Make ImageWidget's alpha-blending code-path double-check that alpha-blending actually is needed, and avoid it if possible
* In the same vein, only do alpha-blending in textboxwidget when absolutely necessary
* Prefer color constants over the gray() method, ensuring that they're part of the eInk palette

Depends on https://github.com/koreader/koreader-base/pull/853

Fix #4774
2019-03-14 20:58:45 +01:00
NiLuJe
930286d3f5 Slightly prettier virtual keyboard (#4776)
Add a thin border around keys (square)
2019-03-12 20:00:06 +01:00
Frans de Jonge
2536cc2645
[fix] widget/menu: Don't propagate ShowGotoDialog to other widgets (#4761)
Fixes #4760.
2019-03-08 21:52:45 +01:00
Qingping Hou
634fed5487 use device instead of canvascontext in UI modules 2019-03-03 13:10:45 +01:00
Qingping Hou
1605409c60 rename runtimectl to document/canvascontext 2019-03-03 13:10:45 +01:00
Qingping Hou
adb5d5a52c use screen for UI color control 2019-03-03 13:10:45 +01:00
Qingping Hou
d749591984 decouple device from pdfdocument, font & bgr checking 2019-03-03 13:10:45 +01:00
Qingping Hou
02eca23649 decouple device from document modules 2019-03-03 13:10:45 +01:00
poire-z
779909343c [UX] ButtonProgressWidget: thin grey buttons instead of black (#4700)
May help with ghosting when closing bottom dialog,
and fit better with the other grey toggles.
2019-03-02 12:24:15 +01:00
Frans de Jonge
1d1dc74290 [UX] creoptions: add more margin values
Fixes #4684.
2019-03-01 15:26:25 +01:00
Frans de Jonge
1475acdae7
[UX] Gesture manager: add action - go to (#4690)
Cf. <https://github.com/koreader/koreader/issues/4687>.
2019-03-01 12:59:39 +01:00
Galunid
015fb4d34e Allows adjusting highlight start and end (#4582)
Adds arrow buttons under Delete|Edit.
Tap to move by word, hold to move by char.
2019-02-16 00:42:27 +01:00
NiLuJe
abc6d17a25
A few minor fixes after #4541 (#4561)
* Enforce dithering in PicDocument
* Ensure we'll get a flashing update on ScreenSaver exit
2019-02-08 18:31:40 +01:00
NiLuJe
8189945be9
A few graphics fixes after #4541 (#4554)
* Various FocusManager related tweaks to limit its usage to devices with a DPad, and prevent initial button highlights in Dialogs on devices where it makes no sense (i.e., those without a DPad. And even on DPad devices, I'm not even sure how we'd go about making one of those pop up anyway, because no Touch ;)!).
* One mysterious fix to text-only Buttons so that the flash_ui highlight always works, and always honors `FrameContainer`'s pill shape. (Before that, an unhighlight on a text button with a callback that didn't repaint anything [say, the find first/find last buttons in the Reader's search bar when you're already on the first/last match] would do a square black highlight, and a white pill-shaped unhighlight (leaving the black corners visible)).
The workaround makes *absolutely* no sense to me (as `self[1] -> self.frame`, AFAICT), but it works, and ensures all highlights/unhighlights are pill-shaped, so at least we're not doing maths for rounded corners for nothing ;).
2019-02-08 00:56:32 +01:00
NiLuJe
812e595608
Enable HW dithering in a few key places (#4541)
* Enable HW dithering on supported devices (Clara HD, Forma; Oasis 2, PW4)
  * FileManager and co. (where appropriate, i.e., when covers are shown)
  * Book Status
  * Reader, where appropriate:
    * CRe: on pages whith image content (for over 7.5% of the screen area, should hopefully leave stuff like bullet points or small scene breaks alone).
    * Other engines: on user-request (in the gear tab of the bottom menu), via the new "Dithering" knob (will only appear on supported devices).
  * ScreenSaver
  * ImageViewer
* Minimize repaints when flash_ui is enabled (by, almost everywhere, only repainting the flashing element, and not the toplevel window which hosts it).
  (The first pass of this involved fixing a few Button instances whose show_parent was wrong, in particular, chevrons in the FM & TopMenu).
* Hunted down a few redundant repaints (unneeded setDirty("all") calls),
  either by switching the widget to nil when only a refresh was needed, and not a repaint,
  or by passing the appropritate widget to setDirty.
  (Note to self: Enable *verbose* debugging to catch broken setDirty calls via its post guard).
  There were also a few instances of 'em right behind a widget close.
* Don't repaint the underlying widget when initially showing TopMenu & ConfigDialog.
  We unfortunately do need to do it when switching tabs, because of their variable heights.
* On Kobo, disabled the extra and completely useless full refresh before suspend/reboot/poweroff, as well as on resume. No more double refreshes!
* Fix another debug guard in Kobo sysfs_light
* Switch ImageWidget & ImageViewer mostly to "ui" updates, which will be better suited to image content pretty much everywhere, REAGL or not.

PS: (Almost 💯 commits! :D)
2019-02-07 01:14:37 +01:00
poire-z
335a513826 [chore] cleanup multi-lines translatable strings
Revert 9971eb85 and make multi-lines strings more readable.
(Multiline translatable strings extraction has been fixed
in koreader-misc tralua_xgettext.py.)
2019-01-29 00:05:55 +01:00
Sergey Avseyev
744316ea6f opds: add two more public servers (#4515) 2019-01-26 16:08:59 +01:00
Sergey Avseyev
3337e45381 opds: fix parsing OPDS from textos.info (#4514) 2019-01-26 16:01:54 +01:00
NiLuJe
81b255cb85 Better-than-nothing key repeat handling.
Mainly aimed at the Forma.
Still fairly terrible, as these things goes ;p.
2019-01-20 23:05:25 +01:00
poire-z
4d67dd59ca Rationalize Links> menu items
- Remove duplicated "Show footnote popup". Have the same setting
  applied for Tap or 'Swipe to follow nearest link'.
- Make some menu items enabled or disabled depending on if they would
  have some effect with the current state of other menu items, as
  some kind of visual self-documentation of these dependancies.
- Add menu item to set the footnote popup font size, relative to
  the book font size.
- SpinWidget: allow for showing some informative text
2019-01-15 23:56:11 +01:00
poire-z
df28b90419 TouchMenu: show checkboxes in grey for disabled menu items 2019-01-15 23:56:11 +01:00
poire-z
77ec8e32e9 ConfigDialog: tweak widths computation
Small fixes to widths computation for a more balanced layout.
Decreased min width of names (on the left) from 33% to 25%, to
allow more room for toggles on the right.
(May make things a little bit too stretched out with english,
but should help with other languages that use longer words to
name things than english.)

Also ignore disabled option names in the names width calculation
(noticable on the PDF right most config menu, where toggles were
uneededly too small)
2019-01-15 23:02:40 +01:00
poire-z
f533acb7f9 InfoMessage: avoid overflowing screen height with long messages
When no height= provided, and the InfoMessage would overflow
screen height when some long message is provided, decrease the
font size until the widget fit.
2019-01-15 23:02:40 +01:00
NiLuJe
f6743a45db
Proper Forma support (#4414)
* Enforce a known rotation on startup, to make sure we handle touch input coordinates properly.
* Proper FrontLight warmth support (thanks to @cairnsh & @pazos in #4291)!
* Fix the PageTurn buttons mapping to match Nickel's defaults
* Properly remap PageTurn buttons depending on the current rotation.
* Actually enable the Mk.7 screen refresh codepath on *all* Mk.7 devices (I'd messed up the device check...).
* Full accelerometer handling (includes a touch of refactoring regarding orientation handling in general).
* Fix insidiously broken USBMS behavior in Nickel after we exit on FW >4.8.

Fix #4291
Fix #3002
2018-12-28 04:32:42 +01:00
endofline
295cc55e03 [fix] ODPS: socket.http redirect, where the target is a different host (#4420)
Split https/http code-path (as socket.http can adjust the Authorization/Host headers automatically)
Warn the user when the protocol differs from http/https
2018-12-26 14:12:50 +01:00
poire-z
ed8f87f9f4 Fix diagonal refresh not working in TOC and History
By delegating diagonal swipe handling to GestureManager only
when the Menu or FileChooser instance is the FileManager one.
2018-12-07 14:11:46 +01:00
Sergey Avseyev
063071fcdf [UX] Set timeout for wifi result info message (#4371)
When Wifi is connected, the message "Connected." stays on the screen
waiting for the user feedback. The change sets reasonable timeout
for info message to disappear
2018-11-30 18:14:40 +01:00
poire-z
872c908a02 [UX] ConfigDialog: larger tap area around font and icons (#4351)
The font size items (Aa Aa ... Aa) and the align & column
items (for PDF) had a non-tapable spacing between them,
which could make hitting an item difficult.
This replaces this spacing by padding on each side of the item,
so a tap in between will always catch one item, for easier
selection.
2018-11-20 20:54:03 +01:00
poire-z
f8199dd493
Fix a few edge cases crashes and issues (#4334)
- ReaderConfig does not need to call again self:initGesListener() on
  screen rotation/resize, as it uses the TouchZone infrastructure
  that deals itself with rotation. So, it was adding new gestures
  that were overriding tap on footer and preventing it from working.
- ReaderFooter: fix refresh area (which was too small when toggling
  from hidden to visible)
- ReaderToc: fix crash when showing TOC in scroll mode after rotation
- Menu: fix crash when no onReturn defined (could happen when tap on
  bottom left corner when showing an empty TOC)
2018-11-14 20:58:56 +01:00
poire-z
5d6807620f Fix footnote size after screen rotation (#4316) 2018-11-09 21:44:00 +01:00
Martín Fernández
1e69fae7bc [feat] Add support for BQ/Fnac devices (#4294)
Adds support for devices found in https://blog.bq.com/es/bq-ereaders-developers-program/. Tested on BQ Cervantes 4 (last BQ device from 2017).

It adds a new touch input event handler (discussed in #4275) which should work on other single touch devices (ie: Kobo Touch, Mini, Glo, Aura HD) but wasn't tested.

Includes base bump with: [feat] Add BQ/Fnac device support (https://github.com/koreader/koreader-base/pull/745)
2018-10-31 23:48:36 +01:00
Yann Muller
3fa2dad0b7 Fix for Internet Archive URL. 2018-10-24 14:48:50 +02:00
Yann Muller
030a02dfc4 Escape &, < and > when removing CDATA. 2018-10-24 14:48:50 +02:00
Yann Muller
9c251185eb Filter out CDATA. 2018-10-24 14:48:50 +02:00
Yann Muller
64d00b2969 [UX] Display the author in OPDS catalogs. (#4278) 2018-10-18 20:12:30 +02:00
poire-z
1b3d974bec Footnotes: fix current link being unhighlight in some cases
When a link is covered by the footnote widget, we highlight it
again when closing the footnote, and schedule an unhighlight
0.5s later.
When we tap on another footnote link, this was happening too
but the unhighlight unhighlighted all, including the new
footnote link.
This disable the former when the latter happens.
2018-10-14 21:32:31 +02:00
Qingping Hou
a72f8b6338 decouple UI from core document code 2018-10-14 09:14:35 -07:00
poire-z
f9086a2ba9
EPUB links: show footnotes in popup, larger tap area (#4261)
Adds new options to the Links> submenu, for now only
available and used with CRE documents.
- Allow larger tap area around links
- Ignore external links
- Show footnotes in popup
- Show more links as footnotes

(This last item is mostly for testing and loosening the
footnote detection algorithm, and see how it would behave
with glossary-like links and inter glossary terms links.)

Fix distance computation from gesture position to link by
using segments.
Code for detecting if a link is a footnote is in cre.cpp, and
tweakable a bit with flags in ReaderLink:showAsFoonotePopup().

Footnotes HTML content is displayed by a new FootnoteWidget,
which uses MuPDF for its rendering.
From it, swipe south or tap outside to close, swipe to the left
to follow the original link and jump to the footnote location
in the book.

Also fix tap on highlights after the recent change to use segments
for displaying: use segments also when checking taps.
2018-10-10 18:50:24 +02:00
poire-z
0e2a3b6263 Selection menu: allow viewing HTML 2018-10-08 22:04:50 +02:00
Robert
6cf0a6473f OPDS - change url for Internet Archive (#4249) 2018-09-30 20:31:48 +02:00
Robert
a29f0fb190 Add support for tiff and gif format in screensaver (#4250) 2018-09-30 20:29:43 +02:00
Robert
9fda983001 Add OPDS authentication (#4248) 2018-09-29 23:17:17 +02:00
Robert
dc5a479b66 Gesture manager (initial) (#4240)
Manager supports separate gestures for the file manager and the reader. Gestures from the manager have a higher priority than built-in gestures.

Settings available in Gear -> Device -> Gesture manager
2018-09-29 23:15:57 +02:00
Martín Fernández
a6df153d2c add spanish keyboard with Ñ character (#4244) 2018-09-24 19:19:05 +02:00
poire-z
47bcfc531e
Allow closing full screen dialogs with swipe down (#4237)
Mostly all that have a close button at top right, that may
be hard to reach or hit for some people: TOC, Bookmarks, History,
KeyValuePage (Book information, Statistics...), Book status...
Added full refresh on diagonal swipe where it was missing.
CoverMenu: removed onSwipe override, as it had become the same as
Menu a few months ago.
2018-09-21 15:48:40 +02:00
NiLuJe
f2abdd4dfe Fix touchmenu unhilight optimization (#4236)
* Don't optimize away a touchmenu unhighlight when we need it

Fix #4234
(Regression after #4189, which, incidentally, gave us a neat way to
handle the issue, which was theoretically present well before that ;)).

* Bump base

Pickup latest changes, just because we can ;).
(OpenSSH bump)
2018-09-19 06:38:53 +02:00
Robert
ad45eb28de Change icon in About window (#4233) 2018-09-18 21:48:39 +02:00
Robert
afc8427d96 [UX] Add password field to FTP (Cloud storage) (#4232) 2018-09-18 20:21:14 +02:00
Robert
eed3a4b5a2 Fix setting contrast on non-touch devices (#4219) 2018-09-13 13:49:23 +02:00
Robert
a706fde2d7 Cleanup downloadmgr titles (#4222) 2018-09-13 13:20:09 +02:00
poire-z
850be52177
Keep some menus open when Tap or Hold (#4189)
TouchMenu: added options to menu items with the following defaults:
    keep_menu_open = false
    hold_keep_menu_open = true
So, default for Tap callback is to close menu, and for Hold callback
to keep menu open.
In both cases, provide the TouchMenu instance as the 1st argument to
the callback functions (instead of a refresh_menu_func I added in #3941)
so the callback can do more things, like closing, refreshing,
changing menu items text and re-ordering...

ReaderZooming: show symbol for default (like it was done for
ReaderFont, ReaderHyphenation...)
TextEditor plugin: update the previously opened files list in real
time, so the menu can be kept open and used as the TextEditor main
interface.
SSH plugin: keep menu open and update the Start/Stop state in real time
ReadTimer plugin: tried to do what feels right (but I don't use it)

Also remove forgotten cp in the move/paste file code
2018-09-04 23:55:58 +02:00
poire-z
e1ba5ccffe Various minor fixes (#4172)
- css tweaks: use correct CSS "hyphens:" instead of "hyphenate:"
- screenshoter: more logical order of lines (no change in what it does)
- textviewer: make diagonal swipe really trigger a full refresh
- textwidget: more adequate text length to help with centering
- toggleswitch: fix sizing & centering with correct calculations
  (this reduces a bit the size of switches, and may cause a new
  truncation in some translations)
2018-08-19 20:21:03 +02:00
Robert
225b5d417d Adds ReaderDeviceStatus: low battery alarm (#4144) 2018-08-11 22:47:33 +02:00
Robert
55dab14c71 Change title and button text in OPDS (#4155) 2018-08-11 22:30:10 +02:00
Robert
7e6802737e Sorting: adds Sort by name - mixed files and folders (#4140)
Also moves the 2 Sort by percent in a sub-menu
2018-08-10 22:26:07 +02:00
poire-z
adceda15b7
TextEditor: allow scrolling by lines with Pan (#4145)
Feature of ScrollTextWidget, only used for now by TextEditor.
Pan is like Swipe, but wait a bit at end of gesture to release:
the line on which Pan was started will be moved to where Pan is
released.

May conflict with MovableContainer (so not enabled for DictQuickLookup,
where it could have been nice - but it would work only with text
dictionaries, not with HTML ones, as ScrollHtmlWidget can't really
do that).
2018-08-10 18:05:09 +02:00
alethiophile
637abfdf84 Various changes to sorting (#4067)
Don't consider sidecar file when sorting by access time.
Rename 'sort by title' to 'sort by filename':
This is in accordance with the actual function of the code, which
uses filename rather than title as specified in file metadata.
2018-08-07 21:23:19 +02:00
poire-z
6e35e683dd
Text editor plugin, InputDialog enhancements (#4135)
This plugin mostly sets up a "Text editor>" submenu, that allows
browsing files, creating a new file, and managing a history of
previously opened file for easier re-opening.
It restore previous scroll and cursor positions on re-opening.
Additional "Check lua" syntax button is added when editing
a .lua file, and prevent saving if errors.
The text editing is mainly provided by the enhanced InputDialog.

InputDialog: added a few more options, the main one being
'save_callback', which will add a Save and Close buttons
and manage saving/discarding/exiting.
If "fullscreen" and "add_nav_bar", will add a show/hide keyboard
button to it.
Moved the preset buttons setup code in their own InputDialog
methods for clarity of the main init code.
Buttons are now enabled/disabled depending on context for feedback
(eg: Save is disabled as long as text has not been modified).

Added util.checkLuaSyntax(lua_string), might be useful elsewhere.
2018-08-06 21:16:30 +02:00
poire-z
1d18b01cf7
PathChooser: clearer usage and behaviour (#4133)
Explicit new options: select_directory, select_file, show_files.
With select_directory, show an entry to select current directory
(so, removed undocumented hack "hold on .. to select current
directory").
2018-08-06 20:59:01 +02:00
poire-z
9971eb8533 Fix untranslatable strings (#4132)
Some problem somewhere with [[...]] strings starting with a
leading newline. Should probably be allowed, but for now
fix the few such cases to allow them being translated.
2018-08-01 19:29:03 +02:00
poire-z
620542b055
Text input related fixes & enhancements (#4124)
InputText: checks whether provided content can be given
back unaltered, which may not be the case after it is
splitted to UTF8 chars if the text is binary content.
Prevent editing text if that is the case.
Adds InputText and InputDialog :isEditable() and :isEdited()
methods.
Also accounts for the scrollbar width when measuring text
to prevent it from being displayed when not needed.
Also ensure a minimal size of the scrollbar thumb so it is
rendered when huge text with many lines is displayed.

Virtual keyboard: Hold on Backspace: delete from cursor
to start of line instead of clearing all text content.
2018-08-01 18:33:52 +02:00
Robert
19b1c919d6 FileChooser, PathChooser: show current path in header (#4125) 2018-08-01 17:02:34 +02:00
Robert
00a71a84ad Screenshoter: propose to set as screensaver image (#4113) 2018-07-28 20:18:31 +02:00
NiLuJe
fea0d8dbaf
Another set of fixes (#4083)
* Make findcalibre actually useful

By setting SEARCH_LIBRARY_PATH when a Calibre tree is found, so that
book paths can properly be constructed.

Users should still very much set it themselves, but at least everything
works as intended when not, instead of mysteriously half-breaking later.

Drop the SetDefaults bits, it appeared to have been added to fix no-ops
detected by Luacheck, and it's actually non-functional, because
SetDefaults doesn't handle saving variables it did not itself assign.
So this was just causing the "Do you want to save new defaults" popup to
show up on exit, but it couldn't actually do anything useful (like, say,
save the new SEARCH_LIBRARY_PATH value).

fix #4082

* Better comments about the state of NaturalLight on the Clara, and how this might translate to the H2O²r2.

re #4015

* Make ScrolltextWidget refresh as "partial" only on actual Scroll events

Moving the cursor should stay "ui", or things gets annoying really fast
;).

re #4084

* Bump base to pickup ZMQ fixes (fix #4086)
2018-07-21 21:51:25 +02:00
poire-z
0d66ea7555
Text input fixes and enhancements (#4084)
InputText, ScrollTextWidget, TextBoxWidget:
- proper line scrolling when moving cursor or inserting/deleting text
  to behave like most text editors do
- fix cursor navigation, optimize refreshes when moving only the cursor,
  don't recreate the textwidget when moving cursor up/down
- optimize refresh areas, stick to "ui" to avoid a "partial" black
  flash every 6 appended or deleted chars

InputText:
- fix issue when toggling Show password multiple times
- new option: InputText.cursor_at_end (default: true)
- if no InputText.height provided, measure the text widget height
  that we would start with, and use a ScrollTextWidget with that
  fixed height, so widget does not overflow container if we extend
  the text and increase the number of lines
- as we are using "ui" refreshes while text editing, allows refreshing
  the InputText with a diagonal swipe on it (actually, refresh the
  whole screen, which allows refreshing the keyboard too if needed)

ScrollTextWidget:
- properly align scrollbar with its TextBoxWidget

TextBoxWidget:
- some cleanup (added new properties to avoid many method calls), added
  proxy methods for upper widgets to get them
- reordered/renamed/refactored the *CharPos* methods for easier reading
  (sorry for the diff that won't help reviewing, but that was needed)

InputDialog:
- new options:
   allow_newline = false, -- allow entering new lines
   cursor_at_end = true, -- starts with cursor at end of text, ready to append
   fullscreen = false, -- adjust to full screen minus keyboard
   condensed = false, -- true will prevent adding air and balance between elements
   add_scroll_buttons = false, -- add scroll Up/Down buttons to first row of buttons
   add_nav_bar = false, -- append a row of page navigation buttons
- find the most adequate text height, when none provided or fullscreen, to
  not overflow screen (and not be stuck with Cancel/Save buttons hidden)
- had to disable the use of a MovableContainer (many issues like becoming
  transparent when a PathChooser comes in front, Hold to paste from
  clipboard, moving the InputDialog under the keyboard and getting stuck...)

GestureRange: fix possible crash (when event processed after widget
destruction ?)

LoginDialog: fix some ui stack increase and possible crash when switching
focus many times.
2018-07-19 08:30:40 +02:00
poire-z
7666644362
Bookmarks, CoverBrowser: scale dogear icon (#4081)
The Dogear icon is 20x20 pixels and was never scaled where used. Now:
- The bookmark icon (top right of screen) is scaled to 1/32th of the screen
width (previously, it was 1/30th on a 600px wide emulator, 1/53th on a GloHD).
On CreDocument, furthermore decrease its size if needed depending on the
selected margins so it never overwrite the text.
- CoverBrowser list view: scale it to the available room under
the "N % of P page" text, so it does not cover "page".
- CoverBrowser mosaic view: scale it to 1/16th of the cover rectangle, which
should prevent if from overwritting the text thanks to a max text width of
7/8 of the cover rectangle.

Also for CoverBrowser: don't index metadata for unsupported document
(which could happen when browsing files with PathChooser) and show
full filename for such documents.
Also: ImageWidget: small fix in case we use both scale_factor and
scale_for_dpi.
2018-07-19 08:18:55 +02:00
NiLuJe
464672108e
Misc. minor fixes (#4080)
* Unbreak dropbear after #4077
* Move the Kindle SO check to init
* Various virtual keyboard fixes to eradicate the remaining refresh conflicts (i.e., tearing artifacts), no matter the user's settings. (re #4069, re #3130).
2018-07-16 17:24:04 +02:00
Robert
5caabfb174 OpenWithDialog widget: improved display (#4078)
- add refresh after tap Cancel button,
- radiobutton and checkbutton with the same font size,
- truncates text outside window,
- better control font face and size in OpenWithDialog
  and RadioButtonTable widgets
2018-07-15 22:48:19 +02:00
poire-z
665cb37308
VirtualKeyboard: scale icons to fit font height (#4069)
The 4 keys that use images could be too big or too small
depending on screen size and DPI. They are now scaled in
all cases to fit font height.
2018-07-11 17:24:37 +02:00
Robert
6220d05a34 Fix focus/unfocus in MultiInputDialog (#4060)
Also fix size of window DCREREADER_CONFIG_FONT_SIZE
in Advanced settings
2018-07-08 00:45:27 +02:00
NiLuJe
75df3fcea3
Dismiss Wi-Fi scan popup after connection (#4055)
* Add a config switch to automatically dismiss the WiFi scan popup on connect
2018-07-07 17:06:58 +02:00
Robert
1510e5d7ed Buttons: properly truncate text when too long (#4057) 2018-07-06 21:05:12 +02:00
poire-z
9e4db559ab
TouchMenu: properly truncate item text when too long (#4052) 2018-07-05 07:20:15 +02:00
Robert
d29a65b96e cre: add Word Gap setting to bottom config panel (#4026)
Maps to crengine's Space Condensing feature (named Word Gap
as a similar feature is named for PDF)
2018-06-30 16:55:43 +02:00
poire-z
6e8cb23d33
bump crengine: fix drawing position of bottom and right borders (#4013)
Also let tap propagate when a Notification is displayed.
2018-06-14 21:53:43 +02:00
NiLuJe
5871132c25
UI Behavior tweaks (#3983)
* Switch all initial highlights to "fast" update

i.e., everything that does an invert
Plus a few other things that refresh small UI elements onTap
Re #3130

* Tweak refreshtype for a number of widgets:
  * Fix iconbutton dimen
  * Make touchmenu flash on close & initial menu popup. Full-screen on close.
  * Use flashing updates when opening/closing dictionary popup. Full-screen on close.
  * Switch FileManager to partial.
    It's mostly text, and we want flash promotion there.
  * Make configdialog & menu flash on exit
  * Make FLWidget flash on close
  * virtualkeyboard: flash on layout change & popup.
  * Potentially not that great workaround to ensure we actually see the
highlights in the FM's chevrons
  * Flash when closing BookStatus Widget
  * Optimize away a quirk of the dual "fast" update in touchmenu

* Promote updates to flashing slightly more agressively.

* Document what each refreshtype actually does.

With a few guidelines on their optimal usecases.

* Switch remaining scheduleIn(0.0) to nextTick()

* Tighter scheduling timers

Shaving a hundred ms off UI callbacks...

* Cache FFI C Library namespace

* Ask MuPDF to convert pixmaps to BGR on Kobo

Fix #3949

* Mention koxtoolchain in the README

re #3972

* Kindle: Handle *all* fonts via EXT_FONT_DIR instead of bind mounts insanity

* Make black flashes in UI elements user-configurable

(All or nothing).

* Jot down some random KOA2 sysfs path
2018-06-02 12:10:55 -04:00
Robert
895372f781 Show current and default values in config dialog (pdf) (#3973) 2018-05-26 19:45:37 +02:00
poire-z
9b6b91b743
TouchMenu: added hook to show help text on long-press (#3980)
When Hold and there is no hold callback attached to a menu item, a help_text
attribute, when present, is shown in an InfoMessage.
2018-05-25 20:56:37 +02:00
Robert
b7f67ea8a8 template -> T (#3966) 2018-05-20 12:16:14 +02:00
Robert
136a72f316 [UX] Notification are displayed too short (#3962)
Changed from 1 second to 2.

I also fixed the problem with blocking the UI when displaying the message. Now notification box is closed after taping anywhere (like InfoMessage).
2018-05-19 14:01:20 +02:00
Robert
da65db191b Show current and default values in config dialog (epub) (#3952)
when long-press on the title strings on the left of the buttons
2018-05-19 00:16:02 +02:00
Robert
fbd549bcfd
End of document action (#3943)
* End of document action

* Rev1

* Rev2

* Rev3

* File browser
2018-05-13 13:07:23 +02:00
poire-z
a9905c5129
Font menu: add symbols for default and fallback fonts (#3941)
Also allows for updating the fallback font and see results
in real-time on the underlying document.
Bump crengine for: fix updating fallback font

Also adds a menu item to generate a html document showing some
sample text rendered with each available font (only if the user has
a file koreader/settings/fonts-test-sample.html with some HTML
snippet of his choice).
2018-05-11 17:48:26 +02:00
poire-z
0fc7a5ed6d
ProgressWidget: add some bound checks (#3916)
Avoid drawing the fill bar our of the progress bar.
Avoid zero divided by zero that return 'nan' (Not a Number),
that does not bother lua code, but will crash libblitbuffer.so
when it gets nan as a coordinate.
2018-04-27 22:22:33 +02:00
poire-z
4bb3999cbc RenderImage: factorize all image rendering and scaling code
New module RenderImage (alongside existing RenderText) to provides
image rendering and scaling facilities.
Uses MuPDF, but tries first giflib on GIF.
Allows for getting all the frames from an animated GIF.
2018-04-22 17:00:29 +02:00
poire-z
782a57121c ImageViewer: allow viewing a list of images
Mostly useful for browsing the frames of animated GIFs
(but generic enough for other uses).
2018-04-22 17:00:29 +02:00
poire-z
d601eabc4a TextBoxWidget: optimize memory usage (#3904)
By reducing the number of data structures, and avoiding nested tables,
which seemed to impose a lot of work on the garbage collector.
2018-04-21 22:16:14 +02:00
poire-z
7f6aebe399
cre hyphenation: allow for setting min left/right fragment length (#3890)
When hyphenating a word, the existing algorithms enforced a minimal
length of 2 for each word fragments on left or right side.
This adds a widget to allow changing these minimal sizes (from 1 to 10).
2018-04-19 14:24:04 +02:00
Frode Austvik
2dc508537c [fix] Update charpos in InputText after moving the cursor up/down. (#3874) 2018-04-13 23:54:00 +02:00
David Engster
7a28c7d7aa [fix, UX] frontlightwidget: More space for text and centering
Otherwise clock display will have a line break for low DPI (see issue
2018-04-06 22:55:29 +02:00
David Engster
33c8c36f7a [fix, UX] frontlightwidget: Reduce text for automatic warmth
Reduce text size because for larger fonts this would not fit into
widget's size (issue #3825).
2018-04-06 22:12:25 +02:00
David Engster
cb0fadb80b [fix, UX] naturallightwidget: Reduce text size in button
'Save settings' was too large a string for larger fonts, so replace
with just 'Save' (issue #3825).
2018-04-06 22:12:25 +02:00
David Engster
9b67323326 [UX] naturallightwidget: Use unicode minus for button 2018-04-06 22:12:25 +02:00
poire-z
2473ebce01
Wikipedia link: check if previously saved as EPUB (#3837)
Also makes MultiConfirmBox movable, like ConfirmBox is.
2018-04-06 21:13:25 +02:00
poire-z
eb613ace3e [chore] CoverBrowser: avoid page info code duplication (#3835)
Also allows full refresh with small diagonal swipe
of Menu instances (TOC, bookmarks)
2018-04-06 11:53:11 +02:00
poire-z
6a997cf609 [UX] FileManager menu: split Settings tab into 2 tabs (#3836) 2018-04-06 11:32:54 +02:00
Frans de Jonge
489bfb4c77
[fix, i18n] ui/widget/frontlightwidget: translators don't need to worry about number of spaces (#3823)
Transifex warns about some issues but this is not one of them.

The proper solution would be `padding_right`. But although it's supported on FrameContainer it's not passed on through TextBoxWidget.
2018-04-02 13:00:13 +02:00
David Engster
daa1f466ff [feat, UX] frontlighwidget: Support for automatic warmth
If the device supports it, add a checkbox for enabling automatic
warmth, and a widget for setting the hour at which warmth should be
maximal ("bedtime").

The hour can be changed through +/- buttons; holding them will change
with 30min steps. As soon as automatic warmth is enabled, the 'warmth'
cannot be changed manually anymore, so we make its widget grey, but
the current value is still displayed correctly. Changing the hour
changes warmth accordingly.
2018-04-01 15:35:05 +02:00
onde2rock
f893b01f04 [fix, UX] CoverBrowser: reset cursor (#3817)
Also don't show the underline before the first key move.
2018-03-31 07:59:12 +02:00
onde2rock
74a06d98a2 [chore] Code cleanup : deprecate the 'Enter' event, replaced with 'Press' (#3815)
'Escape' now do 'Back' on SDL
'Enter' now do 'Press' on SDL
2018-03-30 23:22:18 +02:00
onde2rock
e502bf04d3 [feat, UX] Support the virtualKeyboard on non touch-device (#3796)
* [VirtualKeyboard] Add support for keynaviguation

Also rename the variable "layout" to "keyboard_layout" because conflict
with the layout from the focusmanager

* Make the goto dialog compatible with key naviguation

My solution is to change the order of the widget. The last one will the
virtualkeybard so it catch all the keybinding, and below it, make the
dialog "is_always_active = true" so it can receive touch event.

* Correctly show the virtual keyboard on dpad devices

* change the order to call the virtualKeyboard so it end up on top

* Handle the multi input dialog

* Support reopening the virtualKeyboard by the Press key

* add check focusmanager

* Fix https://github.com/koreader/koreader/issues/3797

* MultiInputDialog : Now work on non touch-device

* Set the virtualkeyboard to be a modal widget

* Fix the layout in multiinputwidget

* Fix for the various combination of
hasKeys,hasDpad,isTouchDevice

* [Focusmanager] Better handling of malformed layout
2018-03-30 12:46:36 +02:00
Frode Austvik
f36d93a8f7 [Fix] Make ScrollTextWidget:moveCursor return the new charpos. (#3808) 2018-03-28 10:52:35 +02:00
onde2rock
dfd87447da [UX] Make the reader bottom menu compatible with key navigation (#3785)
* [toggleswitch] Add support for key navigation to this widget

Add the onFocus an onUnfocus event handler
add a new function that just circle the switch if not touch event is
detected

* Add key navigation to the readermenu

The shortcut is still Alt-gr on sdl, to be defined on Kindle

* Remove the old method of handling the Press key.

Now the event is handled by the main widget who implement focusmanager
and then dispatched to the currently focused item.
Modify the fine font tuning only for non touch-devices

See : https://github.com/koreader/koreader/pull/3785#issuecomment-375306466
2018-03-22 21:01:38 +01:00
Frans de Jonge
65a63d244b
[UX] SDL2: set window title (#3784)
This initial implementation only sets the title for FileManager and ReaderUI.

Fixes #3713.
2018-03-21 20:10:35 +01:00
onde2rock
1b91470899 [FocusManager] More intuitive key navigation + spec (#3774)
FocusManager now finds the closest widget on the right or left on inner horizontal border.

See : https://github.com/koreader/koreader/pull/3765#issuecomment-373944897
2018-03-21 12:21:48 +01:00
Frans de Jonge
d0f1dee618 [UX, fix] ui/widget/menu: add onScreenResize action 2018-03-19 21:19:23 +01:00
onde2rock
5fcb804d47 Allow opening hold menu on non touch devices (#3765)
Emulate the hold touch behavior on non touch device by clicking the right key
ButtonTable: do not add vertical separator to the layout because the focus
manager can't traverse them. Add check to make disabled button non-clickable.
2018-03-18 11:42:35 +01:00
poire-z
5e47a83e6a
UIManager: avoid painting widgets covered by a full screen widget (#3770)
Navigating the TOC, viewing a full screen image, browsing
reading stats... would call paintTo() on ReaderUI (so, asking
the engine to render the page) or FileManager (so, rendering cover
images) even though their content is hidden.
Widgets registering to UIManager have to explicitely states
they cover the full screen (UIManager can't know, parts of their
dimen may be transparent, e.g. if it is a CenterContainer).
2018-03-17 23:02:32 +01:00
poire-z
b46628c08c
new option: Save Wikipedia EPUB in current book directory (#3762)
Also uses PathChooser (instead of InputDialog) in 'Set Wikipedia
Save as EPUB directory'. When setting not yet set, propose to
create and use ~/Wikipedia/ .
2018-03-16 20:47:51 +01:00
onde2rock
e8aab49ee9 Kindle4NT improvements (#3745)
* [device][kindle4] add fake event to kindle4

* modify focusmanager to allow for more complex layout

The focusmanager now naviguate the layout by avoiding nil value
instead of relying on table lenght. It should be completely backward
compatible

* add Dpad naviguation to the touchmenu

* fix crash because virtualkeyboard on non touch device

the kindle4NT has no keyboard nor touch, the fix open the virtual
keyboard so koreader dont crash but it's not useable

* Enable device with keys to use the touchmenu

* Don't get stuck in reader progress statistics plugin

* [underlinecontainer] Fix and remove unused function

References #1898.
2018-03-14 22:16:38 +01:00
David Engster
51b6e1625e ui/widget/frontlightwidget: Add 'Configure' button
For devices with natural light (KA1, H2O2), add new button 'Configure'
at the bottom which will open the naturallightwidget, which will be
placed at the top. The frontlightwidget will be moved to the bottom,
and both have permanent focus. This way, you can change the parameters
and immediately test them by changing the frontlight level and
warmth. On the KA1, both widgets will easily fit, but on smaller
devices it may be that they overlap.

Since the frontlightwidget will keep focus, we disable the 'Configure'
button when the naturallightwidget opens. We also remove its 'Close'
button and disable 'onTapCloseFL', so that the frontlightwidget cannot
be closed while the naturallightwidget is displayed.
2018-03-13 22:09:29 +01:00
David Engster
4fe80a0817 ui/widget/naturallightwidget: New widget to configure gain/offset
This widget is used to configure the natural light on KA1/H2O2. It
allows the user to set the gain/offset values for white/red/green, as
well as the exponent used in the formula.

Numbers can be changed via screen keyboard or through the plus/minus
buttons next to the numbers (holding the buttons will in/decrase with
smaller steps). Changes are applied immediately, but will only be set
permanently if 'OK' is pressed. If 'Cancel' is pressed, the new values
are discarded and the old ones restored. Also, pressing 'OK' will save
these values in the koreader settings file (there's no support for
changing these values in Nickel, so there's nothing to sync to its
config file). The 'Restore Default' button will install the original
defaults that were derived from Nickel's behavior.

This widget is meant to be called from the frontlight widget and is
placed at the top, so that the frontlight widget can still be used to
test the current values (see next commit).
2018-03-13 22:09:29 +01:00
poire-z
c93bbec40d
cre: more constrast settings (#3737)
Use ButtonProgress like it was done for kopt.
2018-03-11 14:54:17 +01:00
poire-z
48da3dc750
Fix some issues with movable dict window (reworked) (#3726)
Clearer rework of this fix (a few commits ago): more explicite,
no need for the additional callback.
2018-03-07 15:59:59 +01:00
Frans de Jonge
e15a1ab1b3
[fix, spec] InputText:addChars() unicode handling (#3729)
Also rename from `addChar` to `addChars` for clarity.

Fixes #3703.
2018-03-07 10:22:49 +01:00
poire-z
e7f705bf10 Fix some issues with movable dict window (#3722)
Some Hold and move (hold on title and move away from it) would not work.
Pan (=swipe with hold at end) while selecting text would move the
window (it now does nothing: proper text selection still needs Hold
on word at start).
Also increase hold duration from 2s to 3s (for switching lookup
between dict/wikipedia) to be consistent with the 3s duration in
readerhighlight.
2018-03-05 21:27:55 +01:00
poire-z
a8e71706b1 coverbrowser list view: show book status (#3708)
Replace reading percentage with 'Finished' or 'Abandoned'
when book status is no more 'Reading' (can be changed back
via Book Status widget).
2018-03-02 17:22:41 +01:00
Frans de Jonge
ca6a486806
[UX] InputText: Paste on hold (#3682)
See https://github.com/koreader/koreader/issues/3441
2018-02-17 06:31:32 +01:00
David Engster
78284e13d9 frontlightwidget: Add widgets for changing 'warmth' if available
If the device supports natural light (currently only KA1), extend the
frontlight widget to also allow for changing the 'warmth' value. We
more or less duplicate the widget for 'brightness', with the exception
that we drop the 'toggle' button, which does not make much sense for
the frontlight's warmth. Also, we add captions 'Brightness' and
'Warmth' for clarity.
2018-02-12 08:29:40 +01:00
David Engster
95951953f2 frontlightwidget: Make 'powerd' an object member
Small refactoring to make it easier to access 'powerd' object.
2018-02-12 08:29:40 +01:00
Frans de Jonge
dc0dc7e962
[feat, UX] Add new OpenWithDialog based on RadioButton and RadioButtonTable (#3678)
Fixes #3659
2018-02-11 20:46:18 +01:00
Robert
39738955f3 File manager: added 'Go to letter' (#3664)
When Hold on page number, allows for inputing letters to go to file
starting with them (and not only numbers to go to page number).
2018-02-09 22:33:15 +01:00
Robert
04b49a7c80 [fix, UX] timewidget and datewidget in landscape mode (#3666) 2018-02-07 18:45:46 +01:00
poire-z
c0c243c41a Menu: don't underline items on touch devices (#3663)
First item would be underlined if the device is both Touch and Keys
capable (emulator, android, pocketboot...), which is not really
pretty. Delay that till Keys for focusing are really used.
2018-02-05 15:42:26 +01:00
Robert
9c373f138f Menu: speed up rendering of long texts (#3657)
Slowness mostly noticable in Bookmarks with long highlights
2018-02-04 19:48:39 +01:00
poire-z
b0f0e839fb [UX] Dict: scroll back with tap: go to bottom of prev definition (#3647) 2018-01-31 09:16:34 +01:00
poire-z
43a6cf4b2e Add MovableContainer: allow moving some widgets (#3636) 2018-01-29 21:27:24 +01:00
poire-z
b16c93bbe5 HtmlBoxWidget: fix selection when starting from end (#3632) 2018-01-27 15:11:46 +01:00
poire-z
ba389c9a00
epub metadata: support multiple authors (#3624)
crengine may now give us multiple authors (if multiple <dc:creator>
in epub metadata) separated by \n.
Deal with that where needed.
Limit the number of authors displayed in coverbrowser views.

Bumped base/crengine: multiple <dc:creator> + fix mobi images order
Bumped base: util.runInSubProcess(): give child its own process group
2018-01-21 22:33:40 +01:00
poire-z
35df1749b2
Screensaver: a few tweaks and fixes (#3619)
When no manually added specific 'poweroff' or 'reboot' screensaver
settings, use the suspend/sleep settings set via menu with an added
overlay message in top right corner.
Generalized some settings: "White background behind message and images"
and "Stretch covers and images to fit screen", and move "Exclude this
book's cover from screensaver" up a level (and remove this menu item
added by ReaderMenu when closing document).
Don't use memory cache with rendered screensaver images.

ImageWidget: fix wrong behaviour (stretch) when 'file', 'width',
'height' and 'scale_factor' provided: now, keep aspect ratio.
ImageWidget: increase file image mem cache (mostly used for icons)
from 2 to 5MB to be ready for devices with very high DPI.
2018-01-21 19:44:12 +01:00
Robert
dd00417bc8 Sort documents - open sidecar file only in percent sort (#3622) 2018-01-20 00:01:09 +01:00
Robert
46e0f30b0a Proper page changes using the up and down keys (#3621) 2018-01-19 20:43:22 +01:00
poire-z
43ad2cef99 TextBoxWidget: optionally display a list of images
(each one at top right of each page)
Such images can be loaded dynamically when the display of a page requires it.
Allow alternating between the image and its title with Tap on it.
Allow for viewing this image zoomed in ImageViewer with Hold on it.

DictQuickLookup: add generic support for result.images, that
could optionally be provided in Wikipedia lookup results.
2018-01-17 21:36:21 +01:00
poire-z
0ef948f60d Trapper: adds dismissableRunInSubprocess() + new TrapWidget
New TrapWidget: invisible full screen widget for catching UI events. Can
optionally display a text message at bottom left of screen (ie: "Loading..."),
used by default by Trapper:dismissable functions when no widget provided.
Added Trapper:dismissableRunInSubprocess() to run a lua function in
a sub-process, allowing it to be dismissed, and returns its return
value(s).
2018-01-17 21:36:21 +01:00
poire-z
b1863d3a71 ImageViewer: with title bar, allow for a secondary toggable caption 2018-01-17 21:36:21 +01:00
Robert
6e87735b79 Filemanager - sort by percent of book (#3614) 2018-01-17 20:10:25 +01:00
TnS-hun
b40bc53fc7 HTML dictionary link support (#3603) 2018-01-15 23:51:43 +01:00
Robert
d201c04df7 OPDS - add confirm when file exist in local destination (#3605) 2018-01-14 20:19:45 +01:00
Robert
d163f8281d Menu: configure number of items per page, wrap entries (#3589)
Configure number of items per page (from 6 to 24) - default is 14
Allow filenames to wrap so that we can see the full name
Used by File browser, History, Search Result, Bookmarks, Table of contents (only single line), File chooser, OPDS catalog
2018-01-13 23:38:53 +01:00
poire-z
d51c184060 KeyValuePage: make PgUp and PgDown key go to prev/next page (#3590) 2018-01-11 12:45:00 +01:00
poire-z
7feea4037e
HTML dict: fix continuous scroll with tap (#3587) 2018-01-10 00:36:55 +01:00
poire-z
8c897a086f HTML dict: enable color rendering and per-dict user fix html func (#3585)
Also fix possibility of crash in HtmlBoxWidget:free()
2018-01-09 21:38:49 +01:00
poire-z
30200b516f Fix scroll with swipe in scrollhtmlwidget (#3586) 2018-01-09 21:37:50 +01:00
poire-z
262e55d0ae Dict: make html and text results look similar (#3582) 2018-01-08 16:16:39 +01:00
poire-z
bfb07c79ef Fix: scale html dict result font size (#3581) 2018-01-08 12:23:36 +01:00
TnS-hun
06a8a33d39 HTML dictionary support (#3573)
* Adds a generic HTML widget modeled after the text widget, and HTML dictionary support. HTML dictionaries can have their own CSS (for X.ifo it must be X.css). The base CSS just resets the margin and sets the font.

Note that the widget doesn't handle links, that wasn't needed for the dictionary.

Closes <https://github.com/koreader/koreader/issues/1776>.

* Show tag stripped HTML if the dictionary entry isn't valid HTML

* Simulate the normal <br/> behavior

* Bump base
2018-01-07 20:24:15 +01:00
Robert
227584de22 New option - create new directory (#3555) 2018-01-01 16:31:39 +01:00
Robert
a692b5adfb KeyValuePage: option to align value to the right (#3550)
Applied in Reading statistics plugin
2017-12-17 22:08:13 +01:00
Robert
efa0d06df9 Add new options to screensaver (#3535)
* Prevent open screensaver more than one in the same time

* Add option to enable/disable background in message screensaver

* fallback to random images if this book cover is excluded feature + fix Disabled (leave screen/page as it is)

* Autostretch disable by default, more fallback options, leave screen as it is
2017-12-17 18:27:24 +01:00
TnS-hun
29b376fdd9 [UX] Option to show dictionary in large window (#3499) 2017-11-20 09:40:00 +01:00
Robert
b37ae2d681 [UX] Fix bookstatuswidget truncated at the bottom in landscape (#3498) 2017-11-19 09:15:54 +01:00
poire-z
8192a2f947 Small decrease of ToggleSwitches width
Just to add some margin, needed on large screen DPI
2017-11-17 14:05:08 +01:00
poire-z
445926ab1c Fix live refresh when changing pdf contrast
nextTick somehow prevented a full refresh of the screen
scheduleIn, as used by other widgets, makes that ok
2017-11-17 14:05:08 +01:00
Frans de Jonge
2538189473
[doc] WidgetContainer: fix some typos 2017-11-15 09:02:33 +01:00
Robert
0def547162 More contrast settings (#3463)
Close: #2133 
More info: #2133
2017-11-04 15:31:41 +01:00
Robert
178555180f [fix] Disable Highlight button when text is not selected (#3457) 2017-11-01 14:50:53 +00:00
Robert
198c151125 ConfigDialog improvements 2 (#3455)
+ Fix height for ToggleWidget
+ Able ToggleWidget width more than half of width of screen
2017-10-31 20:42:13 +00:00
Robert
369cf4f102 [UX] Improve ConfigDialog (#3443) 2017-10-28 21:28:41 +02:00
poire-z
99161d6b03 Wiki save as epub: close highlight menu when switching document (#3417) 2017-10-24 13:22:10 +00:00
poire-z
3639c3e7c6 [UX] Fix dict title width to not go over CloseButton (#3414) 2017-10-23 21:17:52 +00:00
poire-z
568a28889b KeyValuePage: option to align value to the right when half-overflow (#3407)
Applied in FileManagerBookInfo.
2017-10-23 19:30:06 +00:00
Robert
af61153df2 [feat] SkimToWidget chapter markers & next/prev chapter/bookmark (#3389)
https://github.com/koreader/koreader/issues/2819#issuecomment-332261968
+ refactoring code in skimtowidget
+ add chapter markers
+ add next/prev chapter buttons
+ add next/prev bookmark buttons
2017-10-22 11:09:49 +00:00
poire-z
591dc2119c FileBrowser: optimize 'change page to show last file'
This feature, introduced some days ago, was actually
doing 2 updateItems calls: the initial one, and a second
to switch to focused_file page (cheap with classic display mode,
less cheap with CoverBrowser modes).
This change allows doing that in a single call.
2017-10-21 19:09:24 +00:00
Robert
ba6cc87424 Fix location of progress bar ticks (#3382) 2017-10-20 15:49:13 +00:00
poire-z
c15915a4ee Added util.getFriendlySize() (#3381)
* Added util.getFriendlySize()

* Allow for GB
2017-10-20 15:48:32 +00:00
poire-z
8aa26edeb6 Fix some widget title height and close button alignment (#3366) 2017-10-16 17:51:56 +02:00
poire-z
8fd4154891 Small visual fixes to top menu (#3356)
To make it more alike bottom menu:
- left and right border not displayed
- line below icons extends to screen borders
- same bottom border size
And make separator lines have same padding on both sides
2017-10-14 22:00:58 +02:00
poire-z
29707bd664 FileBrowser: change page to show last file or previous subdir (#3351)
When going from reader to filemanager, we are in the directory
containing the last_file. With this, we will also be on the page
showing this file.
When in filemanager and going up (".."), we will also be on the
page containing the directory we came from.
2017-10-13 18:43:02 +02:00
poire-z
532c850cbd Menu (TOC, bookmarks): add padding before right text (#3350) 2017-10-13 14:42:08 +02:00
poire-z
f90973f73a Allow for disabling flashing of menu, icons and buttons (#3339) 2017-10-10 23:50:45 +02:00
poire-z
430b61ba76 Small visual fixes to Menu (#3338)
Rationalize horizontal construction of Menu items (TOC,
Bookmarks, Classic file views) for more even padding.
Align "x" close button diagonaly with top right border and title.

Also add forgotten scale_for_dpi to MultiConfirmBox
2017-10-10 22:23:25 +02:00
Robert
a392fbcca0 [feat] VirtualKeyboard cursor navigation (#3290)
Still lacks Japanese due to insufficient knowledge of the language.
2017-10-10 18:04:51 +02:00
Robert
bcb09f3aa1 Flash KeyValuePage item when callback (#3322) 2017-10-08 20:51:24 +02:00
poire-z
9443098e98 Normalize some widgets appearance (those using ButtonTable)
This makes button heights similar in all uses of ButtonTable.
It depended on how the ButtonTable was used in each widget
(previously, first and last row may have different sizes than
the others).

buttontable.lua: more even buttons height whether zero_sep or not
framecontainer.lua: added padding_top/bottom/left/right (similar to
what was done for iconbutton)

The following widgets have been adapted for this, with some
additional fixes:

buttondialog.lua
buttondialogtitle.lua: wider title with adequate padding
confirmbox.lua + multiconfirmbox.lua: dismissable via tap outside
inputdialog.lua + multiinputdialog.lua: more even vertical padding between elements
imageviewer.lua
textviewer.lua
datewidget.lua
timewidget.lua

Additionaly: frontlightwidget.lua: fixed width of progress bar that
was exceeding window width since the Size scaling adjustements
2017-10-08 20:44:11 +02:00
poire-z
2fc8076139 Better vertical centering of text in its box
Decide baseline vertical position according to font metrics, instead
of the hardcoded 0.7 (in textwidget, which made the text a little
bit up in its box), and 0.75 (in toggleswitch, which made the text a
little bit down in its box). This usually gives a value around 0.72
or 0.73 with our ui fonts, which looks about right.
ReaderFooter: add bottom padding, now that our text goes a few pixels lower
2017-10-08 20:44:11 +02:00
poire-z
8c700eefd9 Avoid some full refreshes on Kindle (#3315)
"partial" refresh causes a full (without black flash) refresh on
Kindle (which uses REAGL mode for partial refresh). This causes a
full redraw of widgets, which is a bit distracting with some of them:
- dictquicklookup: when showing next definition
- infomessage: when displaying a new one (Wikipedia Save as epub)

Also fix bottom menu, that even when closed, would still register
bottom area as dirty: this would cause top menu navigation to
cause a full partial refresh, only noticable on Kindle.
2017-10-07 15:23:39 +02:00
poire-z
e6fcea6e26 Fix crash with keyboard navigation of onHold buttontables (#3307)
* Fix crash with keyboard navigation of onHold buttontables

Would crash when encountering a separator or when the number
of buttons in a row changes.

* Reset previous selected item on new buttontable
2017-10-07 12:11:00 +02:00
poire-z
1f038055d3 [Fix] Full refresh when showing ImageViewer 2017-10-02 08:28:09 +02:00
Robert
7323d04c1b Fix refresh in Time range (#3278) 2017-10-01 14:28:12 +02:00
Frans de Jonge
0d7999e7a5 [fix] Add hold_callback to IconButton (#3271)
Also fix path display update.

Fixes #3270.
2017-09-28 21:26:16 +02:00
Robert
8d765e7d0d Add back button to statistics (#3267)
Closes: #3236 and #3235
Details:

> Also, when looking in days, we see info how many hours we read. It would be great if we could tap a day, it opens info on book(s) we read that day with info pertaining to that day, and if we tap on book, we receive book info for that book.

>  Statistics plugin is really great, I started to look in my reading statistics now much more, but all the time I can go only in one way. And I need to exit at lowest level of info. It would be great if I can use statistics plugin like part of menu, to go up and down within statistics data and exit at my wish, not when I have to.

Also added:

 * new statistics book by week
 * new statistics book by month
 * last year by week now we can see days in selected week
2017-09-28 15:35:25 +02:00
Frans de Jonge
0fc5a378bc [UX] Add home button (#3263)
Tap to go HOME. Hold to set current folder as HOME. When no HOME is set yet tap also asks to set current folder as HOME.

See https://github.com/koreader/koreader/issues/2957#issuecomment-308513062

Closes #3200.
2017-09-27 18:15:11 +02:00
poire-z
0aa0b9b2de ImageWidget: use MuPDF for scaling images (#3260)
* Cache scaled images with scale_for_dpi

* Don't update original self.scale_for_dpi

A same ImageWidget object can be free()'d and re-render()ed,
and we would then lose scale_for_dpi on next renderings
2017-09-26 10:21:58 +02:00
poire-z
9448a52515 [UX] Smaller bottom menu icons (#3257)
And unrelated small optimisation in imagewidget
2017-09-24 15:22:06 +02:00
Robert
88aba421cb Timer Reader with normal time format (#3244) 2017-09-24 13:03:14 +02:00
poire-z
c770d71f14 Fix Menu (TOC, classic file browser...) right padding (#3255) 2017-09-24 01:08:44 +02:00
Frans de Jonge
36478262bf [UX] Smaller top menu icons (#3253) 2017-09-23 22:01:30 +02:00
Frans de Jonge
a6be301695 Added Size module 2017-09-23 20:24:45 +02:00
Frans de Jonge
9eb073a524 [travis] Add protection against unscaled sizes
As pointed out by @poire-z

* [fix, UX] SkimToWidget scaling

* [fix] Button scaling

* [fix, UX] Scale ProgressWidget

* [fix, UX] Scale confirmbox

* [fix, UX] Scale just about everything
2017-09-23 20:24:45 +02:00
Frans de Jonge
cfb039a91b [fix] Scale ImageWidget by screen size as well as DPI
Fix #3204
2017-09-23 20:24:45 +02:00
poire-z
4d18ac1100 Some History fixes and enhancements (#3247)
Made the onHold buttons table similar to the one of File browser.
Added "Purge .sdr" and "Delete" to these buttons.
Moved the purgeSettings and removeFileFromHistoryIfWanted
logic into filemanagerutil functions.
Stay on the same page when manipulating history (previously, we were
always put back on first page).
Really keep deleted files in history (unless setting says otherwise).
Show deleted files in grey or dimmed in classic History and all
CoverBrowser display modes.
2017-09-22 18:24:38 +02:00
poire-z
5828ef8f1c Fix potential crash when clearing hold highlight (#3241)
A delayed clear() could reset hold_pos while a onHold/onHoldPan/
onHoldRelease is in progress, resulting in hold_pos becoming nil and
a crash.
2017-09-20 17:35:30 +02:00
poire-z
941d77f6bc Reduce unhighlight delay when closing dict (#3239) 2017-09-19 22:48:30 +02:00
Robert
5258643a85 Add a date setting (#3234) 2017-09-18 19:04:36 +02:00
Robert
d4a4bb2b55 Refactor TimeWidget and add NumberPickerWidget (#3232) 2017-09-17 16:41:54 +02:00
poire-z
79dca8e245 [UX] Wikipedia save as EPUB: allow for aborting download (#3224) 2017-09-16 17:25:47 +02:00
Robert
7c88bad189 [fix] Statistics settings reset to default when on save without change (#3188)
* Fix: #3186
2017-09-14 22:31:25 +02:00
Robert
e5eb015f1b Statistics in bookstatuswidget (#3218) 2017-09-14 22:29:09 +02:00
poire-z
bccbf95080 Add horizontal_padding to IconButton (#3213)
TouchMenu (top menu) and ConfigDialog (bottom menu) updated
to make use of that. This provides a wider sensitivity to
menu buttons.
2017-09-13 10:12:29 +02:00
Robert
56345fd8c0 Fix moving icons in config panel (#3211) 2017-09-12 18:34:30 +02:00
Robert
85e2140ced Show position on config panel (#3194) 2017-09-11 20:54:27 +02:00
Frans de Jonge
7310937219 [fix] "Follow Link" popup issues (#3198)
* Add current location to location stack from follow link popup
  See https://github.com/koreader/koreader/pull/3190#issuecomment-328332771
* Word highlight not removed
* "Follow Link" not translated
* Typo in docs
2017-09-10 14:26:49 +02:00
Frans de Jonge
f439ca0e8d [UX] Add "Follow Link" in hold/highlight dialog (#3190)
* This way you can disable "tap to follow links" on single tap yet still follow links.
* Change menu as well as per @poire-z's suggestion.
2017-09-09 18:30:00 +02:00
poire-z
1e17e4c291 Fix crash when tapping on toggleswitch left or bottom borders (#3181) 2017-09-06 12:56:50 +02:00
Robert
568e8f667a Fix: Crash when highlight a word (#3155)
* Fix: Crash when highlight a word

* reorganize highlight strings

* Remove redundant var
2017-09-01 23:17:35 +02:00
Robert
aae809ba48 max_width in buttontable - prevent overlong text (#3145)
* max_width in buttontable - prevent overlong text

* fix max_width
2017-08-29 21:11:16 +02:00
poire-z
c6cfed92d7 Fix kobo fl_min and frontlightwidget (#3143)
* Put back fl_min=0 as it is for all other devices (the idea
fl_min should be 1 and toggling managed some other way is
not implemented in current code).
* Fix a few frontlightwidget issues
2017-08-29 17:37:08 +02:00
Robert
c78f6989b4 Fix: truncateTextByWidth() should respect kerning and bold (#3139) 2017-08-28 20:36:15 +02:00
poire-z
1ab2a542dd ImageViewer: fix rotation angle in landscape mode (#3136) 2017-08-27 09:01:46 +02:00
poire-z
5d2bebcc0b Added Dictionary settings and Wikipedia settings menus (#3121)
Also removed OPDS `download_dir` from the candidates to Wikipedia
"Save as EPUB" dir.
2017-08-22 17:24:31 +02:00
Frans de Jonge
e23c2fd7ae [fix] InputText: dirty dimensions 2017-08-20 21:39:00 +02:00
Frans de Jonge
63241a20ea [UX] Add CheckButton and use it for show password
Normal textinputs stay the same, password textinputs automatically gain a show password checkbutton underneath.

Thanks to @robert00s for the idea.
2017-08-20 11:44:15 +02:00
poire-z
a074876cc2 Added french keyboard
Same as std keyboard with only lowercase and uppercase letters layouts
adapted from QWERTY to the traditional french AZERTY layout.
2017-08-19 21:57:28 +02:00
poire-z
967a09c810 ImageViewer: make Hold (trigger full refresh) easier 2017-08-19 17:24:16 +02:00
poire-z
c3778bdb2a Button and TextWidget: added max_width attribute
Simple way to ensure overlong text is truncated.
Used by dictquicklookup to truncate long titles.
2017-08-19 13:02:25 +02:00
poire-z
cf95f5e8d3 Ensure TextWidget's width and heigth are integer
And removed workarounds in coverbrowser plugin.
2017-08-18 23:01:37 +02:00
poire-z
b4e7dc947c Added TextBoxWidget.has_split_inside_word flag
Used by coverbrowser's Text covers to choose the best font size.
2017-08-18 23:01:37 +02:00
Frans de Jonge
a8a7ebe1d4 [doc] some widget docs 2017-08-18 11:43:46 +02:00
Frans de Jonge
cda148e4b7 [UX] Add CheckMark and use in TouchMenu checkable indicator
Uses `✓` overlaid on `▢` to create the checkbox.
2017-08-18 11:43:46 +02:00
poire-z
3dd18d2a3b Fix "start with history" misalignment
due to a side effect with coverbrowser. CenterContainer is no
more needed as History is now full screen.
2017-08-18 10:37:46 +02:00
Robert
7f58a13626 Ability to setup clock (#3085)
* Ability to setup clock
2017-08-15 19:54:02 +02:00
robert00s
5e402419ed Swipe down to close config menu 2017-08-14 12:59:54 +02:00
robert00s
7919026a19 Fix: crash when incorrect value in input page number 2017-08-06 15:58:37 +02:00
Robert
46c19ba8e9 Option to disable keyboard flashing (#3050)
* Option to disable keyboard flashing
2017-08-04 14:01:06 +02:00
robert00s
f650ac1ecc Fix: Backspace will delete the character before the one on the left of the cursor 2017-08-03 14:29:33 +02:00
robert00s
e6ec1d4198 Fix: KOReader dies after clicking AEB four times on keyboard 2017-08-02 20:18:20 +02:00
Robert
7432100981 KeyValuePage navigation buttons (#3043)
* KeyValuePage navigation buttons
2017-08-02 19:17:56 +02:00
Robert
b883979fba Option to make password visible when entering (#3040)
* Option to make password visible when entering
2017-08-02 14:00:42 +02:00
robert00s
6d5859d11d Read bookmarks without having to view ebook page 2017-07-31 20:36:06 +02:00
Robert
c7417c45b3 Wrap text in TextViewer (#3036)
* Wrap text in TextViewer
2017-07-31 19:03:32 +02:00
Robert
4d0f66a354 Fix: Unhighlight is not clickable in dictionary view and Deleting highlights in bookmarks does not take effect (#3034)
* Fix: Unhighlight is not clickable in dictionary view
* Fix: Deleting highlights in bookmarks does not take effect
2017-07-28 22:39:54 +02:00
poire-z
e6612ec728 TextViewer widget, used when onHold on truncated item in KeyValuePage 2017-07-14 16:46:38 +02:00
Hzj_jie
a4d5165f7a Several fixes in frontlight logic (#2991)
* Use PluginShare to exchange data between plugins

* Remove legacy code in reader.lua and kobo/device.lua, and move KOBO_LIGHT_ON_START to kobo/powerd.lua

* A better sync config logic

* Consider kobo without hardware frontlight toggle

* update frontlight widget once toggle is tapped.
2017-06-29 08:23:32 +02:00
Robert
bd92d68b7f Remove Set default Fine Tuning (#2971) 2017-06-19 08:34:01 +08:00
Hzj_jie
53eb4dee50 AutoFrontlight plugin (#2941)
* Add AutoFrontlight plugin

* Add configuration to control autofrontlight feature
2017-06-14 19:32:16 +02:00
alexandrahurst
71d38ac647 Refactor modifier keys and add basic Japanese keyboard layout (#2930)
* Add a basic Japanese keyboard layout

Allow for entring Japanese text into text boxes.  Only supports kana
and latin letters due to limitations of current VirtualKeyboard
implementation (complex text input with conversion is not possible).

* Allow keyboard layouts to declare custom modifiers

Refactor modifier key setup code and existing keyboard layouts so
that each layout can declare custom modifier key labels.  This
allows for greater extensibility and for future keyboard layouts.
2017-06-03 11:14:36 +02:00
Hzj_jie
30378eb2a8 Add restart koreader function and ensure FlushSettings event can be delivered to all widgets (#2772) 2017-05-16 02:11:11 -07:00
Frans de Jonge
3492b8b117 (minor, lang) improve text clarity for downloadmgr dialogs (#2897)
It's not necessarily clear that you need to long-press, see https://www.mobileread.com/forums/showpost.php?p=3520376&postcount=7
2017-05-15 21:48:18 -07:00
poire-z
9e346f5559 Allow wikipedia lookup from filemanager
Also allow taking screenshot when on dictionary window.
2017-05-12 19:10:26 +02:00
Robert
f21550b3d5 minor: translate "Save as epub" and "Close" in full Wikipedia window (#2875)
* translate save as epub and close

* epub to EPUB
2017-05-08 18:14:29 +02:00
Qingping Hou
3541320cd2 goodreads(fix): double free 2017-05-08 09:55:02 +02:00
Qingping Hou
23c2955500 chore: style cleanup for infomessage 2017-05-08 09:38:48 +02:00
Robert
0b47c81b1a Add Greek keyboard (#2866)
* Add Greek keyboard

* Fix fix raw to row in comments
2017-05-07 13:28:01 +02:00
Frans de Jonge
773e24fc79 (chore) some require sorting. 2017-04-29 11:41:24 -07:00
Frans de Jonge
e1aa57f27e Font: unify font styling 2017-04-29 03:01:38 -07:00
Frans de Jonge
19928f2b1b KeyValuePage: smaller font and padding 2017-04-29 03:01:38 -07:00
Frans de Jonge
4616339ef8 KeyValuePage: improve looks
Fixes #2578.

* key bolded
* values normally left-aligned at 50%
* allows misalignment for the sake of fitting everything on one line
2017-04-29 03:01:38 -07:00
Frans de Jonge
bb70ae9eaf Dev docs: some widgets 2017-04-27 01:29:54 -07:00
Qingping Hou
76e427cbb4 kodev: add device simulation option for run command (#2802) 2017-04-23 12:32:58 +08:00
Frans de Jonge
89099e2c94 Swipe for menu and quickstart guide (#2761)
* Swipe for menu and quickstart guide

Because swiping for the menu is a big change from what we're used to, this commit includes a new quickstart guide.

Fixes #2608.

* add some dev docs
* add FileConverter spec
* add QuickStart spec
* add Version module
* add Version spec
2017-04-15 14:45:56 +02:00
Qingping Hou
1922b2526b fix: normalize require path to reuse import result 2017-04-14 21:28:38 +02:00
Frans de Jonge
485295657c Docs: fix typo in listview.lua example 2017-04-12 22:45:42 +02:00
Qingping Hou
15fd7fc0ff bring back support for disabling progressbar in footer (#2753)
* footer(optimize): remove dead code

* footer(fix): disable auto refresh time option when current time is not checked

* fix: support disable progress bar again
2017-04-11 11:44:58 +02:00
Frans de Jonge
e8721887ba InputContainer: add cancel_text and ok_text
Makes it easier to comply with UX style.

* Change "OK" to "Search dictionary" in Dictionary lookup to comply with UX style
* Change "OK" to "Search all text" in Fulltext search to comply with UX style

Tacked on but highly related:

* change "OK" to "Search Wikipedia" in Wikipedia lookup to comply with UX style
* change "OK" to "Set default" in ConfigDialog to comply with UX style

Chore:

* fixed up order of requires
2017-04-08 03:27:18 -07:00
Frans de Jonge
e9df73f6dc Developer documentation improvements
* Fixed up all of util and added when absent
* Updated widget examples to new coding style
2017-04-04 08:01:15 -07:00
Frans de Jonge
1c25d0fd1b Language: improve confirmboxes
Generic "OK" buttons should be avoided. Thanks to @lightonflux for pointing this out https://github.com/koreader/koreader/issues/2555#issuecomment-291039945
2017-04-04 07:56:09 -07:00
Robert
a3c4254809 Added util.fixUtf8 (#2704)
* Remove invalid UTF-8 chars from OPDS
* add unit tests
2017-04-02 16:17:49 +02:00
Hzj_jie
339e16636b Terminal plugin (#2646) 2017-04-01 23:50:24 -07:00
Cosmin Gorgovan
6aeecdba08 Only show the last character of a password after typing it 2017-04-01 15:31:04 +02:00
Frans de Jonge
cee3603436 TouchMenu: keep hamburger menu on the right 2017-03-30 10:36:50 -07:00
Hzj_jie
ed461c7f30 InputDialog is broken by #2672 (#2690)
This change also adds a tap_input_func in both TouchMenu and Button.
2017-03-28 15:47:18 -07:00
Hzj_jie
0318a048b4 Read timer plugin (#2672)
A countdown timer to notify user.
2017-03-26 21:42:58 -07:00
Cosmin Gorgovan
3e656d71e0 WiFi manager bugfix: delete the cached psk when changing the password
Previously, the cached psk, which is derived from the password and
passed to wpa_supplicant, was not updated when changing the password.
2017-03-26 20:23:39 -07:00
Frans de Jonge
1e351e6b87 Menu: remove "Show advanced options"
See #2610 for discussion.
2017-03-26 11:12:44 +02:00
Frans de Jonge
99349173be TouchMenu [widget]: remove check for missing menu item 2017-03-26 11:12:44 +02:00
Frans de Jonge
8f31a81601 MenuSorter: some documentation
MenuSorter: forgot to add plugin style change

MenuSorter: worked out the final quirks

* Menu always compressed into tables without missing indexes for ipairs compatibility
* Orphans attached
* Separators no longer count as items
2017-03-26 11:12:44 +02:00
Frans de Jonge
5b20106db7 MenuSorter: initial implementation
* Menus are now sanely configurable
* Custom separator placement for clearer menus
2017-03-26 11:12:44 +02:00
Qingping Hou
fc12ee6537 decouple reader footer from dictquicklookup widget & translation fix (#2664)
* chore: fix strings for translations

* dictionary(chore): decouple reader footer from dictquicklookup widget
2017-03-24 00:20:37 -07:00
Hzj_jie
8f4ec13841 Remove powerd:refreshCapacity() (#2671) 2017-03-24 00:18:03 -07:00
poire-z
39d1afe37d Update footer when refreshing screen with diagonal swipe
And added diagonal swipe support to readerrolling.
2017-03-20 11:19:14 -07:00
Qingping Hou
ee0e337433 opds(fix): avoid infinite loop on paging 2017-03-19 15:09:57 +01:00
Robert
4f40250b88 Prompt users to turn on Wifi in Cloud Storage and OPDS Browser (#2650)
* prompt users to turn on Wifi in Cloud Storage and OPDS Browser
2017-03-18 13:49:28 +01:00
Robert
dccbf4cf96 Fix crash when downloading books with unknown characters in title (#2628) 2017-03-15 00:59:42 -07:00
Frans de Jonge
ce8f568486 Revert "TouchMenu: keep file/exit button on the right" 2017-03-04 09:35:08 +01:00
Adrian Sampaleanu
fc5e8f1242 OPDS catalog: improve download dialog (#2445)
* Add action clarification to format download dialog

The format download dialog now has a title reflecting where a format will be downloaded with a prefix making it clear that choosing a format will download it.
2017-03-03 00:12:36 -08:00
Bastien Dejean
f72514f99d Use a simple gray line to separate menu items 2017-03-02 22:36:06 -08:00
Frans de Jonge
a9b969b58f TouchMenu: keep file/exit button on the right
References #2555.
2017-03-02 22:13:55 -08:00
Frans de Jonge
d1785e1863 Reorganize menus
* Replace "home" (exit) menu with hamburger
* Discard pokeball and put items in hamburger
* Introduce search menu in reader

Cf. #2562
2017-02-26 13:50:59 -08:00
Qingping Hou
4fce69d18d bookstatus(minor): read setting only once 2017-02-26 07:38:52 +01:00
robert00s
8b95b8fd96 Fix #2176 - Wrong book's review and rating stars are shown 2017-02-25 22:35:19 +01:00
Frans de Jonge
1ed0ce0c21 FileManager: fix up arrow issue 2017-02-25 15:34:28 +01:00
Frans de Jonge
6458c8e9eb File Manager: rename to "KOReader File Browser" and add up arrow to ".."
This should make it clearer to new users what's going on. Fixes #2529.
2017-02-23 23:28:49 -08:00
Bastien Dejean
ee54e127b1 FileManager: replace arrows by ellipsis to indicate cut-off long filenames 2017-02-20 18:08:28 -08:00
Bastien Dejean
f0b63003e9 Use a smaller font to display the filename
More information regarding the file!
2017-02-20 19:39:23 +01:00
Hzj_jie
726b15ad01 More sorting orders in file manager (#2535) 2017-02-11 18:55:31 -08:00
Zijie He
b502047635 Removing metadata file instead of purging .sdr folder 2017-02-08 10:38:24 -08:00
Frans de Jonge
bec5f46245 Merge pull request #2524 from Hzj-jie/master2
Add characters in menu items to indicate sub menus
2017-02-08 10:43:40 +01:00
Hzj_jie
18117584c0 Resolve review comments 2017-02-03 20:26:47 -08:00
poire-z
56d1a26a8b ImageViewer: allow zoom with vertical swipe on sides
For devices without multi touch support, where pinch & spreak don't work.
2017-02-02 02:15:12 -08:00
Frans de Jonge
6257bae77f Language: mostly Wikipedia-related changes 2017-02-02 02:09:51 -08:00
Hzj_jie
c33d1aa43b Use 25b9 instead of > 2017-02-01 19:52:47 -08:00
Hzj_jie
fa848719ae > 2017-02-01 08:17:01 -08:00
Hzj_jie
98a86ba62f prepose plus signal 2017-02-01 07:46:35 -08:00
Hzj_jie
c90a484d01 Add a + for menu items with sub menu 2017-02-01 07:34:51 -08:00
Hzj_jie
f91ad679d9 swithItemTable -> switchItemTable 2017-02-01 06:26:06 -08:00
poire-z
7166efd777 ImageViewer: added zoom & pan via gestures
ImageWidget: removed 'autostretch' setting (replaced by scale_factor=0)
and renamed 'autoscale' setting to 'scale_for_dpi'.
2017-01-30 08:28:51 -08:00
Qingping Hou
9b7aba3fba fix: override readerhighlight hold in readerfooter
Also fix touch zone dependency graph generation code.

ReaderHighlight has now been migrated to use touch zone

Inputcontainer's touch event handling logic changed to only stop
propagation when handler returns `true`. Previously, it stops
propagation when a handler is found. This is needed to support
both readerhighlight_tap and tap_forward touch zones.
2017-01-30 05:53:44 -08:00
robert00s
0bbb4bbc16 Fix: missing letters from portuguese language 2017-01-26 01:03:16 -08:00
Frans de Jonge
399190c520 Merge pull request #2508 from NickSavage/master
OPDS: Fixed Wifi prompt and enabled removing default catalogs.
2017-01-24 16:05:02 +01:00
poire-z
2ded2bce5e Wikipedia: save full page as epub (html, with optional images)
Also for the current text-only wikipedia full page: replace
the ==s in section titles with some unicode symbols for a better
visual feeling of hierarchy. These same symbols are also used
in the .epub.
Both can be disabled by adding ["wikipedia_prettify"] = false
to settings.reader.lua

readerhighlight: close ButtonTable (like other buttons do) when looking
up wikipedia, otherwise if we save as epub, and swtich to new document,
this ButtonTable will never be closed and stays in UI.
2017-01-24 01:16:23 -08:00
Nick Savage
85585a0973 Fixed bug where only calibre OPDS catalogs would prompt to enable Wifi.
Tested on Kindle PW3. The error message my device threw was different from what was coded in OPDSBrowser.lua in getCatalog(). Perhaps we should test other devices and see if there are other error messages thrown as well.
2017-01-23 11:15:35 -05:00
Nick Savage
ebb290f0ba OPDSCatalog: Normalize default and user-added catalogs
This patch makes the OPDS Browser treat the default catalogs (Project Gutenberg, Feedbooks, etc.) the same as a user-added catalog. This makes them removable and editable if the user so chooses.
2017-01-23 11:15:35 -05:00
Frans de Jonge
81bc115cee ImageViewer: "best fit" to "scale" 2017-01-22 05:00:14 -08:00
poire-z
97d34c5bb0 Better handling of tap on invalid/external links
Tap on external urls or invalid links would jump to
document's 1st page. We check first the validity of the
link, and deal with wikipedia links or just show the external
url.
ConfirmBox: allow dismissing/cancelling by taping outside,
to keep UX consistent.
2017-01-18 09:03:31 -08:00
poire-z
ee06171c83 New ImageViewer widget + hold on image show it fullscreen
Simple image viewer with Best Fit/Original size and Rotate
(for landscape images) buttons.
readerhighlight: check if hold is on an image to show it
fullscrren
2017-01-18 09:03:31 -08:00
poire-z
0577fde59e Better tracking, management and freeing of BlitBuffers
This should fix the most obvious memory leaks (noticable when
using images as screensaver).
ImageWidget: added a few more options needed by ImageViewer,
and removed 'overflow' option as logic was wrong.
2017-01-18 09:03:31 -08:00
poire-z
130f7b0773 wikipedia: fix languages rotation and query
Fix innacurate language query and rotation when back from nested lookups.
More informative lookup message (langage used, search or full page)
Allow for screen refresh with diagonal swipe (like in readerpaging).
2017-01-12 19:50:12 -08:00
poire-z
ebe0c08bfb dict/wiki: definitions' text justification
This can be disabled by adding ["dict_justify"] = false to settings.reader.lua
2017-01-12 19:50:12 -08:00
robert00s
7ff1731aab Fix #2326 2017-01-10 19:02:46 +01:00
Robert
7bfbc9f06a Sanitize filename for vfat, fix #2433 (#2464) 2017-01-09 16:05:15 -08:00
Qingping Hou
f95ad00b9e feat: add logger module & rewrite kobo suspend script in lua 2017-01-02 19:52:09 -08:00
Hzj_jie
5bda44473d Add dictionary to filemanager 2017-01-02 10:12:34 -08:00
Qingping Hou
581039aed5 opds(fix): unescape name and value 2016-12-29 00:02:22 -08:00
Qingping Hou
cb195e9ce8 feat: support disable show file name in bold
also rename show_opened_doc_in_bold setting to show_file_in_bold
2016-12-29 00:02:22 -08:00
Qingping Hou
0f931517ba doc: fix document build 2016-12-25 12:13:53 -08:00
Qingping Hou
dc2746f1d7 chore: various minor cleanups 2016-12-24 23:43:58 -08:00
Qingping Hou
36763a1ad7 feat: new setting to show opened book name in bold 2016-12-24 23:43:09 -08:00
Qingping Hou
33367d3a6c inputcontainer(fix): update gesture range on screen resize properly 2016-12-18 20:28:13 -08:00
poire-z
5b2aee3c81 textboxwidget: added some sanity checks
fix #2434 and avoid strange things when holding from/to outside dimension.
Also fix crash when tap (move cursor) in an inputtext with no text at all.
2016-12-17 13:35:35 -08:00
poire-z
a8dd8c6f30 textboxwidget: even better text wrapping
util.isSplitable() accepts now also the previous char to help
decide if a space can be used to split a line.
TextBoxWidget:_splitCharWidthList() : simplified logic
2016-12-14 11:39:46 -08:00
retrue
eae730d140 Some uppercase fixes (#2421) 2016-12-14 11:08:57 -08:00
Frans de Jonge
ba7377065e Doc: miscellaneous improvements. 2016-12-13 14:40:16 -08:00
Frans de Jonge
7f318c0762 Merge pull request #2416 from koreader/houqp-master
doc: event propagation for widgets
2016-12-12 09:21:24 +01:00
poire-z
1708fd5e1c Dictionary and wikipedia enhancements (#2393)
Stardict:
- remove duplicate results
- better cleaning of selection
- append results from a 2nd query of a 2nd set of dictionaries
  in data/dict_ext/

Wikipedia:
- use the search API for better results
- allow viewing the full page content of a result in a bigger window
- allow queries for multiple languages
- available languages can be set in settings.reader.lua :
    ["wikipedia_languages"] = {"en", "fr", "it"}
- "Wikipedia lookup" added to Tools menu

For both:
- allow selection of multiple words for a new lookup (so one can
  actually browse wikipedia)
- allow continuous reading with Tap
- display "current result / total number of results"

Details in #2393
2016-12-11 14:32:02 -08:00
poire-z
5040bfe4c5 textboxwidget and scrolltextwidget enhancements (#2393)
util: made isSplitable() accept an optional next_char
for wiser decision

textboxwidget: speed up rendering, enhanced text wrapping,
allow selection of multiple words with Hold.

scrolltextwidget: allow scrolling with Tap.

Details in #2393
2016-12-11 14:32:02 -08:00
Qingping Hou
09564d4b4d doc: event propagation for widgets 2016-12-11 12:20:59 -08:00
Qingping Hou
11f55d2aff doc: Event and WidgetContainer 2016-12-10 16:06:51 -08:00
Qingping Hou
329fd55302 filemanager: show new books in bold 2016-12-10 16:06:51 -08:00
Qingping Hou
0c49b915de refactor: add touch zone subsystem to inputcontainer
Touch zone decouples screen size from gesture event registration.

The win here is each individual widget does not need to update
gesture range on screen rotate/resize anymore.

Another advantage is we now have a centralized ordered array to handle
all registered touch event listeners, makes it much easier to resolve
gesture range conflicts between multiple widgets.

This patch also includes the following changes:

* migrate readerpaging to use readerui's touch zone
* migrate readerfooter to use readerui's touch zone
* move inverse read direction setting to touch menu's setting tab
* moved kobolight widget from readerview into readerui
* various dead code cleanups and comments
2016-12-10 16:06:51 -08:00
Robert
93e075feb6 Adding the buttondialogtitle widget and show long filename in filemanager (#2414) 2016-12-10 16:06:10 -08:00
robert00s
e0ad600bc7 Fix: prevent step_min lower than fl_min 2016-12-07 00:36:13 -08:00
poire-z
0aa19d72a0 FileManager: show files with sidecar dir in bold (#2391)
docsettings : added hasSidecarDir() and made getSidecarDir() more robust
widget/menu : allow items to specify themselves to be displayed in bold
2016-12-04 15:51:12 -08:00
poire-z
e1c3448d0e ImageWidget optimisations (#2394)
Avoid multiple renderings.
Don't cache big images (ie: screensaver images)
2016-12-04 12:03:11 -08:00
poire-z
0145ab0410 Fix: crash if wpa_supplicant has already connected (#2394) 2016-12-04 12:03:11 -08:00
Robert
fdbab3e11d frontlightwidget(fix): prog_button does not honor powerd.fl_min (#2396) 2016-12-03 12:21:31 -08:00
Robert
64a79f6892 Frontlight progress bar (#2385) 2016-12-01 09:58:06 -08:00
poire-z
4ec7efb2d0 Fix selection in dictionary window (#2126)
Fix #2126 (hold on a word on the 2nd page of a definition was triggering
lookup of the word at the same place in 1st page).
2016-11-30 10:36:30 -08:00
Robert
171d40d287 feat: Would you like to read the downloaded book for OPDS (#2370) 2016-11-27 07:06:24 -08:00
robert00s
2cfce6f369 OPDS - fix opds catalog for Wolne Lektury 2016-11-21 09:30:00 +01:00
Qingping Hou
b7cdf103e3 chore: fix luacheck error & add comment to release-ip.sh 2016-11-19 13:11:23 -08:00
Qingping Hou
17b453cd02 doc: add more doc for imagewidget 2016-11-19 12:15:27 -08:00
Qingping Hou
b2e1d9dc42 dictquicklookup(chore): simplify logic that disables wikipedia button 2016-11-13 00:06:54 -08:00
robert00s
2238fdc882 Fix #2328 2016-11-10 12:21:42 +01:00
robert00s
09f2db3729 Fix long filename text in history textbox (#2322)
Fix long filename text in history textbox
2016-11-08 10:05:34 -08:00
Qingping Hou
efae2ed16f network(fix): automaticallly obtain IP if network is already authenticated 2016-11-06 23:56:29 -08:00
robert00s
8a9811804d Add Polish keyboard (#2319)
Add Polish keyboard


* Optimization
2016-11-06 02:01:28 -08:00
Qingping Hou
c998120a78 progressbar(performance): reuse calcauted value for ticks loop 2016-10-08 15:53:58 -07:00
Qingping Hou
ca21ab4be5 fix(defaults): type casting for user input 2016-09-21 23:57:45 -07:00
chrox
9ab005a1d3 fix unit test of readerlink and readerpaging
and have more confidence with the unit testing framework.

Now `make testfront` won't retry on failure and testing files are
ordered in each run so that it's possible to reproduce testing failure.

And this patch also fix flush settings not working before suspend issue:
at some point the `FlushSettings` event is sent to `UIManager` instead
of `ReaderUI`, but `UIManager` only delegated events to active widgets
and `ReaderUI` is actually not an active widgets thus will miss the event.

This patch also add a verbose debug mode with "-v" as a switch to turn
on this mode. With verbose mode on, event handling will be logged.
2016-08-12 17:05:07 +08:00
Qingping Hou
29578d74eb touchmenu(fix): reset page num before switching to sub menu 2016-07-31 18:22:41 -07:00
Qingping Hou
086dbdb657 scrolltextwidget(fix): add moveCursor method 2016-07-18 22:38:54 -07:00
Qingping Hou
4cdafedcc8 Merge pull request #2147 from koreader/houqp-master
move setDirty call from TextWidget:setText to FileManager
2016-07-13 10:52:32 -07:00
Huang Xin
b8f23d162d filemanager(fix): refresh banner in filemanager insteand of TextWidget 2016-07-12 21:34:17 -07:00
Qingping Hou
20eb36a03d feat: add network management UI for kobo 2016-07-11 23:50:19 -07:00
Qingping Hou
a10a4f65a5 minor: use predefined color instead of gray method 2016-07-10 23:25:32 -07:00
Hzj_jie
273a0cb7ee We should set TextWidget.parent as dirty. 2016-07-07 22:38:24 -07:00
Hzj_jie
3bc5e90a52 TextWidget should set dirty region in setText function. 2016-07-06 23:53:55 -07:00
Hzj_jie
493ff00609 Add path in file manager 2016-07-04 17:38:04 -07:00
chrox
1c5c7d3a7c fix #1682 by closing all dict windows when holding close icon 2016-06-29 00:35:00 +08:00
chrox
71bf9efc7c split accient greek words with spacing character
This should fix #1705.
2016-06-28 23:50:25 +08:00
chrox
6ec30376a6 fix two crashes 2016-06-28 00:45:01 +08:00
chrox
f1b76d41d9 fix crash when clearing inputbox 2016-06-26 22:43:40 +08:00
chrox
6b43233c4a fix #2092
And fix several other bugs introduced in #2028:
1. hint messages are back instead of the "Demo hint"
2. cursor now only presents in the focused inputbox in a multiinput dialog
3. moving cursor now works in multiinput dialog
2016-06-26 01:33:18 +08:00
chrox
40858c670a restrict dictionary window inside of screen especially in landscape mode
This should fix #2020.
2016-06-17 00:04:47 +08:00
Qingping Hou
e58198fbe2 widgetcontainer(fix): crash when getting widget size 2016-06-05 16:38:07 -07:00
Qingping Hou
301925e34a textboxwidget(fix): handle onHoldWord event 2016-06-05 00:37:54 -07:00
Qingping Hou
adf5ffdd26 dictquicklookup(fix): use self.region for matching hold event 2016-06-05 00:08:23 -07:00
Huang Xin
fd39016c87 Merge pull request #2028 from union2find/master
Add cursor functionality for inputtext widget
2016-06-01 08:34:42 -05:00
Huang Xin
ffca77af40 Merge pull request #2032 from koreader/keyboard
russian keyboard layout improvement from mergen3107
2016-06-01 08:32:54 -05:00
Qingping Hou
6a1fa7f612 move keyboard layout into data modules
also changed keyboard mode for number to 4
2016-05-28 17:46:31 -07:00
Qingping Hou
56a9bad23b russian keyboard layout improvement from mergen3107 2016-05-26 21:01:42 -07:00
Qingping Hou
476e35708d inputdialog(feat): add is_enter_default attribute to buttons 2016-05-25 23:09:49 -07:00
Qingping Hou
60587e08c6 defaults(refactor): remove global hack in filemanagersetdefaults
also added screensaver folder setting dialog for kobo
2016-05-25 22:07:20 -07:00
union2find
a7f24b6eaf fix function util.splitToChars in frontend/util.lua 2016-05-22 23:59:28 +08:00
union2find
f8943efdbf fix indent sytle 2016-05-15 17:18:38 +08:00
union2find
3d89b27e59 remove debug output 2016-05-15 14:56:58 +08:00
union2find
9ea56827dc resolve conflict on frontend/ui/widget/scrolltextwidget.lua 2016-05-15 14:00:11 +08:00
Zijie He
1aa0c4192a Multi-line toggle switch & add instruction to resolve sdcv build error. 2016-05-09 21:59:33 -07:00
Qingping Hou
2bcc3671c5 scrolltextwideget(fix): listen to page fwd/bck events 2016-05-01 00:51:50 -07:00
union2find
d6fcc9adf9 add cursor functionality 2016-04-21 22:13:10 +08:00
Qingping Hou
d7b1b403c1 progresswidget(fix): ignore nil self.last 2016-04-20 23:16:40 -07:00
Qingping Hou
26ecc6035a bookstatus: cache total pages 2016-04-20 23:12:07 -07:00
frankyifei
73f7d860cd imagewidget fix
bring back the old behavior: when width and height are set and all the
zooming options are false, zoom the image to that size. The last commit
to Imagewidget.lua caused it ignores the set width and height and use
the image's original size instead when no zoom option is set. This
caused #1979. Although #1979 can be fixed by setting autostretch=true,
but I think it's good to fix here.
2016-04-20 01:16:27 +09:30
Qingping Hou
e9b9bbadcc fix: luacheck 2016-04-19 00:59:02 -07:00
Qingping Hou
790472fb38 Merge pull request #1969 from Hzj-jie/screen-saver
Update ImageWidget to support more stretch settings, and enable screensaver on kobo
2016-04-18 21:56:07 -04:00
Frans de Jonge
5638819f25 Removed a bunch of "successfully", replaced an ellipsis, and some deviant spellings of KOReader. 2016-04-16 12:37:08 +02:00
Zijie He
0b59d501a6 Merge remote-tracking branch 'upstream/master' into screen-saver 2016-04-15 13:21:55 -07:00
Zijie He
7d4bd076f7 Resolve review comments 2016-04-15 13:21:39 -07:00
Allan Nordhøy
bc16ed5035 Spelling of calibre and KOReader. Ellipsis. 2016-04-15 15:04:41 +02:00
Zijie He
865b2a8f90 Update ImageWidget to support more stretch settings, and enable screensaver on kobo 2016-04-14 17:42:54 -07:00
Zijie He
6eeac33ad1 *.sdr folders are not excluded in folder item count
Bug #1966
2016-04-14 14:13:53 -07:00
Hzj_jie
3cf4e79f62 Use Screen:scaleBySize to auto scale virtual keyboard size 2016-04-11 23:36:03 -07:00
chrox
f3e0d44cc4 disable jit on some modules on android
to make koreader on Android  more stable

and with these opt params:
```
require("jit.opt").start("sizemcode=64","maxmcode=64", "hotloop=10000")
```

The strategy here is that we only use precious mcode memory (jitting)
on deep loops like the several blitting methods in blitbuffer.lua and
the pixel-copying methods in mupdf.lua. So that a small amount of mcode
memory (64KB) allocated when koreader is launched in the android.lua
is enough for the program and it won't need to jit other parts of lua
code and thus won't allocate mcode memory any more which by our
observation will be harder and harder as we run koreader.
2016-04-07 23:43:58 +08:00
Qingping Hou
7c46cb3eda bookstatus(fix): reset self.stats on init 2016-04-05 21:48:27 -07:00
Qingping Hou
2a2643bdb5 Revert "bookstatus(fix): reset self.stats on init"
This reverts commit be8ceb84b4.
2016-04-05 21:47:48 -07:00
Qingping Hou
be8ceb84b4 bookstatus(fix): reset self.stats on init 2016-04-05 21:43:20 -07:00
Qingping Hou
f48d9bd6d9 fix(readerfooter): marker ticks initialization 2016-03-18 23:24:51 -07:00
Qingping Hou
2f78493e9e minor: write reader error to stderr 2016-03-17 21:55:46 -07:00
Qingping Hou
e9a5624373 fix(bookstatus): enforce status page height to screen height 2016-03-13 19:48:28 -07:00
Qingping Hou
fad50772ce minor: fix luacheck errors 2016-03-06 22:47:24 -08:00
Qingping Hou
b0d4915977 progressbar: fix infill offset in bookstatus 2016-03-06 22:45:41 -08:00
Qingping Hou
10ded583b9 minor: adjust kvpage and dictlookup for new closebutton 2016-03-06 22:45:41 -08:00
Qingping Hou
34e0238b6f readermenu: move book status to info tab & minor cleanup 2016-03-06 22:45:41 -08:00
Qingping Hou
a99ab5a976 bookstatus: adjust layout and spacing for bookstatus page 2016-03-06 22:45:40 -08:00
Qingping Hou
0772fd1439 touchmenu: fix menu height calculation 2016-02-28 13:32:25 -08:00
chrox
529cb801c1 fix broken extended InputDialog components
eg. LoginDialog and MultiInputDialog
since the style refactoring in #1783.
2016-02-21 23:30:06 +08:00
Qingping Hou
8e35a6e4ab fix inputcontainer 2016-02-18 21:21:19 -08:00
Qingping Hou
4598284bbb fix(readerfontlight): crash in toggle 2016-02-17 09:53:29 -08:00
Qingping Hou
87c28a72cf doc: update closebutton 2016-02-15 23:21:36 -08:00
Qingping Hou
6a6469fa09 more luacheck fixes 2016-02-15 22:34:28 -08:00
Qingping Hou
3c647ff244 minor: various luacheck fixes 2016-02-15 18:08:04 -08:00
Qingping Hou
3bec9cea89 ui(kvpage) truncate title/key/value if it's too long 2016-02-15 17:56:13 -08:00
Qingping Hou
59c17ef420 minor: more luacheck fixes 2016-02-15 01:33:48 -08:00
Qingping Hou
11ee8d6fcc refactor: use new KeyValuePage widget for displaying statistics 2016-02-14 21:54:17 -08:00
Alex Pletnev
fbf98ed920 #1710 FR: Add support of statistics plugin for pdf 2016-02-12 16:55:02 +02:00
Alex Pletnev
a6ebbe9adb #1807 FR: Add separator into menu 2016-02-11 18:47:27 +02:00
Qingping Hou
8f4fae7a09 minore: more static check fixes 2016-02-10 10:30:05 -08:00
Qingping Hou
ba1ef91df2 minor: translate progress bar text with template 2016-02-09 23:10:37 -08:00
Qingping Hou
b8ee33871f style: clean up statuswidget a bit 2016-02-09 23:01:19 -08:00
Alex Pletnev
c0a2b3d4d9 #1730 Create complete book feature 2016-02-09 14:51:55 +02:00
Qingping Hou
7625621c84 feat(ui): support text alignment in TextBoxWidget 2016-02-08 23:16:06 -08:00
Alex Pletnev
0f9bfbf147 #1730 Create complete book feature 2016-02-08 18:16:55 +02:00
Qingping Hou
5a3b9c6856 style: make staick-check happier 2016-01-31 15:08:24 -08:00
Qingping Hou
59e791db82 feat: support numeric input for keyboard only devices 2016-01-31 15:08:13 -08:00
Qingping Hou
0a492bee3c add(ui): topcontainer 2016-01-31 14:58:06 -08:00
Qingping Hou
68ead0c9b2 feat(inputcontainer): support showing inputcontainer without content 2016-01-31 14:58:05 -08:00
Qingping Hou
72b0b8197b style(inputdialog): rename self.input to self.input_widget 2016-01-31 14:58:05 -08:00
Qingping Hou
6fe9f7870b chore: more luacheck fixes 2016-01-03 01:18:54 -08:00
Qingping Hou
3b92bdc084 feat: support screenshot in filemanager 2016-01-03 00:47:44 -08:00
Qingping Hou
4759def09c chore: fix static-check errors 2016-01-02 23:45:23 -08:00
chrox
394c9cf948 fix dimen returned by getSize used as dimen in inputcontainer 2015-10-26 23:53:07 +08:00
Qingping Hou
46aed752c7 Merge pull request #1680 from erosennin/opds-title
OPDS: fix parsing entry titles on ManyBooks (and possible other sites)
2015-10-18 15:43:55 -07:00
Qingping Hou
8cff0f3ba9 Merge pull request #1679 from erosennin/opds-author
OPDS: include author's name into the file name
2015-10-18 15:40:42 -07:00
Andrey Golovizin
63e0605080 OPDS: fix entry titles on ManyBooks 2015-10-18 21:39:29 +02:00
Andrey Golovizin
dbac03e5f4 OPDS: include author's name into the file name 2015-10-18 19:54:54 +02:00
chrox
2216ddd796 hold to lookup word in dict window
This should close #1541.
2015-10-18 20:47:48 +08:00
NiLuJe
bfb2ee703a Force poll the battery when showing the menu.
Making sure to always show up to date info.

Also fix the battery polling cache invalidation logic to actually
work?
Should make it behave properly on devices where we handle resuming
ourselves.
2015-10-16 02:49:39 +02:00
chrox
8b85cbf157 add support for password protected zip/cbz documents 2015-10-06 21:18:31 +08:00
chrox
e91b7bd266 set foucus of button table only if the device has a dpad
so that Kindle Voyage won't show a highlighted button in
confirm dialog.
2015-09-27 09:05:40 +08:00
chrox
9e91512f5f add custom sync server option in Kosync plugin
This should fix #1619.
2015-09-17 23:28:42 +08:00
Huang Xin
d393fbb180 Merge pull request #1628 from apletnev/#1581
Add Statistic plugin (#1581 Amount of hours spent on a book)
2015-09-16 19:55:26 +08:00
chrox
b0df6d53e9 add Basic Authentication for OPDS catalog
use coroutine to support ad-hoc callback in login button so that when
the username/password is incorrect it will retry automatically
currently tested with COPS on apache

This should fix #1001.
2015-09-15 00:59:00 +08:00
chrox
5ec384efb5 fix #1593 cannot download from COPS OPDS server
and get rid of the ugly baseurl workaround for "Internet Archive",
actually the url building of all these catalogs is perfectly
handled with `url.absolute(base, relative)`.
2015-09-13 22:08:05 +08:00
Qingping Hou
a62e7ee34c feat: add keyboard support for button table 2015-09-13 01:10:09 -07:00
Qingping Hou
8c14613085 fix: support self.selected override for FocusManager 2015-09-13 01:10:09 -07:00
Qingping Hou
63e88baf33 fix: stop self.dimen polution for inputcontainers
Without this fix, self.dimen is shared among all inputcontainers
intances, which breaks some of the UI rendering. All widget should
set/initialize their own self.dimen in self:init() method.
2015-09-13 01:10:09 -07:00
NiLuJe
ce5f66ccbc Prefix battery percentage w/ a + when charging.
Adresses comments on MR.
Add a comment explaining the magic behind CRe's charging icon when using
CRE's full (top) status bar.
2015-09-09 17:37:35 +02:00
Alexander Pletnev
52d821df00 Add Statistic plugin (#1581 Amount of hours spent on a book) 2015-09-07 20:06:17 +03:00
NiLuJe
6309df9dec Guard against nil text in menu widget
Allow one to go further in the FM's setting menu on legacy devices...
... and potentially shoot oneself in the foot because of the unusable
confirmdialogs (among other things ;p).
2015-09-06 17:23:48 +02:00
Frans de Jonge
f84b537954 Make 'default' and 'fallback' strings translatable 2015-09-04 10:59:07 +02:00
frankyifei
059de23037 implement GUI dialog for setting crengine fallback font 2015-09-03 00:51:38 +09:30
frankyifei
d0a44b9152 style 2015-08-01 19:20:10 +09:30
frankyifei
f7fb103abc loop menu pages when it reaches ends
the following graph shows my idea.

1->2->3->4->5->6->7->8->9->10
└----------------------------------------┘
2015-08-01 19:14:40 +09:30
frankyifei
f7142cfcbe fix filechooser crash on entering folder contains nil symlink 2015-08-01 19:12:40 +09:30
Qingping Hou
186673587e chore: fix some of the luacheck errors 2015-04-26 20:57:45 -04:00
NiLuJe
c847807322 Turns out that also looks better as ui refreshes 2015-04-26 20:10:18 +02:00
NiLuJe
50dbf6b581 Switch a few widgets to ui refresh modes
More closely matches native behavior on REAGL devices.
Closing those widgets should still trigger a partial refresh though,
because we usually get back to the reader, and text, so we want REAGL
;).
2015-04-26 20:07:17 +02:00
chrox
932df2a2f9 Refactor out string.gsplit to util.gsplit 2015-04-22 14:27:33 +08:00
chrox
ebdd374c93 Add 'input page number' function in filemanager
by holding on the page info label at the buttom of the filemanager
2015-04-13 14:45:05 +08:00
chrox
72012e97e1 disable reflow options when reflow is not ON
This should also fix #1061.
2015-03-16 21:51:17 +08:00
chrox
90a5e09bdc disable highlight in dict window if it's highlighted already
This should fix #1418.
2015-03-12 18:51:01 +08:00
chrox
cf124eb72f refresh menu instead of closing if menu item is a check option 2015-03-12 14:19:10 +08:00
chrox
f22a53affd screen orientation won't change when going into filemanager
and filemanager remembers screen orientation at exit
This should fix #1338.
2015-02-02 01:36:52 +08:00
chrox
c6f6699644 fix empty menu widget won't trigger screen refresh
This should fix #1398.
2015-02-01 20:41:23 +08:00
Qingping Hou
6ed8f30f35 fix: empty item_table crashes menu widget 2014-12-18 03:16:11 -05:00
chrox
b3d79b053a workaround to fix #1340 2014-12-04 10:09:09 +08:00
variousvirgil
9c69c1f14e Fix #1299 2014-12-02 20:30:55 +08:00
Hans-Werner Hilse
ff0fbbdb4b fix widget closing 2014-12-01 16:21:42 +00:00
Hans-Werner Hilse
94ce08937a clean up refreshes
This is a larger clean-up of the refresh situation.
The general shift is that refreshes are now mainly triggered by
the (top-level) widgets when they get shown or closed via UIManager.

All refreshes for the widgets when they are in use were handled by
themselves before. This adds the case of showing/closing.

It is the desired result of not having UIManager:show()/:close()
do (full screen) refreshes on its own.
2014-12-01 16:03:40 +00:00
Huang Xin
ddae003925 Merge pull request #1310 from hwhw/master
fixes for scrolling, fix for double-refresh, misc stuff
2014-12-01 09:56:04 +08:00
Hans-Werner Hilse
e8642fbad7 use API for refresh when closing widgets in message popups 2014-11-30 22:35:08 +00:00
Hans-Werner Hilse
143c56c48c record ButtonDialog.dimen 2014-11-30 22:33:38 +00:00
Frans de Jonge
47d7a48555 OPDS: refactored unit test and fixed a minor bug with undefined image_rel 2014-11-30 21:44:47 +01:00
Hans-Werner Hilse
3f9dc46315 fix dict window refresh
was still using old API
also, move this to another place.
2014-11-30 18:38:03 +00:00
Frans de Jonge
c25254a7ec OPDS: embryonic unit test for OPDS browser
This initial seed specifically tests against what recently broke in Gutenberg and FeedBooks.
2014-11-30 19:06:27 +01:00
Hans-Werner Hilse
f02be20a65 refresh fixes for the menus
this will only refresh the areas that actually need to be refreshed.
2014-11-30 12:04:33 +00:00
Hans-Werner Hilse
6793a4fee1 reader config dialog: properly refresh config pane
This serves as a good example for the way refreshes are done:
setDirty("all", function() ... end)
* the "all" will have all widgets on screen repainted.
  In this case that is needed because the config pane has
  different sizes, covering different parts of underlying
  widgets. So they need to be repainted every time.
* the function will return the area to refresh and is evaluated
  after painting. In this example, we take the area that is covered
  by the config pane before switching it (if present at all), and
  hand it to the refresh area function as an upvalue.
  When the function is called later after painting, it will
  use that saved area and combine it with the area that is covered
  then by the widget. That way, parts that are covered no more are
  included in the refresh area, too.
2014-11-30 11:50:51 +00:00
Hans-Werner Hilse
82c26b1f18 adapt widgets to new refresh/repaint API 2014-11-30 00:17:50 +00:00
Andrey Golovizin
296f63b22a OPDS: ignore links with unknown rel values, treat empty rel as rel="subsection". 2014-11-29 11:15:41 +01:00
Frans de Jonge
7a87b66fa1 OPDS catalog: auto-fill http:// if no protocol given and revert #1106
This fixes #1259.
2014-11-28 21:58:19 +01:00
Hans-Werner Hilse
0c80537003 allow image widgets to do alpha-blitting
when the image (e.g. a PNG) does contain an alpha channel, that can
be honored by ImageWidget. It doesn't do so by default for compatibility
(arguably, we should change that in the future), it has to be enabled
by setting the "alpha" property to "true" (boolean, not string).
2014-11-28 15:37:11 +00:00
Frans de Jonge
693fa0837e Reworked several strings
This is the remaining gruntwork of #1276. I believe that only leaves networkmgr.lua and filemanagersearch.lua, which will require a little more thought.
2014-11-28 14:10:37 +01:00
chrox
ca60ceacd0 make radius field respects popout flag 2014-11-27 22:01:57 +08:00
chrox
0a06041cd9 fix calculation of widget height of filechooser
the height of filechooser is provided when creating filechooser
widget since there may be no title as in filemanger which needs
a special title widget to contain filemanger menu.
2014-11-25 17:49:46 +08:00
chrox
67693367b9 init width and height of filechooser widget during init
so that everytime a filechooser is inited right dimension
size is used.
2014-11-25 16:31:03 +08:00
Hans-Werner Hilse
22697adf20 switch from scaleByDPI() to scaleBySize() 2014-11-23 12:13:32 +00:00
HW
7b91935df0 Merge pull request #1230 from chrox/fix_1170
fix #1169 and #1170
2014-11-23 13:13:07 +01:00
chrox
d11dba0558 fix #1169 and #1170 2014-11-23 18:06:20 +08:00
chrox
3574865dcb fix #1166 by auto alignment of option name 2014-11-23 16:52:08 +08:00
chrox
dbf8faa9b1 remove hardcoded footer height of reader menu 2014-11-20 18:02:50 +08:00
chrox
f52872b081 default autoscale for IconButton 2014-11-20 18:02:50 +08:00
chrox
e66801039b refactoring: reuse IconButton for config menu bar 2014-11-20 18:02:50 +08:00
Hans-Werner Hilse
ab44d1f7e3 fix item number distinction (plural forms) 2014-11-19 13:25:32 +01:00
Frans de Jonge
8b9bbf918c Fix typo in #1176 2014-11-19 12:53:03 +01:00
Frans de Jonge
d701d9b198 First util.template encapsulated strings 2014-11-19 12:23:37 +01:00
NiLuJe
e9573ebe58 Try to avoid more update_regions_func mismatches
scheduling tricks
2014-11-18 10:32:47 +01:00
Hans-Werner Hilse
3d03713cb1 implement case-insensitive sort, make default and configurable
This will convert any file name to lowercase before doing the comparison.
Note that this will only work for ASCII character range, a full Unicode
aware solution will be much more complicated. And in the end, file names
are byte arrays, not character strings ;-)

fixes #1183.
2014-11-16 19:27:31 +01:00
Hans-Werner Hilse
e031599c0a fix strcoll() workaround
The strcoll() workaround we had in place for Kobo devices was (or has
become) ineffective. We had set self.strcoll to nil on Kobo devices -
but this was the instance variable. Setting it to nil effectively makes
the instance variable vanish, so when trying to access it later, it
was not there and got looked up via the metatable - which had the original
reference. Setting it to nil had no effect whatsoever.

We simplify that approach and set the replacement function where before we
had set this to nil.

This is a partial fix for issue #1183 (and explains a comment in issue #686
which says that the old fix did not work).

However, to really fix #1183 - if we want to do so - we would need a collate
function that normalizes uppercase/lowercase before compare.
2014-11-16 19:15:24 +01:00
NiLuJe
1ee09010c4 Make ScrollTextWidget updates regional
Because I like breaking stuff in fun & interesting ways :D
2014-11-12 15:55:30 +01:00
chrox
efbd7f7b5d schedule in menu option callback
so that new reginal update on menu entry don't
affect screen update from callback results
2014-11-12 15:40:37 +08:00
Qingping Hou
123d0a1230 Merge pull request #1126 from chrox/wifi_toggler
add network settings in reader menu
2014-11-11 03:05:12 -05:00
Qingping Hou
fac2e121d2 Merge pull request #1124 from chrox/remember_menutab
remember menu tab index when showing reader menu
2014-11-11 03:01:35 -05:00
chrox
590073e4a8 add network settings in reader menu
and remove the wifi toggler on the footer of each menu page,
so that network status is only checked (currently with the stdout of ip cmd)
when navigating to the "Network settings" submenu instead of checking
on each menu popup.
2014-11-11 12:12:39 +08:00
NiLuJe
c3274a9d5e Unbreak FM by reverting 7a812f
:D
2014-11-11 03:24:56 +01:00
NiLuJe
b88e304845 Make TouchMenu updates regional 2014-11-11 03:17:15 +01:00
NiLuJe
88c26b4112 Make ConfigDialog updates regional 2014-11-11 03:10:03 +01:00
chrox
95ac27df5c remember menu tab index when showing reader menu 2014-11-11 10:06:17 +08:00
NiLuJe
7a812ff86d Make Button update regional 2014-11-11 03:03:25 +01:00
NiLuJe
39244aa0cb Make ToggleSwitch updates regional 2014-11-11 02:52:47 +01:00
NiLuJe
041f11cba0 Tweak some comments 2014-11-11 02:42:07 +01:00
NiLuJe
8f3598bec3 Make IconButton updates regional
Beginning of the quest to make menu refreshes slightly smoother ;).
2014-11-10 20:27:35 +01:00
NiLuJe
a12015c0d1 Force the dictionary popup to do a partial update.
It was done the other way around on purpose, so I probably broke some
very specific use-case ;). Feel free to shout at me ^^.
2014-11-10 16:48:16 +01:00
Andrey Golovizin
8bce54a6a0 Ignore OPDS links with unknown rel values. 2014-11-08 09:19:29 +01:00
Andrey Golovizin
5888773c95 Try to fetch next page if loading a new catalog resulted in a single page 2014-11-07 22:10:12 +01:00
Andrey Golovizin
500ad9ba4c Fetch enough items to fill at lest one new page 2014-11-07 22:10:06 +01:00
chrox
bd0975896d add fulltext search for EPUB documents 2014-11-05 12:28:28 +08:00
chrox
8ddca4bf49 close reader config panel when touching reader menu 2014-11-05 12:28:28 +08:00
chrox
a766ec51ae only update neccessary screen regions when typing with virtual keyboard 2014-11-05 12:28:28 +08:00
chrox
3a1fe689e2 update multiple screen regions
This is useful when updating keyboard and inputbox.
2014-11-05 12:28:28 +08:00
Hans-Werner Hilse
3066c86e38 Refactoring hardware abstraction
This is a major overhaul of the hardware abstraction layer.
A few notes:

General platform distinction happens in
  frontend/device.lua
which will delegate everything else to
  frontend/device/<platform_name>/device.lua
which should extend
  frontend/device/generic/device.lua

Screen handling is implemented in
  frontend/device/screen.lua
which includes the *functionality* to support device specifics.
Actually setting up the device specific functionality, however,
is done in the device specific setup code in the relevant
device.lua file.

The same goes for input handling.
2014-11-02 21:19:04 +01:00
chrox
a32991d898 add new sorting methods for file list in filemanager
Now files can be sorted by filename or last accessed time
2014-10-30 22:41:52 +08:00
chrox
84029e9694 add modal widget type that will stay on the top of window stack
ConfirmBox and InfoMessage are default to be modal.
Now returning to filamanager after highlighting a PDF page
the confirmbox asking users to save the document will not be hidden by
the filamanager window.
And it's tested on Kindle that #791 is already been solved probably by
out refacorting of MuPDF backend.
2014-10-30 16:01:04 +08:00
chrox
dfcd67c5bf move screenshot settings to submenu of Screenshot entry in readermenu
And also fix a touchmenu bug that prevent some menu entries
(always at the bottom of the menu) from showing submenus. The reason is
that the onTapSelect method of TouchMenuItem doesn't return true, so that
the tap gesture will propagate to the parent widget and be captured by
touchmenu itself. But at this time the dimen of touchmenu is changed to
the submenu of the tapped menuitem. If the submenu is short enough the
tap will be outside of touchmenu which will cause a TapCloseAllMenus
event and the submenu will never be shown.
2014-10-30 15:51:35 +08:00
chrox
68265336f4 fix #1034 by refactoring path chooser to a download manager
Now directories visible in the filemanager should also
be visible in the path chooser
2014-10-28 17:14:06 +08:00
Michael Hall
dd80d61155 Leave both readerconfig and readermenu open on wifi toggle 2014-10-26 09:41:28 +00:00
Qingping Hou
394c847e2b fix(app): initilize menu properly in reader and filemanager 2014-10-25 05:46:02 -04:00
Qingping Hou
d1627337e0 fix(ui): fix dynamic menu height calculation 2014-10-25 04:03:37 -04:00
Hans-Werner Hilse
ba40cc56e9 fill background of intermediary blitbuffers
we need to explicitly fill those buffers, now that white is not "0"
anymore.
2014-10-24 13:48:42 +02:00
Hans-Werner Hilse
5982e24d57 unify color specification
colors were a mixture of 4bpp integers (0=white, 15=black) and
fractional blackness levels (0=white, 1.0=black) before. This is
now unified to use the color specification of the Blitbuffer API.
2014-10-24 13:48:42 +02:00
chrox
c994e30cff fix #1024
if toc item has expand/collapse state and tap select on the left side
the state switch action is triggered, otherwise goto the
linked page.
2014-10-21 22:18:07 +08:00
Hans-Werner Hilse
e0868826ad use new FFI based mupdf API
This will use the new API where the Lua/C interface was used before
and also drop usage of mupdfimg wrapper which is now implemented
within the mupdf interface
2014-10-20 16:49:10 +02:00
chrox
2ad63fc1a3 expand/collapse TOC only by tap on the icon 2014-10-20 22:19:31 +08:00
chrox
f3417c5488 fix #987 2014-10-15 18:17:16 +08:00
chrox
96960cd554 don't dim icon button by default 2014-10-14 21:34:56 +08:00