summaryrefslogtreecommitdiff
path: root/src/ui/inputwidget.c
AgeCommit message (Collapse)Author
2021-09-17Fixed minor widget glitchesJaakko Keränen
2021-09-15Mobile: Minor improvementsJaakko Keränen
Fixed issues: scrollbar goes under toolbar, value input dialog grows too tall, Undo/Select All in the clip menu.
2021-09-14InputWidget: Touch scrolling, position calculationJaakko Keränen
2021-09-13Mobile: New selection logic for InputWidgetJaakko Keränen
Touch-based interaction requires a different kind of selection and copy/paste behavior. This isn't done yet; especially multi-line text still needs work.
2021-09-12CleanupJaakko Keränen
2021-09-12Mobile: Better Settings tap targets; fixed safe area drawingJaakko Keränen
2021-09-12Mobile: Draw optimizations; focus handlingJaakko Keränen
Widgets can now be marked for buffering their contents, which is useful if their contents change seldom but they are drawn often. For example, the navbar is always visible but doesn't change very often, and during animations menu contents are static but there is a moving animation so everything gets drawn 60 FPS. Focus handling was also improved so the lookup results can be scrolled while entering text, and one can tap outside an input field to unfocus it.
2021-09-10Mobile: Fixed minor UI issuesJaakko Keränen
Overflow-scrolling should be allowed over input fields, too. Fixed placement of the URL label in the link context menu.
2021-09-04iOS: Minor fixesJaakko Keränen
The SDL text input rectangle function applies some sort of offset that is inappropriate on iOS.
2021-08-28InputWidget: Tell SDL where text input is happeningJaakko Keränen
2021-08-24InputWidget: Reverted an earlier change to fix cursor movement regressionJaakko Keränen
In word-wrapped lines, a character will be hit multiple times and the latest hit is what counts.
2021-08-22CleanupJaakko Keränen
2021-08-19InputWidget: Cursor behavior around invisible codepointsJaakko Keränen
Emoji variation selectors would confuse cursor positioning and insertion behavior, breaking the assumption that each line ends with a single newline.
2021-08-06InputWidget: Omit default scheme; highlight domain nameJaakko Keränen
These were working in v1.5 but were broken in v1.6.
2021-08-06InputWidget: Return key, input focus behaviorJaakko Keränen
In the long-form text entry mode, don't use the user's configured Return key behavior, since that's meant for shorter input fields. Input fields no longer lose focus when the window loses input focus, but the cursor will stop blinking. This makes it easier to resume typing after switching window focus, and also on macOS the symbol picker is easier to use.
2021-08-04InputWidget: Line breaks only make sense in some fieldsJaakko Keränen
For example, any URL field should disallow line breaks. The line break modifier preference should be disregarded in an input field where there are no line breaks.
2021-08-03InputWidget: On PCs, use Ctrl+Shift+A to select all textJaakko Keränen
2021-08-03InputWidget: Slower blink; adjusted colorsJaakko Keränen
Slowed down the cursor blinking by half. Adjusted the focused input widget colors to be less harsh in dark mode.
2021-08-02InputWidget: CleanupJaakko Keränen
2021-08-02InputWidget: Fixed selection update after deletingJaakko Keränen
2021-08-02InputWidget: Simple text renderer needs fixingJaakko Keränen
2021-08-01UploadWidget: Allow expanding to full window heightJaakko Keränen
2021-07-30InputWidget: Home/End moves to start/end of wrapped line segmentJaakko Keränen
2021-07-30InputWidget: Fixed undefined behavior when inserting a newlineJaakko Keränen
2021-07-27InputWidget: Fixed cursor and selection issuesJaakko Keränen
Cursor position was miscalculated because WrapText works a bit differently with maxWidth==0. Selection was not always updated as intended.
2021-07-26InputWidget: Fixed copying a range of textJaakko Keränen
2021-07-25UploadWidget: Fixes and improvementsJaakko Keränen
Fixed update after undo. Line wrap long destination URLs. Don't open a new upload dialog if one is already open.
2021-07-24InputWidget: Focus, cursor and scrollingJaakko Keränen
Tweak that lets a single-line editor (URL field) keep its first line visible when unfocused.
2021-07-24CleanupJaakko Keränen
2021-07-23Window: Mouse wheel events vs. split modeJaakko Keränen
Only process mouse wheel events on the root over which the mouse is currently.
2021-07-23InputWidget: Fixes to updating widget heightJaakko Keränen
2021-07-23InputWidget: Automatic backup modeJaakko Keränen
2021-07-23InputWidget: Buffer contents not activeJaakko Keränen
2021-07-22InputWidget: Fixed multiline deletion; arrow key eventsJaakko Keränen
2021-07-22Added a setting for Return key behaviorJaakko Keränen
User preference for line break / accept behavior in input fields. Still needs to be added to the Preferences dialog.
2021-07-22InputWidget: Showing the hint textJaakko Keränen
2021-07-22InputWidget: Sensitive input modeJaakko Keränen
At a low level when measuring/drawing text, replace all characters with an override character.
2021-07-21InputWidget: Overwrite mode and max lengthJaakko Keränen
2021-07-21InputWidget: Deleting textJaakko Keränen
2021-07-21InputWidget: Fixed and reliabilityJaakko Keränen
Cursor movement and pasting.
2021-07-21InputWidget: Fixed coord-based positioningJaakko Keränen
2021-07-21Text: Finding the advance position of a characterJaakko Keränen
2021-07-21Revising InputWidget (continued)Jaakko Keränen
Finding cursor position via coordinates. Handling the mark. Visual wrapped lines vs. content lines. Vertical scrolling inside the visual range.
2021-07-20Revising InputWidgetJaakko Keränen
`InputWidget` needs to be better at handling multiple lines. The previous implementation assumed that the content was short enough to be fully redrawn each frame, which is not a great idea when you have thousands of lines.
2021-07-15Fixing regressions text metrics, InputWidgetJaakko Keränen
`run_Font_` was moving the Y cursor position twice for each line break. Checking for the HarfBuzz UNSAFE_TO_BREAK flag leads to some unexpected behavior near edges of words. The old `tryAdvanceNoWrap` method should return the maximum horizontal advance of the text, and not the cursor position's advance. `draw_WrapText` used the wrong foreground color. `TextBuf` now uses WrapText to do all the measuring and drawing, making things much simpler.
2021-07-06InputWidget: Fixed cursor positioningJaakko Keränen
Use advance and not bounds.
2021-07-06Text run measurement API change; bug fixesJaakko Keränen
The distinction between measure_Text and advance_Text was not very clear. Now there are only measure_Text functions that return both the bounds and the cursor position advancement, and the appropriate metrics are used by the caller.
2021-06-30Canonical URIsJaakko Keränen
Internally, all URIs should be converted to a canonical form so that they can be compared against each other. The canonical form is an IRI with spaces and reserved characters percent-encoded.
2021-06-17CleanupJaakko Keränen
2021-06-10Mobile: Horizontal sidebar animationJaakko Keränen
Also fixing glitch with search input field where pressing Return would insert newline.