From 16575959a9d5f6ec42f35e8f4d09ba9786d8c220 Mon Sep 17 00:00:00 2001 From: chenhuijun Date: Wed, 31 Jul 2024 15:52:44 +0800 Subject: [PATCH] feat: Add DICOM connection test(CEcho) function to MppsSettingsDialog --- src/dialogs/MppsSettingsDialog.cpp | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/src/dialogs/MppsSettingsDialog.cpp b/src/dialogs/MppsSettingsDialog.cpp index abb6e1a..9972772 100644 --- a/src/dialogs/MppsSettingsDialog.cpp +++ b/src/dialogs/MppsSettingsDialog.cpp @@ -5,7 +5,9 @@ #include "dialogs/DicomSettingsArea.h" #include "json/jsonobject.h" #include "log/LogManager.h" +#include "DialogManager.h" +#include #include namespace @@ -18,6 +20,7 @@ MppsSettingsDialog::MppsSettingsDialog(QWidget* aParent, Qt::WindowFlags aWindow , mSettingsArea(new DicomSettingsArea(this)) , mErrorText(new ErrorLabel(this)) { + setFocusPolicy(Qt::StrongFocus); QVBoxLayout* layout = new QVBoxLayout(mFormWidget); layout->setSpacing(10); //Title @@ -28,6 +31,10 @@ MppsSettingsDialog::MppsSettingsDialog(QWidget* aParent, Qt::WindowFlags aWindow layout->addWidget(title); layout->addWidget(mSettingsArea); + QPushButton * cEchoBtn = new QPushButton(this); + cEchoBtn->setObjectName("cechoButton"); + cEchoBtn->setText(tr("Test Connection")); + layout->addWidget(cEchoBtn,Qt::AlignHCenter); QLabel* endline = new QLabel(this); endline->setFixedHeight(ENDLINE_SPACE); endline->setObjectName("endline"); @@ -36,6 +43,26 @@ MppsSettingsDialog::MppsSettingsDialog(QWidget* aParent, Qt::WindowFlags aWindow mErrorText->hide(); initConfig(); + + connect(cEchoBtn, &QPushButton::clicked, [=](){ + QList list; + CEchoSetting setting; + setting.AETitle = mSettingsArea->getMyAETitle().toStdString(); + setting.IP = mSettingsArea->getServerIpAddress().toStdString(); + setting.Port = mSettingsArea->getServerPort().toInt(); + setting.ServerTitle = mSettingsArea->getServerAETitle().toStdString(); + setting.Type = 0; + list.append(setting); + CEchoSetting remoteSetting; + remoteSetting.IP = mSettingsArea->getServerIpAddress().toStdString(); + remoteSetting.Port = mSettingsArea->getServerPort().toInt(); + remoteSetting.ServerTitle = mSettingsArea->getServerAETitle().toStdString(); + remoteSetting.Type = 1; + list.append(remoteSetting); + + DialogManager::Default()->requestCEchoTest(list); + }); + } MppsSettingsDialog::~MppsSettingsDialog()