Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
|
|
The sidebars are not supposed to have borders or background fades.
|
|
Shuffled the widget flags a bit to make room for a new one.
|
|
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.
|
|
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.
|
|
|
|
|
|
Edge swipe direction is determined in a more dynamic way.
|
|
|
|
- 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
|
|
Up/down movement sometimes ended up in the wrong cursor position.
Now the nearest overflow-scrollable parent scrolls to keep the cursor visible.
|
|
A widget may copy its height from another widget.
|
|
Now every DocumentWidget is guaranteed a unique ID. The window title is updated when the keyroot chages.
|
|
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
|
|
Added a menu for changing the split mode.
|
|
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.
|
|
|
|
The Import Identity dialog is now styled for mobile, although could use a little more tuning.
|
|
DocumentWidget now supports a long-press drag selection mode. The context menu was moved to the URL bar, replacing the reload button.
|
|
|
|
Printing the list of parents.
|
|
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...
|
|
Two-column headings are supposed to span both columns.
|
|
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.
|
|
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.
|
|
Orientation and safe inset changes are now applied to phone dialogs.
There is still the occasional unscrollable dialog, but it seems random?
|
|
The indicators in the URL input field are now arranged horizontally, so they don't overlap.
Improved arrangement of (un)collapsed widgets.
|
|
IssueID #175
|
|
|
|
|
|
|
|
Sliding panels and left-edge swipes.
|
|
Avoid mouse motion events to prevent spurious hover states in the UI.
|
|
The software keyboard obstructs part of the UI, so need to offset the view if the focused input widget would not be visible.
|
|
|
|
|
|
Label icons are intended for context menus.
|
|
UI scaling factor is applied when closing the Preferences dialog.
IssueID #83
|
|
URL input field has a maximum width. Adjusted navbar appearance and margins.
Tuned UI palette and added UI accent color preference.
|
|
|
|
Follow typical GUI conventions by placing dialog buttons on the right edge. This leaves space for additional actions on the left.
|
|
|
|
|
|
Widgets can be flagged as being touch-draggable, which makes them receive finger down/motion/up events directly, and no momentum scrolling is applied.
|
|
Handle finger down, motion, and up events to implement basic taps, long presses, and inertia scrolling.
Much finetuning still to be done, and certain widgets like input fields and scrollbars need a direct drag mode (they were working fine via the "mouse" events already).
|
|
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.
|
|
Clicking a menu button while the menu is open should just close the menu.
Menus should not close if the mouse pointer leaves the window.
|