Fix list of tabs not being updated when dock widget closed

When closing, we need to remove from the TabBar controller.

QtWidgets tests no pass again.
This commit is contained in:
Sergio Martins
2022-08-15 19:50:34 +01:00
parent 838e953320
commit be2c297fa9
2 changed files with 43 additions and 0 deletions

View File

@@ -20,6 +20,7 @@
#include "controllers/FloatingWindow.h"
#include "controllers/SideBar.h"
#include "controllers/DropArea.h"
#include "controllers/TabBar.h"
#include "controllers/MainWindow.h"
#include "private/Utils_p.h"
#include "private/WindowBeingDragged_p.h"
@@ -523,6 +524,10 @@ Controllers::DockWidget *DockWidget::byName(const QString &uniqueName)
void DockWidget::setParentView_impl(View *parent)
{
if (Controllers::Group *group = d->group()) {
group->tabBar()->removeDockWidget(this);
}
Controller::setParentView_impl(parent);
d->onParentChanged();
}
@@ -754,6 +759,7 @@ void DockWidget::Private::onDockWidgetHidden()
void DockWidget::Private::close()
{
if (!m_processingToggleAction && !q->isOpen()) {
q->setParentView(nullptr);
return;
}