QString strCurrentWorkDir = SysUI::EnvironmentSetting::Instance()->GetCurrentWorkDir();
QString strPathDir = QFileDialog::getExistingDirectory(this, translate("NewProjectDlg", "Open Dir"), strCurrentWorkDir);
if (strPathDir.isEmpty()) return;
QStringList ImgFilter;
QString strExt = "*.tiff"; ImgFilter << strExt;
strExt = "*.tif"; ImgFilter << strExt;
strExt = "*.img"; ImgFilter << strExt;
strExt = "*.pix"; ImgFilter << strExt;
//定义迭代器并设置过滤器
QDirIterator dir_iterator(strPathDir, ImgFilter, QDir::Files | QDir::NoSymLinks, QDirIterator::Subdirectories);
while (dir_iterator.hasNext())
{
dir_iterator.next();
QFileInfo file_info = dir_iterator.fileInfo();
if (file_info.isFile())
{
QString file_path = file_info.absoluteFilePath();
file_path = QDir::toNativeSeparators(file_path);
QString strFile = file_path;
QString file_name = strFile.right(strFile.length() - strFile.lastIndexOf('\\') - 1);
for (int i = 0; i < m_vecSateInfo.size(); i++)
{
if (file_name.contains(m_vecSateInfo[i].strType) && file_name.contains(m_vecSateInfo[i].strIdentify))
{
if (m_vecSateInfo[i].strIdentify == "PAN" || m_vecSateInfo[i].strIdentify == "NAD" || m_vecSateInfo[i].strIdentify == "DGP")
{
m_vecPan.push_back(strFile);
break;
}
else
{
m_vecMss.push_back(strFile);
break;
}
}
}
}
}