summaryrefslogtreecommitdiff
path: root/src/ui/inputwidget.c
AgeCommit message (Collapse)Author
2021-10-23InputWidget: Per-pixel scrollingJaakko Keränen
2021-10-23CleanupJaakko Keränen
2021-10-13Text attributes that change inside a runJaakko Keränen
These changes concern the situation when the attributes of text (i.e., font, color) are changed via escape sequences. The concept of "base attributes" was added so that the low-level text renderer knows which font/color to set when a "reset" escape sequence is encountered. This depends on what kind of text is being renderer, e.g., preformatted or regular paragraphs. The base attributes were added as variables in Text because it was getting unwieldy to pass all the information via the draw/measure/WrapText functions. GmDocument now has a GmTheme struct that collects the font and color information into a single place.
2021-09-21InputWidget: Shift+Alt+Tab inserts a tab characterJaakko Keränen
2021-09-21macOS: Native context menusJaakko Keränen
Popup context menus now use NSMenu. There are still has a few glitches with the navbar identity button, but most menus are working. SDL required another little tweak to force it to update mouse button state after the synchronously handled context menu goes away. Otherwise SDL's internal mouse button state shows that the right mouse button is held down.
2021-09-20Experimenting with independent popup windowsJaakko Keränen
Toe dipping into multiple window support by allowing popup menu widgets to be displayed in independent windows. This is not a 100% replacement for native menus, but it gets pretty close.
2021-09-18Tracking hover widget; cleanupJaakko Keränen
The hover widget may get deleted during event processing, so Window keeps track of it for refreshing. TODO: Random crash when a destroyed menu is still in the onTop array (?).
2021-09-17Touch: Swipes interact at start positionJaakko Keränen
Allow the swiping finger to exit the widget without stopping the swipe.
2021-09-17InputWidget: CleanupJaakko Keränen
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