summaryrefslogtreecommitdiff
path: root/src/ui/documentwidget.c
AgeCommit message (Collapse)Author
2021-05-04Split view pinning, "linksplit" special tagJaakko Keränen
A navigation aid: when in split mode, option to keep one of the tabs pinned to the current page so all links open to the side. Added "linksplit" bookmark tag to activate view splitting when opening a link on the page.
2021-05-04Highlight links opened in other tabsJaakko Keränen
The primary purpose is to aid navigation in split view, so one can see exactly which links have been opened.
2021-05-04DocumentWidget: Update the correct fetch progressJaakko Keränen
2021-05-03Lang: Added new and missing stringsJaakko Keränen
IssueID #192
2021-05-02DocumentWidget: Retain Gempub data; cleanupJaakko Keränen
Keep hold of the `Gempub` data while the page is open so it can be used for other purposes.
2021-05-02DocumentWidget: Update the right lock buttonJaakko Keränen
2021-05-02Added a Gempub helperJaakko Keränen
`Gempub` opens and parses a Gempub archive and provides access to the contents in a common way.
2021-04-29Working on multiple UI rootsJaakko Keränen
Added a menu for changing the split mode.
2021-04-29Working on multiple UI rootsJaakko Keränen
Restore previous root after processing events. Adjusted colors of the non-focused root.
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-27Refactor: Update event processing to not assume a single UI rootJaakko Keränen
Most actions should occur in the context of the current UI root.
2021-04-27UI root sizing is independent of window sizingJaakko Keränen
2021-04-27Refactor: Separating UI creation and root widget from WindowJaakko Keränen
Making the way for multiple roots/windows.
2021-04-25GmRequest: Use unique IDs to avoid confusionJaakko Keränen
It is conceivable that a newly created GmRequest gets the same memory location than the one just destroyed. IssueID #148
2021-04-24Gempub cover page; cleanupJaakko Keränen
Use MIME hooks to generate a Gempub cover page with a preloaded cover image. This required applying MIME filtering to "file://" requests as well. Todo: More cleanup, add a gempub.c.
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-23File URLs support directories and ZIP archivesJaakko Keränen
One is now able to view directory and ZIP archive contents using file URLs. Directory contents are shown as a list of links, enabling previewing supported formats. A link to the parent directory is included at the top of the page. ZIP archives behave like directories, except they also recognize "index.gmi" and "index.gemini" files and display them instead of the regular directory index (when viewing a directory inside a ZIP archive). This enables archiving a Gemini capsule and browsing it as a ZIP archive. Added a preference to disable loading of index pages.
2021-04-23CleanupJaakko Keränen
2021-04-23DocumentWidget: Crash after receiving a redirectJaakko Keränen
The `GmRequest` object is destroyed after handling a redirect, but afterwards a check was still made to cache the request contents. IssueID #148
2021-04-22Fixed dialog item formattingJaakko Keränen
Confused the `-` prefix and `---` as separator.
2021-04-22ListWidget: Use SmoothScrollJaakko Keränen
2021-04-22SmoothScroll is a UI utility; moved itJaakko Keränen
2021-04-22CleanupJaakko Keränen
2021-04-22DocumentWidget: SmoothScroll utilityJaakko Keränen
Added a `SmoothScroll` utility to make the smooth scroll and bounce behavior applicable elsewhere as well.
2021-04-21Mobile: Working on scroll bounce behaviorJaakko Keränen
2021-04-21Touch: Stopping momentum scrollJaakko Keränen
When a widget runs out of scrollable area, stop any momentum scrolls.
2021-04-21Mobile: Autoreload intervals are missingJaakko Keränen
2021-04-21iOS: Background audio; MP3/AAC playbackJaakko Keränen
2021-04-20iOS: Haptic tap at 100% pinch zoomJaakko Keränen
2021-04-20DocumentWidget: Pre-rendering finetuningJaakko Keränen
Ensure there is more buffered content available in the current scrolling direction, and also make sure that all buffers get pre-rendered after a short delay with the view being stationary.
2021-04-17DocumentWidget: Undefined behaviorJaakko Keränen
2021-04-16VisBuf: Only draw buffers that are within boundsJaakko Keränen
One of the four buffers will be always outside the viewport.
2021-04-15DocumentWidget: Don't render background tabsJaakko Keränen
2021-04-15Progressive document renderingJaakko Keränen
VisBuf now guarantees that all the buffers are sequentially ordered. This ensure complete utilization of all the buffers. Previously some buffers were not used at all, or allocated to the same origin as another one (!). DocumentWidget is able to progressively fill up a buffer while scrolling. After any change to the visible region has been detected (and there are no ongoing changes), prerender the remaining runs one at a time. This solves the issue where one text run would be always unnecessarily rendered while scrolling, even if the scroll distance was just one pixel.
2021-04-12DocumentWidget: Touch selection pins; hover cleanupJaakko Keränen
2021-04-12DocumentWidget: Possible crash when closing a tabJaakko Keränen
The animation ticker callback was not removed.
2021-04-11Added a "Clear Selection" stringJaakko 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-10Touch: Improved hover behaviorJaakko Keränen
Scrolling must prevent the hover state from being updated both in documents and lists.
2021-04-10Touch: Notify widget when tap is about to beginJaakko Keränen
Notify when hover state should be updated again after scrolling.
2021-04-10DocumentWidget: No hover while scrolling on mobileJaakko Keränen
2021-04-10DocumentWidget: Pinch zoom tuningJaakko Keränen
The snap didn't quite work. It would be easier to do with relative pinch motion events, but hardly essential.
2021-04-10DocumentWidget: Pinch zoom vs. hoverJaakko Keränen
Don't update hover while zooming.
2021-04-10Mobile: Zooming using pinch gesturesJaakko Keränen
2021-04-10Touch: Hover behavior improvementsJaakko Keränen
Don't show hover on links and lists when no finger is actively touching.
2021-04-09DocumentWidget: Slightly longer alt text hover delayJaakko Keränen
2021-04-08Mobile: Adjusted toolbar show/hide behaviorJaakko Keränen
2021-04-05Added new language strings for media, feeds listJaakko Keränen
"about:feeds", inline downloads, and media player UI didn't have translations.
2021-04-05Fixed color escapes in link visit dateJaakko Keränen
A color escape may be longer than two characters. `run_Font_()` was not parsing extended color escapes correctly.