summaryrefslogtreecommitdiff
path: root/src/ui/documentwidget.c
AgeCommit message (Collapse)Author
2021-11-30Merge branch 'dev' into work/v1.10Jaakko Keränen
2021-11-29Fixed issues with tab button labelsJaakko Keränen
Fixed issue with very short text not being truncated at all. A short truncated label will now just show the icon, if one is set. The tab close buttons don't appear if the buttons are too small.
2021-11-28Bookmarks: Internal tags have a dot prefixJaakko Keränen
Internal behavior tags are now written in bookmarks.ini with a dot prefix (like hidden files on Unix), and at runtime they are removed from the tags string. This makes things more efficient as it isn't necessary to compile regular expressions all the time. TODO: Add "Edit Feed..." into the Bookmarks context menu, and a new menu item for listing all subscriptions. IssueID #331
2021-11-28Fixed page timestamp; 24-hour time preferenceJaakko Keränen
IssueID #349
2021-11-25GmDocument: Heading font stylesJaakko Keränen
Swapped bold styling of heading levels 2 and 3 for better visual distinction of the hierarchy.
2021-11-24DocumentWidget: Improved footer buttons positioningJaakko Keränen
No more animation offset hacks: just reposition the buttons whenever the view is scrolling. Fixed glitches with document centering. The page margins are a bit complicated as they change depending on whether the banner is visible.
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-13DocumentWidget: Trust button shown only when untrustedJaakko Keränen
2021-11-13DocumentWidget: Fixed appearance of Trust buttonJaakko Keränen
2021-11-09DocumentWidget: Error message cleanupJaakko Keränen
Some error pages would show response meta string instead of the actual error title. Don't show the internal error numbes in Page Information.
2021-11-09GmCerts: Allow trusting certificate regardless of domain nameJaakko Keränen
2021-11-06DocumentWidget: Fixed incorrect document widthJaakko Keränen
2021-11-03Redo cached document layout if neededJaakko Keränen
Changing the fonts, zoom level, or window width will cause cached documents to be laid out again if they are restored from memory.
2021-10-27DocumentWidget: Security warningsJaakko Keränen
2021-10-26Cleanup; minor tweaksJaakko Keränen
2021-10-26FontPack: Visual tweaks on the content pageJaakko Keränen
2021-10-26Preferences: Warn about missing glyphsJaakko Keränen
2021-10-26DocumentWidget: Don't update theme/banner on input promptsJaakko Keränen
2021-10-26DocumentWidget: Update theme/banner on responseJaakko Keränen
As soon as the first part of a response is available, update the page theme and banner.
2021-10-26Dismissing document warnings; Banner hoverJaakko Keränen
The warning about terminal emulation can be dismissed on site-specific basis. Banner items show a hover frame (like buttons) to indicate they can be clicked.
2021-10-25Document presentation warningsJaakko Keränen
Warn the user about missing glyphs and potentially unsupported ANSI escapes. TODO: Site-specific setting for dismissed warning; fonts preference about missing glyph warnings.
2021-10-25Banner: Error items; improved appearanceJaakko Keränen
2021-10-24Banner: Clicking on the site nameJaakko Keränen
2021-10-24Added BannerJaakko Keränen
Banner will take over everything related to the page top banner. DocumentWidget's content positioning is a bit messy, and now that the banner is no longer part of the GmDocument, it needed a bit of revising. It would still benefit from proper functions for mapping coordinates to/from the GmDocument coordinate space.
2021-10-24CleanupJaakko Keränen
2021-10-23Mobile: Footer button fixes; missing stringsJaakko Keränen
2021-10-23DocumentWidget: Footer buttons in phone layoutJaakko Keränen
Include a padding under the buttons to account for the toolbar.
2021-10-22Cleanup: Tidying up per-frame memory allocsJaakko Keränen
No need to use Garbage here to collect per-frame strings and arrays.
2021-10-22DocumentWidget: Not scrollable until mouse movedJaakko Keränen
The hover widget needs updating if the currently visible tab changes. Normally the hover widget is only updated when the mouse has moved.
2021-10-22Tab close buttons, shown on hoverJaakko Keränen
IssueID #354
2021-10-20GmDocument: "file://" is unthemedJaakko Keränen
2021-10-20DocumentWidget: Glitches with link hoverJaakko Keränen
The invalid runs were sometimes discarded before they had a chance to be drawn.
2021-10-20Installing individual TTF files; generate fontpack.iniJaakko Keränen
2021-10-18Preferences: ANSI escape flagsJaakko Keränen
FG color and font style escapes can be enabled separately. FG color remains enabled by default like before.
2021-10-18DocumentWidget: Unsupported content downloadsJaakko Keränen
Don't try to show a document while a long download is progressing, especially if we don't have any way to present the document format.
2021-10-17FontPack management via "about:fonts"Jaakko Keränen
2021-10-17Media and FontPacks (work in progress)Jaakko Keränen
Saving this as the last point of progress. This direction is too complicated: Media needs to be a lot more sophisticated to allow dynamic and interactive media at the level of FontPacks. (A bit like Player handles audio playback.) This will be reverted. FontPack management will happen using an another method.
2021-10-15Text: Fixed a line wrapping issueJaakko Keränen
When the last safe break position was not in the current attributed run, the calculated wrap advance came out incorrect. This was possible when the first glyph in an attributed run didn't fit.
2021-10-15Preferences: Option to bold visited links, tooJaakko Keränen
Cleaned up serialization of the bool preferences a little.
2021-10-14Preferences: ANSI escape sequences in GemtextJaakko Keränen
It can be argued that using ANSI escapes to style text goes against the intended use of Gemtext. Therefore, all ANSI escapes are now disabled by default in Gemtext.
2021-10-14DocumentWidget: Fixed media type checkingJaakko Keränen
2021-10-13Text attributes that change inside a runJaakko Keränen
These changes concern the situation when the attributes of text (i.e., font, color) are changed via escape sequences. The concept of "base attributes" was added so that the low-level text renderer knows which font/color to set when a "reset" escape sequence is encountered. This depends on what kind of text is being renderer, e.g., preformatted or regular paragraphs. The base attributes were added as variables in Text because it was getting unwieldy to pass all the information via the draw/measure/WrapText functions. GmDocument now has a GmTheme struct that collects the font and color information into a single place.
2021-10-12Experimental Markdown renderingJaakko Keränen
Convert Markdown to Gemtext and use ANSI escape sequences to switch fonts (bold, italic, monospace). The conversion is still a bit buggy...
2021-10-11Merge branch 'dev' into work/v1.8Jaakko Keränen
# Conflicts: # CMakeLists.txt # res/lang/es.bin # res/lang/fr.bin # res/lang/gl.bin # res/lang/ie.bin # res/lang/ru.bin # res/lang/sk.bin # res/lang/sr.bin # res/lang/tok.bin # src/ui/documentwidget.c
2021-10-11DocumentWidget: Fixed text selection regressionsJaakko Keränen
The HarfBuzz and wrapped text changes introduced subtle differences in how text selection works. Fixed a bunch of issues regarding how the individual character selection mode works in edge cases. IssueID #357
2021-10-11Media refactoring; working on FontPack managementJaakko Keränen
Media still needs more work to get rid of redundancies and make lookups faster. FontPacks are manipulated as Media items (not unlike images) so they can be previewed on page, and installed via a click. FontPack management is not trivial as it includes such details as versioning and whether individual packs are enabled or disabled.
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-07DocumentWidget: Line width based on font glyph widthJaakko Keränen
The idea is that the amount of content should be the same per line regardless of the 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-09-28DocumentWidget: Showing error page on untrusted certsJaakko Keränen