/* * This file is part of smolbote. It's copyrighted by the contributors recorded * in the version control history of the file, available from its original * location: https://neueland.iserlohn-fortress.net/smolbote.hg * * SPDX-License-Identifier: GPL-3.0 */ #ifndef SMOLBOTE_SUBWINDOW_H #define SMOLBOTE_SUBWINDOW_H #include #include #include class TabWidget; class WebView; class WebProfile; class SubWindow : public QMdiSubWindow { Q_OBJECT public: explicit SubWindow(const QHash &config, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags()); ~SubWindow() override; WebView *currentView(); WebView *view(int index) const; void setProfile(WebProfile *profile); QJsonObject session() const; void restoreSession(const QJsonObject &sessionData); signals: void currentViewChanged(WebView *view); void showStatusMessage(const QString &message, int timeout = 0); public slots: int addTab(const QUrl &url = QUrl()); void setCurrentTab(int index); private: WebProfile *profile; TabWidget *tabWidget; QMetaObject::Connection titleConnection; QMetaObject::Connection linkHoveredConnection; }; #endif // SMOLBOTE_SUBWINDOW_H