summaryrefslogtreecommitdiff
path: root/src/ui/documentwidget.c
AgeCommit message (Collapse)Author
2021-09-20Experimenting with independent popup windowsJaakko Keränen
Toe dipping into multiple window support by allowing popup menu widgets to be displayed in independent windows. This is not a 100% replacement for native menus, but it gets pretty close.
2021-09-19Refactoring Window to split off MainWindowJaakko Keränen
MainWindow represents (one of) the main windows of the app, while the basic Window will be a used for popups. Only MainWindow supports split view modes.
2021-09-13Mobile: New selection logic for InputWidgetJaakko Keränen
Touch-based interaction requires a different kind of selection and copy/paste behavior. This isn't done yet; especially multi-line text still needs work.
2021-09-11Mobile: Many UI improvements; Upload UIJaakko Keränen
2021-09-09Mobile: Working on dialogsJaakko Keränen
The new panels maker offers a declarative solution for creating consistent UIs.
2021-09-07Mobile: Redoing PreferencesJaakko Keränen
Contents of the Preferences split panel view are created based on arrays of MenuItems. This removes the confusing indirection of trying to modify the desktop widget tree to fit mobile.
2021-09-04iOS: Minor fixesJaakko Keränen
The SDL text input rectangle function applies some sort of offset that is inappropriate on iOS.
2021-08-29Merge branch 'dev' into work/v1.7Jaakko Keränen
2021-08-29DocumentWidget: Fixed minor text artifactsJaakko Keränen
Clearing the background of all runs is required because sometimes a run will overlap with another, or is drawn multiple times.
2021-08-20Added WebP decoding using libwebpJaakko Keränen
2021-08-20Merge branch 'dev' into work/v1.7Jaakko Keränen
# Conflicts: # CMakeLists.txt
2021-08-18DocumentWidget: Incorrect message in Page InfoJaakko Keränen
2021-08-15Merge branch 'dev' into work/v1.7Jaakko Keränen
2021-08-10DocumentWidget: Fixed drawing of empty documentJaakko Keränen
An empty document would could the widget to be drawn as a black non-themed rectangle, with a single-pixel horizontal line in the middle. This fixes that by just clearing the widget to the UI background color. The most notable situation where this occurred was immediately after activating split view mode.
2021-08-06Merge branch 'dev' into work/v1.7Jaakko Keränen
2021-08-06GmDocument: Full-width images in narrow layoutJaakko Keränen
2021-08-04DocumentWidget: Slightly wider minimum bordersJaakko Keränen
2021-08-02DocumentWidget: Redirecting between gemini/titan schemesJaakko Keränen
Automatic redirects between `gemini` and `titan` are allowed, because a reasonable response to a Titan request is a redirect to a Gemini URL. Gemini may likewise redirect to a Titan URL to initiate an upload.
2021-08-02DocumentWidget: Redirecting between gemini/titan schemesJaakko Keränen
Automatic redirects between `gemini` and `titan` are allowed, because a reasonable response to a Titan request is a redirect to a Gemini URL. Gemini may likewise redirect to a Titan URL to initiate an upload.
2021-08-01Translations for hardcoded English stringsJaakko Keränen
IssueID #276
2021-07-28Titan: Reloading should re-open the Upload UIJaakko Keränen
2021-07-25UploadWidget: Fixes and improvementsJaakko Keränen
Fixed update after undo. Line wrap long destination URLs. Don't open a new upload dialog if one is already open.
2021-07-23Window: Mouse wheel events vs. split modeJaakko Keränen
Only process mouse wheel events on the root over which the mouse is currently.
2021-07-23InputWidget: Buffer contents not activeJaakko Keränen
2021-07-22Added a setting for Return key behaviorJaakko Keränen
User preference for line break / accept behavior in input fields. Still needs to be added to the Preferences dialog.
2021-07-22DocumentWidget: No line breaks in sensitive input modeJaakko Keränen
2021-07-17Working on Titan uploadsJaakko Keränen
There may be a bug in `TlsRequest` when sending out large amounts of data.
2021-07-17GmDocument: Link scheme flagsJaakko Keränen
A better way to keep track of the scheme used in a link.
2021-07-16DocumentWidget: Shortcut for ignoring expirationJaakko Keränen
2021-07-16Allow override for certificate expiryJaakko Keränen
The user is able to ignore certificate expiry and continue loading the page regardless. This adds a one hour exception to the expiration date.
2021-07-16Improved TOFU implementationJaakko Keränen
If a server sends a different certificate (checked by matching public key fingerprints), abort the connection at the TLS handshake stage. A new error page is shown explaining the situation. A button is provided for conveniently opening Page Information, where trust can be updated. The file format of "visited.txt" was updated, so it is now called "visited.2.txt". The new format includes server port numbers, and the fingerprints are calculated based on public keys. IssueID #308 IssueID #309 IssueID #310
2021-07-15RTL line quote and link hover infoJaakko Keränen
2021-07-13Drawing document RTL text runsJaakko Keränen
The base text direction of each line of text is determined when the document is laid out. When drawing runs, use this predetermined base direction.
2021-07-13Text: Bidi text wrappingJaakko Keränen
There is still some weirdness with wraps that occur inside a bidi region. The problem is that text drawing is done later, in smaller segments, without knowledge of the paragraph base direction. The base direction should be saved into each GmRun as a flag.
2021-07-13GmCerts: Make the server port knownJaakko Keränen
2021-07-12Update link visited status when navigatingJaakko Keränen
When an URL is visited, ensure that links to that URL update their visual state.
2021-07-11Preferences: Settings for smooth scroll speedJaakko Keränen
IssueID #297
2021-07-11Preferences: Added setting for line spacingJaakko Keränen
IssueID #229
2021-07-06Text run measurement API change; bug fixesJaakko Keränen
The distinction between measure_Text and advance_Text was not very clear. Now there are only measure_Text functions that return both the bounds and the cursor position advancement, and the appropriate metrics are used by the caller.
2021-07-01Using Canonical URLsJaakko Keränen
2021-06-30Canonical URIsJaakko Keränen
Internally, all URIs should be converted to a canonical form so that they can be compared against each other. The canonical form is an IRI with spaces and reserved characters percent-encoded.
2021-06-25Merge branch 'dev' into work/v1.6Jaakko Keränen
# Conflicts: # CMakeLists.txt
2021-06-24DocumentWidget: Fixed link number alignmentJaakko Keränen
The link numbers were not aligned with all fonts.
2021-06-17DocumentWidget: Spaces in image URLJaakko Keränen
On a generated image page, the image link URL was not escaped so any spaces would cause it to be broken. These content links also should not use the background highlighting meant for links open in other tabs.
2021-06-16DocumentWidget: Spaces in image URLJaakko Keränen
On a generated image page, the image link URL was not escaped so any spaces would cause it to be broken. These content links also should not use the background highlighting meant for links open in other tabs.
2021-06-15DocumentWidget: Caching error page documentsJaakko Keränen
2021-06-15iOS: Gentle haptic tap for sidebar-back-swipeJaakko Keränen
2021-06-14Mobile: Toolbar color depends on sidebarJaakko Keränen
Toolbar should reflect the colors of the current view, whether it's a page or the sidebar.
2021-06-14Swiping and sidebar; various tweaksJaakko Keränen
When a page is opened from the sidebar, swiping back will now reopen the sidebar. Another swipe will dismiss the sidebar and navigate back as usual. Attempted to cache theme colors in GmDocument, but there were issues with theme changes.
2021-06-13Mobile: Swipe navigationJaakko Keränen
Swipes are working much better. Todo: - Pinch must always cancel/override edge swipes. - Use the right palette for the "swipein" placeholder.