Age | Commit message (Collapse) | Author |
|
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.
|
|
|
|
Position jumps when dismissing a menu.
|
|
Orientation and safe inset changes are now applied to phone dialogs.
There is still the occasional unscrollable dialog, but it seems random?
|
|
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.
|
|
|
|
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.
|
|
It was possible that the window was accessed from a background request
`postCommand` before the window was created. The CA file/path from
preferences must be set before TlsRequest is used.
|
|
Also various widget fixes/improvements.
|
|
The software keyboard obstructs part of the UI, so need to offset the view if the focused input widget would not be visible.
|
|
|
|
|
|
|
|
|
|
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.
|
|
Clear gestures related to a widget if the widget is destroyed.
|
|
|
|
In portrait mode, phones have no room for sidebars so need to use a different widget arrangement.
|
|
|
|
Phone mode uses a modified user interface. Work in progress...
|
|
|
|
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).
|
|
Added the build option ENABLE_CUSTOM_FRAME that causes the window
to be created as borderless. Lagrange's own UI widgets are used to
draw the title bar elements, including the window buttons.
There is plenty of sizing behavior still missing, for instance
snapping to fullscreen left/right side, double-clicking the frame
edges, and proper maximize mode that doesn't cover the entire screen.
The window system menu is also missing, but that can be shown
manually when appropriate.
A command-line option should also be provided to disable winbar
in case the default title bar is required.
|
|
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.
|
|
In CertImportWidget at regular-DPI 1.0 scaling, the frames of the certificate and private key labels were drawn incorrectly.
Now the non-button LabelWidget relies on Widget to draw the frames.
|
|
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.
|
|
A sidebar on the right is a better solution than a kludgy non-interactive special-purpose outline that appears when hoving the mouse on the document scrollbar.
|
|
Useful for menus and dialogs that wouldn't fit inside the window.
|
|
|
|
Widgets now have an optional virtual method that gets called when the size of the widget changes during arranging. Wrapped text in LabelWidget uses this to update its height.
|
|
The DocumentWidget was not actually deleted when a tab was closed, only hidden.
|
|
|