Files
DCMV/DIDKit/App/MenuAction/OpenFileAction.cpp
2022-09-23 13:13:41 +08:00

42 lines
995 B
C++

#include "OpenFileAction.h"
#include <QDebug>
#include <QFileDialog>
#include <QMenu>
#include <QDir>
#include "IO/DICOM/DicomLoader.h"
#include "DICOMPropertiesStore.h"
OpenFileAction::OpenFileAction(const QString& aName,QWidget* aParent)
: QAction(aName, aParent)
{
connect(this,&QAction::triggered,this,&OpenFileAction::executeAction);
}
OpenFileAction::~OpenFileAction()
{
}
void OpenFileAction::executeAction()
{
QString path = QFileDialog::getOpenFileName(menu());;
DicomLoader::InitCodecs();
std::string file = path.toStdString();
std::vector<ExtendMedicalImageProperties*> vector;
int count = 0;
DicomLoader::readPropertiesFromFile(file,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);
}