mirror of
https://github.com/koreader/koreader
synced 2024-11-11 19:11:14 +00:00
0d66ea7555
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. |
||
---|---|---|
.. | ||
container | ||
bboxwidget.lua | ||
bookstatuswidget.lua | ||
button.lua | ||
buttondialog.lua | ||
buttondialogtitle.lua | ||
buttonprogresswidget.lua | ||
buttontable.lua | ||
checkbutton.lua | ||
checkmark.lua | ||
closebutton.lua | ||
configdialog.lua | ||
confirmbox.lua | ||
datewidget.lua | ||
dictquicklookup.lua | ||
eventlistener.lua | ||
filechooser.lua | ||
fixedtextwidget.lua | ||
focusmanager.lua | ||
frontlightwidget.lua | ||
horizontalgroup.lua | ||
horizontalspan.lua | ||
htmlboxwidget.lua | ||
hyphenationlimits.lua | ||
iconbutton.lua | ||
imageviewer.lua | ||
imagewidget.lua | ||
infomessage.lua | ||
inputdialog.lua | ||
inputtext.lua | ||
keyvaluepage.lua | ||
linewidget.lua | ||
linkbox.lua | ||
listview.lua | ||
logindialog.lua | ||
menu.lua | ||
multiconfirmbox.lua | ||
multiinputdialog.lua | ||
naturallightwidget.lua | ||
networksetting.lua | ||
notification.lua | ||
numberpickerwidget.lua | ||
opdsbrowser.lua | ||
openwithdialog.lua | ||
overlapgroup.lua | ||
pathchooser.lua | ||
physicalkeyboard.lua | ||
progresswidget.lua | ||
radiobutton.lua | ||
radiobuttontable.lua | ||
rectspan.lua | ||
screensaverwidget.lua | ||
screenshoter.lua | ||
scrollhtmlwidget.lua | ||
scrolltextwidget.lua | ||
spinwidget.lua | ||
textboxwidget.lua | ||
textviewer.lua | ||
textwidget.lua | ||
timewidget.lua | ||
toggleswitch.lua | ||
touchmenu.lua | ||
trapwidget.lua | ||
verticalgroup.lua | ||
verticalscrollbar.lua | ||
verticalspan.lua | ||
virtualkeyboard.lua | ||
widget.lua |