aboutsummaryrefslogtreecommitdiff
path: root/src/subwindow/subwindow.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/subwindow/subwindow.cpp')
-rw-r--r--src/subwindow/subwindow.cpp79
1 files changed, 24 insertions, 55 deletions
diff --git a/src/subwindow/subwindow.cpp b/src/subwindow/subwindow.cpp
index c6e156e..58acee6 100644
--- a/src/subwindow/subwindow.cpp
+++ b/src/subwindow/subwindow.cpp
@@ -8,29 +8,31 @@
#include "subwindow.h"
#include "browser.h"
-#include "tabwidget.h"
+#include "configuration.h"
+#include "webengine/webprofile.h"
#include "webengine/webview.h"
#include <QAction>
-#include <QJsonArray>
-#include <QJsonDocument>
-#include <QJsonObject>
+#include <QCloseEvent>
+#include <QHideEvent>
#include <QMenu>
#include <QShortcut>
-#include <QStyle>
+#include <QShowEvent>
#include <QTabBar>
#include <QToolButton>
-#include "configuration.h"
-#include "webengine/webprofile.h"
+#include <QVBoxLayout>
SubWindow::SubWindow(QWidget *parent, Qt::WindowFlags flags)
- : QMdiSubWindow(parent, flags)
+ : QWidget(parent, flags)
, tabWidget(new TabWidget(this))
{
// delete this window when it closes
- setAttribute(Qt::WA_DeleteOnClose, true);
+ //setAttribute(Qt::WA_DeleteOnClose, true);
- resize(800, 600);
- setWidget(tabWidget);
+ auto *layout = new QVBoxLayout;
+ layout->setSpacing(0);
+ layout->setContentsMargins(0, 0, 0, 0);
+ layout->addWidget(tabWidget);
+ setLayout(layout);
m_profile = WebProfile::defaultProfile();
@@ -74,31 +76,6 @@ SubWindow::SubWindow(QWidget *parent, Qt::WindowFlags flags)
});
}
-SubWindow::~SubWindow()
-{
- delete tabWidget;
-}
-
-int SubWindow::currentTabIndex() const
-{
- return tabWidget->currentIndex();
-}
-
-WebView *SubWindow::currentView()
-{
- return qobject_cast<WebView *>(tabWidget->currentWidget());
-}
-
-WebView *SubWindow::view(int index) const
-{
- return qobject_cast<WebView *>(tabWidget->widget(index));
-}
-
-int SubWindow::tabCount() const
-{
- return tabWidget->count();
-}
-
void SubWindow::setProfile(WebProfile *profile)
{
if(profile == nullptr) {
@@ -113,11 +90,6 @@ void SubWindow::setProfile(WebProfile *profile)
}
}
-WebProfile *SubWindow::profile() const
-{
- return m_profile;
-}
-
void SubWindow::setTabData(TabData &data, int index)
{
tabWidget->tabBar()->setTabData(index, QVariant::fromValue<TabData>(data));
@@ -143,28 +115,25 @@ int SubWindow::addTab(const QUrl &url, WebProfile *profile)
return tabWidget->addTab(view);
}
-void SubWindow::closeTab(int index)
-{
- tabWidget->removeTab(index);
-}
-
-void SubWindow::setCurrentTab(int index)
+void SubWindow::moveTab(int from, int to)
{
- if(index >= 0)
- tabWidget->setCurrentIndex(index);
+ tabWidget->tabBar()->moveTab(from, to);
}
-void SubWindow::moveTab(int from, int to)
+void SubWindow::closeEvent(QCloseEvent *event)
{
- tabWidget->tabBar()->moveTab(from, to);
+ emit aboutToClose();
+ event->accept();
}
-int SubWindow::restoreLastTab()
+void SubWindow::hideEvent(QHideEvent *event)
{
- return tabWidget->restoreLastTab();
+ emit visibilityChanged(false);
+ event->accept();
}
-void SubWindow::restoreTabMenu(QMenu *menu)
+void SubWindow::showEvent(QShowEvent *event)
{
- tabWidget->restoreTabMenu(menu);
+ emit visibilityChanged(true);
+ event->accept();
}