summaryrefslogtreecommitdiff
path: root/src/ui/documentwidget.c
AgeCommit message (Collapse)Author
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.
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-04-04Text: Kerning was brokenJaakko Keränen
Kerning has been broken by the changes for adaptive Emoji spacing inside monospace text. Now the current X position is updated correctly also for kerning.
2021-04-03Drawing only during window updateJaakko Keränen
Glyphs were inadvertently being cached already during measuring for layout. DocumentWidget was buffering graphics too early. Now buffered draws are prepared during normal drawing, when needed.
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-29VisBuf: Increase buffer size for scrolling; fixed glitchesJaakko Keränen
Instead of 1.5x coverage, the buffer now has a full 2x.
2021-03-29Preferences: Collapse preformatted blocks on page loadJaakko Keränen
IssueID #180