Files
GUI/src/dialogs/DicomSettingsArea.cpp

120 lines
2.8 KiB
C++
Raw Normal View History

2024-04-25 14:37:38 +08:00
#include "DicomSettingsArea.h"
#include "ui_DicomSettingsArea.h"
#include "utilities/InputFormatValidator.h"
2024-05-09 17:38:48 +08:00
#include "components/ImageSwitch.h"
#include "json/jsonobject.h"
2024-04-25 14:37:38 +08:00
DicomSettingsArea::DicomSettingsArea(QWidget *aParent)
: QWidget(aParent)
, mUI(new Ui::DicomSettingsArea)
2024-05-09 17:38:48 +08:00
, mMppsOpen(nullptr)
2024-04-25 14:37:38 +08:00
{
mUI->setupUi(this);
mUI->mServerPort->setObjectName("DicomSettingsLabel");
mUI->mMyAETitle->setObjectName("DicomSettingsLabel");
}
DicomSettingsArea::~DicomSettingsArea()
{
delete mUI;
}
bool DicomSettingsArea::isIpAddressValid()
{
return InputFormatValidator::ValidateIpAddressFormat(mUI->mServerIpAddressEdit->text());
}
bool DicomSettingsArea::isPortValid()
{
return InputFormatValidator::ValidatePortFormat(mUI->mServerPortEdit->text());
}
void DicomSettingsArea::setServerIpAddress(const QString& aValue)
{
mUI->mServerIpAddressEdit->setText(aValue);
}
void DicomSettingsArea::setServerPort(const QString& aValue)
{
mUI->mServerPortEdit->setText(aValue);
}
void DicomSettingsArea::setMyAETitle(const QString& aValue)
{
mUI->mMyAETitleEdit->setText(aValue);
}
void DicomSettingsArea::setServerAETitle(const QString& aValue)
{
mUI->mServerAETitleEdit->setText(aValue);
}
QString DicomSettingsArea::getServerIpAddress()
{
return mUI->mServerIpAddressEdit->text();
}
QString DicomSettingsArea::getServerPort()
{
return mUI->mServerPortEdit->text();
}
QString DicomSettingsArea::getMyAETitle()
{
return mUI->mMyAETitleEdit->text();
}
QString DicomSettingsArea::getServerAETitle()
{
return mUI->mServerAETitleEdit->text();
}
2024-05-09 17:38:48 +08:00
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(true);
}
else
{
2024-05-09 17:38:48 +08:00
setEnable(false);
}
connect(mMppsOpen, &ImageSwitch::clicked, [this]()
{
bool isMppsOpen = mMppsOpen->getChecked();
setEnable(isMppsOpen);
2024-05-09 17:38:48 +08:00
});
}
bool DicomSettingsArea::getMppsIsOpen()
{
if(nullptr != mMppsOpen)
{
return mMppsOpen->getChecked();
}
return false;
}