修改切换连接时‘属性选择器’的内部数据未同步切换问题

This commit is contained in:
duanshengchao 2025-05-19 16:12:08 +08:00
parent 719fd134b1
commit 399ee6340d
4 changed files with 12 additions and 5 deletions

View File

@ -42,7 +42,7 @@ signals:
void actionTrigger_addGroup(int);
void openAttributeInfo(const QString&, ModelAttributeGroup&);
void closeAttributeInfo(ModelAttributeGroup&);
void closeAllAttributeInfo();
void disconnect();
private slots:
void itemDoubleClick(const QModelIndex&);

View File

@ -68,7 +68,7 @@ private slots:
//void onSIG_addAttributes();
void onSIG_openAttributeInfo(const QString&, ModelAttributeGroup&);
void onSIG_closeAttributeInfo(ModelAttributeGroup&);
void onSIG_closeAllAttributeInfo();
void onSIG_disconnect();
void onSIG_openAttributeSelector();
};

View File

@ -91,7 +91,7 @@ void DBStructureView::disconnectToDB(const QString& connName)
if(index.isValid())
collapse(index);
emit closeAllAttributeInfo();
emit disconnect();
}
}

View File

@ -86,7 +86,7 @@ void MainWindow::initialize()
connect(m_pDBStrutureView, &DBStructureView::actionTrigger_addGroup, this, &MainWindow::onActionTrigger_addGroup);
connect(m_pDBStrutureView, &DBStructureView::openAttributeInfo, this, &MainWindow::onSIG_openAttributeInfo);
connect(m_pDBStrutureView, &DBStructureView::closeAttributeInfo, this, &MainWindow::onSIG_closeAttributeInfo);
connect(m_pDBStrutureView, &DBStructureView::closeAllAttributeInfo, this, &MainWindow::onSIG_closeAllAttributeInfo);
connect(m_pDBStrutureView, &DBStructureView::disconnect, this, &MainWindow::onSIG_disconnect);
ui->layoutDBStructure->addWidget(m_pDBStrutureView);
m_pDBStrutureModel = new DBStructureModel(this);
m_pDBStrutureModel->setMainWindow(this);
@ -321,10 +321,17 @@ void MainWindow::onSIG_closeAttributeInfo(ModelAttributeGroup& attributeGroup)
m_dbBrowser->closeTab_attribute(attributeGroup);
}
void MainWindow::onSIG_closeAllAttributeInfo()
void MainWindow::onSIG_disconnect()
{
if(m_dbBrowser)
m_dbBrowser->closeAllTab_attribute();
if(m_pAttributeSelector)
{
m_pAttributeSelector->setParent(nullptr);
delete m_pAttributeSelector;
m_pAttributeSelector = nullptr;
}
}
void MainWindow::onSIG_openAttributeSelector()