You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
koreader/frontend/ui/widget
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.
6 years ago
..
container [feat, UX] Support the virtualKeyboard on non touch-device (#3796) 6 years ago
bboxwidget.lua Added Size module 7 years ago
bookstatuswidget.lua Text input fixes and enhancements (#4084) 6 years ago
button.lua UI Behavior tweaks (#3983) 6 years ago
buttondialog.lua Add MovableContainer: allow moving some widgets (#3636) 6 years ago
buttondialogtitle.lua Add MovableContainer: allow moving some widgets (#3636) 6 years ago
buttonprogresswidget.lua UI Behavior tweaks (#3983) 6 years ago
buttontable.lua Buttons: properly truncate text when too long (#4057) 6 years ago
checkbutton.lua OpenWithDialog widget: improved display (#4078) 6 years ago
checkmark.lua [UX] Add CheckButton and use it for show password 7 years ago
closebutton.lua Fix some widget title height and close button alignment (#3366) 7 years ago
configdialog.lua UI Behavior tweaks (#3983) 6 years ago
confirmbox.lua Add MovableContainer: allow moving some widgets (#3636) 6 years ago
datewidget.lua [fix, UX] timewidget and datewidget in landscape mode (#3666) 6 years ago
dictquicklookup.lua UI Behavior tweaks (#3983) 6 years ago
eventlistener.lua Add restart koreader function and ensure FlushSettings event can be delivered to all widgets (#2772) 7 years ago
filechooser.lua UI Behavior tweaks (#3983) 6 years ago
fixedtextwidget.lua Refactoring hardware abstraction 10 years ago
focusmanager.lua UI Behavior tweaks (#3983) 6 years ago
frontlightwidget.lua UI Behavior tweaks (#3983) 6 years ago
horizontalgroup.lua [doc] some widget docs 7 years ago
horizontalspan.lua cleanup: expand tab to 4 spaces 10 years ago
htmlboxwidget.lua UI Behavior tweaks (#3983) 6 years ago
hyphenationlimits.lua cre hyphenation: allow for setting min left/right fragment length (#3890) 6 years ago
iconbutton.lua UI Behavior tweaks (#3983) 6 years ago
imageviewer.lua UI Behavior tweaks (#3983) 6 years ago
imagewidget.lua Bookmarks, CoverBrowser: scale dogear icon (#4081) 6 years ago
infomessage.lua [feat, UX] Support the virtualKeyboard on non touch-device (#3796) 6 years ago
inputdialog.lua Text input fixes and enhancements (#4084) 6 years ago
inputtext.lua Text input fixes and enhancements (#4084) 6 years ago
keyvaluepage.lua UI Behavior tweaks (#3983) 6 years ago
linewidget.lua (chore) some require sorting. 7 years ago
linkbox.lua Added Size module 7 years ago
listview.lua Added Size module 7 years ago
logindialog.lua Text input fixes and enhancements (#4084) 6 years ago
menu.lua Text input fixes and enhancements (#4084) 6 years ago
multiconfirmbox.lua Wikipedia link: check if previously saved as EPUB (#3837) 6 years ago
multiinputdialog.lua Fix focus/unfocus in MultiInputDialog (#4060) 6 years ago
naturallightwidget.lua [fix, UX] naturallightwidget: Reduce text size in button 6 years ago
networksetting.lua Dismiss Wi-Fi scan popup after connection (#4055) 6 years ago
notification.lua bump crengine: fix drawing position of bottom and right borders (#4013) 6 years ago
numberpickerwidget.lua cre hyphenation: allow for setting min left/right fragment length (#3890) 6 years ago
opdsbrowser.lua [feat, UX] Support the virtualKeyboard on non touch-device (#3796) 6 years ago
openwithdialog.lua OpenWithDialog widget: improved display (#4078) 6 years ago
overlapgroup.lua [doc] some widget docs 7 years ago
pathchooser.lua Text input fixes and enhancements (#4084) 6 years ago
physicalkeyboard.lua [fix, spec] InputText:addChars() unicode handling (#3729) 6 years ago
progresswidget.lua ProgressWidget: add some bound checks (#3916) 6 years ago
radiobutton.lua OpenWithDialog widget: improved display (#4078) 6 years ago
radiobuttontable.lua OpenWithDialog widget: improved display (#4078) 6 years ago
rectspan.lua cleanup: expand tab to 4 spaces 10 years ago
screensaverwidget.lua Add new options to screensaver (#3535) 7 years ago
screenshoter.lua feat: support screenshot in filemanager 9 years ago
scrollhtmlwidget.lua [UX] Dict: scroll back with tap: go to bottom of prev definition (#3647) 6 years ago
scrolltextwidget.lua Text input fixes and enhancements (#4084) 6 years ago
spinwidget.lua Menu: configure number of items per page, wrap entries (#3589) 7 years ago
textboxwidget.lua Text input fixes and enhancements (#4084) 6 years ago
textviewer.lua UI Behavior tweaks (#3983) 6 years ago
textwidget.lua Buttons: properly truncate text when too long (#4057) 6 years ago
timewidget.lua [fix, UX] timewidget and datewidget in landscape mode (#3666) 6 years ago
toggleswitch.lua cre: add Word Gap setting to bottom config panel (#4026) 6 years ago
touchmenu.lua TouchMenu: properly truncate item text when too long (#4052) 6 years ago
trapwidget.lua Trapper: adds dismissableRunInSubprocess() + new TrapWidget 7 years ago
verticalgroup.lua [doc] some widget docs 7 years ago
verticalscrollbar.lua Added Size module 7 years ago
verticalspan.lua cleanup: expand tab to 4 spaces 10 years ago
virtualkeyboard.lua Misc. minor fixes (#4080) 6 years ago
widget.lua doc: fix document build 8 years ago