summaryrefslogtreecommitdiff
path: root/src/ui/inputwidget.c
AgeCommit message (Collapse)Author
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.
2021-06-09Merge branch 'dev' into work/typesetterJaakko Keränen
# Conflicts: # src/gmdocument.c # src/ui/documentwidget.c # src/ui/inputwidget.h
2021-06-08Normalize (NFC) document/input field contentJaakko Keränen
The text renderer has problems with composites so normalizing the text (using Unicode normalization form C) yields better results for now.
2021-05-19Merge branch 'dev' into work/typesetterJaakko Keränen
2021-05-19Mobile: InputWidget Return key vs. maxLenJaakko Keränen
Only unlimited-length input should allow line breaks with the Return key.
2021-05-18Mobile: Tablet tweaksJaakko Keränen
Heights of InputWidget vs. LabelWidget. The default sizes should be equal, e.g., so the navbar elements align properly. Don't set the input focus automatically when opening a dialog, since the keyboard may cover much of the UI.
2021-05-18Mobile: Tablet tweaksJaakko Keränen
Heights of InputWidget vs. LabelWidget. The default sizes should be equal, e.g., so the navbar elements align properly. Don't set the input focus automatically when opening a dialog, since the keyboard may cover much of the UI.
2021-05-18Merge branch 'dev' into work/typesetterJaakko Keränen
# Conflicts: # src/ui/documentwidget.c # src/ui/inputwidget.c
2021-05-17Mobile: Preferences on tablet devicesJaakko Keränen
Use the mobile layout on tablets as well.
2021-05-17Mobile: Return key insert newline by defaultJaakko Keränen
To avoid accidentally submitting queries, use the software keyboard Return key for inserting newlines.
2021-05-14InputWidget: Touch tweaksJaakko Keränen
2021-05-14Mobile and iOS: Various fixes and cleanupJaakko Keränen
Several regressions occurred when the split view mode was implemented.