summaryrefslogtreecommitdiff
path: root/src/ui/inputwidget.c
AgeCommit message (Collapse)Author
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-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-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
2021-03-27Processing of double clicksJaakko Keränen
The click handling utility no longer treats double clicks as a special case. An arbitrary number of clicks is kept in a separate counter.
2021-03-23UI language preference; switching at runtimeJaakko Keränen
IssueID #192
2021-03-23Lang: Applied string IDs everywhereJaakko Keränen
More or less everywhere? IssueID #192
2021-03-19InputWidget: Improved default scheme hidingJaakko Keränen
Restore when there is more space available.
2021-03-17InputWidget: In a narrow window, omit the default URL schemeJaakko Keränen
The default URL scheme is "gemini". If missing, it will always be added back when making requests. This allows it to be omitted from the URL input field if space needs saving. Other schemes, like "gopher", won't be omitted.
2021-03-13Text: Separate glyph caching procedureJaakko Keränen
Previously glyph caching was done during text rendering, but that would mean lots of swapping between rendering stuff to the cache and then immediately afterward rendering to the display. There would be a swap per each new glyph. Now the entire document's glyphs are precached at once when a request is finished. Glyphs are also cached in larger batches when new text needs to be drawn.
2021-03-13Fixed resizing of input dialogsJaakko Keränen
2021-03-12Cut/copy/paste paste via menusJaakko Keränen
IssueID #175
2021-03-12InputWidget: Set/get content paddingJaakko Keränen
2021-03-06Mobile: Dealing with keyboard heightJaakko Keränen
The software keyboard obstructs part of the UI, so need to offset the view if the focused input widget would not be visible.
2021-03-06Mobile: Dialog styling for phonesJaakko Keränen
2021-03-06Mobile: Widget interaction and appearanceJaakko Keränen
Overflow-scrollable allows momentum scrolls. Adjusting fonts in phone sheets.
2021-03-05Restructuring dialogs for mobileJaakko Keränen
On a phone, dialogs are restructured to be more vertical and full-width.
2021-03-04Changing UI scaling at runtimeJaakko Keränen
UI scaling factor is applied when closing the Preferences dialog. IssueID #83
2021-03-03CapsLock as a modifier key; adding a modifier mapping tableJaakko Keränen
IssueID #87
2021-02-24Lock button is embedded in the URL fieldJaakko Keränen
2021-02-24UI font consistencyJaakko Keränen
Try to minimize the number of fonts in the UI. Input fields now use the same UI font as everything else. The monospace font was originally used because the widget required one, but that is no longer the case.
2021-02-23Show a search indicator in the URL barJaakko Keränen
Indicate to user when entered text will be user for a search engine query. IssueID #157
2021-02-23Editing bookmark iconsJaakko Keränen
IssueID #140
2021-02-21Animated widget offsets; phone sidebarsJaakko Keränen
2021-02-19iOS: Adjusting the UI for a tablet screenJaakko Keränen
2021-02-19Touch: Scrollbars can be dragged via touchJaakko Keränen
Widgets can be flagged as being touch-draggable, which makes them receive finger down/motion/up events directly, and no momentum scrolling is applied.
2021-02-08CleanupJaakko Keränen
Function naming convention is: {method}_{class}() Ran clang-format on the changes.
2021-02-07paste: refactor to allow for Shift+InsThomas Adam
Under Linux/Unix, the key combination of "Shift+Ins" allows for pasting from the clipboard into most applications. Refactor pasting to its own function and define the key combination of Shift+Ins to allow for this.
2021-02-05Experimenting with an iOS buildJaakko Keränen
iPlatformApple applies to both macOS and iOS. Added iPlatformAppleDesktop and iPlatformAppleMobile to make a distinction between the two. IssueID #96
2021-02-03XDG: Check XDG_CONFIG_HOME and the user's download directoryJaakko Keränen
Also added a build option to disable changing the user download directory within Lagrange, since that's set via XDG config.
2021-02-02Improved focus switching for dialogsJaakko Keränen
Widgets can now be defined as being the "focus root", i.e., the topmost widget under which focus switching happens. Normally this is the window root widget, but dialogs use this flag to confine focus switching inside the dialog. InputWidget in Overwrite mode will focus switch to the next focusable widget when the text field becomes full.
2021-02-02InputWidget: Fixed cursor missing in an empty input widgetJaakko Keränen