summaryrefslogtreecommitdiff
path: root/src/ui/inputwidget.c
AgeCommit message (Collapse)Author
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.
2021-05-14InputWidget: Rewrap when width changesJaakko Keränen
2021-05-14InputWidget: Fixed cursor moving; scroll the dialogJaakko Keränen
Up/down movement sometimes ended up in the wrong cursor position. Now the nearest overflow-scrollable parent scrolls to keep the cursor visible.
2021-05-13InputWidget: Drawing hint and buffered textJaakko Keränen
Improved TextBuf to handle word/bound-wrapped content.
2021-05-13Debug info shows total cache/RAM usageJaakko Keränen
2021-05-12InputWidget: Shift-click to select a rangeJaakko Keränen
2021-05-12DocumentWidget: Input query length validationJaakko Keränen
Enforce the maximum length of 1024 bytes for Gemini URLs. The input query prompt shows how many bytes are remaining.
2021-05-12CleanupJaakko Keränen
Use the Return key symbol consistently, also in the Search Query indicator. The input dialog "Send" label now no longer needs the "⇒" icon.
2021-05-12InputWidget: Expanding while editingJaakko Keränen
The navbar layout cannot accommodate more than one line of text, but allow the editor to expand while writing text.
2021-05-11InputWidget: Word wrapping, inserting newlinesJaakko Keränen
2021-04-30InputWidget: Highlight only in focused rootJaakko Keränen
2021-04-28Working on multiple UI rootsJaakko Keränen
Various refactorings and fixes to handle root-global and window-global state, root-specific palettes, and proper coordinate system changes (e.g., when opening menus). UI events are posted and handled in the context of a specific root.
2021-04-27Refactor: Update event processing to not assume a single UI rootJaakko Keränen
Most actions should occur in the context of the current UI root.
2021-04-27UI root sizing is independent of window sizingJaakko Keränen
2021-04-09Mobile: Fixed dialog field misalignmentsJaakko Keränen
2021-04-03InputWidget: Don't buffer contents too earlyJaakko Keränen
2021-03-30Widget: Arrangement debugging; min sizeJaakko Keränen
There is a problem with repeated arrangements: the previous set sizes affect subsequent outcomes. This results in Preferences not being able to reduce in size, only to expand. It should be possible to reset sizes back to zero/minimum size before starting an arrangement, but LabelWidget needs to cooperate by using `minSize` to set its default size. `minSize` is preferable to fixedSize because then the widget can go through the usual arranging logic. To be continued at a later time...
2021-03-27InputWidget: Select by wordJaakko Keränen
IssueID #134