Add MppsSettingsDialog mpps open mode.

This commit is contained in:
sunwen
2024-05-09 17:38:48 +08:00
parent c6cf91694d
commit 564ef17f09
5 changed files with 70 additions and 0 deletions

View File

@@ -2,10 +2,13 @@
#include "ui_DicomSettingsArea.h"
#include "utilities/InputFormatValidator.h"
#include "components/ImageSwitch.h"
#include "json/jsonobject.h"
DicomSettingsArea::DicomSettingsArea(QWidget *aParent)
: QWidget(aParent)
, mUI(new Ui::DicomSettingsArea)
, mMppsOpen(nullptr)
{
mUI->setupUi(this);
mUI->mServerPort->setObjectName("DicomSettingsLabel");
@@ -67,3 +70,46 @@ QString DicomSettingsArea::getServerAETitle()
return mUI->mServerAETitleEdit->text();
}
void DicomSettingsArea::setEnable(bool aIsEnable)
{
mUI->mMyAETitleEdit->setEnabled(aIsEnable);
mUI->mServerAETitleEdit->setEnabled(aIsEnable);
mUI->mServerIpAddressEdit->setEnabled(aIsEnable);
mUI->mServerPortEdit->setEnabled(aIsEnable);
}
void DicomSettingsArea::setMppsMode()
{
for (int i = mUI->gridLayout->count() - 1; i >= 0; --i)
{
int r, c, rs, cs;
mUI->gridLayout->getItemPosition(i, &r, &c, &rs, &cs);
mUI->gridLayout->addWidget(mUI->gridLayout->itemAt(i)->widget(), r + 1, c, rs, cs);
}
QLabel* mppsLabel = new QLabel(this);
mppsLabel->setText("MPPS");
mMppsOpen = new ImageSwitch(this);
mUI->gridLayout->addWidget(mppsLabel, 0 , 0);
mUI->gridLayout->addWidget(mMppsOpen, 0 , 1);
bool isMppsOpen = JsonObject::Instance()->getMppsOpen();
if(isMppsOpen)
{
mMppsOpen->setChecked(true);
setEnable(false);
}
connect(mMppsOpen, &ImageSwitch::clicked, [this]()
{
bool isMppsOpen = mMppsOpen->getChecked();
setEnable(!isMppsOpen);
});
}
bool DicomSettingsArea::getMppsIsOpen()
{
if(nullptr != mMppsOpen)
{
return mMppsOpen->getChecked();
}
return false;
}

View File

@@ -8,6 +8,8 @@ namespace Ui
class DicomSettingsArea;
}
class ImageSwitch;
class DicomSettingsArea : public QWidget
{
Q_OBJECT
@@ -22,14 +24,18 @@ public:
QString getServerPort();
QString getMyAETitle();
QString getServerAETitle();
bool getMppsIsOpen();
void setServerIpAddress(const QString& aValue);
void setServerPort(const QString& aValue);
void setMyAETitle(const QString& aValue);
void setServerAETitle(const QString& aValue);
void setEnable(bool aIsEnable);
void setMppsMode();
private:
Ui::DicomSettingsArea* mUI;
ImageSwitch* mMppsOpen;
};
#endif // DICOMSETTINGSAREA_H

View File

@@ -51,6 +51,7 @@ void MppsSettingsDialog::initConfig()
mSettingsArea->setServerIpAddress(serverInfo.ip);
mSettingsArea->setMyAETitle(serverInfo.name);
mSettingsArea->setServerPort(serverInfo.port);
mSettingsArea->setMppsMode();
}
bool MppsSettingsDialog::updateReferenceData()
@@ -103,6 +104,7 @@ bool MppsSettingsDialog::updateReferenceData()
serverInfo.name = myAETitle;
serverInfo.port = serverPort;
JsonObject::Instance()->setServer(JsonObject::MPPS, serverInfo);
JsonObject::Instance()->setMppsOpen(mSettingsArea->getMppsIsOpen());
return true;
}

View File

@@ -92,6 +92,7 @@ void JsonObject::init()
mMppsHost.ip = QString(getJsonString("mpps", "ip"));
mMppsHost.name = QString(getJsonString("mpps", "name"));
mMppsHost.port = QString(getJsonString("mpps", "port"));
mMppsOpen = getBool("mpps","open");
mDefaultIpAddress.ip = QString(getJsonString("address", "ip"));
mDefaultIpAddress.mask = QString(getJsonString("address", "mask"));
@@ -629,3 +630,14 @@ int JsonObject::getPatientListExpireDays()
{
return mPatientListExpireDays;
}
bool JsonObject::getMppsOpen()
{
return mMppsOpen;
}
void JsonObject::setMppsOpen(bool aIsOpen)
{
mMppsOpen = aIsOpen;
setBool("mpps","open", aIsOpen, true);
}

View File

@@ -102,6 +102,9 @@ public:
bool getScreenSaverMode();
void setScreenSaverMode(bool aIsOpen);
bool getMppsOpen();
void setMppsOpen(bool aIsOpen);
const char* getEmptyScanID();
void setEmptyScanID(const char* id);
@@ -178,6 +181,7 @@ private:
bool mCompleteNotify;
bool mAnonymousMode;
bool mScreenSaverMode;
bool mMppsOpen;