diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 4314c53c1c1..43c95a15baf 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -92,11 +92,11 @@ QtVersionNumber::QtVersionNumber() bool QtVersionNumber::checkVersionString(const QString &version) const { int dots = 0; - QString validChars = "0123456789."; + const QString validChars = QLatin1String("0123456789."); foreach (const QChar &c, version) { if (!validChars.contains(c)) return false; - if (c == '.') + if (c == QLatin1Char('.')) ++dots; } if (dots != 2) @@ -272,7 +272,7 @@ void BaseQtVersion::fromMap(const QVariantMap &map) if (m_isAutodetected) m_autodetectionSource = map.value(QLatin1String(QTVERSIONAUTODETECTIONSOURCE)).toString(); QString string = map.value(QLatin1String(QTVERSIONQMAKEPATH)).toString(); - if (string.startsWith('~')) + if (string.startsWith(QLatin1Char('~'))) string.remove(0, 1).prepend(QDir::homePath()); ctor(Utils::FileName::fromUserInput(string)); } @@ -298,7 +298,7 @@ bool BaseQtVersion::isValid() const return !qmakeCommand().isEmpty() && m_installed - && m_versionInfo.contains("QT_INSTALL_BINS") + && m_versionInfo.contains(QLatin1String("QT_INSTALL_BINS")) && !m_mkspecFullPath.isEmpty() && m_qmakeIsExecutable; } @@ -313,7 +313,7 @@ QString BaseQtVersion::invalidReason() const return QCoreApplication::translate("QtVersion", "qmake does not exist or is not executable"); if (!m_installed) return QCoreApplication::translate("QtVersion", "Qt version is not properly installed, please run make install"); - if (!m_versionInfo.contains("QT_INSTALL_BINS")) + if (!m_versionInfo.contains(QLatin1String("QT_INSTALL_BINS"))) return QCoreApplication::translate("QtVersion", "Could not determine the path to the binaries of the Qt installation, maybe the qmake path is wrong?"); if (m_mkspecUpToDate && m_mkspecFullPath.isEmpty()) @@ -401,12 +401,17 @@ QString BaseQtVersion::toHtml(bool verbose) const str << "" << QCoreApplication::translate("BaseQtVersion", "Name:") << "" << displayName() << ""; if (!isValid()) { - str << "" + QCoreApplication::translate("BaseQtVersion", "Invalid Qt version") +""; + str << "" + << QCoreApplication::translate("BaseQtVersion", "Invalid Qt version") + << ""; } else { - QString prefix = QLatin1String("") + QCoreApplication::translate("BaseQtVersion", "ABI:") + QLatin1String(""); - foreach (const ProjectExplorer::Abi &abi, qtAbis()) { - str << prefix << "" << abi.toString() << ""; - prefix = QLatin1String(""); + str << "" << QCoreApplication::translate("BaseQtVersion", "ABI:") + << ""; + const QList abis = qtAbis(); + for (int i = 0; i < abis.size(); ++i) { + if (i) + str << ""; + str << "" << abis.at(i).toString() << ""; } str << "" << QCoreApplication::translate("BaseQtVersion", "Source:") << "" << sourcePath().toUserOutput() << ""; @@ -444,7 +449,7 @@ void BaseQtVersion::updateSourcePath() const if (!m_sourcePath.isEmpty()) return; updateVersionInfo(); - const QString installData = m_versionInfo["QT_INSTALL_DATA"]; + const QString installData = m_versionInfo.value(QLatin1String("QT_INSTALL_DATA")); QString sourcePath = installData; QFile qmakeCache(installData + QLatin1String("/.qmake.cache")); if (qmakeCache.exists()) { @@ -508,11 +513,11 @@ QString BaseQtVersion::findQtBinary(Binaries binary) const ensureMkSpecParsed(); switch (binary) { case QmlViewer: - baseDir = m_mkspecValues.value("QT.declarative.bins"); + baseDir = m_mkspecValues.value(QLatin1String("QT.declarative.bins")); break; case Designer: case Linguist: - baseDir = m_mkspecValues.value("QT.designer.bins"); + baseDir = m_mkspecValues.value(QLatin1String("QT.designer.bins")); break; case Uic: baseDir = versionInfo().value(QLatin1String("QT_INSTALL_BINS")); @@ -525,7 +530,7 @@ QString BaseQtVersion::findQtBinary(Binaries binary) const if (baseDir.isEmpty()) return QString(); - if (!baseDir.endsWith('/')) + if (!baseDir.endsWith(QLatin1Char('/'))) baseDir += QLatin1Char('/'); QStringList possibleCommands; @@ -611,15 +616,16 @@ void BaseQtVersion::updateMkspec() const if (m_mkspecFullPath.isEmpty()) return; - Utils::FileName baseMkspecDir = Utils::FileName::fromUserInput(versionInfo().value("QMAKE_MKSPECS")); + Utils::FileName baseMkspecDir = Utils::FileName::fromUserInput(versionInfo().value(QLatin1String("QMAKE_MKSPECS"))); if (baseMkspecDir.isEmpty()) - baseMkspecDir = Utils::FileName::fromUserInput(versionInfo().value("QT_INSTALL_DATA") + "/mkspecs"); + baseMkspecDir = Utils::FileName::fromUserInput(versionInfo().value(QLatin1String("QT_INSTALL_DATA")) + + QLatin1String("/mkspecs")); if (m_mkspec.isChildOf(baseMkspecDir)) { m_mkspec = m_mkspec.relativeChildPath(baseMkspecDir); // qDebug() << "Setting mkspec to"<incRefCount(); ProFileParser parser(ProFileCacheManager::instance()->cache(), &msgHandler); ProFileEvaluator evaluator(&option, &parser, &msgHandler); - if (ProFile *pro = parser.parsedProFile(mkspecPath().toString() + "/qmake.conf")) { + if (ProFile *pro = parser.parsedProFile(mkspecPath().toString() + QLatin1String("/qmake.conf"))) { evaluator.setCumulative(false); evaluator.accept(pro, ProFileEvaluator::LoadProOnly); pro->deref(); @@ -656,19 +662,20 @@ void BaseQtVersion::ensureMkSpecParsed() const void BaseQtVersion::parseMkSpec(ProFileEvaluator *evaluator) const { - QStringList configValues = evaluator->values("CONFIG"); + QStringList configValues = evaluator->values(QLatin1String("CONFIG")); m_defaultConfigIsDebugAndRelease = false; foreach (const QString &value, configValues) { - if (value == "debug") + if (value == QLatin1String("debug")) m_defaultConfigIsDebug = true; - else if (value == "release") + else if (value == QLatin1String("release")) m_defaultConfigIsDebug = false; - else if (value == "build_all") + else if (value == QLatin1String("build_all")) m_defaultConfigIsDebugAndRelease = true; } - - m_mkspecValues.insert("QT.designer.bins", evaluator->value("QT.designer.bins")); - m_mkspecValues.insert("QT.declarative.bins", evaluator->value("QT.declarative.bins")); + const QString designerBins = QLatin1String("QT.designer.bins"); + const QString declarativeBins = QLatin1String("QT.declarative.bins"); + m_mkspecValues.insert(designerBins, evaluator->value(designerBins)); + m_mkspecValues.insert(declarativeBins, evaluator->value(declarativeBins)); } Utils::FileName BaseQtVersion::mkspec() const @@ -687,7 +694,8 @@ bool BaseQtVersion::hasMkspec(const Utils::FileName &spec) const { updateVersionInfo(); QFileInfo fi; - fi.setFile(QDir::fromNativeSeparators(m_versionInfo.value("QMAKE_MKSPECS")) + '/' + spec.toString()); + fi.setFile(QDir::fromNativeSeparators(m_versionInfo.value(QLatin1String("QMAKE_MKSPECS"))) + + QLatin1Char('/') + spec.toString()); if (fi.isDir()) return true; fi.setFile(sourcePath().toString() + QLatin1String("/mkspecs/") + spec.toString()); @@ -749,11 +757,15 @@ void BaseQtVersion::updateVersionInfo() const if (!queryQMakeVariables(qmakeCommand(), &m_versionInfo, &m_qmakeIsExecutable)) return; - if (m_versionInfo.contains("QT_INSTALL_DATA")) { - QString qtInstallData = m_versionInfo.value("QT_INSTALL_DATA"); - QString qtInstallBins = m_versionInfo.value("QT_INSTALL_BINS"); - QString qtHeaderData = m_versionInfo.value("QT_INSTALL_HEADERS"); - m_versionInfo.insert("QMAKE_MKSPECS", QDir::cleanPath(qtInstallData+"/mkspecs")); + const QString installDataKey = QLatin1String("QT_INSTALL_DATA"); + const QString installBinsKey = QLatin1String("QT_INSTALL_BINS"); + const QString installHeadersKey = QLatin1String("QT_INSTALL_HEADERS"); + if (m_versionInfo.contains(installDataKey)) { + const QString qtInstallData = m_versionInfo.value(installDataKey); + const QString qtInstallBins = m_versionInfo.value(installBinsKey); + const QString qtHeaderData = m_versionInfo.value(installHeadersKey); + m_versionInfo.insert(QLatin1String("QMAKE_MKSPECS"), + QDir::cleanPath(qtInstallData + QLatin1String("/mkspecs"))); if (!qtInstallData.isEmpty()) { m_hasDebuggingHelper = !ProjectExplorer::DebuggingHelperLibrary::debuggingHelperLibraryByInstallData(qtInstallData).isEmpty(); @@ -768,28 +780,31 @@ void BaseQtVersion::updateVersionInfo() const } // Now check for a qt that is configured with a prefix but not installed - if (m_versionInfo.contains("QT_INSTALL_BINS")) { - QFileInfo fi(m_versionInfo.value("QT_INSTALL_BINS")); + if (m_versionInfo.contains(installBinsKey)) { + QFileInfo fi(m_versionInfo.value(installBinsKey)); if (!fi.exists()) m_installed = false; } - if (m_versionInfo.contains("QT_INSTALL_HEADERS")){ - QFileInfo fi(m_versionInfo.value("QT_INSTALL_HEADERS")); + if (m_versionInfo.contains(installHeadersKey)) { + const QFileInfo fi(m_versionInfo.value(installHeadersKey)); if (!fi.exists()) m_installed = false; } - if (m_versionInfo.contains("QT_INSTALL_DOCS")){ - QFileInfo fi(m_versionInfo.value("QT_INSTALL_DOCS")); + const QString installDocsKey = QLatin1String("QT_INSTALL_DOCS"); + if (m_versionInfo.contains(installDocsKey)) { + const QFileInfo fi(m_versionInfo.value(installDocsKey)); if (fi.exists()) m_hasDocumentation = true; } - if (m_versionInfo.contains("QT_INSTALL_EXAMPLES")){ - QFileInfo fi(m_versionInfo.value("QT_INSTALL_EXAMPLES")); + const QString installExamplesKey = QLatin1String("QT_INSTALL_EXAMPLES"); + if (m_versionInfo.contains(installExamplesKey)) { + const QFileInfo fi(m_versionInfo.value(installExamplesKey)); if (fi.exists()) m_hasExamples = true; } - if (m_versionInfo.contains("QT_INSTALL_DEMOS")){ - QFileInfo fi(m_versionInfo.value("QT_INSTALL_DEMOS")); + const QString installDemosKey = QLatin1String("QT_INSTALL_DEMOS"); + if (m_versionInfo.contains(installDemosKey)) { + const QFileInfo fi(m_versionInfo.value(installDemosKey)); if (fi.exists()) m_hasDemos = true; } @@ -812,7 +827,7 @@ bool BaseQtVersion::hasDocumentation() const QString BaseQtVersion::documentationPath() const { updateVersionInfo(); - return m_versionInfo["QT_INSTALL_DOCS"]; + return m_versionInfo.value(QLatin1String("QT_INSTALL_DOCS")); } bool BaseQtVersion::hasDemos() const @@ -824,14 +839,14 @@ bool BaseQtVersion::hasDemos() const QString BaseQtVersion::demosPath() const { updateVersionInfo(); - return m_versionInfo["QT_INSTALL_DEMOS"]; + return m_versionInfo.value(QLatin1String("QT_INSTALL_DEMOS")); } QString BaseQtVersion::frameworkInstallPath() const { #ifdef Q_OS_MAC updateVersionInfo(); - return m_versionInfo["QT_INSTALL_LIBS"]; + return m_versionInfo.value(QLatin1String("QT_INSTALL_LIBS")); #else return QString(); #endif @@ -846,7 +861,7 @@ bool BaseQtVersion::hasExamples() const QString BaseQtVersion::examplesPath() const { updateVersionInfo(); - return m_versionInfo["QT_INSTALL_EXAMPLES"]; + return m_versionInfo.value(QLatin1String("QT_INSTALL_EXAMPLES")); } QList BaseQtVersion::systemHeaderPathes() const @@ -858,9 +873,9 @@ QList BaseQtVersion::systemHeaderPathes() const void BaseQtVersion::addToEnvironment(Utils::Environment &env) const { - env.set("QTDIR", QDir::toNativeSeparators(versionInfo().value("QT_INSTALL_DATA"))); - env.prependOrSetPath(versionInfo().value("QT_INSTALL_BINS")); - env.prependOrSetLibrarySearchPath(versionInfo().value("QT_INSTALL_LIBS")); + env.set(QLatin1String("QTDIR"), QDir::toNativeSeparators(versionInfo().value(QLatin1String("QT_INSTALL_DATA")))); + env.prependOrSetPath(versionInfo().value(QLatin1String("QT_INSTALL_BINS"))); + env.prependOrSetLibrarySearchPath(versionInfo().value(QLatin1String("QT_INSTALL_LIBS"))); } bool BaseQtVersion::hasGdbDebuggingHelper() const @@ -919,7 +934,7 @@ Utils::Environment BaseQtVersion::qmlToolsEnvironment() const QString BaseQtVersion::gdbDebuggingHelperLibrary() const { - QString qtInstallData = versionInfo().value("QT_INSTALL_DATA"); + QString qtInstallData = versionInfo().value(QLatin1String("QT_INSTALL_DATA")); if (qtInstallData.isEmpty()) return QString(); return ProjectExplorer::DebuggingHelperLibrary::debuggingHelperLibraryByInstallData(qtInstallData); @@ -927,17 +942,17 @@ QString BaseQtVersion::gdbDebuggingHelperLibrary() const QString BaseQtVersion::qmlDumpTool(bool debugVersion) const { - QString qtInstallData = versionInfo().value("QT_INSTALL_DATA"); - QString qtInstallBins = versionInfo().value("QT_INSTALL_BINS"); - QString qtHeaderData = versionInfo().value("QT_INSTALL_HEADERS"); + const QString qtInstallData = versionInfo().value(QLatin1String("QT_INSTALL_DATA")); if (qtInstallData.isEmpty()) return QString(); + const QString qtInstallBins = versionInfo().value(QLatin1String("QT_INSTALL_BINS")); + const QString qtHeaderData = versionInfo().value(QLatin1String("QT_INSTALL_HEADERS")); return QmlDumpTool::toolForQtPaths(qtInstallData, qtInstallBins, qtHeaderData, debugVersion); } QString BaseQtVersion::qmlDebuggingHelperLibrary(bool debugVersion) const { - QString qtInstallData = versionInfo().value("QT_INSTALL_DATA"); + QString qtInstallData = versionInfo().value(QLatin1String("QT_INSTALL_DATA")); if (qtInstallData.isEmpty()) return QString(); return QmlDebuggingLibrary::libraryByInstallData(qtInstallData, debugVersion); @@ -945,7 +960,7 @@ QString BaseQtVersion::qmlDebuggingHelperLibrary(bool debugVersion) const QString BaseQtVersion::qmlObserverTool() const { - QString qtInstallData = versionInfo().value("QT_INSTALL_DATA"); + QString qtInstallData = versionInfo().value(QLatin1String("QT_INSTALL_DATA")); if (qtInstallData.isEmpty()) return QString(); return QmlObserverTool::toolByInstallData(qtInstallData); @@ -953,7 +968,7 @@ QString BaseQtVersion::qmlObserverTool() const QStringList BaseQtVersion::debuggingHelperLibraryLocations() const { - QString qtInstallData = versionInfo().value("QT_INSTALL_DATA"); + QString qtInstallData = versionInfo().value(QLatin1String("QT_INSTALL_DATA")); if (qtInstallData.isEmpty()) return QStringList(); return ProjectExplorer::DebuggingHelperLibrary::debuggingHelperLibraryDirectories(qtInstallData); @@ -1002,14 +1017,15 @@ QList BaseQtVersion::reportIssuesImpl(const QString &proF } QString sourcePath = QFileInfo(proFile).absolutePath(); - if (!sourcePath.endsWith(QLatin1Char('/'))) - sourcePath.append(QLatin1Char('/')); + const QChar slash = QLatin1Char('/'); + if (!sourcePath.endsWith(slash)) + sourcePath.append(slash); if ((tmpBuildDir.startsWith(sourcePath)) && (tmpBuildDir != sourcePath)) { const QString msg = QCoreApplication::translate("Qt4ProjectManager::QtVersion", "Qmake does not support build directories below the source directory."); results.append(ProjectExplorer::Task(ProjectExplorer::Task::Warning, msg, QString(), -1, QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))); - } else if (tmpBuildDir.count(QChar('/')) != sourcePath.count(QChar('/')) && qtVersion() < QtVersionNumber(4,8, 0)) { + } else if (tmpBuildDir.count(slash) != sourcePath.count(slash) && qtVersion() < QtVersionNumber(4,8, 0)) { const QString msg = QCoreApplication::translate("Qt4ProjectManager::QtVersion", "The build directory needs to be at the same level as the source directory."); @@ -1071,7 +1087,7 @@ bool BaseQtVersion::queryQMakeVariables(const Utils::FileName &binary, QHashinsert(line.left(index), value); } } @@ -1105,13 +1121,13 @@ bool BaseQtVersion::queryQMakeVariables(const Utils::FileName &binary, QHash &versionInfo) { - Utils::FileName baseMkspecDir = Utils::FileName::fromUserInput(versionInfo.value("QMAKE_MKSPECS")); + Utils::FileName baseMkspecDir = Utils::FileName::fromUserInput(versionInfo.value(QLatin1String("QMAKE_MKSPECS"))); if (baseMkspecDir.isEmpty()) - baseMkspecDir = Utils::FileName::fromUserInput(versionInfo.value("QT_INSTALL_DATA") + "/mkspecs"); + baseMkspecDir = Utils::FileName::fromUserInput(versionInfo.value(QLatin1String("QT_INSTALL_DATA")) + QLatin1String("/mkspecs")); if (baseMkspecDir.isEmpty()) return Utils::FileName(); - Utils::FileName mkspecFullPath = Utils::FileName::fromString(baseMkspecDir.toString() + "/default"); + Utils::FileName mkspecFullPath = Utils::FileName::fromString(baseMkspecDir.toString() + QLatin1String("/default")); // qDebug() << "default mkspec is located at" << mkspecFullPath; @@ -1181,14 +1197,14 @@ QString BaseQtVersion::qtCorePath(const QHash &versionInfo, con && file.startsWith(QLatin1String("QtCore")) && file.endsWith(QLatin1String(".framework"))) { // handle Framework - const QString libName = file.left(file.lastIndexOf('.')); - return info.absoluteFilePath() + '/' + libName; + const QString libName = file.left(file.lastIndexOf(QLatin1Char('.'))); + return info.absoluteFilePath() + QLatin1Char('/') + libName; } if (info.isReadable()) { if (file.startsWith(QLatin1String("libQtCore")) || file.startsWith(QLatin1String("QtCore"))) { // Only handle static libs if we can not find dynamic ones: - if (file.endsWith(".a") || file.endsWith(".lib")) + if (file.endsWith(QLatin1String(".a")) || file.endsWith(QLatin1String(".lib"))) staticLibs.append(info); else if (file.endsWith(QLatin1String(".dll")) || file.endsWith(QString::fromLatin1(".so.") + versionString) diff --git a/src/plugins/qtsupport/debugginghelperbuildtask.cpp b/src/plugins/qtsupport/debugginghelperbuildtask.cpp index 4353f84db21..ecb121c0448 100644 --- a/src/plugins/qtsupport/debugginghelperbuildtask.cpp +++ b/src/plugins/qtsupport/debugginghelperbuildtask.cpp @@ -75,7 +75,7 @@ DebuggingHelperBuildTask::DebuggingHelperBuildTask(const BaseQtVersion *version, // of the version pointer while compiling // m_qtId = version->uniqueId(); - m_qtInstallData = version->versionInfo().value("QT_INSTALL_DATA"); + m_qtInstallData = version->versionInfo().value(QLatin1String("QT_INSTALL_DATA")); if (m_qtInstallData.isEmpty()) { const QString error = QCoreApplication::translate( @@ -235,8 +235,12 @@ bool DebuggingHelperBuildTask::buildDebuggingHelper(QFutureInterface &futu bool success = true; arguments.directory = QmlObserverTool::copy(m_qtInstallData, &error); - arguments.qmakeArguments << QLatin1String("INCLUDEPATH+=\"\\\"") + qmlDebuggingDirectory + "include\\\"\""; - arguments.qmakeArguments << QLatin1String("LIBS+=-L\"\\\"") + qmlDebuggingDirectory + QLatin1String("\\\"\""); + arguments.qmakeArguments << QLatin1String("INCLUDEPATH+=\"\\\"") + + qmlDebuggingDirectory + + QLatin1String("include\\\"\""); + arguments.qmakeArguments << QLatin1String("LIBS+=-L\"\\\"") + + qmlDebuggingDirectory + + QLatin1String("\\\"\""); if (arguments.directory.isEmpty() || !QmlObserverTool::build(arguments, &output, &error)) { diff --git a/src/plugins/qtsupport/exampleslistmodel.cpp b/src/plugins/qtsupport/exampleslistmodel.cpp index 3ec12b1a653..4b0cafe9242 100644 --- a/src/plugins/qtsupport/exampleslistmodel.cpp +++ b/src/plugins/qtsupport/exampleslistmodel.cpp @@ -91,6 +91,7 @@ QList ExamplesListModel::parseExamples(QXmlStreamReader* reader, co { QList examples; ExampleItem item; + const QChar slash = QLatin1Char('/'); while (!reader->atEnd()) { switch (reader->readNext()) { case QXmlStreamReader::StartElement: @@ -101,18 +102,18 @@ QList ExamplesListModel::parseExamples(QXmlStreamReader* reader, co item.name = attributes.value(QLatin1String("name")).toString(); item.projectPath = attributes.value(QLatin1String("projectPath")).toString(); item.hasSourceCode = !item.projectPath.isEmpty(); - item.projectPath.prepend('/'); + item.projectPath.prepend(slash); item.projectPath.prepend(projectsOffset); item.imageUrl = attributes.value(QLatin1String("imageUrl")).toString(); item.docUrl = attributes.value(QLatin1String("docUrl")).toString(); } else if (reader->name() == QLatin1String("fileToOpen")) { - item.filesToOpen.append(projectsOffset + '/' + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); + item.filesToOpen.append(projectsOffset + slash + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); } else if (reader->name() == QLatin1String("description")) { item.description = fixStringForTags(reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); } else if (reader->name() == QLatin1String("dependency")) { - item.dependencies.append(projectsOffset + '/' + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); + item.dependencies.append(projectsOffset + slash + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); } else if (reader->name() == QLatin1String("tags")) { - item.tags = reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement).split(","); + item.tags = reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement).split(QLatin1Char(',')); m_tags.append(item.tags); } break; @@ -133,6 +134,7 @@ QList ExamplesListModel::parseDemos(QXmlStreamReader* reader, const { QList demos; ExampleItem item; + const QChar slash = QLatin1Char('/'); while (!reader->atEnd()) { switch (reader->readNext()) { case QXmlStreamReader::StartElement: @@ -143,18 +145,18 @@ QList ExamplesListModel::parseDemos(QXmlStreamReader* reader, const item.name = attributes.value(QLatin1String("name")).toString(); item.projectPath = attributes.value(QLatin1String("projectPath")).toString(); item.hasSourceCode = !item.projectPath.isEmpty(); - item.projectPath.prepend('/'); + item.projectPath.prepend(slash); item.projectPath.prepend(projectsOffset); item.imageUrl = attributes.value(QLatin1String("imageUrl")).toString(); item.docUrl = attributes.value(QLatin1String("docUrl")).toString(); } else if (reader->name() == QLatin1String("fileToOpen")) { - item.filesToOpen.append(projectsOffset + '/' + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); + item.filesToOpen.append(projectsOffset + slash + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); } else if (reader->name() == QLatin1String("description")) { item.description = fixStringForTags(reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); } else if (reader->name() == QLatin1String("dependency")) { - item.dependencies.append(projectsOffset + '/' + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); + item.dependencies.append(projectsOffset + slash + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); } else if (reader->name() == QLatin1String("tags")) { - item.tags = reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement).split(","); + item.tags = reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement).split(QLatin1Char(',')); } break; case QXmlStreamReader::EndElement: @@ -174,6 +176,7 @@ QList ExamplesListModel::parseTutorials(QXmlStreamReader* reader, c { QList tutorials; ExampleItem item; + const QChar slash = QLatin1Char('/'); while (!reader->atEnd()) { switch (reader->readNext()) { case QXmlStreamReader::StartElement: @@ -184,7 +187,7 @@ QList ExamplesListModel::parseTutorials(QXmlStreamReader* reader, c item.name = attributes.value(QLatin1String("name")).toString(); item.projectPath = attributes.value(QLatin1String("projectPath")).toString(); item.hasSourceCode = !item.projectPath.isEmpty(); - item.projectPath.prepend('/'); + item.projectPath.prepend(slash); item.projectPath.prepend(projectsOffset); if (attributes.hasAttribute(QLatin1String("imageUrl"))) item.imageUrl = attributes.value(QLatin1String("imageUrl")).toString(); @@ -197,13 +200,13 @@ QList ExamplesListModel::parseTutorials(QXmlStreamReader* reader, c if (attributes.hasAttribute(QLatin1String("videoLength"))) item.videoLength = attributes.value(QLatin1String("videoLength")).toString(); } else if (reader->name() == QLatin1String("fileToOpen")) { - item.filesToOpen.append(projectsOffset + '/' + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); + item.filesToOpen.append(projectsOffset + slash + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); } else if (reader->name() == QLatin1String("description")) { item.description = fixStringForTags(reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); } else if (reader->name() == QLatin1String("dependency")) { - item.dependencies.append(projectsOffset + '/' + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); + item.dependencies.append(projectsOffset + slash + reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement)); } else if (reader->name() == QLatin1String("tags")) { - item.tags = reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement).split(","); + item.tags = reader->readElementText(QXmlStreamReader::ErrorOnUnexpectedElement).split(QLatin1Char(',')); } break; case QXmlStreamReader::EndElement: @@ -278,10 +281,10 @@ QStringList ExamplesListModel::exampleSources() const // Read keys from SDK installer QSettings *settings = Core::ICore::instance()->settings(QSettings::SystemScope); - int size = settings->beginReadArray("ExampleManifests"); + int size = settings->beginReadArray(QLatin1String("ExampleManifests")); for (int i = 0; i < size; ++i) { settings->setArrayIndex(i); - sources.append(settings->value("Location").toString()); + sources.append(settings->value(QLatin1String("Location")).toString()); } settings->endArray(); @@ -361,7 +364,7 @@ QVariant ExamplesListModel::data(const QModelIndex &index, int role) const switch (role) { case Qt::DisplayRole: // for search only - return QString(item.name + ' ' + item.tags.join(" ")); + return QString(item.name + QLatin1Char(' ') + item.tags.join(QLatin1String(" "))); case Name: return item.name; case ProjectPath: @@ -506,7 +509,7 @@ struct SearchStringLexer { SearchStringLexer(const QString &code) : code(code) , codePtr(code.unicode()) - , yychar(' ') { } + , yychar(QLatin1Char(' ')) { } int operator()() { return yylex(); } @@ -532,12 +535,12 @@ struct SearchStringLexer { if (yychar == quote) { yyinp(); break; - } if (yychar == '\\') { + } if (yychar == QLatin1Char('\\')) { yyinp(); switch (yychar.unicode()) { - case '"': yytext += '"'; yyinp(); break; - case '\'': yytext += '\''; yyinp(); break; - case '\\': yytext += '\\'; yyinp(); break; + case '"': yytext += QLatin1Char('"'); yyinp(); break; + case '\'': yytext += QLatin1Char('\''); yyinp(); break; + case '\\': yytext += QLatin1Char('\\'); yyinp(); break; } } else { yytext += yychar; @@ -548,14 +551,14 @@ struct SearchStringLexer { } default: - if (ch.isLetterOrNumber() || ch == '_') { + if (ch.isLetterOrNumber() || ch == QLatin1Char('_')) { yytext.clear(); yytext += ch; - while (yychar.isLetterOrNumber() || yychar == '_') { + while (yychar.isLetterOrNumber() || yychar == QLatin1Char('_')) { yytext += yychar; yyinp(); } - if (yychar == ':' && yytext == QLatin1String("tag")) { + if (yychar == QLatin1Char(':') && yytext == QLatin1String("tag")) { yyinp(); return TAG; } diff --git a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp index 39318f97680..d61c67f289f 100644 --- a/src/plugins/qtsupport/gettingstartedwelcomepage.cpp +++ b/src/plugins/qtsupport/gettingstartedwelcomepage.cpp @@ -352,11 +352,11 @@ QString ExamplesWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileI return QString(); } else { QString error; - QString targetDir = destBaseDir + '/' + exampleDirName; + QString targetDir = destBaseDir + QLatin1Char('/') + exampleDirName; if (Utils::FileUtils::copyRecursively(projectDir, targetDir, &error)) { // set vars to new location - QStringList::Iterator it; - for (it = filesToOpen.begin(); it != filesToOpen.end(); ++it) + const QStringList::Iterator end = filesToOpen.end(); + for (QStringList::Iterator it = filesToOpen.begin(); it != end; ++it) it->replace(projectDir, targetDir); foreach (const QString &dependency, dependencies) { @@ -368,7 +368,7 @@ QString ExamplesWelcomePage::copyToAlternativeLocation(const QFileInfo& proFileI } - return targetDir+ '/' + proFileInfo.fileName(); + return targetDir + QLatin1Char('/') + proFileInfo.fileName(); } else { QMessageBox::warning(Core::ICore::instance()->mainWindow(), tr("Cannot Copy Project"), error); } diff --git a/src/plugins/qtsupport/qmldebugginglibrary.cpp b/src/plugins/qtsupport/qmldebugginglibrary.cpp index ec8d800d40b..ed6a45735dc 100644 --- a/src/plugins/qtsupport/qmldebugginglibrary.cpp +++ b/src/plugins/qtsupport/qmldebugginglibrary.cpp @@ -127,8 +127,8 @@ QStringList QmlDebuggingLibrary::recursiveFileList(const QDir &dir, const QStrin QStringList files; QString _prefix = prefix; - if (!_prefix.isEmpty() && !_prefix.endsWith('/')) { - _prefix = _prefix + '/'; + if (!_prefix.isEmpty() && !_prefix.endsWith(QLatin1Char('/'))) { + _prefix = _prefix + QLatin1Char('/'); } foreach (const QString &fileName, dir.entryList(QDir::Files)) { files << _prefix + fileName; diff --git a/src/plugins/qtsupport/qmldumptool.cpp b/src/plugins/qtsupport/qmldumptool.cpp index e84193bdab1..e27f988274e 100644 --- a/src/plugins/qtsupport/qmldumptool.cpp +++ b/src/plugins/qtsupport/qmldumptool.cpp @@ -196,10 +196,10 @@ static bool hasPrivateHeaders(const QString &qtInstallHeaders) { bool QmlDumpTool::canBuild(const BaseQtVersion *qtVersion, QString *reason) { - const QString installHeaders = qtVersion->versionInfo().value("QT_INSTALL_HEADERS"); + const QString installHeaders = qtVersion->versionInfo().value(QLatin1String("QT_INSTALL_HEADERS")); - if (qtVersion->type() != Constants::DESKTOPQT - && qtVersion->type() != Constants::SIMULATORQT) { + if (qtVersion->type() != QLatin1String(Constants::DESKTOPQT) + && qtVersion->type() != QLatin1String(Constants::SIMULATORQT)) { if (reason) *reason = QCoreApplication::translate("Qt4ProjectManager::QmlDumpTool", "Only available for Qt for Desktop and Qt for Qt Simulator."); return false; @@ -227,11 +227,10 @@ bool QmlDumpTool::canBuild(const BaseQtVersion *qtVersion, QString *reason) QString QmlDumpTool::toolForVersion(BaseQtVersion *version, bool debugDump) { if (version) { - QString qtInstallData = version->versionInfo().value("QT_INSTALL_DATA"); - QString qtInstallBins = version->versionInfo().value("QT_INSTALL_BINS"); - QString qtInstallHeaders = version->versionInfo().value("QT_INSTALL_HEADERS"); - QString toolPath = toolForQtPaths(qtInstallData, qtInstallBins, qtInstallHeaders, debugDump); - return toolPath; + const QString qtInstallData = version->versionInfo().value(QLatin1String("QT_INSTALL_DATA")); + const QString qtInstallBins = version->versionInfo().value(QLatin1String("QT_INSTALL_BINS")); + const QString qtInstallHeaders = version->versionInfo().value(QLatin1String("QT_INSTALL_HEADERS")); + return toolForQtPaths(qtInstallData, qtInstallBins, qtInstallHeaders, debugDump); } return QString(); diff --git a/src/plugins/qtsupport/qmlobservertool.cpp b/src/plugins/qtsupport/qmlobservertool.cpp index 5e6158a407c..1584385f433 100644 --- a/src/plugins/qtsupport/qmlobservertool.cpp +++ b/src/plugins/qtsupport/qmlobservertool.cpp @@ -56,8 +56,8 @@ static inline QStringList validBinaryFilenames() bool QmlObserverTool::canBuild(const BaseQtVersion *qtVersion, QString *reason) { - if (qtVersion->type() != Constants::DESKTOPQT - && qtVersion->type() != Constants::SIMULATORQT) { + if (qtVersion->type() != QLatin1String(Constants::DESKTOPQT) + && qtVersion->type() != QLatin1String(Constants::SIMULATORQT)) { if (reason) *reason = QCoreApplication::translate("Qt4ProjectManager::QmlObserverTool", "Only available for Qt for Desktop or Qt for Qt Simulator."); return false; @@ -144,8 +144,8 @@ QStringList QmlObserverTool::recursiveFileList(const QDir &dir, const QString &p QStringList files; QString _prefix = prefix; - if (!_prefix.isEmpty() && !_prefix.endsWith('/')) { - _prefix = _prefix + '/'; + if (!_prefix.isEmpty() && !_prefix.endsWith(QLatin1Char('/'))) { + _prefix.append(QLatin1Char('/')); } foreach (const QString &fileName, dir.entryList(QDir::Files)) { files << _prefix + fileName; diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp index 9936e7308c1..03197293b0b 100644 --- a/src/plugins/qtsupport/qtoptionspage.cpp +++ b/src/plugins/qtsupport/qtoptionspage.cpp @@ -96,7 +96,7 @@ QString QtOptionsPage::displayCategory() const QIcon QtOptionsPage::categoryIcon() const { - return QIcon(ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY_ICON); + return QIcon(QLatin1String(ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY_ICON)); } QWidget *QtOptionsPage::createPage(QWidget *parent) @@ -132,8 +132,8 @@ QtOptionsPageWidget::QtOptionsPageWidget(QWidget *parent, QList , m_ui(new Internal::Ui::QtVersionManager()) , m_versionUi(new Internal::Ui::QtVersionInfo()) , m_debuggingHelperUi(new Internal::Ui::DebuggingHelper()) - , m_invalidVersionIcon(":/projectexplorer/images/compile_error.png") - , m_warningVersionIcon(":/projectexplorer/images/compile_warning.png") + , m_invalidVersionIcon(QLatin1String(":/projectexplorer/images/compile_error.png")) + , m_warningVersionIcon(QLatin1String(":/projectexplorer/images/compile_warning.png")) , m_configurationWidget(0) { // Initialize m_versions @@ -425,7 +425,7 @@ QtOptionsPageWidget::ValidityInfo QtOptionsPageWidget::validInformation(const Ba QString warning = version->warningReason(); if (!warning.isEmpty()) { if (!info.message.isEmpty()) - info.message.append('\n'); + info.message.append(QLatin1Char('\n')); info.message += warning; info.icon = m_warningVersionIcon; } @@ -578,7 +578,7 @@ QtOptionsPageWidget::~QtOptionsPageWidget() static QString filterForQmakeFileDialog() { - QString filter("qmake ("); + QString filter = QLatin1String("qmake ("); foreach (const QString &s, Utils::BuildableHelperLibrary::possibleQMakeCommands()) { #ifdef Q_WS_MAC // work around QTBUG-7739 that prohibits filters that don't start with * @@ -713,14 +713,15 @@ void QtOptionsPageWidget::updateDebuggingHelperUi() // get names of tools from labels QStringList helperNames; + const QChar colon = QLatin1Char(':'); if (hasGdbHelper) - helperNames << m_debuggingHelperUi->gdbHelperLabel->text().remove(':'); + helperNames << m_debuggingHelperUi->gdbHelperLabel->text().remove(colon); if (hasQmlDumper) - helperNames << m_debuggingHelperUi->qmlDumpLabel->text().remove(':'); + helperNames << m_debuggingHelperUi->qmlDumpLabel->text().remove(colon); if (hasQmlDebuggingLib) - helperNames << m_debuggingHelperUi->qmlDebuggingLibLabel->text().remove(':'); + helperNames << m_debuggingHelperUi->qmlDebuggingLibLabel->text().remove(colon); if (hasQmlObserver) - helperNames << m_debuggingHelperUi->qmlObserverLabel->text().remove(':'); + helperNames << m_debuggingHelperUi->qmlObserverLabel->text().remove(colon); QString status; if (helperNames.isEmpty()) { @@ -995,7 +996,7 @@ void QtOptionsPageWidget::fixQtVersionName(int index) if (i != index) { if (m_versions.at(i)->displayName() == m_versions.at(index)->displayName()) { // Same name, find new name - QRegExp regexp("^(.*)\\((\\d)\\)$"); + QRegExp regexp(QLatin1String("^(.*)\\((\\d)\\)$")); if (regexp.exactMatch(name)) { // Already in Name (#) format name = regexp.cap(1); diff --git a/src/plugins/qtsupport/qtparser.cpp b/src/plugins/qtsupport/qtparser.cpp index fabaf5c6dbd..43af20b935e 100644 --- a/src/plugins/qtsupport/qtparser.cpp +++ b/src/plugins/qtsupport/qtparser.cpp @@ -62,7 +62,7 @@ void QtParser::stdError(const QString &line) m_mocRegExp.cap(5).trimmed(), m_mocRegExp.cap(1) /* filename */, lineno, - ProjectExplorer::Constants::TASK_CATEGORY_COMPILE); + QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)); if (m_mocRegExp.cap(4) == QLatin1String("Warning")) task.type = Task::Warning; emit addTask(task); @@ -126,7 +126,7 @@ void QtSupportPlugin::testQtOutputParser_data() << (QList() << Task(Task::Warning, QLatin1String("No relevant classes found. No output generated."), QLatin1String("..\\untitled\\errorfile.h"), 0, - ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)) + QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); QTest::newRow("moc warning 2") << QString::fromLatin1("c:\\code\\test.h(96): Warning: Property declaration ) has no READ accessor function. The property will be invalid.") @@ -135,7 +135,7 @@ void QtSupportPlugin::testQtOutputParser_data() << (QList() << Task(Task::Warning, QLatin1String("Property declaration ) has no READ accessor function. The property will be invalid."), QLatin1String("c:\\code\\test.h"), 96, - ProjectExplorer::Constants::TASK_CATEGORY_COMPILE)) + QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_COMPILE))) << QString(); } diff --git a/src/plugins/qtsupport/qtversionfactory.cpp b/src/plugins/qtsupport/qtversionfactory.cpp index 3713792b0b8..04429508bb5 100644 --- a/src/plugins/qtsupport/qtversionfactory.cpp +++ b/src/plugins/qtsupport/qtversionfactory.cpp @@ -63,7 +63,7 @@ BaseQtVersion *QtVersionFactory::createQtVersionFromLegacySettings(const Utils:: if (!v) return 0; v->setId(id); - v->setDisplayName(s->value("Name").toString()); + v->setDisplayName(s->value(QLatin1String("Name")).toString()); v->restoreLegacySettings(s); return v; } @@ -82,7 +82,7 @@ BaseQtVersion *QtVersionFactory::createQtVersionFromQMakePath(const Utils::FileN ProFileCacheManager::instance()->incRefCount(); ProFileParser parser(ProFileCacheManager::instance()->cache(), &msgHandler); ProFileEvaluator evaluator(&option, &parser, &msgHandler); - if (ProFile *pro = parser.parsedProFile(mkspec.toString() + "/qmake.conf")) { + if (ProFile *pro = parser.parsedProFile(mkspec.toString() + QLatin1String("/qmake.conf"))) { evaluator.setCumulative(false); evaluator.accept(pro, ProFileEvaluator::LoadProOnly); pro->deref(); diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp index def45c3f367..31516ad0133 100644 --- a/src/plugins/qtsupport/qtversionmanager.cpp +++ b/src/plugins/qtsupport/qtversionmanager.cpp @@ -173,7 +173,7 @@ bool QtVersionManager::restoreQtVersions() break; const QVariantMap qtversionMap = data.value(key).toMap(); - const QString type = qtversionMap.value(QTVERSION_TYPE_KEY).toString(); + const QString type = qtversionMap.value(QLatin1String(QTVERSION_TYPE_KEY)).toString(); bool restored = false; foreach (QtVersionFactory *f, factories) { @@ -227,8 +227,8 @@ void QtVersionManager::updateFromInstaller() if (!data.contains(key)) break; QVariantMap map = data.value(key).toMap(); - Utils::FileName path = Utils::FileName::fromString(map.value(OLDQTVERSION_PATH).toString()); - QString autodetectionSource = map.value(OLDQTVERSION_SDKSOURCE).toString(); + Utils::FileName path = Utils::FileName::fromString(map.value(QLatin1String(OLDQTVERSION_PATH)).toString()); + QString autodetectionSource = map.value(QLatin1String(OLDQTVERSION_SDKSOURCE)).toString(); foreach (BaseQtVersion *v, m_versions) { if (v->qmakeCommand() == path) { if (v->autodetectionSource().isEmpty()) { @@ -265,7 +265,7 @@ void QtVersionManager::updateFromInstaller() break; QVariantMap qtversionMap = data.value(key).toMap(); - const QString type = qtversionMap.value(QTVERSION_TYPE_KEY).toString(); + const QString type = qtversionMap.value(QLatin1String(QTVERSION_TYPE_KEY)).toString(); const QString autoDetectionSource = qtversionMap.value(QLatin1String("autodetectionSource")).toString(); sdkVersions << autoDetectionSource; int id = -1; // see BaseQtVersion::fromMap() @@ -322,7 +322,7 @@ void QtVersionManager::updateFromInstaller() } } foreach (BaseQtVersion *qtVersion, QtVersionManager::instance()->versions()) { - if (qtVersion->autodetectionSource().startsWith("SDK.")) { + if (qtVersion->autodetectionSource().startsWith(QLatin1String("SDK."))) { if (!sdkVersions.contains(qtVersion->autodetectionSource())) { if (debug) qDebug() << " removing version"<autodetectionSource(); @@ -351,13 +351,13 @@ void QtVersionManager::saveQtVersions() QVariantMap tmp = qtv->toMap(); if (tmp.isEmpty()) continue; - tmp.insert(QTVERSION_TYPE_KEY, qtv->type()); + tmp.insert(QLatin1String(QTVERSION_TYPE_KEY), qtv->type()); writer.saveValue(QString::fromLatin1(QTVERSION_DATA_KEY) + QString::number(count), tmp); ++count; } writer.saveValue(QLatin1String(QTVERSION_COUNT_KEY), count); - writer.save(settingsFileName(), "QtCreatorQtVersions", Core::ICore::instance()->mainWindow()); + writer.save(settingsFileName(), QLatin1String("QtCreatorQtVersions"), Core::ICore::instance()->mainWindow()); } void QtVersionManager::findSystemQt() @@ -374,22 +374,23 @@ void QtVersionManager::findSystemQt() bool QtVersionManager::legacyRestore() { QSettings *s = Core::ICore::instance()->settings(); - if (!s->contains(QLatin1String(QtVersionsSectionName) + QLatin1String("/size"))) + const QString qtVersionSection = QLatin1String(QtVersionsSectionName); + if (!s->contains(qtVersionSection + QLatin1String("/size"))) return false; - int size = s->beginReadArray(QtVersionsSectionName); + int size = s->beginReadArray(qtVersionSection); for (int i = 0; i < size; ++i) { s->setArrayIndex(i); // Find the right id // Either something saved or something generated // Note: This code assumes that either all ids are read from the settings // or generated on the fly. - int id = s->value("Id", -1).toInt(); + int id = s->value(QLatin1String("Id"), -1).toInt(); if (id == -1) id = getUniqueId(); else if (m_idcount < id) m_idcount = id + 1; - Utils::FileName qmakePath = Utils::FileName::fromString(s->value("QMakePath").toString()); + Utils::FileName qmakePath = Utils::FileName::fromString(s->value(QLatin1String("QMakePath")).toString()); if (qmakePath.isEmpty()) continue; //skip this version @@ -408,7 +409,7 @@ bool QtVersionManager::legacyRestore() if (!mingwDir.isEmpty()) { QFileInfo fi(mingwDir + QLatin1String("/bin/g++.exe")); if (fi.exists() && fi.isExecutable()) { - ProjectExplorer::MingwToolChain *tc = createToolChain(ProjectExplorer::Constants::MINGW_TOOLCHAIN_ID); + ProjectExplorer::MingwToolChain *tc = createToolChain(QLatin1String(ProjectExplorer::Constants::MINGW_TOOLCHAIN_ID)); if (tc) { tc->setCompilerPath(fi.absoluteFilePath()); tc->setDisplayName(tr("MinGW from %1").arg(version->displayName())); @@ -427,7 +428,7 @@ bool QtVersionManager::legacyRestore() } s->endArray(); - s->remove(QtVersionsSectionName); + s->remove(qtVersionSection); return true; } @@ -540,7 +541,7 @@ void QtVersionManager::updateSettings() // prefer versions with declarative examples foreach (version, candidates) { - if (QDir(version->examplesPath()+"/declarative").exists()) { + if (QDir(version->examplesPath() + QLatin1String("/declarative")).exists()) { emit updateExamples(version->examplesPath(), version->demosPath(), version->sourcePath().toString()); return; } @@ -693,7 +694,7 @@ Utils::FileName QtVersionManager::findQMakeBinaryFromMakefile(const QString &mak QFile fi(makefile); if (fi.exists() && fi.open(QFile::ReadOnly)) { QTextStream ts(&fi); - QRegExp r1("QMAKE\\s*=(.*)"); + QRegExp r1(QLatin1String("QMAKE\\s*=(.*)")); while (!ts.atEnd()) { QString line = ts.readLine(); if (r1.exactMatch(line)) { @@ -747,7 +748,7 @@ QtVersionManager::MakefileCompatible QtVersionManager::makefileIsFor(const QStri if (line.isEmpty()) return CouldNotParse; - line = line.mid(line.indexOf(QChar(':')) + 1); + line.remove(0, line.indexOf(QLatin1Char(':')) + 1); line = line.trimmed(); QFileInfo srcFileInfo(QFileInfo(makefile).absoluteDir(), line); @@ -798,7 +799,7 @@ QPair QtVersionManager::scanMakeFile( if (debug) { qDebug()<<"\n\nDumping information from scanMakeFile"; qDebug()<<"QMake CONFIG variable parsing"; - qDebug()<<" "<< (result & BaseQtVersion::NoBuild ? "No Build" : QString::number(int(result))); + qDebug()<<" "<< (result & BaseQtVersion::NoBuild ? QByteArray("No Build") : QByteArray::number(int(result))); qDebug()<<" "<< (result & BaseQtVersion::DebugBuild ? "debug" : "release"); qDebug()<<" "<< (result & BaseQtVersion::BuildAll ? "debug_and_release" : "no debug_and_release"); qDebug()<<"\nAddtional Arguments"; @@ -833,7 +834,7 @@ QString QtVersionManager::trimLine(const QString line) void QtVersionManager::parseArgs(const QString &args, QList *assignments, QList *afterAssignments, QString *additionalArguments) { - QRegExp regExp("([^\\s\\+-]*)\\s*(\\+=|=|-=|~=)(.*)"); + QRegExp regExp(QLatin1String("([^\\s\\+-]*)\\s*(\\+=|=|-=|~=)(.*)")); bool after = false; bool ignoreNext = false; *additionalArguments = args; @@ -885,22 +886,22 @@ BaseQtVersion::QmakeBuildConfigs QtVersionManager::qmakeBuildConfigFromCmdArgs(Q QList oldAssignments = *assignments; assignments->clear(); foreach(const QMakeAssignment &qa, oldAssignments) { - if (qa.variable == "CONFIG") { - QStringList values = qa.value.split(' '); + if (qa.variable == QLatin1String("CONFIG")) { + QStringList values = qa.value.split(QLatin1Char(' ')); QStringList newValues; foreach(const QString &value, values) { - if (value == "debug") { - if (qa.op == "+=") + if (value == QLatin1String("debug")) { + if (qa.op == QLatin1String("+=")) result = result | BaseQtVersion::DebugBuild; else result = result & ~BaseQtVersion::DebugBuild; - } else if (value == "release") { - if (qa.op == "+=") + } else if (value == QLatin1String("release")) { + if (qa.op == QLatin1String("+=")) result = result & ~BaseQtVersion::DebugBuild; else result = result | BaseQtVersion::DebugBuild; - } else if (value == "debug_and_release") { - if (qa.op == "+=") + } else if (value == QLatin1String("debug_and_release")) { + if (qa.op == QLatin1String("+=")) result = result | BaseQtVersion::BuildAll; else result = result & ~BaseQtVersion::BuildAll; @@ -908,7 +909,7 @@ BaseQtVersion::QmakeBuildConfigs QtVersionManager::qmakeBuildConfigFromCmdArgs(Q newValues.append(value); } QMakeAssignment newQA = qa; - newQA.value = newValues.join(" "); + newQA.value = newValues.join(QLatin1String(" ")); if (!newValues.isEmpty()) assignments->append(newQA); }