summaryrefslogtreecommitdiff
path: root/src/ui/widget.c
AgeCommit message (Collapse)Author
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.
2020-10-31Preferences: Changed apperance of tabsJaakko Keränen
2020-10-29LabelWidget: Flag for wrapping textJaakko Keränen
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.
2020-10-09Fixed memory leak on tab closeJaakko Keränen
The DocumentWidget was not actually deleted when a tab was closed, only hidden.
2020-09-21Radio button widget flagJaakko Keränen
2020-09-20Widget: Expanded flags to 64 bitsJaakko Keränen
Ran out of room in 32 bits, more flags needed for arranging.
2020-09-20Centering widgets and sheet contentsJaakko Keränen
Added a new arrange flag for centering a child horizontally. The two-column layout in Preferences has expanding vertical paddings so the page contents are vertically centered.
2020-09-16Dismiss menus when clicking outside themJaakko Keränen
Added a new widget flag for notifying about missed mouse clicks. Only used in popup menus at the moment. IssueID #2
2020-09-10Fixed switching focus with Tab keyJaakko Keränen
Focus should go from URL bar to lookup results, and only then to the find bar.
2020-09-10CleanupJaakko Keränen
2020-09-07Widget: Fixed arranging where widgets uncollapseJaakko Keränen
2020-09-07Updating URL after selecting lookup itemJaakko Keränen
2020-09-06Widget: API convenience; fixed position flagJaakko Keränen
2020-09-05Widget: More granularity for drawing widgetsJaakko Keränen
Allow draw background and children separately.
2020-09-05Refactor: ListWidget for a general purpose listJaakko Keränen
The sidebar uses a ListWidget now, but the layout needs fixing.
2020-08-24SidebarWidget: List identities as sidebar itemsJaakko Keränen
2020-08-23Widget: Keep-on-top widgets have an orderJaakko Keränen
2020-08-23Widget: Optional padding for child arrangementJaakko Keränen
2020-08-22Added BSD 2-clause license and copyright noticesJaakko Keränen
2020-08-19Manage mouse cursors at window levelJaakko Keränen
The modal sheets switch mouse cursor to the default arrow.
2020-08-16Added Pure Black and Pure White themesJaakko Keränen
Font changes cause window redrawing to pause so document layout doesn’t get an intermediate update with a different width. Sheets are mouse-modal.
2020-08-14Deleting bookmarksJaakko Keränen
2020-08-14Bookmarks: Store in a hash with unique IDsJaakko Keränen
2020-08-13Toggle sidebar visibility; save width and modeJaakko Keränen
2020-08-12Working on sidebar resizingJaakko Keränen
2020-08-11Fixed widget arrangement issueJaakko Keränen