aboutsummaryrefslogtreecommitdiff
path: root/src/subwindow/subwindow.h
diff options
context:
space:
mode:
authorAqua-sama <aqua@iserlohn-fortress.net>2018-08-07 10:18:28 +0200
committerAqua-sama <aqua@iserlohn-fortress.net>2018-08-07 10:18:28 +0200
commite68dbcfd937a3de352152857ef9ad146a7c89bfc (patch)
tree751b0f1d6c7a223b19b06730fabc0cca478fa57d /src/subwindow/subwindow.h
parentFix fullscreen toggle (diff)
downloadsmolbote-e68dbcfd937a3de352152857ef9ad146a7c89bfc.tar.xz
Move SubWindow to src/subwindow
Diffstat (limited to 'src/subwindow/subwindow.h')
-rw-r--r--src/subwindow/subwindow.h51
1 files changed, 51 insertions, 0 deletions
diff --git a/src/subwindow/subwindow.h b/src/subwindow/subwindow.h
new file mode 100644
index 0000000..b7c4aee
--- /dev/null
+++ b/src/subwindow/subwindow.h
@@ -0,0 +1,51 @@
+/*
+ * 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 <QMdiSubWindow>
+#include <QUrl>
+#include <memory>
+
+class TabWidget;
+class WebView;
+class WebProfile;
+class Configuration;
+class SubWindow : public QMdiSubWindow
+{
+ Q_OBJECT
+
+public:
+ explicit SubWindow(const std::unique_ptr<Configuration> &config, QWidget *parent = nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
+ ~SubWindow() override;
+
+ WebView *currentView();
+ WebView *view(int index) const;
+ int tabCount() const;
+
+ void setProfile(WebProfile *profile);
+ WebProfile *profile() const;
+
+signals:
+ void currentViewChanged(WebView *view);
+ void showStatusMessage(const QString &message, int timeout = 0);
+
+public slots:
+ int addTab(const QUrl &url = QUrl(), WebProfile *profile = nullptr);
+ void setCurrentTab(int index);
+
+private:
+ WebProfile *m_profile;
+ TabWidget *tabWidget;
+
+ QMetaObject::Connection titleConnection;
+ QMetaObject::Connection linkHoveredConnection;
+};
+
+#endif // SMOLBOTE_SUBWINDOW_H