本文整理汇总了C++中qfileinfolist::const_iterator类的典型用法代码示例。如果您正苦于以下问题:C++ const_iterator类的具体用法?C++ const_iterator怎么用?C++ const_iterator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了const_iterator类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: LoadThumbnail
void IconView::LoadThumbnail(ThumbItem *item)
{
if (!item)
return;
bool canLoadGallery = m_isGallery;
QString imagePath;
if (canLoadGallery)
{
if (item->IsDir())
{
// try to find a highlight
QDir subdir(item->GetPath(), "*.highlight.*",
QDir::Name, QDir::Files);
if (subdir.count() > 0)
{
// check if the image format is understood
QFileInfoList::const_iterator it = subdir.entryInfoList().begin();
if (it != subdir.entryInfoList().end())
{
imagePath = it->absoluteFilePath();
}
}
}
else
{
QString fn = item->GetName();
int firstDot = fn.indexOf('.');
if (firstDot > 0)
{
fn.insert(firstDot, ".thumb");
imagePath = QString("%1/%2").arg(m_currDir).arg(fn);
}
}
canLoadGallery = !(QFile(imagePath).exists());
}
if (!canLoadGallery)
imagePath = QString("%1%2.jpg")
.arg(ThumbGenerator::getThumbcacheDir(m_currDir))
.arg(item->GetName());
item->SetImageFilename(imagePath);
}
开发者ID:mhyon,项目名称:mythtv,代码行数:47,代码来源:iconview.cpp
示例2: addUserSchemes
void QgsColorSchemeRegistry::addUserSchemes()
{
QString palettesDir = QgsApplication::qgisSettingsDirPath() + "/palettes";
QDir localDir;
if ( !localDir.mkpath( palettesDir ) )
{
return;
}
QFileInfoList fileInfoList = QDir( palettesDir ).entryInfoList( QStringList( "*.gpl" ), QDir::Files );
QFileInfoList::const_iterator infoIt = fileInfoList.constBegin();
for ( ; infoIt != fileInfoList.constEnd(); ++infoIt )
{
addColorScheme( new QgsUserColorScheme( infoIt->fileName() ) );
}
}
开发者ID:AM7000000,项目名称:QGIS,代码行数:17,代码来源:qgscolorschemeregistry.cpp
示例3: DeleteDirectory
bool GalleryUtil::DeleteDirectory(const QFileInfo &dir)
{
if (!dir.exists())
return false;
QDir srcDir(dir.absoluteFilePath());
QFileInfoList list = srcDir.entryInfoList();
QFileInfoList::const_iterator it = list.begin();
for (; it != list.end(); ++it)
{
const QString fn = it->fileName();
if (fn != "." && fn != "..")
Delete(*it);
}
return FileDelete(dir);
}
开发者ID:freelyfree,项目名称:mythtv,代码行数:17,代码来源:galleryutil.cpp
示例4: DeleteDirectory
bool GalleryUtil::DeleteDirectory(const QFileInfo &dir)
{
if (!dir.exists())
return false;
QDir srcDir(dir.absoluteFilePath());
srcDir.setFilter(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
QFileInfoList list = srcDir.entryInfoList();
QFileInfoList::const_iterator it = list.begin();
for (; it != list.end(); ++it)
{
const QString fn = it->fileName();
Delete(*it);
}
return FileDelete(dir);
}
开发者ID:DaveDaCoda,项目名称:mythtv,代码行数:17,代码来源:galleryutil.cpp
示例5: getDataSizeByAbsolutePath
int FmDriveDetailsContent::getDataSizeByAbsolutePath( const QString &driveName,
const FmDriveDetailsDataGroup &dataGroup,
QList<FmDriveDetailsSize*> &detailsSizeList, volatile bool *isStopped )
{
quint64 totalSize = 0;
QStringList typeFilter = dataGroup.pathList();
for( QStringList::const_iterator it = typeFilter.begin();
it!= typeFilter.end(); ++it ) {
if ( *isStopped ){
return FmErrCancel;
}
QString driver(FmUtils::removePathSplash(FmUtils::getDriveNameFromPath(driveName)));
QFileInfo fileInfo(QString(driver + (*it)));
if (fileInfo.exists()) {
if (fileInfo.isFile()) {
totalSize += fileInfo.size();
} else if (fileInfo.isDir()) {
QList<QDir> dirs;
dirs.append(QDir(fileInfo.absolutePath()));
// traverse the whole path
while (!dirs.isEmpty()) {
QDir::Filters filter = QDir::NoDotAndDotDot | QDir::AllEntries;
QFileInfoList infoList = dirs.first().entryInfoList( filter );
for ( QFileInfoList::const_iterator it = infoList.begin(); it != infoList.end(); ++it ) {
if ( *isStopped ){
return FmErrCancel;
}
if ( it->isFile() ) {
totalSize += it->size();
}
else if ( it->isDir() ) {
dirs.append( QDir( it->absoluteFilePath() ) );
}
}
dirs.removeFirst();
}
}
}
}
detailsSizeList.append( new FmDriveDetailsSize( dataGroup.dataType(), totalSize ) );
return FmErrNone;
}
开发者ID:cdaffara,项目名称:symbiandump-ossapps,代码行数:45,代码来源:fmdrivedetailstype.cpp
示例6: ImageCollectionShared
KipiImageCollectionShared::KipiImageCollectionShared(const QUrl& albumPath)
: ImageCollectionShared(),
m_albumPath(albumPath),
m_images()
{
// go through the album and add its images:
const QString albumPathString = m_albumPath.toLocalFile();
// add only the files, because recursion through directories should be
// handled in KipiInterface::add[Selected]Album
// TODO: restrict the search to images!
const QFileInfoList files = QDir(albumPathString).entryInfoList(QDir::Files);
for (QFileInfoList::const_iterator it = files.constBegin(); it!=files.constEnd(); ++it)
{
m_images.append(QUrl::fromLocalFile(it->absoluteFilePath()));
}
}
开发者ID:KDE,项目名称:libkipi,代码行数:18,代码来源:kipiimagecollectionshared.cpp
示例7: svgDirectory
//list all directories in $prefix/share/qgis/svg
foreach( QString path, QgsApplication::svgPaths() )
{
QDir svgDirectory( path );
if ( !svgDirectory.exists() || !svgDirectory.isReadable() )
{
continue; //error
}
QFileInfoList directoryList = svgDirectory.entryInfoList( QDir::Dirs | QDir::NoDotAndDotDot );
QFileInfoList::const_iterator dirIt = directoryList.constBegin();
for ( ; dirIt != directoryList.constEnd(); ++dirIt )
{
if ( addDirectoryToPreview( dirIt->absoluteFilePath() ) == 0 )
{
mSearchDirectoriesComboBox->addItem( dirIt->absoluteFilePath() );
}
}
}
开发者ID:aaronr,项目名称:Quantum-GIS,代码行数:19,代码来源:qgssvgdiagramfactorywidget.cpp
示例8: defaultTemplateDir
QMap<QString, QString> QgsComposerManager::defaultTemplates() const
{
QMap<QString, QString> templateMap;
//search for default templates in $pkgDataPath/composer_templates
QDir defaultTemplateDir( QgsApplication::pkgDataPath() + "/composer_templates" );
if ( !defaultTemplateDir.exists() )
{
return templateMap;
}
QFileInfoList fileInfoList = defaultTemplateDir.entryInfoList( QDir::Files );
QFileInfoList::const_iterator infoIt = fileInfoList.constBegin();
for ( ; infoIt != fileInfoList.constEnd(); ++infoIt )
{
templateMap.insert( infoIt->baseName(), infoIt->absoluteFilePath() );
}
return templateMap;
}
开发者ID:Nald,项目名称:Quantum-GIS,代码行数:19,代码来源:qgscomposermanager.cpp
示例9: addStandardDirectoriesToPreview
void QgsComposerPictureWidget::addStandardDirectoriesToPreview()
{
mPreviewListWidget->clear();
//list all directories in $prefix/share/qgis/svg
QStringList svgPaths = QgsApplication::svgPaths();
for ( int i = 0; i < svgPaths.size(); i++ )
{
QDir svgDirectory( svgPaths[i] );
if ( !svgDirectory.exists() || !svgDirectory.isReadable() )
{
continue;
}
//add directory itself
mSearchDirectoriesComboBox->addItem( svgDirectory.absolutePath() );
addDirectoryToPreview( svgDirectory.absolutePath() );
//and also subdirectories
QFileInfoList directoryList = svgDirectory.entryInfoList( QDir::Dirs | QDir::NoDotAndDotDot );
QFileInfoList::const_iterator dirIt = directoryList.constBegin();
for ( ; dirIt != directoryList.constEnd(); ++dirIt )
{
if ( addDirectoryToPreview( dirIt->absoluteFilePath() ) == 0 )
{
mSearchDirectoriesComboBox->addItem( dirIt->absoluteFilePath() );
}
}
}
//include additional user-defined directories for images
QSettings s;
QStringList userDirList = s.value( "/Composer/PictureWidgetDirectories" ).toStringList();
QStringList::const_iterator userDirIt = userDirList.constBegin();
for ( ; userDirIt != userDirList.constEnd(); ++userDirIt )
{
addDirectoryToPreview( *userDirIt );
mSearchDirectoriesComboBox->addItem( *userDirIt );
}
mPreviewsLoaded = true;
}
开发者ID:Br1ndavoine,项目名称:QGIS,代码行数:42,代码来源:qgscomposerpicturewidget.cpp
示例10: defaultTemplateDir
QMap<QString, QString> QgsComposerManager::defaultTemplates( bool fromUser ) const
{
QMap<QString, QString> templateMap;
//search for default templates in $pkgDataPath/composer_templates
// user templates in $qgisSettingsDirPath/composer_templates
QDir defaultTemplateDir( fromUser ? mUserTemplatesDir : mDefaultTemplatesDir );
if ( !defaultTemplateDir.exists() )
{
return templateMap;
}
QFileInfoList fileInfoList = defaultTemplateDir.entryInfoList( QDir::Files );
QFileInfoList::const_iterator infoIt = fileInfoList.constBegin();
for ( ; infoIt != fileInfoList.constEnd(); ++infoIt )
{
templateMap.insert( infoIt->baseName(), infoIt->absoluteFilePath() );
}
return templateMap;
}
开发者ID:jacklibj,项目名称:readqgis,代码行数:20,代码来源:qgscomposermanager.cpp
示例11: FilesModelUpdate
/*
* FilesModelUpdate
* extfilter_imgs_ 에 들어있는 파일들을 실제로 보여지도록 만든다.
* 조그만 아이콘으로 만들기 위한 작업
*/
void MainWindow::FilesModelUpdate() {
QFileInfoList::const_iterator iter;
file_model_->clear();
for (iter=extfilter_imgs_.begin(); iter!=extfilter_imgs_.end(); ++iter) {
qDebug() << iter->absoluteFilePath();
QImage img_buffer(iter->absoluteFilePath());
QIcon icon = GetThumnail(&img_buffer);
QStandardItem* item;
if(!icon.isNull()) {
item = new QStandardItem(icon,iter->fileName());
file_model_->appendRow(item);
}
}
extfilter_imgs_.clear();;
}
开发者ID:laybatin,项目名称:ImageDomino,代码行数:26,代码来源:mainwindow.cpp
示例12: dir
QVector<QString> FileUtils::getAllFiles(const QString &path)
{
QVector<QString> result;
QDir dir(path);
QFileInfoList fileInfoLists = dir.entryInfoList();
QFileInfoList::const_iterator iterator = fileInfoLists.constBegin();
for(; iterator != fileInfoLists.constEnd(); iterator++)
{
QString filename = iterator->fileName();
if (!filename.startsWith("."))
{
if (iterator->isDir())
{
result += getAllFiles(iterator->absoluteFilePath());
}
else if (iterator->isFile())
{
result.push_back(iterator->absoluteFilePath());
}
else
{
//
}
}
}
return result;
}
开发者ID:zhc921106,项目名称:TexturePacker,代码行数:30,代码来源:fileutils.cpp
示例13: Search
// search local database for discID
bool Dbase::Search(Cddb::Matches& res, const Cddb::discid_t discID)
{
res.matches.clear();
res.discID = discID;
if (CacheGet(res, discID))
return true;
QFileInfoList list = QDir(GetDB()).entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot);
for (QFileInfoList::const_iterator it = list.begin(); it != list.end(); ++it)
{
QString genre = it->baseName();
QFileInfoList ids = QDir(it->canonicalFilePath()).entryInfoList(QDir::Files);
for (QFileInfoList::const_iterator it2 = ids.begin(); it2 != ids.end(); ++it2)
{
if (it2->baseName().toUInt(nullptr,16) == discID)
{
QFile file(it2->canonicalFilePath());
if (file.open(QIODevice::ReadOnly | QIODevice::Text))
{
Cddb::Album a(QTextStream(&file).readAll());
a.discGenre = genre;
a.discID = discID;
LOG(VB_MEDIA, LOG_INFO, QString("LocalCDDB found %1 in ").
arg(discID,0,16) + genre + " : " +
a.artist + " / " + a.title);
CachePut(a);
res.matches.push_back(Cddb::Match(genre,discID,a.artist,a.title));
}
}
}
}
return res.matches.size() > 0;
}
开发者ID:faginbagin,项目名称:mythtv,代码行数:38,代码来源:cddb.cpp
示例14: dir
// find default skins (resources)
static const Skins &defaultSkins() {
static Skins rc;
if (rc.empty()) {
#ifdef DEFAULT_SKINS_FROM_RESOURCE
const QString skinPath = QLatin1String(skinResourcePathC);
#else
QString skinPath = QLibraryInfo::location(QLibraryInfo::PrefixPath);
skinPath += QDir::separator();
skinPath += QLatin1String("tools");
skinPath += QDir::separator();
skinPath += QLatin1String("qvfb");
#endif
QString pattern = QLatin1String("*.");
pattern += QLatin1String(skinExtensionC);
const QDir dir(skinPath, pattern);
const QFileInfoList list = dir.entryInfoList();
if (list.empty())
return rc;
const QFileInfoList::const_iterator lcend = list.constEnd();
for (QFileInfoList::const_iterator it = list.constBegin(); it != lcend; ++it)
rc.push_back(SkinNamePath(it->baseName(), it->filePath()));
}
return rc;
}
开发者ID:FilipBE,项目名称:qtextended,代码行数:25,代码来源:previewconfigurationwidget.cpp
示例15: fileList
bool File::fileList(const String& dir, const String& file_pattern, StringList& output, bool full_path)
{
QDir d(dir.toQString(), file_pattern.toQString(), QDir::Name, QDir::Files);
QFileInfoList list = d.entryInfoList();
//clear and check if empty
output.clear();
if (list.empty())
{
return false;
}
//resize output
output.resize(list.size());
//fill output
UInt i = 0;
for (QFileInfoList::const_iterator it = list.constBegin(); it != list.constEnd(); ++it)
{
output[i++] = full_path ? it->filePath() : it->fileName();
}
return true;
}
开发者ID:BioITer,项目名称:OpenMS,代码行数:24,代码来源:File.C
示例16: dirFiles
LocalProcess::FileSet LocalProcess::dirFiles(const QString &dir) const
{
QFileInfoList fil;
QDir subdirs(dir, "mergedjob-*", QDir::Name, QDir::Dirs);
QFileInfoList mergedjobdirs = subdirs.entryInfoList();
for (QFileInfoList::const_iterator itr = mergedjobdirs.begin();
itr != mergedjobdirs.end();
++itr)
{
QDir mergeddir(itr->absoluteFilePath(), "", QDir::Name, QDir::Files);
fil.append(mergeddir.entryInfoList());
}
QDir d(dir, "", QDir::Name, QDir::Files);
fil.append(d.entryInfoList());
QFileInfoList filtered;
// Filter out all files that are part of the set of input files. Everything remaining should be an outputfile
for (QFileInfoList::const_iterator itr = fil.begin();
itr != fil.end();
++itr)
{
bool partofinput = false;
for (std::vector<std::pair<openstudio::path, openstudio::path> >::const_iterator itr2 = m_requiredFiles.begin();
itr2 != m_requiredFiles.end();
++itr2)
{
QString fileName = itr->fileName();
QString fileName2 = toQString(itr2->second.filename());
if (fileName == fileName2)
{
partofinput = true;
break;
}
}
if (!partofinput)
{
filtered.push_back(*itr);
}
}
FileSet out;
typedef FileInfo (*filetransform)(QFileInfo);
try{
std::transform(filtered.begin(), filtered.end(), std::inserter(out, out.end()),
static_cast<filetransform>(&RunManager_Util::dirFile));
} catch(openstudio::Exception& e) {
LOG_AND_THROW("Exception caught " << e.what());
}
return out;
}
开发者ID:CUEBoxer,项目名称:OpenStudio,代码行数:61,代码来源:LocalProcess.cpp
示例17: addDirectoryToPreview
int QgsComposerPictureWidget::addDirectoryToPreview( const QString& path )
{
//go through all files of a directory
QDir directory( path );
if ( !directory.exists() || !directory.isReadable() )
{
return 1; //error
}
QFileInfoList fileList = directory.entryInfoList( QDir::Files );
QFileInfoList::const_iterator fileIt = fileList.constBegin();
QProgressDialog progress( "Adding Icons...", "Abort", 0, fileList.size() - 1, this );
//cancel button does not seem to work properly with modal dialog
//progress.setWindowModality(Qt::WindowModal);
int counter = 0;
for ( ; fileIt != fileList.constEnd(); ++fileIt )
{
progress.setLabelText( tr( "Creating icon for file %1" ).arg( fileIt->fileName() ) );
progress.setValue( counter );
QCoreApplication::processEvents();
if ( progress.wasCanceled() )
{
break;
}
QString filePath = fileIt->absoluteFilePath();
//test if file is svg or pixel format
bool fileIsPixel = false;
bool fileIsSvg = testSvgFile( filePath );
if ( !fileIsSvg )
{
fileIsPixel = testImageFile( filePath );
}
//exclude files that are not svg or image
if ( !fileIsSvg && !fileIsPixel )
{
++counter; continue;
}
QListWidgetItem * listItem = new QListWidgetItem( mPreviewListWidget );
listItem->setFlags( Qt::ItemIsSelectable | Qt::ItemIsEnabled );
if ( fileIsSvg )
{
QIcon icon( filePath );
listItem->setIcon( icon );
}
else //for pixel formats: create icon from scaled pixmap
{
QPixmap iconPixmap( filePath );
if ( iconPixmap.isNull() )
{
++counter; continue; //unknown file format or other problem
}
//set pixmap hardcoded to 30/30, same as icon size for mPreviewListWidget
QPixmap scaledPixmap( iconPixmap.scaled( QSize( 30, 30 ), Qt::KeepAspectRatio ) );
QIcon icon( scaledPixmap );
listItem->setIcon( icon );
}
listItem->setText( "" );
//store the absolute icon file path as user data
listItem->setData( Qt::UserRole, fileIt->absoluteFilePath() );
++counter;
}
return 0;
}
开发者ID:Br1ndavoine,项目名称:QGIS,代码行数:72,代码来源:qgscomposerpicturewidget.cpp
示例18: getDataSizeByTraversePath
int FmDriveDetailsContent::getDataSizeByTraversePath( const QString &driveName,
QList<FmDriveDetailsSize*> &detailsSizeList, volatile bool *isStopped )
{
qint64 imageSize( 0 );
qint64 soundSize( 0 );
qint64 midpJavaSize( 0 );
qint64 nativeAppsSize( 0 );
qint64 videoSize( 0 );
qint64 documentsSize( 0 );
FmFileTypeRecognizer fileTypeRecognizer;
QList<QDir> dirs;
dirs.append( QDir( driveName ) );
// traverse the whole drive
while (!dirs.isEmpty()) {
QDir::Filters filter = QDir::NoDotAndDotDot | QDir::AllEntries;
// do not summarize system and hidden files, these size will go into others category
// if( isSysHiddenIncluded ) {
// filter = filter | QDir::Hidden | QDir::System;
// }
QFileInfoList infoList = dirs.first().entryInfoList( filter );
for ( QFileInfoList::const_iterator it = infoList.begin(); it != infoList.end(); ++it ) {
if ( *isStopped ){
return FmErrCancel;
}
if ( it->isFile() ) {
FmFileTypeRecognizer::FileType fileType =
fileTypeRecognizer.getType( it->absoluteFilePath() );
switch ( fileType )
{
case FmFileTypeRecognizer::FileTypeImage:
imageSize += it->size();
break;
case FmFileTypeRecognizer::FileTypeTone:
soundSize += it->size();
break;
case FmFileTypeRecognizer::FileTypeJava:
midpJavaSize += it->size();
break;
case FmFileTypeRecognizer::FileTypeSisx:
nativeAppsSize += it->size();
break;
case FmFileTypeRecognizer::FileTypeVideo:
videoSize += it->size();
break;
case FmFileTypeRecognizer::FileTypeText:
documentsSize += it->size();
break;
default:
// do not need handle other type
break;
}
}
else if ( it->isDir() ) {
dirs.append( QDir( it->absoluteFilePath() ) );
}
}
dirs.removeFirst();
}
// store result to detailsSizeList.
detailsSizeList.append( new FmDriveDetailsSize( FmDriveDetailsSize::ETypeImages, imageSize ) ) ;
detailsSizeList.append( new FmDriveDetailsSize( FmDriveDetailsSize::ETypeSoundFiles, soundSize ) );
detailsSizeList.append( new FmDriveDetailsSize( FmDriveDetailsSize::ETypeMidpJava, midpJavaSize ) );
detailsSizeList.append( new FmDriveDetailsSize( FmDriveDetailsSize::ETypeNativeApps, nativeAppsSize ) );
detailsSizeList.append( new FmDriveDetailsSize( FmDriveDetailsSize::ETypeVideos, videoSize ) );
detailsSizeList.append( new FmDriveDetailsSize( FmDriveDetailsSize::ETypeDocuments, documentsSize ) );
return FmErrNone;
}
开发者ID:cdaffara,项目名称:symbiandump-ossapps,代码行数:73,代码来源:fmdrivedetailstype.cpp
示例19: find
openstudio::path WeatherFileFinder::find(const JobParams &t_params,
const boost::optional<std::string> &t_filelocationname,
const boost::optional<std::string> &t_weatherfilename)
{
openstudio::path epwdir;
try {
if (t_params.has("epwfile"))
{
openstudio::path epwfile = toPath(t_params.get("epwfile").children.at(0).value);
if (!epwfile.empty() && boost::filesystem::exists(epwfile))
{
LOG(Info, "Valid epwfile found, returning: " << openstudio::toString(epwfile));
return epwfile;
}
} else {
LOG(Info, "No epwfile found in params, moving on for other methods of finding weather file");
}
} catch (const std::exception &) {
// No epw dir set in params
LOG(Info, "Error with epwfile found in params, moving on for other methods of finding weather file");
}
try {
if (t_params.has("epwdir"))
{
epwdir = toPath(t_params.get("epwdir").children.at(0).value);
}
} catch (const std::exception &) {
// No epw dir set in params
LOG(Info, "No EPWDir known finding weather file will be much harder");
}
if (epwdir.empty() || !boost::filesystem::exists(epwdir) || !boost::filesystem::is_directory(epwdir))
{
LOG(Info, "The configured EPWDir either does not exist or is not a directory: " << toString(epwdir));
}
if (t_weatherfilename)
{
openstudio::path p = toPath(*t_weatherfilename);
if (!boost::filesystem::exists(p))
{
p = epwdir / toPath(*t_weatherfilename);
if (!boost::filesystem::exists(p))
{
LOG(Info, "Weather file discovered from comment header cannot be found at: " << toString(p));
} else {
return p;
}
LOG(Info, "Weather file discovered from comment header cannot be found at: " << *t_weatherfilename);
} else {
return p;
}
}
if (t_filelocationname)
{
LOG(Info, "attempting to find weather file from location name: " << *t_filelocationname);
// We did not have an epw set, so let's try to find one
try {
QDir dir(openstudio::toQString(epwdir), "*.epw");
QFileInfoList files = dir.entryInfoList();
std::set<std::string> desiredname = getNameComponents(*t_filelocationname);
openstudio::path bestmatch;
size_t matchsize = 0;
for (QFileInfoList::const_iterator itr = files.begin();
itr != files.end();
++itr)
{
std::set<std::string> foundname = getNameComponents(openstudio::toString(itr->fileName()));
std::vector<std::string> matches;
std::set_intersection(desiredname.begin(), desiredname.end(), foundname.begin(), foundname.end(),
std::back_inserter(matches));
if (matches.size() > matchsize)
{
matchsize = matches.size();
bestmatch = openstudio::toPath(itr->absoluteFilePath());
}
}
if (matchsize > 2)
{
LOG(Info, "Adding best match epw from the list found: " << toString(bestmatch));
return bestmatch;
} else {
LOG(Info, "No best match epw file found, continuing with no epw set");
}
//.........这里部分代码省略.........
开发者ID:ChengXinDL,项目名称:OpenStudio,代码行数:101,代码来源:WeatherFileFinder.cpp
示例20: genEmoji
bool genEmoji(QString emoji_in, const QString &emoji_out) {
QDir d(emoji_in);
if (!d.exists()) {
cout << "Could not open emoji input dir '" << emoji_in.toUtf8().constData() << "'!\n";
QCoreApplication::exit(1);
return false;
}
emoji_in = d.absolutePath() + '/';
QString emoji_in_200x = d.absolutePath() + "_200x/";
QDir d_200x(emoji_in_200x);
if (!d.exists()) {
cout << "Could not open emoji _200x input dir '" << emoji_in_200x.toUtf8().constData() << "'!\n";
QCoreApplication::exit(1);
return false;
}
int currentRow = 0, currentColumn = 0;
uint32 min1 = 0xFFFFFFFF, max1 = 0, min2 = 0xFFFFFFFF, max2 = 0;
QStringList filters;
filters << "*.png" << "*.gif";
QFileInfoList emojis = d.entryInfoList(filters, QDir::Files | QDir::NoDotAndDotDot | QDir::Readable);
for (QFileInfoList::const_iterator i = emojis.cbegin(), e = emojis.cend(); i != e; ++i) {
QString s = i->fileName();
QRegularExpressionMatch m = QRegularExpression("^([A-F0-9]+)\\.(png|gif)$").match(s);
if (m.hasMatch()) {
EmojiData data;
QString num = m.captured(1);
if (num.size() != 4 && num.size() != 8 && num.size() != 16) {
cout << "Bad name found '" << s.toUtf8().constData() << "'!\n";
continue;
}
data.code = ("0x" + num.mid(0, 8)).toUInt(0, 16);
if (num.size() > 8) {
data.code2 = ("0x" + num.mid(8)).toUInt(0, 16);
} else {
data.code2 = 0;
}
data.name = emoji_in + s;
data.name_200x = emoji_in_200x + s;
data.x = currentColumn;
data.y = currentRow;
++currentColumn;
if (currentColumn == inRow) {
++currentRow;
currentColumn = 0;
}
uint32 high = data.code >> 16;
if (!high) { // small codes
if (data.code == 169 || data.code == 174) { // two small
} else {
if (data.code < min1) min1 = data.code;
if (data.code > max1) max1 = data.code;
}
} else if (high == 35 || high >= 48 && high < 58) { // digits
} else {
if (data.code < min2) min2 = data.code;
if (data.code > max2) max2 = data.code;
}
EmojisData::const_iterator i = emojisData.constFind(data.code);
if (i != emojisData.cend()) {
cout << QString("Bad emoji code (duplicate) %1 %2 and %3 %4").arg(data.code).arg(data.code2).arg(i->code).arg(i->code2).toUtf8().constData() << "\n";
continue;
}
emojisData.insert(data.code, data);
} else {
开发者ID:Freyja-Folkvangr,项目名称:tdesktop,代码行数:68,代码来源:genemoji.cpp
注:本文中的qfileinfolist::const_iterator类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论