Commit graph

424 commits

Author SHA1 Message Date
Matthew Costa
7681ef25da Ladybird: Expanded toolbar with browser history and home button
This patch takes the browser history code from the Serenity browser and
wires it up to the QT interface. This is tied in with a few extra
toolbar buttons associated with each tab.
2022-12-25 07:58:58 -07:00
Matthew Costa
67ab6dd2e6 Ladybird: Allow browser tabs to be closed
This is a small patch which wires up the tab close button.
2022-12-25 07:58:58 -07:00
Matthew Costa
8af5b49cba Ladybird: Rudimentary tabbed browsing support
This patch removes the browser WebView from the window and places it
inside a Tab object, all wrapped up in a QT tab control. So far you can
create tabs, but can't close them.
2022-12-25 07:58:58 -07:00
Thitat Auareesuksakul
ec44691b56 Ladybird: Add basic cursor shape support in WebView 2022-12-25 07:58:58 -07:00
Andreas Kling
a7cb558783 Ladybird: Fix broken favicon conversion from Gfx::Bitmap to QPixmap 2022-12-25 07:58:58 -07:00
Alfonso Saavedra "Son Link
48de1fb1b1 Ladybird: Added Arch Linux/Manjaro required packages to build 2022-12-25 07:58:58 -07:00
Andreas Kling
f96b53f118 Ladybird: Stop using deprecated Qt API and re-enable deprecated warnings 2022-12-25 07:58:58 -07:00
Andreas Kling
419d3ec646 Ladybird: Use QtNetwork for HTTP and HTTPS requests
Until we can get our own RequestServer infrastructure up and running,
running the TLS and HTTP code in-process was causing lots of crashes
due to unexpected reentrancy via nested event loops.

This patch adds a simple backend for HTTP and HTTPS requests that simply
funnels them through QNetworkAccessManager.
2022-12-25 07:58:58 -07:00
Andreas Kling
69d264828f Ladybird: Add a "Reload" action to reload the current URL 2022-12-25 07:58:58 -07:00
Matthew Costa
7bf3010185 Ladybird: Trigger browser to quit when the main window is closed
This patch adds an event handler to the main window which allows it to
respond to a user closing the window. This event is then passed on to
the LibCore event loop, which allows the application quit itself.
Previously the application would hang, only running in the background,
until killed by an external force.
2022-12-25 07:58:58 -07:00
Keir Davis
95e3e06a1e Ladybird: Add Favicon to the window 2022-12-25 07:58:58 -07:00
Matthew Costa
47d7f1efec Ladybird: Apply inverse image scaling to ensure WebView renders at 1:1
On high-dpi systems QT will automatically scale up painting operations.
This results in an ugly blurry browser window surrounded by a nicely
scaled window frame. This patch applies an inverse scale to the WebView
widget, ensuring the painting and mouse events are lined up and draw
with a 1:1 pixel ratio with respect to the display's device pixels.
2022-12-25 07:58:58 -07:00
Timothy Flynn
9edd334beb Ladybird/Meta: Add libgl1-mesa-dev to build dependencies
Without this package, CMake fails with the error:

    Could NOT find OpenGL (missing: OPENGL_INCLUDE_DIR)

This package is listed in Qt's requirements here:
https://doc.qt.io/qt-6/linux.html#requirements-for-development-host
2022-12-25 07:58:58 -07:00
Andreas Kling
874e73e0c9 Ladybird/WebView: Apply viewport scroll offset to mouse event coordinate 2022-12-25 07:58:58 -07:00
Andreas Kling
96170a4f24 Ladybird/Meta: QT => Qt in the README :^) 2022-12-25 07:58:58 -07:00
Andrew Kaster
74fda4aff5 Ladybird/Meta: Convert to CMake build 2022-12-25 07:58:58 -07:00
Andreas Kling
da19b78dea Ladybird: Don't set a fixed height on the location edit 2022-12-25 07:58:58 -07:00
Andreas Kling
f5d033b8ba Ladybird: Show the web page title in the window titlebar :^) 2022-12-25 07:58:58 -07:00
Andreas Kling
8b7000e151 Ladybird: Add a location bar and allow navigating to new pages :^) 2022-12-25 07:58:58 -07:00
Andreas Kling
88d256c109 Ladybird: Show hovered link URLs in the status bar :^) 2022-12-25 07:58:58 -07:00
Andreas Kling
9b8fe16e3d Ladybird: Plumb Qt mouse events into LibWeb 2022-12-25 07:58:58 -07:00
Andreas Kling
f16ba7945a Ladybird: Make HTTPS loads default to port 443 instead of 80 :^) 2022-12-25 07:58:58 -07:00
Andreas Kling
80526625e8 Ladybird: Basic scrolling support 2022-12-25 07:58:58 -07:00
Andreas Kling
1eb653115b Ladybird: Initial import :^) 2022-12-25 07:58:58 -07:00