aboutsummaryrefslogtreecommitdiff
path: root/src/subwindow/tabwidget.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/subwindow/tabwidget.cpp')
-rw-r--r--src/subwindow/tabwidget.cpp17
1 files changed, 7 insertions, 10 deletions
diff --git a/src/subwindow/tabwidget.cpp b/src/subwindow/tabwidget.cpp
index 58e9b03..6951b7b 100644
--- a/src/subwindow/tabwidget.cpp
+++ b/src/subwindow/tabwidget.cpp
@@ -36,7 +36,7 @@ TabWidget::TabWidget(QWidget *parent)
setElideMode(Qt::ElideRight);
setMovable(true);
- connect(this, &TabWidget::tabCloseRequested, this, &TabWidget::deleteTab);
+ connect(this, &TabWidget::tabCloseRequested, this, &TabWidget::removeTab);
// when changing tabs, give focus to the widget
// otherwise when closing tabs, the tabwidget will retain focus
@@ -49,14 +49,14 @@ TabWidget::TabWidget(QWidget *parent)
tabContextMenu = new QMenu(this);
auto *closeTab = tabContextMenu->addAction(tr("Close Tab"));
connect(closeTab, &QAction::triggered, this, [this]() {
- deleteTab(this->tabBar()->tabAt(mapFromGlobal(tabContextMenu->pos())));
+ removeTab(this->tabBar()->tabAt(mapFromGlobal(tabContextMenu->pos())));
});
auto *closeTabsLeft = tabContextMenu->addAction(tr("Close Tabs left"));
connect(closeTabsLeft, &QAction::triggered, this, [this]() {
int idx = this->tabBar()->tabAt(mapFromGlobal(tabContextMenu->pos()));
for(int i = idx - 1; i >= 0; --i) {
- deleteTab(i);
+ removeTab(i);
}
});
@@ -64,7 +64,7 @@ TabWidget::TabWidget(QWidget *parent)
connect(closeTabsRight, &QAction::triggered, this, [this]() {
int idx = this->tabBar()->tabAt(mapFromGlobal(tabContextMenu->pos()));
for(int i = count() - 1; i > idx; --i) {
- deleteTab(i);
+ removeTab(i);
}
});
}
@@ -100,7 +100,7 @@ int TabWidget::addTab(WebView *view)
return idx;
}
-void TabWidget::deleteTab(int index)
+void TabWidget::removeTab(int index)
{
// deleting the widget automatically removes the tab?
WebView *w = qobject_cast<WebView *>(widget(index));
@@ -117,11 +117,8 @@ void TabWidget::deleteTab(int index)
m_closedTabs.dequeue();
}
- disconnect(w);
+ QTabWidget::removeTab(index);
delete w;
-
- if(count() == 0)
- parentWidget()->close();
}
int TabWidget::restoreLastTab()
@@ -171,7 +168,7 @@ void TabWidget::mousePressEvent(QMouseEvent *event)
if(event->button() == Qt::MiddleButton) {
int index = tabBar()->tabAt(event->pos());
if(index >= 0) {
- deleteTab(index);
+ removeTab(index);
}
event->accept();
return;