#include "PacsSettingsDialog.h" #include "dialogs/DicomSettingsArea.h" #include "json/jsonobject.h" #include "log/UserOperationLog.h" #include "components/ErrorLabel.h" #include namespace { const int ENDLINE_SPACE = 3; } PacsSettingsDialog::PacsSettingsDialog(QWidget* aParent, Qt::WindowFlags aWindowFlag) : GUIFormBaseDialog(aParent, aWindowFlag) , mSettingsArea(new DicomSettingsArea(this)) , mErrorText(new ErrorLabel(this)) { QVBoxLayout* layout = new QVBoxLayout(mFormWidget); layout->setSpacing(10); //Title QLabel* title = new QLabel(this); title->setAlignment(Qt::AlignCenter); title->setText(tr("PACS Settings")); title->setObjectName("title"); layout->addWidget(title); layout->addWidget(mSettingsArea); QLabel* endline = new QLabel(this); endline->setFixedHeight(ENDLINE_SPACE); endline->setObjectName("endline"); layout->addWidget(endline); layout->addWidget(mErrorText); mErrorText->hide(); initConfig(); } PacsSettingsDialog::~PacsSettingsDialog() { } void PacsSettingsDialog::initConfig() { host serverInfo; serverInfo = JsonObject::Instance()->getServer(JsonObject::PACS); mSettingsArea->setServerAETitle(serverInfo.ae); mSettingsArea->setServerIpAddress(serverInfo.ip); mSettingsArea->setMyAETitle(serverInfo.localAE); mSettingsArea->setServerPort(serverInfo.port); } bool PacsSettingsDialog::updateReferenceData() { QString myAETitle = mSettingsArea->getMyAETitle(); QString serverIp = mSettingsArea->getServerIpAddress(); QString serverPort = mSettingsArea->getServerPort(); QString serverAETitle = mSettingsArea->getServerAETitle(); mErrorText->show(); if(myAETitle.isEmpty()) { mErrorText->setErrorText(tr("AE can't be empty")); return false; } if(serverAETitle.isEmpty()) { mErrorText->setErrorText(tr("Server AE can't be empty")); return false; } if(serverIp.isEmpty()) { mErrorText->setErrorText(tr("Server Ip can't be empty")); return false; } if(serverPort.isEmpty()) { mErrorText->setErrorText(tr("Server Port can't be empty")); return false; } if(!mSettingsArea->isIpAddressValid()) { mErrorText->setErrorText(tr("Ip Address is not valid")); return false; } if(!mSettingsArea->isPortValid()) { mErrorText->setErrorText(tr("Port is not valid")); return false; } host serverInfo; serverInfo.ip = serverIp; serverInfo.ae = serverAETitle; serverInfo.localAE = myAETitle; serverInfo.port = serverPort; JsonObject::Instance()->setServer(JsonObject::PACS, serverInfo); LOG_USER_OPERATION("Set PACS Settings"); return true; }