Add UI for DIDKIT.
This commit is contained in:
41
DIDKit/App/MenuAction/OpenDirAction.cpp
Normal file
41
DIDKit/App/MenuAction/OpenDirAction.cpp
Normal file
@@ -0,0 +1,41 @@
|
||||
#include "OpenDirAction.h"
|
||||
|
||||
#include <QFileDialog>
|
||||
#include <QMenu>
|
||||
|
||||
#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<ExtendMedicalImageProperties*> 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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user