summaryrefslogtreecommitdiff
path: root/src/ui/util.h
AgeCommit message (Collapse)Author
2022-01-05Consistent dialog titlesJaakko Keränen
Added a utility for setting up dialog titles consistently. They are now in all-caps and aligned appropriately.
2022-01-05Merge branch 'work/v1.10' into devJaakko Keränen
# Conflicts: # CMakeLists.txt # Depends-Android.cmake # res/about/version.gmi # res/lang/cs.bin # res/lang/eo.bin # res/lang/es.bin # res/lang/fi.bin # res/lang/gl.bin # res/lang/ia.bin # res/lang/ie.bin # res/lang/ru.bin # res/lang/sr.bin # res/lang/tok.bin # res/lang/tr.bin # res/lang/uk.bin # res/lang/zh_Hant.bin # src/app.c # src/main.c # src/ui/documentwidget.c # src/ui/labelwidget.c # src/ui/sidebarwidget.c # src/ui/util.c
2021-12-24macOS: Fixed selecting scope for new identityJaakko Keränen
The selected item was not found from a native popup menu.
2021-12-17macOS: Trackpad swipe navigationJaakko Keränen
Work in progress. Something breaks down when swiping forward twice...
2021-12-08Mobile: SmoothScroll pull flags; menu and value input sizingJaakko Keränen
2021-12-05Mobile: Pull to refreshJaakko Keränen
2021-12-03Mobile: Manage Identities via SettingsJaakko Keränen
2021-11-23Select folder when adding/editing bookmarksJaakko Keränen
Most recently used folder is persistently stored in bookmarks.ini. IssueID #358
2021-11-21Site-specific Titan upload identityJaakko Keränen
The identity to be used for uploads is now in sitespec.ini, so it applies to an entire site root. This should match actual use cases better than having URL-specific identities. Also fixed an issue with native menus. Replacing the items with new ones was not implemented. IssueID #379
2021-10-22Working on tab close buttonsJaakko Keränen
An [x] button appears on tab buttons when hovering on them. Still needs a bit of layout tweaks and the first tab doesn't have a button yet.
2021-09-26Added a PerfTimer utilityJaakko Keränen
2021-09-26Fixed context menu centering with popup windowsJaakko Keränen
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.