Ladybird: Make Tab.cpp directly take a BrowserWindows as m_window

This commit is contained in:
Aaron Dewes 2022-09-21 21:17:13 +02:00 committed by Andrew Kaster
parent 445cc7c97d
commit bdce860ac5
Notes: sideshowbarker 2024-07-17 20:19:08 +09:00
2 changed files with 6 additions and 7 deletions

View file

@ -18,7 +18,7 @@
extern String s_serenity_resource_root; extern String s_serenity_resource_root;
extern Browser::Settings* s_settings; extern Browser::Settings* s_settings;
Tab::Tab(QMainWindow* window) Tab::Tab(BrowserWindow* window)
: m_window(window) : m_window(window)
{ {
m_layout = new QBoxLayout(QBoxLayout::Direction::TopToBottom, this); m_layout = new QBoxLayout(QBoxLayout::Direction::TopToBottom, this);
@ -146,10 +146,7 @@ void Tab::page_favicon_changed(QIcon icon)
int Tab::tab_index() int Tab::tab_index()
{ {
// FIXME: I hear you like footguns... return m_window->tab_index(this);
// There has to be a better way of doing this
auto browser_window = reinterpret_cast<BrowserWindow*>(m_window);
return browser_window->tab_index(this);
} }
void Tab::debug_request(String const& request, String const& argument) void Tab::debug_request(String const& request, String const& argument)

View file

@ -17,10 +17,12 @@
#include <QToolBar> #include <QToolBar>
#include <QWidget> #include <QWidget>
class BrowserWindow;
class Tab final : public QWidget { class Tab final : public QWidget {
Q_OBJECT Q_OBJECT
public: public:
explicit Tab(QMainWindow* window); explicit Tab(BrowserWindow* window);
WebView& view() { return *m_view; } WebView& view() { return *m_view; }
@ -51,7 +53,7 @@ private:
QToolBar* m_toolbar { nullptr }; QToolBar* m_toolbar { nullptr };
QLineEdit* m_location_edit { nullptr }; QLineEdit* m_location_edit { nullptr };
WebView* m_view { nullptr }; WebView* m_view { nullptr };
QMainWindow* m_window { nullptr }; BrowserWindow* m_window { nullptr };
Browser::History m_history; Browser::History m_history;
QString m_title; QString m_title;
QLabel* m_hover_label { nullptr }; QLabel* m_hover_label { nullptr };