本文整理汇总了C++中QFileInfo::isAbsolute方法的典型用法代码示例。如果您正苦于以下问题:C++ QFileInfo::isAbsolute方法的具体用法?C++ QFileInfo::isAbsolute怎么用?C++ QFileInfo::isAbsolute使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QFileInfo
的用法示例。
在下文中一共展示了QFileInfo::isAbsolute方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: maximumTileLevel
int TileLoader::maximumTileLevel( GeoSceneTiled const & texture )
{
// if maximum tile level is configured in the DGML files,
// then use it, otherwise use old detection code.
if ( texture.maximumTileLevel() >= 0 ) {
return texture.maximumTileLevel();
}
int maximumTileLevel = -1;
const QFileInfo themeStr( texture.themeStr() );
const QString tilepath = themeStr.isAbsolute() ? themeStr.absoluteFilePath() : MarbleDirs::path( texture.themeStr() );
// mDebug() << "StackedTileLoader::maxPartialTileLevel tilepath" << tilepath;
QStringList leveldirs = QDir( tilepath ).entryList( QDir::AllDirs | QDir::NoSymLinks
| QDir::NoDotAndDotDot );
QStringList::const_iterator it = leveldirs.constBegin();
QStringList::const_iterator const end = leveldirs.constEnd();
for (; it != end; ++it ) {
bool ok = true;
const int value = (*it).toInt( &ok, 10 );
if ( ok && value > maximumTileLevel )
maximumTileLevel = value;
}
// mDebug() << "Detected maximum tile level that contains data: "
// << maxtilelevel;
return maximumTileLevel + 1;
}
示例2: fixFilePath
void PlaylistImporter::fixFilePath(QFileInfo &filename, const QDir &baseDir, const QDir &rootDir)
{
if(filename.filePath().startsWith("/"))
{
while(filename.filePath().startsWith("/"))
{
filename.setFile(filename.filePath().mid(1));
}
filename.setFile(rootDir.filePath(filename.filePath()));
}
if(!filename.isAbsolute())
{
filename.setFile(baseDir.filePath(filename.filePath()));
}
}
示例3: clangExecutableFromSettings
QString clangExecutableFromSettings(Core::Id toolchainType, bool *isValid)
{
QString executable = ClangStaticAnalyzerSettings::instance()->clangExecutable();
if (executable.isEmpty()) {
*isValid = false;
return executable;
}
const QString hostExeSuffix = QLatin1String(QTC_HOST_EXE_SUFFIX);
const Qt::CaseSensitivity caseSensitivity = Utils::HostOsInfo::fileNameCaseSensitivity();
const bool hasSuffix = executable.endsWith(hostExeSuffix, caseSensitivity);
if (toolchainType == ProjectExplorer::Constants::MSVC_TOOLCHAIN_TYPEID) {
if (hasSuffix)
executable.chop(hostExeSuffix.length());
executable.append(QLatin1String("-cl"));
if (hasSuffix)
executable.append(hostExeSuffix);
}
const QFileInfo fileInfo = QFileInfo(executable);
if (fileInfo.isAbsolute()) {
if (!hasSuffix)
executable.append(hostExeSuffix);
} else {
const Utils::Environment &environment = Utils::Environment::systemEnvironment();
const QString executableFromPath = environment.searchInPath(executable).toString();
if (executableFromPath.isEmpty()) {
*isValid = false;
return executable;
}
executable = executableFromPath;
}
*isValid = isFileExecutable(executable) && isClangExecutableUsable(executable);
return executable;
}
示例4: parse_command
static void parse_command(QString cmdline, const QString &id, const QString &whichCommand,
QString *command, QStringList *prefix, QStringList *suffix, ArchiveDefinition::ArgumentPassingMethod *method, bool parseFilePlaceholder)
{
Q_ASSERT(prefix);
Q_ASSERT(suffix);
Q_ASSERT(method);
KShell::Errors errors;
QStringList l;
if (cmdline.startsWith(NULL_SEPARATED_STDIN_INDICATOR)) {
*method = ArchiveDefinition::NullSeparatedInputFile;
cmdline.remove(0, 2);
} else if (cmdline.startsWith(NEWLINE_SEPARATED_STDIN_INDICATOR)) {
*method = ArchiveDefinition::NewlineSeparatedInputFile;
cmdline.remove(0, 1);
} else {
*method = ArchiveDefinition::CommandLine;
}
if (*method != ArchiveDefinition::CommandLine && cmdline.contains(FILE_PLACEHOLDER)) {
throw ArchiveDefinitionError(id, i18n("Cannot use both %f and | in '%1'", whichCommand));
}
cmdline.replace(FILE_PLACEHOLDER, QLatin1String("__files_go_here__"))
.replace(INSTALLPATH_PLACEHOLDER, QStringLiteral("__path_goes_here__"));
l = KShell::splitArgs(cmdline, KShell::AbortOnMeta | KShell::TildeExpand, &errors);
l = l.replaceInStrings(QStringLiteral("__files_go_here__"), FILE_PLACEHOLDER);
if (l.indexOf(QRegExp(QLatin1String(".*__path_goes_here__.*"))) >= 0) {
l = l.replaceInStrings(QStringLiteral("__path_goes_here__"), ArchiveDefinition::installPath());
}
if (errors == KShell::BadQuoting) {
throw ArchiveDefinitionError(id, i18n("Quoting error in '%1' entry", whichCommand));
}
if (errors == KShell::FoundMeta) {
throw ArchiveDefinitionError(id, i18n("'%1' too complex (would need shell)", whichCommand));
}
qCDebug(KLEOPATRA_LOG) << "ArchiveDefinition[" << id << ']' << l;
if (l.empty()) {
throw ArchiveDefinitionError(id, i18n("'%1' entry is empty/missing", whichCommand));
}
const QFileInfo fi1(l.front());
if (fi1.isAbsolute()) {
*command = try_extensions(l.front());
} else {
*command = QStandardPaths::findExecutable(fi1.fileName());
}
if (command->isEmpty()) {
throw ArchiveDefinitionError(id, i18n("'%1' empty or not found", whichCommand));
}
if (parseFilePlaceholder) {
const int idx1 = l.indexOf(FILE_PLACEHOLDER);
if (idx1 < 0) {
// none -> append
*prefix = l.mid(1);
} else {
*prefix = l.mid(1, idx1 - 1);
*suffix = l.mid(idx1 + 1);
}
} else {
*prefix = l.mid(1);
}
switch (*method) {
case ArchiveDefinition::CommandLine:
qCDebug(KLEOPATRA_LOG) << "ArchiveDefinition[" << id << ']' << *command << *prefix << FILE_PLACEHOLDER << *suffix;
break;
case ArchiveDefinition::NewlineSeparatedInputFile:
qCDebug(KLEOPATRA_LOG) << "ArchiveDefinition[" << id << ']' << "find | " << *command << *prefix;
break;
case ArchiveDefinition::NullSeparatedInputFile:
qCDebug(KLEOPATRA_LOG) << "ArchiveDefinition[" << id << ']' << "find -print0 | " << *command << *prefix;
break;
case ArchiveDefinition::NumArgumentPassingMethods:
Q_ASSERT(!"Should not happen");
break;
}
}