Age | Commit message (Collapse) | Author |
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
Contents of the Preferences split panel view are created based on arrays of MenuItems. This removes the confusing indirection of trying to modify the desktop widget tree to fit mobile.
|
|
|
|
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 are working much better.
Todo:
- Pinch must always cancel/override edge swipes.
- Use the right palette for the "swipein" placeholder.
|
|
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 swiping now has its own set of commands that are posted, allowing widgets to respond more flexibly.
|
|
# Conflicts:
# src/gmdocument.c
# src/ui/documentwidget.c
# src/ui/inputwidget.h
|
|
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.
|
|
|
|
Use the animations introduced for mobile on desktop as well. Adding a
preference for this might be prudent.
|
|
|
|
|
|
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.
|
|
|
|
Edge swipe direction is determined in a more dynamic way.
|
|
The expand flag should be reset only in the context of the parent's arrangement/resize direction.
|
|
|
|
When starting a new arrangement, expanding widgets must be reset so they won't affect the outcome.
|
|
- 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
|
|
Several regressions occurred when the split view mode was implemented.
|
|
|
|
Reset sequential arrangements so the previous child bounds don't affect a newly calculated arrangement.
|
|
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.
|
|
The navbar layout cannot accommodate more than one line of text, but allow the editor to expand while writing text.
|
|
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.
|
|
Restore previous root after processing events. Adjusted colors of the non-focused root.
|
|
Root focus switching and opening links in the other root.
|
|
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.
|
|
|
|
`Root` encapsulates the root widget and the associated UI state.
|
|
|
|
Making the way for multiple roots/windows.
|
|
The click is eaten to avoid accidentally clicking anything outside the menu.
|
|
|