summaryrefslogtreecommitdiff
path: root/src/ui/widget.c
AgeCommit message (Collapse)Author
2021-05-22Document footer buttonsJaakko Keränen
In some situations, e.g., when a client certificate is required but not active, make available action buttons that offer related shortcuts. Selecting or deselecting an identity for use will automatically reload the current page for convenience. Animate closing sidebars with Escape key.
2021-05-22DocumentWidget: Working on footer button positioningJaakko Keränen
2021-05-20Dialog show/hide animationsJaakko Keränen
Use the animations introduced for mobile on desktop as well. Adding a preference for this might be prudent.
2021-05-19CleanupJaakko Keränen
2021-05-19Widget: Fixed arrangement bugJaakko Keränen
Whenever a widget is resized, we may need to rearrange its children. The up-to-date sizes must be used for determining positions for other children.
2021-05-18Mobile: No view split on phone; layout fixesJaakko Keränen
2021-05-17Mobile: Swipe improvementsJaakko Keränen
Edge swipe direction is determined in a more dynamic way.
2021-05-16Widget: Fixed arrangement resettingJaakko Keränen
The expand flag should be reset only in the context of the parent's arrangement/resize direction.
2021-05-16Widget: Fade opacity based on area covering rootJaakko Keränen
2021-05-15Widget: Rearranging expanding widgetsJaakko Keränen
When starting a new arrangement, expanding widgets must be reset so they won't affect the outcome.
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-14Mobile and iOS: Various fixes and cleanupJaakko Keränen
Several regressions occurred when the split view mode was implemented.
2021-05-14Widget: Prevent overflow scrolling if not tallJaakko Keränen
2021-05-14Widget: Fixed layout issueJaakko Keränen
Reset sequential arrangements so the previous child bounds don't affect a newly calculated arrangement.
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-13Widget: Remove timed commands when destroyedJaakko Keränen
2021-05-12Keep labels aligned with expanding inputsJaakko Keränen
A widget may copy its height from another widget.
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-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-05-03Window: Dispatch key events only to the root with key focusJaakko Keränen
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-29Working on multiple UI rootsJaakko Keränen
Restore previous root after processing events. Adjusted colors of the non-focused root.
2021-04-28Working on multiple UI rootsJaakko Keränen
Root focus switching and opening links in the other root.
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-27Refactor: Added a proper Root objectJaakko Keränen
`Root` encapsulates the root widget and the associated UI state.
2021-04-27Refactor: Moving RootData so it can become non-global stateJaakko Keränen
2021-04-27Refactor: Separating UI creation and root widget from WindowJaakko Keränen
Making the way for multiple roots/windows.
2021-04-22Widget: Clicking outside a popup menuJaakko Keränen
The click is eaten to avoid accidentally clicking anything outside the menu.
2021-04-21Mobile: Autoreload intervals are missingJaakko Keränen
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-10Allow using Tab key for bindingsJaakko Keränen
Tab was always consumed by focus cycling even though that should be at the lowest priority. IssueID #244
2021-04-10Mobile: Hide shortcut keysJaakko Keränen
On iPad, the platform convention is to show these in a popup anyway.
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-29Fixed: Keyboard shortcuts stop workingJaakko Keränen
Menus can't be disabled or otherwise their items can't be triggered any more. Hidden menus are still supposed to receive key events. IssueID #224
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-18Draw soft popup menu border shadowsJaakko Keränen
2021-03-18Widget: Fixed parent not arranging childrenJaakko Keränen
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-17Widget: Borders use the Separator colorJaakko Keränen
2021-03-16Mobile: Fixed context menu animationJaakko Keränen
Position jumps when dismissing a menu.
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-15Mobile: Find on page, various minor tweaksJaakko Keränen
On mobile, the search bar appears at the top of the page. Keep the haptic engine running so there is no delay before each effect. After a long-press, remove the "mouse" from the display area so there is no misleading hover. Widget border top/bottom use metrics.
2021-03-15Translation: Handling cancellation/errorsJaakko Keränen