summaryrefslogtreecommitdiff
path: root/src/ui/widget.c
AgeCommit message (Collapse)Author
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
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-13Widget: Arranging cleanup wrt. collapsingJaakko Keränen
2021-03-12Cut/copy/paste paste via menusJaakko Keränen
IssueID #175
2021-03-12CleanupJaakko Keränen
2021-03-12Window: Embed reload button; sidebar context menuJaakko Keränen
2021-03-10Mobile: Phone-styled input dialogJaakko Keränen
2021-03-10Edge-dragging preference panelsJaakko Keränen
2021-03-10Mobile: Working on the phone preferencesJaakko Keränen
2021-03-10Widget: Crash if moving widget is deletedJaakko Keränen
2021-03-09Mobile: Revising phone-style dialogsJaakko Keränen
Sliding panels and left-edge swipes.
2021-03-09Widget: Border shadow appearanceJaakko Keränen
2021-03-08Fine-tuning touch behaviorJaakko Keränen
Avoid mouse motion events to prevent spurious hover states in the UI.
2021-03-07Multithreading issuesJaakko Keränen
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.
2021-03-06Rasterize a few glyphs on every frameJaakko Keränen
Also various widget fixes/improvements.
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
2021-03-05UI color tuning; menu item backgroundsJaakko Keränen
2021-03-05Shadow edge for popupsJaakko Keränen
2021-03-05Widget: Debugging reference keepingJaakko Keränen
2021-03-04Changing UI scaling at runtimeJaakko Keränen
UI scaling factor is applied when closing the Preferences dialog. IssueID #83
2021-02-26Visual design improvementsJaakko Keränen
URL input field has a maximum width. Adjusted navbar appearance and margins. Tuned UI palette and added UI accent color preference.
2021-02-24Modal dialogs fade the backgroundJaakko Keränen
2021-02-23Widget: Inserting children at a specific indexJaakko Keränen
2021-02-22Dialog buttons on the rightJaakko Keränen
Follow typical GUI conventions by placing dialog buttons on the right edge. This leaves space for additional actions on the left.
2021-02-22Touch: Improved tap-and-holdJaakko Keränen
Clear gestures related to a widget if the widget is destroyed.
2021-02-21Animated widget offsets; phone sidebarsJaakko Keränen
2021-02-20Revising sidebar placement for phonesJaakko Keränen
In portrait mode, phones have no room for sidebars so need to use a different widget arrangement.
2021-02-20iOS: Removed 2nd sidebar; background tweaksJaakko Keränen
2021-02-20iOS: Tweaks and changes for phone modeJaakko Keränen
Phone mode uses a modified user interface. Work in progress...
2021-02-19iOS: Adjusting the UI for a tablet screenJaakko Keränen
2021-02-18iOS: Working on touch event handlingJaakko Keränen
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).
2021-02-11Windows: Experimenting with a custom window frame and title barJaakko Keränen
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.
2021-02-02Improved focus switching for dialogsJaakko Keränen
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.
2021-01-29Fixed drawing of widget framesJaakko Keränen
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.
2021-01-17Improved menu button behaviorJaakko Keränen
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.
2020-12-04Added a second sidebar; removed hover outlineJaakko Keränen
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.
2020-11-27Widget: Allow scrolling tall widgetsJaakko Keränen
Useful for menus and dialogs that wouldn't fit inside the window.