summaryrefslogtreecommitdiff
path: root/src/ui/documentwidget.c
AgeCommit message (Collapse)Author
2021-03-13Text: Separate glyph caching procedureJaakko Keränen
Previously glyph caching was done during text rendering, but that would mean lots of swapping between rendering stuff to the cache and then immediately afterward rendering to the display. There would be a swap per each new glyph. Now the entire document's glyphs are precached at once when a request is finished. Glyphs are also cached in larger batches when new text needs to be drawn.
2021-03-13Arrange URL child indicators; widget arrangementJaakko Keränen
The indicators in the URL input field are now arranged horizontally, so they don't overlap. Improved arrangement of (un)collapsed widgets.
2021-03-12DocumentWidget: Bookmarking a wrapped linkJaakko Keränen
Only the clicked part of the label text was used for the bookmark.
2021-03-12DocumentWidget: Don't handle clicks elsewhereJaakko Keränen
2021-03-12DocumentWidget: Slightly larger link click regionsJaakko Keränen
Now that links have margins between them, make them easier to hit.
2021-03-08Show error placeholder if image is missingJaakko Keränen
IssueID #167
2021-03-07Processing per-pixel scroll eventsJaakko Keränen
Do platform-specific processing of scroll events up front so widgets can support both types of scrolls everywhere. IssueID #166
2021-03-06Mobile: Widget interaction and appearanceJaakko Keränen
Overflow-scrollable allows momentum scrolls. Adjusting fonts in phone sheets.
2021-03-05Tuning iconsJaakko Keränen
2021-03-05Menu item iconsJaakko Keränen
2021-03-05Defined a set of UI icons; use in menusJaakko Keränen
2021-03-04Changing UI scaling at runtimeJaakko Keränen
UI scaling factor is applied when closing the Preferences dialog. IssueID #83
2021-03-03CapsLock as a modifier key; adding a modifier mapping tableJaakko Keränen
IssueID #87
2021-03-02Server certificates may also be verified by CAsJaakko Keränen
If the CA file/path are configured in preferences, trust CA verification over manual TOFU checks.
2021-02-26Auto-reload without a valid request timeJaakko Keränen
2021-02-26Don't apply MIME hooks on downloaded filesJaakko Keränen
2021-02-26DocumentWidget: Inline downloadsJaakko Keränen
2021-02-25Consolidating media handlingJaakko Keränen
2021-02-24GmDocument: Media type flexibilityJaakko Keränen
Allow defining new inline media types.
2021-02-24DocumentWidget: Expand/shrink page marginJaakko Keränen
Based on the width of the document, make the horizontal margins larger or smaller.
2021-02-24CleanupJaakko Keränen
2021-02-23Option to auto-reload a tab at a given intervalJaakko Keränen
IssueID #116
2021-02-23DocumentWidget: Middle-click behavior on linksJaakko Keränen
Mimic Firefox so that a normal middle-click opens a new tab in the background, and Shift-middle-click opens new tab in foreground. IssueID #152
2021-02-23"Go to Root" respects user names in URLJaakko Keränen
The behavior of navigating to root should match what is displayed in the top banner.
2021-02-23Editing bookmark iconsJaakko Keränen
IssueID #140
2021-02-22Dialog buttons on the rightJaakko Keränen
Follow typical GUI conventions by placing dialog buttons on the right edge. This leaves space for additional actions on the left.
2021-02-21Minor tweaksJaakko Keränen
2021-02-20iOS: Removed 2nd sidebar; background tweaksJaakko Keränen
2021-02-20iOS: Tweaks and changes for phone modeJaakko Keränen
Phone mode uses a modified user interface. Work in progress...
2021-02-19iOS: Adjusting the UI for a tablet screenJaakko Keränen
2021-02-19Touch: Scroll momentum tuning; edge swipesJaakko Keränen
2021-02-18iOS: Working on touch event handlingJaakko Keränen
Handle finger down, motion, and up events to implement basic taps, long presses, and inertia scrolling. Much finetuning still to be done, and certain widgets like input fields and scrollbars need a direct drag mode (they were working fine via the "mouse" events already).
2021-02-16DocumentWidget: Only center normal pagesJaakko Keränen
`about:` and error pages are centered as they are "internal" pages.
2021-02-15DocumentWidget: Scroll position while resizingJaakko Keränen
Keep the top of the view fixed during horizontal resizing.
2021-02-15Added user preference to disable vertical centering of pagesJaakko Keränen
The centering option affects all pages, including "about:" and error messages.
2021-02-14DocumentWidget: Alignment excludes bannerJaakko Keränen
Short pages are vertically centered, but the site banner should be excluded from this because it is not part of the actual page contents.
2021-02-11Windows: Experimenting with a custom window frame and title barJaakko Keränen
Added the build option ENABLE_CUSTOM_FRAME that causes the window to be created as borderless. Lagrange's own UI widgets are used to draw the title bar elements, including the window buttons. There is plenty of sizing behavior still missing, for instance snapping to fullscreen left/right side, double-clicking the frame edges, and proper maximize mode that doesn't cover the entire screen. The window system menu is also missing, but that can be shown manually when appropriate. A command-line option should also be provided to disable winbar in case the default title bar is required.
2021-02-10Window: Keep scroll position when resizing verticallyJaakko Keränen
Fixed broken logic. IssueID #138
2021-02-10Window: Keep scroll position when resizing verticallyJaakko Keränen
IssueID #138
2021-02-08DocumentWidget: Update hover link after context menu closesJaakko Keränen
IssueID #145
2021-02-07DocumentWidget: Wrong tab gets input query stringJaakko Keränen
Input submission events are now tied to a particular document and not implicitly to the current one. As a workaround, input queries will now force a tab to the foreground. IssueID #142
2021-02-05Experimenting with an iOS buildJaakko Keränen
iPlatformApple applies to both macOS and iOS. Added iPlatformAppleDesktop and iPlatformAppleMobile to make a distinction between the two. IssueID #96
2021-02-02Stripping the URL fragmentJaakko Keränen
Lagrange will retain URL fragments when parsing gemtext, but will strip them when making requests or when a DocumentWidget's URL is set. This allows opening URLs with fragments in an external browser. IssueID #128
2021-02-01DocumentWidget: Allow reloading the current URLJaakko Keränen
IssueID #129
2021-01-29Allow importing remote bookmarksJaakko Keränen
Importing bookmarks should be allowed to create local copies of remote bookmarks, so that one can add any locally missing bookmarks from a shared remote source.
2021-01-26Keybindings for new tab, close tab, add bookmarkJaakko Keränen
Added new keybindings for opening and closing a tab. Also added a keybinding for adding a bookmark so ⌘D can be made available. On macOS, there is a default Window > Close menu item, so treat that as a "tabs.close" command to make it bindable. IssueID #121
2021-01-24DocumentWidget: Fix/improve home row link navigationJaakko Keränen
Removed the second `U` from the set of home row keys for link navigation. Added a new command bound to `.` (period) for switching to the next set of links for home row navigation. This makes it possible to access all visible links via keyboard no matter how many there are. `.` can also be used to activate home row navigation if it isn't active. IssueID #111
2021-01-12Fixed: Percent-encode spaces when copyingJaakko Keränen
IssueID #112
2021-01-11Opening link in new tab via home row keysJaakko Keränen
Added a new keybinding for opening links via keyboard in new tab. The default binding is Shift+F. The H key is now used for setting the hover link.
2021-01-10Added a keybinding to hover on links via keyboardJaakko Keränen
Enables viewing full URLs when navigating via keyboard.