#include "OpenDirAction.h" #include #include #include "IO/DICOM/DicomLoader.h" #include "DICOMPropertiesStore.h" OpenDirAction::OpenDirAction(const QString& aName,QWidget* aParent) : QAction(aName, aParent) { connect(this,&QAction::triggered,this,&OpenDirAction::executeAction); } OpenDirAction::~OpenDirAction() { } void OpenDirAction::executeAction() { QString path = QFileDialog::getExistingDirectory(menu(), tr("Open Directory"), QDir::currentPath(), QFileDialog::ShowDirsOnly | QFileDialog::DontResolveSymlinks); DicomLoader::InitCodecs(); std::string dir = path.toStdString(); std::vector vector; int count = 0; DicomLoader::readPropertiesFromDir(dir,vector, count); DicomLoader::FinalizeCodecs(); if( vector.empty()){ emit dataLoaded(false); return; } DICOMPropertiesStore::GetInstance()->reset(); for (auto item : vector) { DICOMPropertiesStore::GetInstance()->addProperty(item); } emit dataLoaded(true); }