Add DialogManager
This commit is contained in:
@@ -35,115 +35,11 @@ MainWindow::MainWindow(QWidget* aParent)
|
||||
, mIsDebugMode(false)
|
||||
{
|
||||
mUI->setupUi(this);
|
||||
this->loadStyleSheet("Dark2");
|
||||
this->setWindowFlags(Qt::Window);
|
||||
|
||||
initializeTabWidget();
|
||||
initializeLayout();
|
||||
|
||||
|
||||
connect(EventCenter::Default(), &EventCenter::DeviceErrorRaise, [=](QObject* parent, QObject* msg) {
|
||||
if (!this->isVisible()) return;
|
||||
//默认旧模式
|
||||
if (!mMessageDialog)
|
||||
{
|
||||
mMessageDialog = new GUIMessageDialog(this);
|
||||
}
|
||||
if (msg)
|
||||
{
|
||||
QString* str = (QString*)msg;
|
||||
mMessageDialog->showMessage(*str);
|
||||
}
|
||||
else
|
||||
{
|
||||
mMessageDialog->showMessage("Something went error!");
|
||||
}
|
||||
mMessageDialog->stopLoading();
|
||||
mMessageDialog->showExitButton();
|
||||
if (mMessageDialog->isHidden())
|
||||
{
|
||||
mMessageDialog->setWindowModality(Qt::NonModal);
|
||||
mMessageDialog->exec();
|
||||
}
|
||||
});
|
||||
connect(EventCenter::Default(), &EventCenter::InvokeOperationStart, [=](QObject*, QObject* msg) {
|
||||
if (mMessageDialog)
|
||||
{
|
||||
mMessageDialog->hide();
|
||||
delete mMessageDialog;
|
||||
}
|
||||
mMessageDialog = new GUIMessageDialog(this);
|
||||
if (msg)
|
||||
{
|
||||
QString* str = (QString*)msg;
|
||||
mMessageDialog->showMessage(*str);
|
||||
}
|
||||
else
|
||||
{
|
||||
mMessageDialog->hideMessage();
|
||||
}
|
||||
mMessageDialog->hideExitButton();
|
||||
mMessageDialog->startLoading();
|
||||
AppGlobalValues::setInProcessing(true);
|
||||
// msgDialog->showFullScreen();
|
||||
if (mMessageDialog->isHidden())
|
||||
{
|
||||
mMessageDialog->show();
|
||||
}
|
||||
});
|
||||
connect(EventCenter::Default(), &EventCenter::InvokeOperationProgress, [=](QObject*, QObject* msg) {
|
||||
if (!mMessageDialog) mMessageDialog = new GUIMessageDialog(this);
|
||||
if (msg)
|
||||
{
|
||||
QVariant* var = (QVariant*)msg;
|
||||
if (mMessageDialog->Pending())
|
||||
{
|
||||
mMessageDialog->stopPending();
|
||||
}
|
||||
mMessageDialog->showMessage(var->toString());
|
||||
}
|
||||
else
|
||||
{
|
||||
mMessageDialog->hideMessage();
|
||||
}
|
||||
if (mMessageDialog->isHidden())
|
||||
{
|
||||
mMessageDialog->show();
|
||||
}
|
||||
});
|
||||
connect(EventCenter::Default(), &EventCenter::InvokeOperationPending, [=](QObject*, QObject* msg) {
|
||||
if (!mMessageDialog) return;
|
||||
if (!mMessageDialog->Pending())
|
||||
{
|
||||
mMessageDialog->startPending();
|
||||
QVariant* var = (QVariant*)msg;
|
||||
mMessageDialog->showMessage(var->toString());
|
||||
}
|
||||
});
|
||||
connect(EventCenter::Default(), &EventCenter::InvokeOperationEnd, [=](QObject*, QObject* v) {
|
||||
if (!mMessageDialog)
|
||||
{
|
||||
return;
|
||||
}
|
||||
if (!mMessageDialog->isHidden())
|
||||
{
|
||||
if (v && ((QVariant*)v)->toBool())
|
||||
{
|
||||
mMessageDialog->stopLoading();
|
||||
mMessageDialog->showMessage("Scan completed!");
|
||||
mMessageDialog->showExitButton();
|
||||
mMessageDialog->setWindowModality(Qt::WindowModal);
|
||||
mMessageDialog->exec();
|
||||
}
|
||||
else
|
||||
{
|
||||
mMessageDialog->accept();
|
||||
}
|
||||
delete mMessageDialog;
|
||||
mMessageDialog = nullptr;
|
||||
AppGlobalValues::setInProcessing(false);
|
||||
}
|
||||
});
|
||||
connect(EventCenter::Default(), &EventCenter::PatientSelected, this,&MainWindow::switchToScanTab);
|
||||
connect(EventCenter::Default(), &EventCenter::RequestLogin, this,&MainWindow::requestLogin);
|
||||
connect(EventCenter::Default(), &EventCenter::LoginRoleChanged, this,&MainWindow::resetRoleLayout);
|
||||
@@ -182,14 +78,14 @@ MainWindow::~MainWindow()
|
||||
|
||||
void MainWindow::loadStyleSheet(const QString& aSheetName)
|
||||
{
|
||||
QFile file(":/stylesheet/" + aSheetName + ".css");
|
||||
file.open(QFile::ReadOnly);
|
||||
if (file.isOpen())
|
||||
{
|
||||
QString styleSheet = this->styleSheet();
|
||||
styleSheet += QLatin1String(file.readAll());
|
||||
this->setStyleSheet(styleSheet);
|
||||
}
|
||||
// QFile file(":/stylesheet/" + aSheetName + ".css");
|
||||
// file.open(QFile::ReadOnly);
|
||||
// if (file.isOpen())
|
||||
// {
|
||||
// QString styleSheet = this->styleSheet();
|
||||
// styleSheet += QLatin1String(file.readAll());
|
||||
// this->setStyleSheet(styleSheet);
|
||||
// }
|
||||
}
|
||||
|
||||
void MainWindow::initializeLayout()
|
||||
@@ -374,12 +270,14 @@ void MainWindow::requestLogin()
|
||||
mLoginDialog->setWindowModality(Qt::WindowModal);
|
||||
mLoginDialog->showFullScreen();
|
||||
centerWidgetHide();
|
||||
QApplication::setActiveWindow(mLoginDialog);
|
||||
while (QDialog::Accepted != mLoginDialog->result())
|
||||
{
|
||||
mLoginDialog->exec();
|
||||
}
|
||||
mLoginDialog->setResult(QDialog::Rejected);
|
||||
centerWidgetShow();
|
||||
QApplication::setActiveWindow(centralWidget());
|
||||
}
|
||||
|
||||
void MainWindow::resetRoleLayout() {
|
||||
|
||||
Reference in New Issue
Block a user