summaryrefslogtreecommitdiff
path: root/src/ui/window.h
AgeCommit message (Collapse)Author
2021-12-16DocumentWidget: Paste preceding lineJaakko Keränen
Added a special actions menu in the input prompt to allow the user to paste the line preceding the latest clicked link from the originating document. One use case for this is user-editable lines.
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-09-27Windows: Enable dark mode; use dark title bar for dark themesJaakko Keränen
This is quite a hack, but Win32 apps don't seem to have documented access to dark mode.
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-18Tracking hover widget; cleanupJaakko Keränen
The hover widget may get deleted during event processing, so Window keeps track of it for refreshing. TODO: Random crash when a destroyed menu is still in the onTop array (?).
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-08-15SDL 2.0.16 line drawing regression (OpenGL renderer)Jaakko Keränen
This is not specific to macOS, but seems to affect OpenGL rendering on all platforms.
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-05-02Window: Added split swapping; cleanupJaakko Keränen
2021-04-29Working on multiple UI rootsJaakko Keränen
Added a menu for changing the split mode.
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: Added a proper Root objectJaakko Keränen
`Root` encapsulates the root widget and the associated UI state.
2021-04-27Refactor: Separating UI creation and root widget from WindowJaakko Keränen
Making the way for multiple roots/windows.
2021-04-18Added build option to disable IPCJaakko Keränen
It may take a while to add D-Bus support, so adding a way to disable the incompatible IPC mechanism for Flatpak builds. IssueID #245
2021-04-07Window: Pixel ratio and display scalingJaakko Keränen
IssueID #239
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-21iOS: Save to Files; hide toolbar on scrollJaakko Keränen
There is no downloads directory on mobile. Instead, the downloaded file is temporarily cached and given to the iOS document picker to export. Added an option to hide the bottom toolbar while scrolling down.
2021-03-18Draw soft popup menu border shadowsJaakko Keränen
2021-03-17InputWidget: In a narrow window, omit the default URL schemeJaakko Keränen
The default URL scheme is "gemini". If missing, it will always be added back when making requests. This allows it to be omitted from the URL input field if space needs saving. Other schemes, like "gopher", won't be omitted.
2021-03-13Touch: Long-press context click on any widgetJaakko Keränen
2021-03-10Mobile: Working on the phone preferencesJaakko Keränen
2021-03-09Mobile: Revising phone-style dialogsJaakko Keränen
Sliding panels and left-edge swipes.
2021-03-08Scale images for displayJaakko Keränen
Resize images down to the maximum texture size or the screen size, whichever is smaller. IssueID #167
2021-03-06Mobile: Dealing with keyboard heightJaakko Keränen
The software keyboard obstructs part of the UI, so need to offset the view if the focused input widget would not be visible.
2021-02-13Windows: Custom frame app icon, finishing touchesJaakko Keränen
2021-02-13Windows: Further custom frame improvementsJaakko Keränen
Saving the window rectangle and snap mode. Frame title alignment.
2021-02-13Windows: Improved custom frame behaviorJaakko Keränen
Windows-key shortcuts and cursor edge snapping. Still missing: window shadow and saving the snap mode.
2021-02-12Windows: Custom frame behaviorJaakko Keränen
A borderless SDL window gets no standard window behavior, so this commit implements support for some of them. There is special handling for the window frame and various snapping modes. Not quite finished yet... It might make sense to research if a custom window class could work with this app (with SDL); could be less work.
2021-02-11Windows: Draw something immediately when the window is openedJaakko Keränen
Avoids having a flash of white or other system-provided default window contents when opening a window for the first time.
2021-02-10App: Events posted early may cause a crashJaakko Keränen
Attempting to ask SDL about a non-existent window's ID.
2021-02-10Window: Keep scroll position when resizing verticallyJaakko Keränen
IssueID #138
2021-02-03Window: Fullscreen mode shouldn't affect the retained window rectJaakko Keränen
IssueID #130
2020-12-15Window: Show a little animation during downloadsJaakko Keränen
The Stop/Reload button shows a little Unicode animation during downloads. IssueID #101
2020-11-28Workaround for SDL window resize issueJaakko Keränen
Rearrange and draw window contents with an event watcher during window resizing because SDL is blocking the main thread. Tested on macOS so far, may need a build option. In reference to SDL bug: https://bugzilla.libsdl.org/show_bug.cgi?id=2077
2020-10-25Window: Workaround for a key handling issueJaakko Keränen
Likely a rare situation, but this workaround should be relatively safe -- ignore keydown events if they occur less than 10 milliseconds after the window has received input focus. IssueID #10
2020-10-20Added quote indicator preferenceJaakko Keränen
Also, added a command that gets posted when the mouse exits or enters the window area. This lets the hover outline to be updated accordingly.
2020-09-21Restoring maximized windowsJaakko Keränen
Window position and size are stored when move/resize events are received, not only when the window is closed.
2020-09-18Added build options for X11Jaakko Keränen
Build option to use software rendering if running under X11, and another option to set the position of a window only after the window has been shown. The latter is a workaround for an SDL bug regarding window borders affecting the initial position.
2020-08-25Window: Avoid setting cursor multiple times per eventJaakko Keränen
2020-08-22Added BSD 2-clause license and copyright noticesJaakko Keränen
2020-08-19Manage mouse cursors at window levelJaakko Keränen
The modal sheets switch mouse cursor to the default arrow.
2020-08-16Added Pure Black and Pure White themesJaakko Keränen
Font changes cause window redrawing to pause so document layout doesn’t get an intermediate update with a different width. Sheets are mouse-modal.
2020-08-14Cleaner window initializationJaakko Keränen
Create the window using the correct size and position, and don’t show the window contents while app state is being restored.
2020-07-28Loading and rendering images in the documentJaakko Keränen
There can be multiple inline media requests on the page. Images are always associated with a link.
2020-07-23Entering URLs and updating the navbarJaakko Keränen
2020-07-21Initial commitJaakko Keränen
Borrowing the app skeleton from Bitwise Harmony.