修改链接bug,增加移除链接功能
This commit is contained in:
parent
b325b5f2e1
commit
246df65400
|
|
@ -16,6 +16,7 @@ public:
|
||||||
~DatabaseManager();
|
~DatabaseManager();
|
||||||
|
|
||||||
bool addDatabase(const DatabaseConfig& config);
|
bool addDatabase(const DatabaseConfig& config);
|
||||||
|
void removeDatabase(const QString& strConnectionName);
|
||||||
bool connect(const QString& strConnectionName);
|
bool connect(const QString& strConnectionName);
|
||||||
void disconnect(const QString& strConnectionName);
|
void disconnect(const QString& strConnectionName);
|
||||||
QStringList conncetions();//获取所有链接名称
|
QStringList conncetions();//获取所有链接名称
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ public:
|
||||||
|
|
||||||
//业务功能接口
|
//业务功能接口
|
||||||
void addConnection(const QString& name, const QString& dbType);
|
void addConnection(const QString& name, const QString& dbType);
|
||||||
|
void removeConnection(const QString& name);
|
||||||
QModelIndex getConnNodeIndex(const QString& name);
|
QModelIndex getConnNodeIndex(const QString& name);
|
||||||
void addDataModel(const QString& connection, Model& model);
|
void addDataModel(const QString& connection, Model& model);
|
||||||
void removeDataModel(DBStructureNode*);
|
void removeDataModel(DBStructureNode*);
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,61 @@
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
#include <QSet>
|
#include <QSet>
|
||||||
|
|
||||||
|
template <typename T>
|
||||||
|
class UniqueList
|
||||||
|
{
|
||||||
|
private:
|
||||||
|
QList<T> m_list;
|
||||||
|
QSet<T> m_set;
|
||||||
|
|
||||||
|
public:
|
||||||
|
const QList<T>& getList() const { return m_list; }
|
||||||
|
|
||||||
|
bool isEmpty() { return m_list.isEmpty(); }
|
||||||
|
|
||||||
|
int size() const { return m_list.size(); }
|
||||||
|
|
||||||
|
void appendUnique(const T& value)
|
||||||
|
{
|
||||||
|
if(m_set.contains(value))
|
||||||
|
return;
|
||||||
|
|
||||||
|
m_set.insert(value);
|
||||||
|
m_list.append(value);
|
||||||
|
}
|
||||||
|
void remove(const T& value)
|
||||||
|
{
|
||||||
|
if(m_set.remove(value))
|
||||||
|
{
|
||||||
|
m_list.removeOne(value);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
T& first()
|
||||||
|
{
|
||||||
|
if(m_list.isEmpty())
|
||||||
|
throw std::out_of_range("UniqueList is empty");
|
||||||
|
|
||||||
|
return m_list.first();
|
||||||
|
}
|
||||||
|
T& last()
|
||||||
|
{
|
||||||
|
if(m_list.isEmpty())
|
||||||
|
throw std::out_of_range("UniqueList is empty");
|
||||||
|
|
||||||
|
return m_list.last();
|
||||||
|
}
|
||||||
|
T& at(int index)
|
||||||
|
{
|
||||||
|
if (index < 0 || index >= m_list.size())
|
||||||
|
throw std::out_of_range("Index out of range");
|
||||||
|
|
||||||
|
return m_list[index];
|
||||||
|
}
|
||||||
|
|
||||||
|
T& operator[](int index) { return at(index); }
|
||||||
|
};
|
||||||
|
|
||||||
class MaskManager : public QObject
|
class MaskManager : public QObject
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
@ -24,7 +79,7 @@ private:
|
||||||
static MaskManager* m_instance;
|
static MaskManager* m_instance;
|
||||||
QWidget* m_mainWindow;
|
QWidget* m_mainWindow;
|
||||||
QWidget* m_maskLayer;
|
QWidget* m_maskLayer;
|
||||||
QSet<QWidget*> m_activeRequests;
|
UniqueList<QWidget*> m_activeRequests;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif //MASKMANAGER_H
|
#endif //MASKMANAGER_H
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@ ConnectionDialog::ConnectionDialog(QWidget *parent)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setModal(true);
|
//setModal(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
initialize();
|
initialize();
|
||||||
|
|
@ -39,7 +39,14 @@ ConnectionDialog::~ConnectionDialog()
|
||||||
void ConnectionDialog::showEvent(QShowEvent* e)
|
void ConnectionDialog::showEvent(QShowEvent* e)
|
||||||
{
|
{
|
||||||
if(ui->connectionList->rowCount() > 0)
|
if(ui->connectionList->rowCount() > 0)
|
||||||
|
{
|
||||||
ui->connectionList->setCurrentCell(0, 0);
|
ui->connectionList->setCurrentCell(0, 0);
|
||||||
|
//刷新信息
|
||||||
|
QTableWidgetItem* item = ui->connectionList->item(0, 0);
|
||||||
|
QString connID = item->data(Qt::UserRole + itemID).toString();
|
||||||
|
loadConnInfo(connID);
|
||||||
|
m_curConnListRow = 0;
|
||||||
|
}
|
||||||
|
|
||||||
QDialog::showEvent(e);
|
QDialog::showEvent(e);
|
||||||
}
|
}
|
||||||
|
|
@ -241,7 +248,10 @@ void ConnectionDialog::onTableCellClicked_connList(int row, int column)
|
||||||
m_pMainWindow->showMessageDialog(type_question, QString::fromWCharArray(L"提示"),
|
m_pMainWindow->showMessageDialog(type_question, QString::fromWCharArray(L"提示"),
|
||||||
QString::fromWCharArray(L"当前正在新建连接的编辑中,确定放弃吗"));
|
QString::fromWCharArray(L"当前正在新建连接的编辑中,确定放弃吗"));
|
||||||
if(g_msgDlgBtn == btn_No)
|
if(g_msgDlgBtn == btn_No)
|
||||||
|
{
|
||||||
|
ui->connectionList->setCurrentCell(m_curConnListRow, 0);
|
||||||
return;
|
return;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
m_isNewStatus = false;
|
m_isNewStatus = false;
|
||||||
removeConnListItem(m_curConnListRow);
|
removeConnListItem(m_curConnListRow);
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,13 @@ bool DatabaseManager::addDatabase(const DatabaseConfig& config)
|
||||||
m_configs[config.strConnectionName] = config;
|
m_configs[config.strConnectionName] = config;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
void DatabaseManager::removeDatabase(const QString& strConnectionName)
|
||||||
|
{
|
||||||
|
//先断开链接
|
||||||
|
disconnect(strConnectionName);
|
||||||
|
//从内存中删除
|
||||||
|
m_configs.remove(strConnectionName);
|
||||||
|
}
|
||||||
|
|
||||||
bool DatabaseManager::connect(const QString& strConnectionName)
|
bool DatabaseManager::connect(const QString& strConnectionName)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -123,6 +123,17 @@ void DBStructureModel::addConnection(const QString& name, const QString& dbType)
|
||||||
endInsertRows(); //该语句之后会触发rowsInserted(const QModelIndex &parent, int first, int last)信号,通知视图刷新对应行
|
endInsertRows(); //该语句之后会触发rowsInserted(const QModelIndex &parent, int first, int last)信号,通知视图刷新对应行
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DBStructureModel::removeConnection(const QString& name)
|
||||||
|
{
|
||||||
|
DBStructureNode* connNode = getConnectionNode(name);
|
||||||
|
if(!connNode)
|
||||||
|
return;
|
||||||
|
|
||||||
|
beginRemoveRows(QModelIndex(), connNode->row(), connNode->row());
|
||||||
|
m_rootNode->removeChild(connNode);
|
||||||
|
endRemoveRows();
|
||||||
|
}
|
||||||
|
|
||||||
QModelIndex DBStructureModel::getConnNodeIndex(const QString& name)
|
QModelIndex DBStructureModel::getConnNodeIndex(const QString& name)
|
||||||
{
|
{
|
||||||
DBStructureNode* connNode = getConnectionNode(name);
|
DBStructureNode* connNode = getConnectionNode(name);
|
||||||
|
|
|
||||||
|
|
@ -91,20 +91,31 @@ void DBStructureView::disconnectToDB(const QString& connName)
|
||||||
|
|
||||||
void DBStructureView::removeNode(DBStructureNode* node)
|
void DBStructureView::removeNode(DBStructureNode* node)
|
||||||
{
|
{
|
||||||
if(m_pMainWindow)
|
if(!node)
|
||||||
{
|
{
|
||||||
m_pMainWindow->showMessageDialog(type_question, QString::fromWCharArray(L"提示"),
|
if(m_pMainWindow)
|
||||||
QString::fromWCharArray(L"确认删除当前节点吗"));
|
m_pMainWindow->showMessageDialog(type_warning, QString::fromWCharArray(L"错误"),
|
||||||
if(g_msgDlgBtn == btn_No)
|
QString::fromWCharArray(L"获取节点数据失败"));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(node && node->type() == TableNode)
|
if(node->type() == ConnectionNode)
|
||||||
|
{
|
||||||
|
DBStructureModel* model = dynamic_cast<DBStructureModel*>(this->model());
|
||||||
|
if(model && m_dbManager)
|
||||||
|
{
|
||||||
|
m_dbManager->removeDatabase(node->name());
|
||||||
|
model->removeConnection(node->name());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else if(node->type() == TableNode)
|
||||||
{
|
{
|
||||||
DBStructureModel* model = dynamic_cast<DBStructureModel*>(this->model());
|
DBStructureModel* model = dynamic_cast<DBStructureModel*>(this->model());
|
||||||
if(model)
|
if(model)
|
||||||
model->removeDataModel(node);
|
model->removeDataModel(node);
|
||||||
}
|
}
|
||||||
|
else if(node->type() == GroupNode)
|
||||||
|
{}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DBStructureView::openAttributeGroup(DBStructureNode* node)
|
void DBStructureView::openAttributeGroup(DBStructureNode* node)
|
||||||
|
|
@ -139,20 +150,38 @@ void DBStructureView::onActionTrigger_removeModel()
|
||||||
{
|
{
|
||||||
QModelIndex currentInex = currentIndex();
|
QModelIndex currentInex = currentIndex();
|
||||||
DBStructureNode* node = static_cast<DBStructureNode*>(currentInex.internalPointer());
|
DBStructureNode* node = static_cast<DBStructureNode*>(currentInex.internalPointer());
|
||||||
if(node && node->type() == TableNode)
|
if(!node || (node->type() != TableNode && node->type() != GroupNode))
|
||||||
{
|
{
|
||||||
|
if(m_pMainWindow)
|
||||||
|
m_pMainWindow->showMessageDialog(type_warning, QString::fromWCharArray(L"错误"),
|
||||||
|
QString::fromWCharArray(L"请先选择一个模型节点"));
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(node->type() == TableNode)
|
||||||
|
{
|
||||||
|
if(m_pMainWindow)
|
||||||
|
{
|
||||||
|
m_pMainWindow->showMessageDialog(type_question, QString::fromWCharArray(L"提示"),
|
||||||
|
QString::fromWCharArray(L"确认删除模型 '%1' 吗").arg(node->name()));
|
||||||
|
if(g_msgDlgBtn == btn_No)
|
||||||
|
return;
|
||||||
|
}
|
||||||
removeNode(node);
|
removeNode(node);
|
||||||
}
|
}
|
||||||
else if(node && node->type() == GroupNode)
|
else if(node->type() == GroupNode)
|
||||||
{
|
{
|
||||||
DBStructureNode* parent = node->parentNode();
|
DBStructureNode* parent = node->parentNode();
|
||||||
|
if(m_pMainWindow)
|
||||||
|
{
|
||||||
|
m_pMainWindow->showMessageDialog(type_question, QString::fromWCharArray(L"提示"),
|
||||||
|
QString::fromWCharArray(L"确认删除模型 '%1' 吗").arg(parent->name()));
|
||||||
|
if(g_msgDlgBtn == btn_No)
|
||||||
|
return;
|
||||||
|
}
|
||||||
removeNode(parent);
|
removeNode(parent);
|
||||||
}
|
}
|
||||||
else if(m_pMainWindow)
|
|
||||||
{
|
|
||||||
m_pMainWindow->showMessageDialog(type_warning, QString::fromWCharArray(L"错误"),
|
|
||||||
QString::fromWCharArray(L"请先选择一个模型节点"));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void DBStructureView::itemDoubleClick(const QModelIndex& index)
|
void DBStructureView::itemDoubleClick(const QModelIndex& index)
|
||||||
|
|
@ -203,6 +232,16 @@ void DBStructureView::showContextMenu(const QPoint& pos)
|
||||||
if(model)
|
if(model)
|
||||||
model->refreshStructure_Connection(connName);
|
model->refreshStructure_Connection(connName);
|
||||||
})->setEnabled(isConnected);
|
})->setEnabled(isConnected);
|
||||||
|
menu.addAction(QString::fromWCharArray(L"移除链接"), [this, &connName, node]{
|
||||||
|
if(m_pMainWindow)
|
||||||
|
{
|
||||||
|
m_pMainWindow->showMessageDialog(type_question, QString::fromWCharArray(L"提示"),
|
||||||
|
QString::fromWCharArray(L"确认删除链接 '%1' 吗").arg(connName));
|
||||||
|
if(g_msgDlgBtn == btn_No)
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
removeNode(node);
|
||||||
|
});
|
||||||
menu.addSeparator();
|
menu.addSeparator();
|
||||||
menu.addAction(QString::fromWCharArray(L"添加模型"), [this]{emit actionTrigger_addModel();})->setEnabled(isConnected);
|
menu.addAction(QString::fromWCharArray(L"添加模型"), [this]{emit actionTrigger_addModel();})->setEnabled(isConnected);
|
||||||
/*menu.addAction(QString::fromWCharArray(L"导入数据"), []{});
|
/*menu.addAction(QString::fromWCharArray(L"导入数据"), []{});
|
||||||
|
|
@ -213,7 +252,14 @@ void DBStructureView::showContextMenu(const QPoint& pos)
|
||||||
else if(node && node->type() == TableNode)
|
else if(node && node->type() == TableNode)
|
||||||
{
|
{
|
||||||
CustomMenu menu;
|
CustomMenu menu;
|
||||||
menu.addAction(QString::fromWCharArray(L"删除"), [this,node]{
|
menu.addAction(QString::fromWCharArray(L"删除"), [this, node]{
|
||||||
|
if(m_pMainWindow)
|
||||||
|
{
|
||||||
|
m_pMainWindow->showMessageDialog(type_question, QString::fromWCharArray(L"提示"),
|
||||||
|
QString::fromWCharArray(L"确认删除模型 '%1' 吗").arg(node->name()));
|
||||||
|
if(g_msgDlgBtn == btn_No)
|
||||||
|
return;
|
||||||
|
}
|
||||||
removeNode(node);
|
removeNode(node);
|
||||||
});
|
});
|
||||||
menu.addSeparator();
|
menu.addSeparator();
|
||||||
|
|
@ -229,7 +275,7 @@ void DBStructureView::showContextMenu(const QPoint& pos)
|
||||||
else if(node && node->type() == GroupNode)
|
else if(node && node->type() == GroupNode)
|
||||||
{
|
{
|
||||||
CustomMenu menu;
|
CustomMenu menu;
|
||||||
menu.addAction(QString::fromWCharArray(L"删除"), [this,node]{
|
menu.addAction(QString::fromWCharArray(L"删除"), [this, node]{
|
||||||
removeNode(node);
|
removeNode(node);
|
||||||
});
|
});
|
||||||
menu.addSeparator();
|
menu.addSeparator();
|
||||||
|
|
|
||||||
|
|
@ -135,10 +135,10 @@ QString Logger::formatLogMessage(LogLevel level, const QString& context, const Q
|
||||||
{
|
{
|
||||||
static const char* levelStrings[] = {"FATAL", "ERROR", "WARNING", "INFO", "DEBUG"};
|
static const char* levelStrings[] = {"FATAL", "ERROR", "WARNING", "INFO", "DEBUG"};
|
||||||
return QString("[%1] [%2] [%3] %4")
|
return QString("[%1] [%2] [%3] %4")
|
||||||
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss"))
|
.arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss")
|
||||||
.arg(levelStrings[level])
|
,levelStrings[level]
|
||||||
.arg(context)
|
,context
|
||||||
.arg(message);
|
,message);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Logger::log(LogLevel level, const QString& context, const QString& message)
|
void Logger::log(LogLevel level, const QString& context, const QString& message)
|
||||||
|
|
|
||||||
|
|
@ -103,21 +103,21 @@ void MainWindow::showMessageDialog(MessageDialogType type,const QString& strTitl
|
||||||
{
|
{
|
||||||
m_pMessageDialog = new MessageDialog(this);
|
m_pMessageDialog = new MessageDialog(this);
|
||||||
m_pMessageDialog->installEventFilter(this);
|
m_pMessageDialog->installEventFilter(this);
|
||||||
|
//对话框必须是close才会发送finished信号,hide不可以
|
||||||
|
connect(m_pMessageDialog, &MessageDialog::finished, this, [=](int result){MaskManager::instance()->hideMask(m_pMessageDialog);});
|
||||||
}
|
}
|
||||||
|
|
||||||
m_pMessageDialog->setMessage(type, strTitle, strContent);
|
m_pMessageDialog->setMessage(type, strTitle, strContent);
|
||||||
int nX = this->geometry().x() + (this->width() - m_pMessageDialog->width()) * 0.5;
|
int nX = this->geometry().x() + (this->width() - m_pMessageDialog->width()) * 0.5;
|
||||||
int nY = this->geometry().y() + (this->height() - m_pMessageDialog->height()) * 0.5;
|
int nY = this->geometry().y() + (this->height() - m_pMessageDialog->height()) * 0.5;
|
||||||
m_pMessageDialog->move(nX, nY);
|
m_pMessageDialog->move(nX, nY);
|
||||||
//m_pMessageDialog->raise();
|
|
||||||
|
MaskManager::instance()->showMask(m_pMessageDialog);
|
||||||
// if(type == type_question)
|
// if(type == type_question)
|
||||||
// m_pMessageDialog->exec();
|
// m_pMessageDialog->exec();
|
||||||
// else
|
// else
|
||||||
// m_pMessageDialog->show();
|
// m_pMessageDialog->show();
|
||||||
|
|
||||||
MaskManager::instance()->showMask(m_pMessageDialog);
|
|
||||||
m_pMessageDialog->exec();
|
m_pMessageDialog->exec();
|
||||||
MaskManager::instance()->hideMask(m_pMessageDialog);
|
|
||||||
}
|
}
|
||||||
void MainWindow::hideMessageDialog()
|
void MainWindow::hideMessageDialog()
|
||||||
{
|
{
|
||||||
|
|
@ -150,6 +150,7 @@ void MainWindow::onActionTrigger_connect()
|
||||||
m_pConnectionDialog->setMainWindow(this);
|
m_pConnectionDialog->setMainWindow(this);
|
||||||
m_pConnectionDialog->installEventFilter(this);
|
m_pConnectionDialog->installEventFilter(this);
|
||||||
connect(m_pConnectionDialog, &ConnectionDialog::addConnection, this, &MainWindow::onSIG_addConnection);
|
connect(m_pConnectionDialog, &ConnectionDialog::addConnection, this, &MainWindow::onSIG_addConnection);
|
||||||
|
connect(m_pConnectionDialog, &ConnectionDialog::finished, this, [=]{ MaskManager::instance()->hideMask(m_pConnectionDialog);});
|
||||||
}
|
}
|
||||||
|
|
||||||
int nX = this->geometry().x() + (this->width() - m_pConnectionDialog->width()) * 0.5;
|
int nX = this->geometry().x() + (this->width() - m_pConnectionDialog->width()) * 0.5;
|
||||||
|
|
@ -160,8 +161,7 @@ void MainWindow::onActionTrigger_connect()
|
||||||
// m_pConnectionDialog->move(centerPos);
|
// m_pConnectionDialog->move(centerPos);
|
||||||
|
|
||||||
MaskManager::instance()->showMask(m_pConnectionDialog);
|
MaskManager::instance()->showMask(m_pConnectionDialog);
|
||||||
m_pConnectionDialog->exec();
|
m_pConnectionDialog->show();
|
||||||
MaskManager::instance()->hideMask(m_pConnectionDialog);
|
|
||||||
}
|
}
|
||||||
void MainWindow::onActionTrigger_disconnect()
|
void MainWindow::onActionTrigger_disconnect()
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
#include "maskManager.h"
|
#include "maskManager.h"
|
||||||
#include <QEvent>
|
#include <QEvent>
|
||||||
|
#include <QApplication>
|
||||||
|
#include <QDialog>
|
||||||
|
|
||||||
MaskManager* MaskManager::m_instance = nullptr;
|
MaskManager* MaskManager::m_instance = nullptr;
|
||||||
|
|
||||||
|
|
@ -21,6 +23,7 @@ MaskManager::MaskManager(QWidget* mainWindow)
|
||||||
{
|
{
|
||||||
m_maskLayer = new QWidget(m_mainWindow);
|
m_maskLayer = new QWidget(m_mainWindow);
|
||||||
//m_maskLayer->setAttribute(Qt::WA_TransparentForMouseEvents, true);
|
//m_maskLayer->setAttribute(Qt::WA_TransparentForMouseEvents, true);
|
||||||
|
m_maskLayer->setObjectName("maskLayer");
|
||||||
m_maskLayer->setStyleSheet("background:rgba(112,128,144,180);");
|
m_maskLayer->setStyleSheet("background:rgba(112,128,144,180);");
|
||||||
m_maskLayer->hide();
|
m_maskLayer->hide();
|
||||||
|
|
||||||
|
|
@ -42,10 +45,30 @@ void MaskManager::showMask(QWidget* requester)
|
||||||
if(m_activeRequests.isEmpty())
|
if(m_activeRequests.isEmpty())
|
||||||
{
|
{
|
||||||
m_maskLayer->setGeometry(m_mainWindow->rect());
|
m_maskLayer->setGeometry(m_mainWindow->rect());
|
||||||
//m_maskLayer->raise(); //显示在最上层,后续打开的同级子窗口依然在其之上
|
|
||||||
m_maskLayer->show();
|
m_maskLayer->show();
|
||||||
}
|
}
|
||||||
m_activeRequests.insert(requester);
|
else
|
||||||
|
{
|
||||||
|
QWidget* widget = m_activeRequests.last();
|
||||||
|
if(widget->parentWidget() == m_mainWindow && widget->isVisible() && !widget->isModal())
|
||||||
|
{
|
||||||
|
// qDebug() << "Child Dialog Order:";
|
||||||
|
// foreach (QObject* child, m_mainWindow->children())
|
||||||
|
// {
|
||||||
|
// if(qobject_cast<QDialog*>(child) || qobject_cast<QWidget*>(child))
|
||||||
|
// qDebug() << child->objectName();
|
||||||
|
// }
|
||||||
|
|
||||||
|
widget->stackUnder(m_maskLayer);
|
||||||
|
//widget->lower();
|
||||||
|
//强制刷新
|
||||||
|
//m_mainWindow->update();
|
||||||
|
//QApplication::processEvents();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
m_activeRequests.appendUnique(requester);
|
||||||
|
//qDebug() << "append requester: " << requester->objectName() << "requester count: " << m_activeRequests.size();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MaskManager::hideMask(QWidget* requester)
|
void MaskManager::hideMask(QWidget* requester)
|
||||||
|
|
@ -53,4 +76,11 @@ void MaskManager::hideMask(QWidget* requester)
|
||||||
m_activeRequests.remove(requester);
|
m_activeRequests.remove(requester);
|
||||||
if(m_activeRequests.isEmpty())
|
if(m_activeRequests.isEmpty())
|
||||||
m_maskLayer->hide();
|
m_maskLayer->hide();
|
||||||
|
else
|
||||||
|
{
|
||||||
|
QWidget* widget = m_activeRequests.last();
|
||||||
|
widget->raise();
|
||||||
|
}
|
||||||
|
|
||||||
|
//qDebug() << "remove requester: " << requester->objectName() << "requester count: " << m_activeRequests.size();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -60,21 +60,21 @@ void MessageDialog::setMessage(MessageDialogType type,const QString& strTitle,co
|
||||||
|
|
||||||
void MessageDialog::onBtnClicked_confirm()
|
void MessageDialog::onBtnClicked_confirm()
|
||||||
{
|
{
|
||||||
hide();
|
close();
|
||||||
emit sgl_hide();
|
//emit sgl_hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageDialog::onBtnClicked_yes()
|
void MessageDialog::onBtnClicked_yes()
|
||||||
{
|
{
|
||||||
g_msgDlgBtn = btn_Yes;
|
g_msgDlgBtn = btn_Yes;
|
||||||
hide();
|
close();
|
||||||
emit sgl_hide();
|
//emit sgl_hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MessageDialog::onBtnClicked_no()
|
void MessageDialog::onBtnClicked_no()
|
||||||
{
|
{
|
||||||
g_msgDlgBtn = btn_No;
|
g_msgDlgBtn = btn_No;
|
||||||
hide();
|
close();
|
||||||
emit sgl_hide();
|
//emit sgl_hide();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue