From a0feff11e2f9d0b41539756827c3e1802ea56c8f Mon Sep 17 00:00:00 2001 From: sunwen Date: Tue, 28 May 2024 13:55:32 +0800 Subject: [PATCH] feat: Change Mpps settings in new recon interface. --- src/dialogs/DicomSettingsArea.cpp | 6 +++++- src/forms/settings/SystemSettingForm.cpp | 9 +++++++-- src/forms/settings/SystemSettingForm.h | 1 + src/recon/ReconManager.cpp | 15 +++++++++++++++ src/recon/ReconManager.h | 2 ++ 5 files changed, 30 insertions(+), 3 deletions(-) diff --git a/src/dialogs/DicomSettingsArea.cpp b/src/dialogs/DicomSettingsArea.cpp index 0655422..4447a65 100644 --- a/src/dialogs/DicomSettingsArea.cpp +++ b/src/dialogs/DicomSettingsArea.cpp @@ -95,12 +95,16 @@ void DicomSettingsArea::setMppsMode() if(isMppsOpen) { mMppsOpen->setChecked(true); + setEnable(true); + } + else + { setEnable(false); } connect(mMppsOpen, &ImageSwitch::clicked, [this]() { bool isMppsOpen = mMppsOpen->getChecked(); - setEnable(!isMppsOpen); + setEnable(isMppsOpen); }); } diff --git a/src/forms/settings/SystemSettingForm.cpp b/src/forms/settings/SystemSettingForm.cpp index 3b6e8ed..fd4d38b 100644 --- a/src/forms/settings/SystemSettingForm.cpp +++ b/src/forms/settings/SystemSettingForm.cpp @@ -72,7 +72,11 @@ SystemSettingForm::SystemSettingForm(QWidget* parent) connect(mUI->mMppsButton, &QToolButton::clicked, [&]() { - DialogManager::Default()->requestMppsSettings(); + if(DialogManager::Default()->requestMppsSettings() == QDialog::Accepted) + { + auto server = JsonObject::Instance()->getServer(JsonObject::MPPS); + emit mppsSettingsSaved(JsonObject::Instance()->getMppsOpen(), server.ae, server.ip, server.port.toInt()); + } }); // connect(mUI->btnDICOM, &QToolButton::clicked, [&]() { @@ -102,8 +106,9 @@ SystemSettingForm::SystemSettingForm(QWidget* parent) // }); connect(ReconManager::getInstance(), &ReconManager::setPacsSettingsResponsed, this, &SystemSettingForm::processPacsSettingsResponsed); + connect(ReconManager::getInstance(), &ReconManager::setMppsSettingsResponsed, this, &SystemSettingForm::processPacsSettingsResponsed); connect(this, &SystemSettingForm::pacsSettingsSaved, ReconManager::getInstance(), &ReconManager::setPacsSettings, Qt::QueuedConnection); - + connect(this, &SystemSettingForm::mppsSettingsSaved, ReconManager::getInstance(), &ReconManager::setMppsSettings, Qt::QueuedConnection); } SystemSettingForm::~SystemSettingForm() diff --git a/src/forms/settings/SystemSettingForm.h b/src/forms/settings/SystemSettingForm.h index 1044837..f5a3f93 100644 --- a/src/forms/settings/SystemSettingForm.h +++ b/src/forms/settings/SystemSettingForm.h @@ -20,6 +20,7 @@ public: signals: void pacsSettingsSaved(const QString& aClientAETitle, const QString& aServerAETitle, const QString& aServerIP, int aServerPort); + void mppsSettingsSaved(bool aIsOpen, const QString& aServerAETitle, const QString& aServerIP, int aServerPort); private slots: void processPacsSettingsResponsed(bool aResult, const QVariant& aMessage); diff --git a/src/recon/ReconManager.cpp b/src/recon/ReconManager.cpp index a993867..979eff5 100644 --- a/src/recon/ReconManager.cpp +++ b/src/recon/ReconManager.cpp @@ -135,6 +135,21 @@ void ReconManager::setPacsSettings(const QString& aClientAETitle, const QString& emit setPacsSettingsResponsed(true, QVariant::fromValue(QString("Set PACS settings succeed."))); } +void ReconManager::setMppsSettings(bool aIsOpen, const QString& aServerAETitle, const QString& aServerIP, int aServerPort) +{ + MPPSSetting settings = {aIsOpen ? 1 : 0, aServerAETitle.toStdString(), aServerIP.toStdString(), aServerPort}; + auto response = mReconClient->SetMPPSSetting(settings); + if(response.bad()) + { + QString msg = QString("Set MPPS settings failed : ") + response.error().data(); + qDebug()<< msg; + emit setMppsSettingsResponsed(false, QVariant::fromValue(msg)); + return; + } + + emit setMppsSettingsResponsed(true, QVariant::fromValue(QString("Set MPPS settings succeed."))); +} + void ReconManager::getReconVersion() { auto result = mReconClient->QueryVersion(); diff --git a/src/recon/ReconManager.h b/src/recon/ReconManager.h index 3a296d9..849f149 100644 --- a/src/recon/ReconManager.h +++ b/src/recon/ReconManager.h @@ -23,6 +23,7 @@ public slots: void createScan(const QString& aScanID, const QString& aStudyUID,const QString& aMPPSUID, const QString& aReferenceID, const QString& aPath); void queryReconStatus(const QStringList& aScanIDs); void setPacsSettings(const QString& aClientAETitle, const QString& aServerAETitle, const QString& aServerIP, int aServerPort); + void setMppsSettings(bool aIsOpen, const QString& aServerAETitle, const QString& aServerIP, int aServerPort); void checkReconConnection(); void getReconVersion(); @@ -35,6 +36,7 @@ signals: void createScanResponsed(bool aResult, const QString& aScanID, const QString& aMessage = ""); void queryReconStateResponsed(bool aResult, const QVariant& aData); void setPacsSettingsResponsed(bool aResult, const QVariant& aMessage); + void setMppsSettingsResponsed(bool aResult, const QVariant& aMessage); void checkReconConnectionResponsed(bool aResult); void getReconVersionResponsed(const QString& aResult);