Age | Commit message (Collapse) | Author |
|
|
|
Only process mouse wheel events on the root over which the mouse is currently.
|
|
|
|
|
|
|
|
|
|
User preference for line break / accept behavior in input fields. Still needs to be added to the Preferences dialog.
|
|
|
|
At a low level when measuring/drawing text, replace all characters with an override character.
|
|
|
|
|
|
Cursor movement and pasting.
|
|
|
|
|
|
Finding cursor position via coordinates. Handling the mark. Visual wrapped lines vs. content lines. Vertical scrolling inside the visual range.
|
|
`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.
|
|
`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.
|
|
Use advance and not bounds.
|
|
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.
|
|
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.
|
|
|
|
Also fixing glitch with search input field where pressing Return would insert newline.
|
|
# Conflicts:
# src/gmdocument.c
# src/ui/documentwidget.c
# src/ui/inputwidget.h
|
|
The text renderer has problems with composites so normalizing the text (using Unicode normalization form C) yields better results for now.
|
|
|
|
Only unlimited-length input should allow line breaks with the Return key.
|
|
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.
|
|
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.
|
|
# Conflicts:
# src/ui/documentwidget.c
# src/ui/inputwidget.c
|
|
Use the mobile layout on tablets as well.
|
|
To avoid accidentally submitting queries, use the software keyboard Return key for inserting newlines.
|
|
|
|
Several regressions occurred when the split view mode was implemented.
|
|
|
|
Up/down movement sometimes ended up in the wrong cursor position.
Now the nearest overflow-scrollable parent scrolls to keep the cursor visible.
|
|
Improved TextBuf to handle word/bound-wrapped content.
|
|
|
|
|
|
Enforce the maximum length of 1024 bytes for Gemini URLs. The input query prompt shows how many bytes are remaining.
|
|
Use the Return key symbol consistently, also in the Search Query indicator. The input dialog "Send" label now no longer needs the "⇒" icon.
|
|
The navbar layout cannot accommodate more than one line of text, but allow the editor to expand while writing text.
|
|
|
|
|
|
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.
|
|
Most actions should occur in the context of the current UI root.
|
|
|
|
|
|
|
|
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...
|
|
IssueID #134
|