18 #include <ctkFileDialog.h> 22 #include <QMessageBox> 23 #include <QTemporaryFile> 28 : QWidget(parent), m_ProgressDialog(nullptr), m_Controls(nullptr)
44 m_Controls =
new Ui::QmitkDicomExternalDataWidgetControls;
46 m_Controls->viewExternalDataButton->setVisible(
true);
47 m_Controls->ctkDICOMBrowser->setTableOrientation(Qt::Vertical);
59 SIGNAL(seriesSelectionChanged(
const QStringList &)),
68 SIGNAL(indexingFilePath(
const QString &)),
70 SLOT(setLabelText(
const QString &)));
87 QTemporaryFile tmpDatabaseFile;
88 tmpDatabaseFile.open();
89 tmpDatabaseFile.setAutoRemove(
false);
92 catch (
const std::exception&)
105 if (filesToDownload.size() == 0)
108 info.setText(
"You have to select an entry in the DICOM browser for import.");
117 QStringList uids =
m_Controls->ctkDICOMBrowser->currentSeriesSelection();
122 QHash<QString, QVariant> eventProperty;
123 eventProperty.insert(
"FilesForSeries", filesForSeries);
124 if (!filesForSeries.isEmpty())
127 eventProperty.insert(
"Modality", modality);
135 QStringList filePaths;
138 QStringList seriesUIDs =
m_Controls->ctkDICOMBrowser->currentSeriesSelection();
139 foreach (uid, seriesUIDs)
143 if (!filePaths.empty())
146 QStringList studyUIDs =
m_Controls->ctkDICOMBrowser->currentStudiesSelection();
148 foreach (uid, studyUIDs)
151 foreach (uid, seriesUIDs)
156 if (!filePaths.empty())
159 QStringList patientsUIDs =
m_Controls->ctkDICOMBrowser->currentPatientsSelection();
161 foreach (uid, patientsUIDs)
165 foreach (uid, studyUIDs)
168 foreach (uid, seriesUIDs)
189 m_Controls->viewExternalDataButton->setEnabled((s.size() != 0));
202 m_ImportDialog->setWindowTitle(
"Import DICOM files from directory");
208 m_ProgressDialog =
new QProgressDialog(
"Initialization ...",
"Cancel", 0, 100,
this);
static void info(const char *fmt,...)