diff --git a/src/dialogs/DialogManager.cpp b/src/dialogs/DialogManager.cpp index 4e87c05..db6fde4 100644 --- a/src/dialogs/DialogManager.cpp +++ b/src/dialogs/DialogManager.cpp @@ -35,6 +35,7 @@ #include "dicom/WorkListManager.h" #include "windows/LoginDialog.h" +#include "windows/MainWindow.h" #include "screensaver/ScreenSaverWindow.h" #include "utilities/GetLockScreenTimeHelper.h" #include "utilities/GetProtocalHelper.h" @@ -88,6 +89,11 @@ void DialogManager::init(QWidget* aParent) mRightEmergencyDialog = nullptr; connect(EventCenter::Default(), &EventCenter::WorklistSearchFinished, mWorklistLoadingDialog, &QDialog::accept); + MainWindow* mainWindow = dynamic_cast(aParent); + if(mainWindow!=nullptr) + { + connect(this, &DialogManager::loginDialogShown, mainWindow, &MainWindow::hideInitializeWidget); + } } //得考虑多线程的问题 diff --git a/src/windows/MainWindow.cpp b/src/windows/MainWindow.cpp index 53dbdb7..ea3c73f 100644 --- a/src/windows/MainWindow.cpp +++ b/src/windows/MainWindow.cpp @@ -384,6 +384,11 @@ void MainWindow::enableAllTabWidget() } } +void MainWindow::hideInitializeWidget() +{ + mInitializWidget->setVisible(false); +} + void MainWindow::handleEmptyScanDataCorrupted() { EventCenter::Default()->triggerEvent(EmptyScanDataBroked, nullptr, nullptr); diff --git a/src/windows/MainWindow.h b/src/windows/MainWindow.h index b442332..e4457f7 100644 --- a/src/windows/MainWindow.h +++ b/src/windows/MainWindow.h @@ -37,6 +37,7 @@ public slots: void requestLogin(); void triggerError(const QString&); void triggerInfo(const QPair&); + void hideInitializeWidget(); protected: void changeEvent(QEvent* aEvent) override;