Age | Commit message (Collapse) | Author |
|
`Gempub` opens and parses a Gempub archive and provides access to the contents in a common way.
|
|
Added a menu for changing the split mode.
|
|
Restore previous root after processing events. Adjusted colors of the non-focused root.
|
|
Root focus switching and opening links in the other root.
|
|
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.
|
|
Most actions should occur in the context of the current UI root.
|
|
|
|
Making the way for multiple roots/windows.
|
|
It is conceivable that a newly created GmRequest gets the same memory location than the one just destroyed.
IssueID #148
|
|
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.
|
|
Contents of the Downloads folder can now be viewed as a directory index page.
|
|
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.
|
|
|
|
The `GmRequest` object is destroyed after handling a redirect, but afterwards a check was still made to cache the request contents.
IssueID #148
|
|
Confused the `-` prefix and `---` as separator.
|
|
|
|
|
|
|
|
Added a `SmoothScroll` utility to make the smooth scroll and bounce behavior applicable elsewhere as well.
|
|
|
|
When a widget runs out of scrollable area, stop any momentum scrolls.
|
|
|
|
|
|
|
|
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.
|
|
|
|
One of the four buffers will be always outside the viewport.
|
|
|
|
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.
|
|
|
|
The animation ticker callback was not removed.
|
|
|
|
DocumentWidget now supports a long-press drag selection mode. The context menu was moved to the URL bar, replacing the reload button.
|
|
Scrolling must prevent the hover state from being updated both in documents and lists.
|
|
Notify when hover state should be updated again after scrolling.
|
|
|
|
The snap didn't quite work. It would be easier to do with relative pinch motion events, but hardly essential.
|
|
Don't update hover while zooming.
|
|
|
|
Don't show hover on links and lists when no finger is actively touching.
|
|
|
|
|
|
"about:feeds", inline downloads, and media player UI didn't have translations.
|
|
A color escape may be longer than two characters.
`run_Font_()` was not parsing extended color escapes correctly.
|
|
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.
|
|
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.
|
|
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.
|
|
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...
|
|
Instead of 1.5x coverage, the buffer now has a full 2x.
|
|
IssueID #180
|