Make closing of tabs work again.

This commit is contained in:
eelke 2019-08-16 10:49:59 +02:00
parent 6fdf631fac
commit 8c13bdc2ef
2 changed files with 25 additions and 6 deletions

View file

@ -30,6 +30,7 @@ DatabaseWindow::DatabaseWindow(MasterController *master, QWidget *parent)
this, &DatabaseWindow::catalogLoaded);
m_tabWidget = new QTabWidget(this);
m_tabWidget->setObjectName("m_tabWidget");
setCentralWidget(m_tabWidget);
createActions();
@ -306,6 +307,18 @@ void DatabaseWindow::createCatalogInspector(QString caption, NamespaceFilter fil
}
void DatabaseWindow::closeTab(int index)
{
QWidget *widget = m_tabWidget->widget(index);
auto qt = dynamic_cast<QueryTool*>(widget);
if (qt && qt->canClose()) {
m_tabWidget->removeTab(index);
}
else if (index >= 0) {
m_tabWidget->removeTab(index);
}
}
void DatabaseWindow::catalogLoaded()
{
@ -356,6 +369,11 @@ void DatabaseWindow::on_actionCancelQuery_triggered()
}
}
void DatabaseWindow::on_actionClose_triggered()
{
m_tabWidget->tabCloseRequested(m_tabWidget->currentIndex());
}
void DatabaseWindow::on_actionCopy_triggered()
{
QWidget *w = QApplication::focusWidget();
@ -429,11 +447,6 @@ void DatabaseWindow::on_actionGenerateCode_triggered()
}
}
void DatabaseWindow::on_actionClose_triggered()
{
m_tabWidget->tabCloseRequested(m_tabWidget->currentIndex());
}
void DatabaseWindow::on_actionInspectInformationSchema_triggered()
{
createCatalogInspector("information_schema", NamespaceFilter::InformationSchema);
@ -501,7 +514,10 @@ void DatabaseWindow::on_actionShowConnectionManager_triggered()
m_masterController->showConnectionManager();
}
void DatabaseWindow::on_m_tabWidget_tabCloseRequested(int index)
{
closeTab(index);
}
void DatabaseWindow::setTitleForWidget(QWidget *widget, QString title, QString hint)
{