2
0
mirror of https://github.com/koreader/koreader synced 2024-11-11 19:11:14 +00:00
koreader/frontend/ui
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
..
data Style tweaks: re-order Allow hyphenation on all text (#4050) 2018-07-04 12:43:10 +02:00
elements Dismiss Wi-Fi scan popup after connection (#4055) 2018-07-07 17:06:58 +02:00
message UI Behavior tweaks (#3983) 2018-06-02 12:10:55 -04:00
network Dismiss Wi-Fi scan popup after connection (#4055) 2018-07-07 17:06:58 +02:00
plugin SwitchPlugin and BackgroundTaskPlugin with tests (#3137) 2017-08-31 16:37:39 +02:00
widget Text input fixes and enhancements (#4084) 2018-07-19 08:30:40 +02:00
downloadmgr.lua DevDocs: ui.downloadmgr 2017-05-06 18:25:24 -07:00
event.lua doc: event propagation for widgets 2016-12-11 12:20:59 -08:00
font.lua Minor font sanity checking (#4039) 2018-07-02 15:58:27 +02:00
geometry.lua [travis] Add protection against unscaled sizes 2017-09-23 20:24:45 +02:00
gesturerange.lua Text input fixes and enhancements (#4084) 2018-07-19 08:30:40 +02:00
hook_container.lua Move kobo auto-suspension logic out of UIManager (#2933) 2017-06-23 10:04:11 -07:00
language.lua [i18n] Update frontend/ui/language: add Basque and uncomment Vietnamese (#3755) 2018-03-14 16:02:35 +01:00
menusorter.lua [Menusorter] Ignore warning for the plus_menu. (#3903) 2018-04-21 22:02:38 +02:00
opdsparser.lua opds(fix): unescape name and value 2016-12-29 00:02:22 -08:00
otamanager.lua Handle OTA updates during the restart loop on Kobo/Kindle (#4049) 2018-07-04 19:25:55 +02:00
quickstart.lua [feat] Build AppImage (#3850) 2018-04-08 22:39:52 +02:00
renderimage.lua UI Behavior tweaks (#3983) 2018-06-02 12:10:55 -04:00
rendertext.lua [doc] RenderText:getGlyph() and truncateTextByWidth() (#3140) 2017-08-28 21:25:33 +02:00
screensaver.lua Assorted bag of fixes (#4014) 2018-06-16 23:05:20 +02:00
size.lua Text input fixes and enhancements (#4084) 2018-07-19 08:30:40 +02:00
timeval.lua [fix, doc] TimeVal: typo 2017-09-11 13:17:52 +02:00
translator.lua Docs: cosmetic updates and additions 2017-04-12 11:27:22 -07:00
trapper.lua Add MovableContainer: allow moving some widgets (#3636) 2018-01-29 21:27:24 +01:00
uimanager.lua UI Behavior tweaks (#3983) 2018-06-02 12:10:55 -04:00
wikipedia.lua bump crengine: alternative TOC, no page break on borders (#4011) 2018-06-14 00:46:52 +02:00