summaryrefslogtreecommitdiff
path: root/src/ui/root.c
AgeCommit message (Collapse)Author
2021-11-22Input queries vs. navigation historyJaakko Keränen
Input query responses (status 1x) are not preserved in History so that when navigating back, they are skipped. The corresponding URLs are flagged as Transient so they are not shown in the History sidebar. The History sidebar shows the query string in URLs. IssueID #382
2021-11-14Merge branch 'dev' into work/v1.9Jaakko Keränen
# Conflicts: # CMakeLists.txt # Depends.cmake # src/lang.c
2021-11-07Windows: Call the updater; added a missing resourcesJaakko Keränen
2021-11-06Fixed issues with tall popup menusJaakko Keränen
A tall popup menu needs to use overflow scrolling, but the size of the display wasn't considered. Now a popup window is fit to the usable bounds of the display.
2021-10-31Changed format of resources.lgrJaakko Keränen
Resources are now stored in a ZIP archive, and it comes with an explicit version number. All the old embed/bincat stuff was removed as unnecessary. resources.lgr is also a valid fontpack, for loading the built-in fonts. IssueID #363
2021-10-23CleanupJaakko Keränen
2021-10-22Tab close buttons, shown on hoverJaakko Keränen
IssueID #354
2021-10-08Font configuration; Prefs has a string value arrayJaakko Keränen
Added a second version of Iosevka with more line spacing, to be used as the default monospace document font.
2021-10-06Revised runtime font managementJaakko Keränen
The built-in fonts are loaded via FontPack, and the font table is now constructed dynamically based on available fonts. A full set of variants (style, size) are prepared for each font, but some of the data gets allocated lazily when needed. GmRun needed a larger allocation for fonts, so now all the fields are combined into a single bit field. TODO: Glyph scaling, vertical offsets, and symbol lookup are still not fully working.
2021-10-01Added a 90% sized UI font for URL bar indicatorsJaakko Keränen
The 80% size is used in the toolbar.
2021-10-01Added feeds update progress indicatorJaakko Keränen
Show some status info about the progress of feed refresh. The search query and feeds indicators now use the small UI font size.
2021-10-01CleanupJaakko Keränen
2021-09-27Minor UI tweaksJaakko Keränen
2021-09-27Window: Fixed regressions in retaining window placementJaakko Keränen
Window placement was not restored correctly when the window was maximized. Maximizing a window (on Windows) causes a spurious move event to be received from SDL, and that would mess up the remembered position. Now window placemenet is saved after a run through the event loop, so the rest of the window messages have been handled.
2021-09-27Windows: Enable dark mode; use dark title bar for dark themesJaakko Keränen
This is quite a hack, but Win32 apps don't seem to have documented access to dark mode.
2021-09-26Fixed context menu centering with popup windowsJaakko Keränen
2021-09-26Root: Crash when closing split viewJaakko Keränen
Some deleted widgets were kept around in the root's onTop list.
2021-09-21Fixed issues with popup windowsJaakko Keränen
2021-09-21Dropdown menus placed over the buttonJaakko Keränen
Avoid visibly duplicating the currently selected item, as it can be seen in the dropdown button and the menu.
2021-09-21Disabling items in native menusJaakko Keränen
Added the special prefix `///` to mark items disabled.
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-20Experimenting with independent popup windowsJaakko Keränen
Toe dipping into multiple window support by allowing popup menu widgets to be displayed in independent windows. This is not a 100% replacement for native menus, but it gets pretty close.
2021-09-19Refactoring Window to split off MainWindowJaakko Keränen
MainWindow represents (one of) the main windows of the app, while the basic Window will be a used for popups. Only MainWindow supports split view modes.
2021-09-19Widget: Scrolling tall widgets in vertical splitJaakko Keränen
Root's safe rect was not using the right origin coordinates. IssueID #337
2021-09-18Fixed crash when hovered widget is destroyedJaakko Keränen
2021-09-18Tracking hover widget; cleanupJaakko Keränen
The hover widget may get deleted during event processing, so Window keeps track of it for refreshing. TODO: Random crash when a destroyed menu is still in the onTop array (?).
2021-09-17SidebarWidget: Button font glitchesJaakko Keränen
2021-09-14Mobile: Styling of Delete/Clear navbar buttonsJaakko Keränen
2021-09-13Mobile: New selection logic for InputWidgetJaakko Keränen
Touch-based interaction requires a different kind of selection and copy/paste behavior. This isn't done yet; especially multi-line text still needs work.
2021-09-12Mobile: Better Settings tap targets; fixed safe area drawingJaakko Keränen
2021-09-12Mobile: Draw optimizations; focus handlingJaakko Keränen
Widgets can now be marked for buffering their contents, which is useful if their contents change seldom but they are drawn often. For example, the navbar is always visible but doesn't change very often, and during animations menu contents are static but there is a moving animation so everything gets drawn 60 FPS. Focus handling was also improved so the lookup results can be scrolled while entering text, and one can tap outside an input field to unfocus it.
2021-09-11Mobile: Many UI improvements; Upload UIJaakko Keränen
2021-09-09Mobile: Working on dialogsJaakko Keränen
The new panels maker offers a declarative solution for creating consistent UIs.
2021-09-04iOS: Minor fixesJaakko Keränen
The SDL text input rectangle function applies some sort of offset that is inappropriate on iOS.
2021-08-20Added build options to force phone/tablet mobile UIJaakko Keränen
These options are mostly useful on mobile platforms that are not iOS or Android, and for testing purposes.
2021-08-06InputWidget: Return key, input focus behaviorJaakko Keränen
In the long-form text entry mode, don't use the user's configured Return key behavior, since that's meant for shorter input fields. Input fields no longer lose focus when the window loses input focus, but the cursor will stop blinking. This makes it easier to resume typing after switching window focus, and also on macOS the symbol picker is easier to use.
2021-08-04InputWidget: Line breaks only make sense in some fieldsJaakko Keränen
For example, any URL field should disallow line breaks. The line break modifier preference should be disregarded in an input field where there are no line breaks.
2021-07-20Revising InputWidgetJaakko Keränen
`InputWidget` needs to be better at handling multiple lines. The previous implementation assumed that the content was short enough to be fully redrawn each frame, which is not a great idea when you have thousands of lines.
2021-07-17Working on Titan uploadsJaakko Keränen
There may be a bug in `TlsRequest` when sending out large amounts of data.
2021-06-30Canonical URIsJaakko Keränen
Internally, all URIs should be converted to a canonical form so that they can be compared against each other. The canonical form is an IRI with spaces and reserved characters percent-encoded.
2021-06-15Mobile: Showing identity name in toolbarJaakko Keränen
Tweaked the position to work without safe area insets as well. It would make things easier to have the name as a child of the Identity button and keep the size of the button fixed.
2021-06-15Mobile: Show identity name in toolbarJaakko Keränen
Shuffled the widget flags a bit to make room for a new one.
2021-06-15Mobile: Draw Identity button as outlineJaakko Keränen
2021-06-15Mobile: Minor tweaksJaakko Keränen
Slightly thicker fetch progress indicator, smaller search query indicator on the phone.
2021-06-14Mobile: Toolbar color depends on sidebarJaakko Keränen
Toolbar should reflect the colors of the current view, whether it's a page or the sidebar.
2021-06-13Mobile: Swipe navigationJaakko Keränen
Swipes are working much better. Todo: - Pinch must always cancel/override edge swipes. - Use the right palette for the "swipein" placeholder.
2021-06-13Mobile: Working on swipe navigationJaakko Keränen
Swipes back and forward are now working, although there are some glitches remaining. Most notably, when swiping back the previous document does not appear until the finger is released.
2021-06-13Touch: Swiping away the sidebarJaakko Keränen
2021-06-12CleanupJaakko Keränen
2021-06-11iOS: Opening a file via document pickerJaakko Keränen
Use a native file picker to open files. Declare support for .gmi/.gemini files so they can be opened via Files and share sheets.