summaryrefslogtreecommitdiff
path: root/src/ui/util.h
AgeCommit message (Collapse)Author
2021-09-21Fixed issues with popup windowsJaakko Keränen
2021-09-21Disabling items in native menusJaakko Keränen
Added the special prefix `///` to mark items disabled.
2021-09-21macOS: Improving native menu behaviorJaakko Keränen
Selected items and dynamic label updates.
2021-09-21macOS: Native context menusJaakko Keränen
Popup context menus now use NSMenu. There are still has a few glitches with the navbar identity button, but most menus are working. SDL required another little tweak to force it to update mouse button state after the synchronously handled context menu goes away. Otherwise SDL's internal mouse button state shows that the right mouse button is held down.
2021-09-18UploadWidget: Identity selectionJaakko Keränen
2021-09-17UploadWidget: Updating the identities dropdownJaakko Keränen
2021-09-10Mobile: Revised more dialogsJaakko Keränen
2021-09-09Mobile: Working on dialogsJaakko Keränen
The new panels maker offers a declarative solution for creating consistent UIs.
2021-09-07Mobile: Redoing PreferencesJaakko Keränen
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.
2021-07-23Window: Mouse wheel events vs. split modeJaakko Keränen
Only process mouse wheel events on the root over which the mouse is currently.
2021-07-17Working on Titan uploadsJaakko Keränen
There may be a bug in `TlsRequest` when sending out large amounts of data.
2021-07-17Working on a UI for uploading text/dataJaakko Keränen
`UploadWidget` allows entering long-form text or dropping a file for uploading. InputWidget isn't yet well suited for really long documents... Some optimizations will be needed.
2021-05-16Cleanup: Moved mobile UI code to its own fileJaakko Keränen
The mobile UI related code has grown large enough to warrant a separate file. Also, work-in-progress redo of the Preferences layout so it can be used with landscape as well.
2021-05-15Mobile: Various improvements and fixesJaakko Keränen
- 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
2021-05-12InputWidget: Expanding while editingJaakko Keränen
The navbar layout cannot accommodate more than one line of text, but allow the editor to expand while writing text.
2021-04-29Working on multiple UI rootsJaakko Keränen
Added a menu for changing the split mode.
2021-04-28Working on multiple UI rootsJaakko Keränen
Root focus switching and opening links in the other root.
2021-04-28Working on multiple UI rootsJaakko Keränen
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.
2021-04-24Added "Show Downloads" and "Open Downloaded File"Jaakko Keränen
Contents of the Downloads folder can now be viewed as a directory index page.
2021-04-22SmoothScroll is a UI utility; moved itJaakko Keränen
2021-04-21Mobile: Working on scroll bounce behaviorJaakko Keränen
2021-04-11Mobile: Long press to select; navbar page menuJaakko Keränen
DocumentWidget now supports a long-press drag selection mode. The context menu was moved to the URL bar, replacing the reload button.
2021-04-09Mobile: Fixed dialog field misalignmentsJaakko Keränen
2021-04-04DocumentWidget: Key navigation mode vs. bound actionsJaakko Keränen
Events are dispatched first to child widgets, so the menus and actions of DocumentWidget were still handling key navigation events even though they shouldn't.
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-29Improving alt text animation; cleaned up key shortcut labelsJaakko Keränen
Remove extra Plus signs from key shortcuts.
2021-03-27InputWidget: Select by wordJaakko Keränen
IssueID #134
2021-03-27DocumentWidget: Advanced text selectionJaakko Keränen
Double click to select by word, triple click by paragraph. IssueID #134
2021-03-27Processing of double clicksJaakko Keränen
The click handling utility no longer treats double clicks as a special case. An arbitrary number of clicks is kept in a separate counter.
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-16Translation: Remember last used languagesJaakko Keränen
2021-03-15Added a page translation serviceJaakko Keränen
This is quite experimental. The page contents are sent to an instance of LibreTranslate (powered by Argos Translate), which may or may not successfully translate the contents without mangling the gemtext markup.
2021-03-12Cut/copy/paste paste via menusJaakko Keränen
IssueID #175
2021-03-07Processing per-pixel scroll eventsJaakko Keränen
Do platform-specific processing of scroll events up front so widgets can support both types of scrolls everywhere. IssueID #166
2021-03-05Restructuring dialogs for mobileJaakko Keränen
On a phone, dialogs are restructured to be more vertical and full-width.
2021-03-04Fixed buttons in Import Identity dialogJaakko 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-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-21Animated widget offsets; phone sidebarsJaakko Keränen
2021-01-04Added a client certificate import dialogJaakko Keränen
Todo: Drag-and-drop; the actual identity creation step.
2021-01-03Creating a certificate import dialogJaakko Keränen
Just the widgets thus far.
2020-12-19Opening unrecognized schemes in default browserJaakko Keränen
This works if the OS supports the scheme as built-in or via some handler application. IssueID #103 IssueID #84
2020-12-01Added dialog for changing feed typeJaakko Keränen
This also gives feedback about a newly added subscription.
2020-11-26SidebarWidget: Update bookmark tag menu itemsJaakko Keränen
2020-11-21Keyboard navigation mode for home row keysJaakko Keränen
Now there are keybindings for activating the keyboard navigation modes. The modifier-based mode remains as it was before, focusing on numbers, while the home row mode uses a separate activation key. One can erase the bindings to disable the corresponding modes. IssueID #34
2020-10-31Preferences: Basic key bindings UIJaakko Keränen
One can now bind keys in Preferences. The configured keys aren't yet saved, though.
2020-10-24Adjusted smooth scroll speed when using mouse wheelJaakko Keränen
2020-10-23Improved smooth scrollingJaakko Keränen
Use proper easing curves for a smoother animation. Ensure that mouse hover on links is disabled when scrolling.
2020-09-22Added an animation utilityJaakko Keränen
2020-09-20Added tabs to make room for more preferencesJaakko Keränen
The Preferences sheet now has tabs (General, Proxies) so that more options can fit there in the future.