summaryrefslogtreecommitdiff
path: root/src/ui/widget.h
AgeCommit message (Collapse)Author
2022-01-05Merge branch 'work/v1.10' into devJaakko Keränen
# Conflicts: # CMakeLists.txt # Depends-Android.cmake # res/about/version.gmi # res/lang/cs.bin # res/lang/eo.bin # res/lang/es.bin # res/lang/fi.bin # res/lang/gl.bin # res/lang/ia.bin # res/lang/ie.bin # res/lang/ru.bin # res/lang/sr.bin # res/lang/tok.bin # res/lang/tr.bin # res/lang/uk.bin # res/lang/zh_Hant.bin # src/app.c # src/main.c # src/ui/documentwidget.c # src/ui/labelwidget.c # src/ui/sidebarwidget.c # src/ui/util.c
2022-01-05Handling keys while navigating via home rowJaakko Keränen
When navigating via home row, ensure that other widgets will not trigger when keys are pressed. The document is given keyboard focus even though it is not flagged as focusable, to make sure it gets to handle all the keys first. On macOS, disable all native menu items that have a home row keyboard shortcut. Also on macOS, disable all native menus when changing bindings. IssueID #419
2022-01-02Mobile: Taller portrait phone navbarJaakko Keränen
The navbar is an important tap target, so it should be the same height as most menu items and the toolbar.
2021-12-14Widget: More efficient size change notificationsJaakko Keränen
Only notify once, after the arrangement is done.
2021-12-05Widget: Added flag to always fade the backgroundJaakko Keränen
2021-12-04Mobile: Sidebar is now a vertically sliding panelJaakko Keränen
Switched the phone sidebar to use the iOS half/full-height sliding sheet design. This is better for finger reachability and for retaining access to the current page.
2021-11-23Widget: Removed the animation offset hackJaakko Keränen
2021-10-23CleanupJaakko Keränen
2021-10-22Working on tab close buttonsJaakko Keränen
An [x] button appears on tab buttons when hovering on them. Still needs a bit of layout tweaks and the first tab doesn't have a button yet.
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-19Widget: Scrollable widgets will draw a scrollbarJaakko Keränen
A proper scrollbar would be grabbable, but this is just a visual indication that a menu/dialog/panel can be scrolled. IssueID #337
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-07-23UploadWidget: Expand to input field sizeJaakko Keränen
2021-06-15Fixed visual artifact during sidebar animationJaakko Keränen
The sidebars are not supposed to have borders or background fades.
2021-06-15Mobile: Show identity name in toolbarJaakko Keränen
Shuffled the widget flags a bit to make room for a new one.
2021-06-14Swiping and sidebar; various tweaksJaakko Keränen
When a page is opened from the sidebar, swiping back will now reopen the sidebar. Another swipe will dismiss the sidebar and navigate back as usual. Attempted to cache theme colors in GmDocument, but there were issues with theme changes.
2021-06-13Mobile: Working on swipe navigationJaakko Keränen
Swipes back and forward are now working, although there are some glitches remaining. Most notably, when swiping back the previous document does not appear until the finger is released.
2021-06-13Touch: Swiping away the sidebarJaakko Keränen
2021-05-22DocumentWidget: Working on footer button positioningJaakko Keränen
2021-05-17Mobile: Swipe improvementsJaakko Keränen
Edge swipe direction is determined in a more dynamic way.
2021-05-16Widget: Fade opacity based on area covering rootJaakko Keränen
2021-05-15Mobile: Various improvements and fixesJaakko Keränen
- fill the safe area with theme background - don't set button hover states if dragging/scrolling - edge-draggable widgets must be flagged as such - Preferences top panel offset matches sibling panels' offset - allow toolbar to unhide when document is not scrollable
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-12Keep labels aligned with expanding inputsJaakko Keränen
A widget may copy its height from another widget.
2021-05-06Split view: Fixed theme and title updatesJaakko Keränen
Now every DocumentWidget is guaranteed a unique ID. The window title is updated when the keyroot chages.
2021-04-30Revising and fixing widget layoutJaakko Keränen
Some of the logic for arranging widgets was invalid, leading to problems with the navbar: - cannot resize children if own size depends on their size - expanding children won't expand unless resizing all children
2021-04-29Working on multiple UI rootsJaakko Keränen
Added a menu for changing the split mode.
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-20Widget: Added a utility methodJaakko Keränen
2021-04-12Mobile: CertImportWidget, UI tweaksJaakko Keränen
The Import Identity dialog is now styled for mobile, although could use a little more tuning.
2021-04-11Mobile: Long press to select; navbar page menuJaakko Keränen
DocumentWidget now supports a long-press drag selection mode. The context menu was moved to the URL bar, replacing the reload button.
2021-04-10SidebarWidget: Action button fontsJaakko Keränen
2021-04-04Widget: Added a debug utilityJaakko Keränen
Printing the list of parents.
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-29Widget: Flag for allowing horizontal overflowJaakko Keränen
Two-column headings are supposed to span both columns.
2021-03-21iOS: Save to Files; hide toolbar on scrollJaakko Keränen
There is no downloads directory on mobile. Instead, the downloaded file is temporarily cached and given to the iOS document picker to export. Added an option to hide the bottom toolbar while scrolling down.
2021-03-18Scrollbar fading and periodic commandsJaakko Keränen
Added a new mechanism to issue periodic but not per-frame commands. This is used for main-thread operations like checking if it's time to fade away the scrollbars. Scrollbars are faded away completely on Apple platforms. Adjusted list right margins accordingly.
2021-03-16Mobile: Dialog layout fixesJaakko Keränen
Orientation and safe inset changes are now applied to phone dialogs. There is still the occasional unscrollable dialog, but it seems random?
2021-03-13Arrange URL child indicators; widget arrangementJaakko Keränen
The indicators in the URL input field are now arranged horizontally, so they don't overlap. Improved arrangement of (un)collapsed widgets.
2021-03-12Cut/copy/paste paste via menusJaakko Keränen
IssueID #175
2021-03-12Window: Embed reload button; sidebar context menuJaakko Keränen
2021-03-10Edge-dragging preference panelsJaakko Keränen
2021-03-10Mobile: Working on the phone preferencesJaakko Keränen
2021-03-09Mobile: Revising phone-style dialogsJaakko Keränen
Sliding panels and left-edge swipes.
2021-03-08Fine-tuning touch behaviorJaakko Keränen
Avoid mouse motion events to prevent spurious hover states in the UI.
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