diff --git a/src/plugins/VerticalTabs/verticaltabswidget.h b/src/plugins/VerticalTabs/verticaltabswidget.h --- a/src/plugins/VerticalTabs/verticaltabswidget.h +++ b/src/plugins/VerticalTabs/verticaltabswidget.h @@ -43,6 +43,8 @@ void switchToNextTab(); void switchToPreviousTab(); + void addChildTab(); + private: WebTab *nextTab() const; WebTab *previousTab() const; diff --git a/src/plugins/VerticalTabs/verticaltabswidget.cpp b/src/plugins/VerticalTabs/verticaltabswidget.cpp --- a/src/plugins/VerticalTabs/verticaltabswidget.cpp +++ b/src/plugins/VerticalTabs/verticaltabswidget.cpp @@ -59,6 +59,7 @@ buttonAddTab->setIcon(QIcon::fromTheme(QSL("list-add"))); buttonAddTab->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); connect(buttonAddTab, &QAbstractButton::clicked, m_window, &BrowserWindow::addTab); + connect(buttonAddTab, &ToolButton::middleMouseClicked, this, &VerticalTabsWidget::addChildTab); m_groupMenu = new QMenu(this); buttonAddTab->setMenu(m_groupMenu); @@ -201,3 +202,14 @@ m_window->tabWidget()->addView(QUrl(QSL("extension://verticaltabs/group")), Qz::NT_SelectedTab); }); } + +void VerticalTabsWidget::addChildTab() +{ + WebTab *parentTab = m_window->tabWidget()->webTab(); + int index = m_window->tabWidget()->addView(QUrl(), Qz::NT_SelectedNewEmptyTab, true); + m_window->tabWidget()->setCurrentTabFresh(true); + m_window->tabWidget()->webTab(index)->setParentTab(parentTab); + + if (m_window->isFullScreen()) + m_window->showNavigationWithFullScreen(); +}