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

84 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
TnS-hun
b40bc53fc7 HTML dictionary link support (#3603) 2018-01-15 23:51:43 +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
TnS-hun
29b376fdd9 [UX] Option to show dictionary in large window (#3499) 2017-11-20 09:40:00 +01:00
Robert
178555180f [fix] Disable Highlight button when text is not selected (#3457) 2017-11-01 14:50:53 +00: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
8aa26edeb6 Fix some widget title height and close button alignment (#3366) 2017-10-16 17:51:56 +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
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
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
poire-z
79dca8e245 [UX] Wikipedia save as EPUB: allow for aborting download (#3224) 2017-09-16 17:25:47 +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
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
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
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
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
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
Frans de Jonge
e1aa57f27e Font: unify font styling 2017-04-29 03:01:38 -07: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
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
Frans de Jonge
6257bae77f Language: mostly Wikipedia-related changes 2017-02-02 02:09:51 -08: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
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
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
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
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
Qingping Hou
a10a4f65a5 minor: use predefined color instead of gray method 2016-07-10 23:25:32 -07:00
chrox
1c5c7d3a7c fix #1682 by closing all dict windows when holding close icon 2016-06-29 00:35:00 +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
adf5ffdd26 dictquicklookup(fix): use self.region for matching hold event 2016-06-05 00:08:23 -07:00
Qingping Hou
476e35708d inputdialog(feat): add is_enter_default attribute to buttons 2016-05-25 23:09:49 -07:00