From 80d3f73319708dc0c185286c6d9f439418ab0305 Mon Sep 17 00:00:00 2001
From: Friedemann Kleint <Friedemann.Kleint@nokia.com>
Date: Fri, 13 Jan 2012 14:20:45 +0100
Subject: [PATCH] Compile Qt4ProjectManager with QT_NO_CAST_FROM_ASCII.

Change-Id: If9fd111032975d2a313084f5fedf20561806e268
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
---
 src/plugins/projectexplorer/buildstep.h       |   2 +-
 src/plugins/qt4projectmanager/makestep.cpp    |  14 +-
 .../qt4projectmanager/profilehighlighter.cpp  |   6 +-
 .../qt4projectmanager/profilehoverhandler.cpp |   4 +-
 src/plugins/qt4projectmanager/qmakeparser.cpp |  19 +--
 src/plugins/qt4projectmanager/qmakestep.cpp   |  19 +--
 .../qt-desktop/desktopqtversion.cpp           |   2 +-
 .../qt-desktop/qt4desktoptargetfactory.cpp    |  16 +-
 .../qt-desktop/qt4runconfiguration.cpp        |   8 +-
 .../qt-desktop/qt4simulatortarget.cpp         |   2 +-
 .../qt-desktop/qt4simulatortargetfactory.cpp  |  18 +--
 .../qt-desktop/simulatorqtversion.cpp         |   2 +-
 .../qt-desktop/simulatorqtversionfactory.cpp  |   2 +-
 .../qt4projectmanager/qt-s60/abldparser.cpp   |  22 +--
 .../qt-s60/codaruncontrol.cpp                 |   6 +-
 .../qt-s60/gccetoolchain.cpp                  |   2 +-
 .../qt-s60/qt4symbiantarget.cpp               |   6 +-
 .../qt-s60/qt4symbiantargetfactory.cpp        |  32 ++--
 .../qt4projectmanager/qt-s60/rvctparser.cpp   |  30 ++--
 .../qt-s60/rvcttoolchain.cpp                  |   9 +-
 .../qt-s60/s60certificateinfo.cpp             |  18 +--
 .../qt-s60/s60createpackageparser.cpp         |  12 +-
 .../qt-s60/s60createpackagestep.cpp           |  16 +-
 .../qt-s60/s60deployconfiguration.cpp         |   4 +-
 .../qt-s60/s60deployconfigurationwidget.cpp   |  95 ++++++------
 .../qt-s60/s60deploystep.cpp                  |   4 +-
 .../qt-s60/s60devicedebugruncontrol.cpp       |   2 +-
 .../qt-s60/s60devicerunconfiguration.cpp      |   6 +-
 .../qt-s60/s60emulatorrunconfiguration.cpp    |   8 +-
 .../qt-s60/s60publisherovi.cpp                |  75 ++++-----
 .../qt-s60/s60publishingresultspageovi.cpp    |   4 +-
 .../s60publishingsissettingspageovi.cpp       |  18 ++-
 .../qt-s60/s60runcontrolbase.cpp              |   4 +-
 .../qt4projectmanager/qt-s60/sbsv2parser.cpp  |  18 +--
 .../qt-s60/symbianqtversion.cpp               |  15 +-
 .../qt-s60/symbianqtversionfactory.cpp        |   2 +-
 .../qt4projectmanager/qt-s60/winscwparser.cpp |   8 +-
 .../qt-s60/winscwtoolchain.cpp                |   7 +-
 .../qt4buildconfiguration.cpp                 |  30 ++--
 src/plugins/qt4projectmanager/qt4nodes.cpp    | 143 ++++++++++--------
 src/plugins/qt4projectmanager/qt4project.cpp  |  34 +++--
 .../qt4projectconfigwidget.cpp                |  11 +-
 .../qt4projectmanager/qt4projectmanager.cpp   |  17 ++-
 .../qt4projectmanagerplugin.cpp               |  12 +-
 src/plugins/qt4projectmanager/qt4target.cpp   |  46 +++---
 .../qt4projectmanager/qtmodulesinfo.cpp       |   2 +-
 .../qt4projectmanager/winceqtversion.cpp      |  12 +-
 .../winceqtversionfactory.cpp                 |   4 +-
 .../wizards/abstractmobileapp.cpp             |   2 +-
 .../wizards/abstractmobileappwizard.cpp       |   2 +-
 .../wizards/guiappwizard.cpp                  |   4 +-
 .../qt4projectmanager/wizards/html5app.cpp    |   2 +-
 .../wizards/mobilelibraryparameters.cpp       |  16 +-
 .../wizards/qtquickappwizard.cpp              |   4 +-
 .../qt4projectmanager/wizards/qtwizard.cpp    |   8 +-
 .../wizards/targetsetuppage.cpp               |  11 +-
 56 files changed, 469 insertions(+), 428 deletions(-)

diff --git a/src/plugins/projectexplorer/buildstep.h b/src/plugins/projectexplorer/buildstep.h
index 7f45fc99479..052ce8b4b76 100644
--- a/src/plugins/projectexplorer/buildstep.h
+++ b/src/plugins/projectexplorer/buildstep.h
@@ -160,7 +160,7 @@ public:
 
     ~SimpleBuildStepConfigWidget() {}
 
-    QString summaryText() const { return QString("<b>%1</b>").arg(displayName()); }
+    QString summaryText() const { return QLatin1String("<b>") + displayName() + QLatin1String("</b>"); }
     QString displayName() const { return m_step->displayName(); }
     bool showWidget() const { return false; }
     BuildStep *step() const { return m_step; }
diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp
index b7021c58a4e..36dc0afaa4e 100644
--- a/src/plugins/qt4projectmanager/makestep.cpp
+++ b/src/plugins/qt4projectmanager/makestep.cpp
@@ -180,7 +180,7 @@ bool MakeStep::init()
             Utils::QtcProcess::addArg(&args, makefile);
             m_makeFileToCheck = QDir(workingDirectory).filePath(makefile);
         } else {
-            m_makeFileToCheck = QDir(workingDirectory).filePath("Makefile");
+            m_makeFileToCheck = QDir(workingDirectory).filePath(QLatin1String("Makefile"));
         }
     } else {
         if (!bc->makefile().isEmpty()) {
@@ -188,7 +188,7 @@ bool MakeStep::init()
             Utils::QtcProcess::addArg(&args, bc->makefile());
             m_makeFileToCheck = QDir(workingDirectory).filePath(bc->makefile());
         } else {
-            m_makeFileToCheck = QDir(workingDirectory).filePath("Makefile");
+            m_makeFileToCheck = QDir(workingDirectory).filePath(QLatin1String("Makefile"));
         }
     }
 
@@ -215,7 +215,8 @@ bool MakeStep::init()
             Utils::QtcProcess::addArg(&args, QLatin1String("-w"));
         if (toolChain->targetAbi().os() == ProjectExplorer::Abi::WindowsOS
                 && toolChain->targetAbi().osFlavor() != ProjectExplorer::Abi::WindowsMSysFlavor) {
-            env.set("MAKEFLAGS", env.value("MAKEFLAGS").prepend("L"));
+            const QString makeFlags = QLatin1String("MAKEFLAGS");
+            env.set(makeFlags, QLatin1Char('L') + env.value(makeFlags));
         }
     }
 
@@ -400,7 +401,8 @@ void MakeStepConfigWidget::updateDetails()
             Utils::QtcProcess::addArg(&args, QLatin1String("-w"));
         if (toolChain->targetAbi().os() == ProjectExplorer::Abi::WindowsOS
                 && toolChain->targetAbi().osFlavor() != ProjectExplorer::Abi::WindowsMSysFlavor) {
-            env.set("MAKEFLAGS", env.value("MAKEFLAGS").prepend("L"));
+            const QString makeFlags = QLatin1String("MAKEFLAGS");
+            env.set(makeFlags, QLatin1Char('L') + env.value(makeFlags));
         }
     }
     param.setArguments(args);
@@ -469,9 +471,9 @@ ProjectExplorer::BuildStep *MakeStepFactory::create(ProjectExplorer::BuildStepLi
     if (!canCreate(parent, id))
         return 0;
     MakeStep *step = new MakeStep(parent);
-    if (parent->id() == ProjectExplorer::Constants::BUILDSTEPS_CLEAN) {
+    if (parent->id() == QLatin1String(ProjectExplorer::Constants::BUILDSTEPS_CLEAN)) {
         step->setClean(true);
-        step->setUserArguments("clean");
+        step->setUserArguments(QLatin1String("clean"));
     }
     return step;
 }
diff --git a/src/plugins/qt4projectmanager/profilehighlighter.cpp b/src/plugins/qt4projectmanager/profilehighlighter.cpp
index af79b0954d8..6feb497a964 100644
--- a/src/plugins/qt4projectmanager/profilehighlighter.cpp
+++ b/src/plugins/qt4projectmanager/profilehighlighter.cpp
@@ -61,18 +61,18 @@ void ProFileHighlighter::highlightBlock(const QString &text)
         if (inCommentMode) {
             setFormat(i, 1, m_formats[ProfileCommentFormat]);
         } else {
-            if (c.isLetter() || c == '_' || c == '.' || c.isDigit()) {
+            if (c.isLetter() || c == QLatin1Char('_') || c == QLatin1Char('.') || c.isDigit()) {
                 buf += c;
                 setFormat(i - buf.length()+1, buf.length(), emptyFormat);
                 if (!buf.isEmpty() && ProFileKeywords::isFunction(buf))
                     setFormat(i - buf.length()+1, buf.length(), m_formats[ProfileFunctionFormat]);
                 else if (!buf.isEmpty() && ProFileKeywords::isVariable(buf))
                     setFormat(i - buf.length()+1, buf.length(), m_formats[ProfileVariableFormat]);
-            } else if (c == '(') {
+            } else if (c == QLatin1Char('(')) {
                 if (!buf.isEmpty() && ProFileKeywords::isFunction(buf))
                     setFormat(i - buf.length(), buf.length(), m_formats[ProfileFunctionFormat]);
                 buf.clear();
-            } else if (c == '#') {
+            } else if (c == QLatin1Char('#')) {
                 inCommentMode = true;
                 setFormat(i, 1, m_formats[ProfileCommentFormat]);
                 buf.clear();
diff --git a/src/plugins/qt4projectmanager/profilehoverhandler.cpp b/src/plugins/qt4projectmanager/profilehoverhandler.cpp
index bbee2491fc4..0d5e8fd242d 100644
--- a/src/plugins/qt4projectmanager/profilehoverhandler.cpp
+++ b/src/plugins/qt4projectmanager/profilehoverhandler.cpp
@@ -125,7 +125,7 @@ void ProFileHoverHandler::identifyQMakeKeyword(const QString &text, int pos)
                 if (i >= pos)
                     break; // we are after the tooltip pos
             }
-            if (c == '#')
+            if (c == QLatin1Char('#'))
                 break; // comment start
         }
     }
@@ -164,7 +164,7 @@ void ProFileHoverHandler::identifyDocFragment(ProFileHoverHandler::ManualKind ma
         // Document fragment of qmake function is retrieved from docs.
         // E.g. in case of the keyword "find" the document fragment
         // parsed from docs is "find-variablename-substr".
-        m_docFragment = htmlExtractor.getQMakeFunctionId(html, m_docFragment);
+        m_docFragment = htmlExtractor.getQMakeFunctionId(QString::fromUtf8(html), m_docFragment);
     }
 }
 
diff --git a/src/plugins/qt4projectmanager/qmakeparser.cpp b/src/plugins/qt4projectmanager/qmakeparser.cpp
index 7facb82716b..bfbdf10f0de 100644
--- a/src/plugins/qt4projectmanager/qmakeparser.cpp
+++ b/src/plugins/qt4projectmanager/qmakeparser.cpp
@@ -56,7 +56,7 @@ void QMakeParser::stdError(const QString &line)
                           description,
                           QString() /* filename */,
                           -1 /* linenumber */,
-                          ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+                          QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
         return;
     }
     if (lne.startsWith(QLatin1String("Project WARNING:"))) {
@@ -65,23 +65,23 @@ void QMakeParser::stdError(const QString &line)
                           description,
                           QString() /* filename */,
                           -1 /* linenumber */,
-                          ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+                          QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
         return;
     }
     if (m_error.indexIn(lne) > -1) {
         QString fileName = m_error.cap(1);
         Task::TaskType type = Task::Error;
-        if (fileName.startsWith("WARNING: ")) {
+        if (fileName.startsWith(QLatin1String("WARNING: "))) {
             type = Task::Warning;
             fileName = fileName.mid(9);
-        } else if (fileName.startsWith("ERROR: ")) {
+        } else if (fileName.startsWith(QLatin1String("ERROR: "))) {
             fileName = fileName.mid(7);
         }
         emit addTask(Task(type,
                           m_error.cap(3) /* description */,
                           fileName,
                           m_error.cap(2).toInt() /* line */,
-                          ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+                          QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
         return;
     }
     IOutputParser::stdError(line);
@@ -102,6 +102,7 @@ using namespace ProjectExplorer;
 
 void Qt4ProjectManagerPlugin::testQmakeOutputParsers_data()
 {
+    const QString categoryBuildSystem = QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM);
     QTest::addColumn<QString>("input");
     QTest::addColumn<OutputParserTester::Channel>("inputChannel");
     QTest::addColumn<QString>("childStdOutLines");
@@ -129,7 +130,7 @@ void Qt4ProjectManagerPlugin::testQmakeOutputParsers_data()
                 << Task(Task::Error,
                         QLatin1String("undefined file"),
                         QString(), -1,
-                        ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))
+                        categoryBuildSystem))
             << QString();
 
     QTest::newRow("qMake Parse Error")
@@ -141,7 +142,7 @@ void Qt4ProjectManagerPlugin::testQmakeOutputParsers_data()
                         QLatin1String("Parse Error ('sth odd')"),
                         QLatin1String("e:\\project.pro"),
                         14,
-                        ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))
+                        categoryBuildSystem))
             << QString();
 
     QTest::newRow("qMake warning")
@@ -152,7 +153,7 @@ void Qt4ProjectManagerPlugin::testQmakeOutputParsers_data()
                 << Task(Task::Warning,
                         QLatin1String("bearer module might require ReadUserData capability"),
                         QString(), -1,
-                        ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))
+                        categoryBuildSystem))
             << QString();
 
     QTest::newRow("qMake warning with location")
@@ -163,7 +164,7 @@ void Qt4ProjectManagerPlugin::testQmakeOutputParsers_data()
                 << Task(Task::Warning,
                         QLatin1String("Unescaped backslashes are deprecated."),
                         QLatin1String("e:\\NokiaQtSDK\\Simulator\\Qt\\msvc2008\\lib\\qtmaind.prl"), 1,
-                        ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM))
+                        categoryBuildSystem))
             << QString();
 }
 
diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp
index f74bc02830e..bd86f82bd41 100644
--- a/src/plugins/qt4projectmanager/qmakestep.cpp
+++ b/src/plugins/qt4projectmanager/qmakestep.cpp
@@ -135,7 +135,7 @@ QString QMakeStep::allArguments(bool shorted)
     else
         arguments << QDir::toNativeSeparators(project()->file()->fileName());
 
-    arguments << "-r";
+    arguments << QLatin1String("-r");
     bool userProvidedMkspec = false;
     for (Utils::QtcProcess::ConstArgIterator ait(m_userArgs); ait.next(); ) {
         if (ait.value() == QLatin1String("-spec")) {
@@ -147,7 +147,7 @@ QString QMakeStep::allArguments(bool shorted)
     }
     Utils::FileName specArg = mkspec();
     if (!userProvidedMkspec && !specArg.isEmpty())
-        arguments << "-spec" << specArg.toUserOutput();
+        arguments << QLatin1String("-spec") << specArg.toUserOutput();
 
     // Find out what flags we pass on to qmake
     arguments << bc->configCommandLineArguments();
@@ -243,13 +243,13 @@ bool QMakeStep::init()
         if (!qt4bc->subNodeBuild()->makefile().isEmpty()) {
             makefile.append(qt4bc->subNodeBuild()->makefile());
         } else {
-            makefile.append("/Makefile");
+            makefile.append(QLatin1String("/Makefile"));
         }
     } else if (!qt4bc->makefile().isEmpty()) {
-        makefile.append("/");
+        makefile.append(QLatin1Char('/'));
         makefile.append(qt4bc->makefile());
     } else {
-        makefile.append("/Makefile");
+        makefile.append(QLatin1String("/Makefile"));
     }
 
     // Check whether we need to run qmake
@@ -723,11 +723,12 @@ void QMakeStepConfigWidget::recompileMessageBoxFinished(int button)
             return;
 
         QList<ProjectExplorer::BuildStepList *> stepLists;
-        stepLists << bc->stepList(ProjectExplorer::Constants::BUILDSTEPS_CLEAN);
-        stepLists << bc->stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
+        const QString clean = QLatin1String(ProjectExplorer::Constants::BUILDSTEPS_CLEAN);
+        const QString build = QLatin1String(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
+        stepLists << bc->stepList(clean) << bc->stepList(build);
         ProjectExplorer::BuildManager *bm = ProjectExplorerPlugin::instance()->buildManager();
-        bm->buildLists(stepLists, QStringList() << ProjectExplorerPlugin::displayNameForStepId(ProjectExplorer::Constants::BUILDSTEPS_CLEAN)
-                       << ProjectExplorerPlugin::displayNameForStepId(ProjectExplorer::Constants::BUILDSTEPS_BUILD));
+        bm->buildLists(stepLists, QStringList() << ProjectExplorerPlugin::displayNameForStepId(clean)
+                       << ProjectExplorerPlugin::displayNameForStepId(build));
     }
 }
 
diff --git a/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp b/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp
index 23518b14866..4fe993ef181 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp
@@ -67,7 +67,7 @@ DesktopQtVersion *DesktopQtVersion::clone() const
 
 QString DesktopQtVersion::type() const
 {
-    return QtSupport::Constants::DESKTOPQT;
+    return QLatin1String(QtSupport::Constants::DESKTOPQT);
 }
 
 QString DesktopQtVersion::warningReason() const
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
index 454e67442ae..1b06c58e665 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
@@ -73,9 +73,9 @@ QStringList Qt4DesktopTargetFactory::supportedTargetIds(ProjectExplorer::Project
 {
     if (parent && !qobject_cast<Qt4Project *>(parent))
         return QStringList();
-    if (!QtSupport::QtVersionManager::instance()->supportsTargetId(Constants::DESKTOP_TARGET_ID))
-        return QStringList();
-    return QStringList() << QLatin1String(Constants::DESKTOP_TARGET_ID);
+    const QString desktopId = QLatin1String(Constants::DESKTOP_TARGET_ID);
+    return QtSupport::QtVersionManager::instance()->supportsTargetId(desktopId) ?
+           QStringList(desktopId) : QStringList();
 }
 
 QString Qt4DesktopTargetFactory::displayNameForId(const QString &id) const
@@ -164,11 +164,11 @@ ProjectExplorer::Target *Qt4DesktopTargetFactory::create(ProjectExplorer::Projec
 QSet<QString> Qt4DesktopTargetFactory::targetFeatures(const QString & /*id*/) const
 {
     QSet<QString> features;
-    features << Constants::DESKTOP_TARGETFEATURE_ID;
-    features << Constants::SHADOWBUILD_TARGETFEATURE_ID;
+    features << QLatin1String(Constants::DESKTOP_TARGETFEATURE_ID)
+             << QLatin1String(Constants::SHADOWBUILD_TARGETFEATURE_ID)
     // how to check check whether they component set is really installed?
-    features << Constants::QTQUICKCOMPONENTS_SYMBIAN_TARGETFEATURE_ID;
-    features << Constants::QTQUICKCOMPONENTS_MEEGO_TARGETFEATURE_ID;
+             << QLatin1String(Constants::QTQUICKCOMPONENTS_SYMBIAN_TARGETFEATURE_ID)
+             << QLatin1String(Constants::QTQUICKCOMPONENTS_MEEGO_TARGETFEATURE_ID);
     return features;
 }
 
@@ -185,7 +185,7 @@ ProjectExplorer::Target *Qt4DesktopTargetFactory::create(ProjectExplorer::Projec
                                     info.version, info.buildConfig,
                                     info.additionalArguments, info.directory, info.importing);
 
-    t->addDeployConfiguration(t->createDeployConfiguration(ProjectExplorer::Constants::DEFAULT_DEPLOYCONFIGURATION_ID));
+    t->addDeployConfiguration(t->createDeployConfiguration(QLatin1String(ProjectExplorer::Constants::DEFAULT_DEPLOYCONFIGURATION_ID)));
 
     t->createApplicationProFiles();
 
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp
index 44aa53fc0dc..51b1f26a43c 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp
@@ -247,7 +247,7 @@ Qt4RunConfigurationWidget::Qt4RunConfigurationWidget(Qt4RunConfiguration *qt4Run
     m_useTerminalCheck = new QCheckBox(tr("Run in terminal"), this);
     m_useTerminalCheck->setChecked(m_qt4RunConfiguration->runMode() == ProjectExplorer::LocalApplicationRunConfiguration::Console);
     toplayout->addRow(QString(), m_useTerminalCheck);
-    m_useTerminalCheck->setVisible(qt4RunConfiguration->target()->id() != Constants::QT_SIMULATOR_TARGET_ID);
+    m_useTerminalCheck->setVisible(qt4RunConfiguration->target()->id() != QLatin1String(Constants::QT_SIMULATOR_TARGET_ID));
 
     QLabel *debuggerLabel = new QLabel(tr("Debugger:"), this);
     debuggerLabel->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::MinimumExpanding);
@@ -420,7 +420,7 @@ void Qt4RunConfigurationWidget::workingDirectoryReseted()
 {
     // This emits a signal connected to workingDirectoryChanged()
     // that sets the m_workingDirectoryEdit
-    m_qt4RunConfiguration->setBaseWorkingDirectory("");
+    m_qt4RunConfiguration->setBaseWorkingDirectory(QString());
 }
 
 void Qt4RunConfigurationWidget::argumentsEdited(const QString &args)
@@ -609,7 +609,7 @@ Utils::Environment Qt4RunConfiguration::baseEnvironment() const
         env = target()->activeBuildConfiguration()->environment();
     }
     if (m_isUsingDyldImageSuffix) {
-        env.set("DYLD_IMAGE_SUFFIX", "_debug");
+        env.set(QLatin1String("DYLD_IMAGE_SUFFIX"), QLatin1String("_debug"));
     }
 
     // The user could be linking to a library found via a -L/some/dir switch
@@ -800,7 +800,7 @@ QStringList Qt4RunConfigurationFactory::availableCreationIds(ProjectExplorer::Ta
     Qt4BaseTarget *t = qobject_cast<Qt4BaseTarget *>(parent);
     if (!t)
         return QStringList();
-    if (t->id() != Constants::DESKTOP_TARGET_ID
+    if (t->id() != QLatin1String(Constants::DESKTOP_TARGET_ID)
         && t->id() != QLatin1String(Constants::QT_SIMULATOR_TARGET_ID))
         return QStringList();
     return t->qt4Project()->applicationProFilePathes(QLatin1String(QT4_RC_PREFIX));
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortarget.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortarget.cpp
index b829e8f4cf7..782bf3665ad 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortarget.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortarget.cpp
@@ -53,7 +53,7 @@ Qt4SimulatorTarget::Qt4SimulatorTarget(Qt4Project *parent, const QString &id) :
     m_buildConfigurationFactory(new Qt4BuildConfigurationFactory(this))
 {
     setDisplayName(defaultDisplayName());
-    setIcon(QIcon(":/projectexplorer/images/SymbianEmulator.png"));
+    setIcon(QIcon(QLatin1String(":/projectexplorer/images/SymbianEmulator.png")));
 }
 
 Qt4SimulatorTarget::~Qt4SimulatorTarget()
diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
index 8120920c4c4..77e16c1f054 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
@@ -73,9 +73,9 @@ QStringList Qt4SimulatorTargetFactory::supportedTargetIds(ProjectExplorer::Proje
 {
     if (parent && !qobject_cast<Qt4Project *>(parent))
         return QStringList();
-    if (!QtSupport::QtVersionManager::instance()->supportsTargetId(Constants::QT_SIMULATOR_TARGET_ID))
-        return QStringList();
-    return QStringList() << QLatin1String(Constants::QT_SIMULATOR_TARGET_ID);
+    const QString simulatorId = QLatin1String(Constants::QT_SIMULATOR_TARGET_ID);
+    return QtSupport::QtVersionManager::instance()->supportsTargetId(simulatorId) ?
+           QStringList(simulatorId) : QStringList();
 }
 
 QString Qt4SimulatorTargetFactory::displayNameForId(const QString &id) const
@@ -88,7 +88,7 @@ QString Qt4SimulatorTargetFactory::displayNameForId(const QString &id) const
 QIcon Qt4SimulatorTargetFactory::iconForId(const QString &id) const
 {
     if (id == QLatin1String(Constants::QT_SIMULATOR_TARGET_ID))
-        return QIcon(":/projectexplorer/images/SymbianEmulator.png");
+        return QIcon(QLatin1String(":/projectexplorer/images/SymbianEmulator.png"));
     return QIcon();
 }
 
@@ -128,11 +128,11 @@ QSet<QString> Qt4SimulatorTargetFactory::targetFeatures(const QString & /*id*/)
 {
     QSet<QString> features;
 
-    features << Constants::MOBILE_TARGETFEATURE_ID;
-    features << Constants::SHADOWBUILD_TARGETFEATURE_ID;
+    features << QLatin1String(Constants::MOBILE_TARGETFEATURE_ID)
+             << QLatin1String(Constants::SHADOWBUILD_TARGETFEATURE_ID)
     // how to check check whether the component set is really installed?
-    features << Constants::QTQUICKCOMPONENTS_SYMBIAN_TARGETFEATURE_ID;
-    features << Constants::QTQUICKCOMPONENTS_MEEGO_TARGETFEATURE_ID;
+             << QLatin1String(Constants::QTQUICKCOMPONENTS_SYMBIAN_TARGETFEATURE_ID)
+             << QLatin1String(Constants::QTQUICKCOMPONENTS_MEEGO_TARGETFEATURE_ID);
     return features;
 }
 
@@ -166,7 +166,7 @@ ProjectExplorer::Target *Qt4SimulatorTargetFactory::create(ProjectExplorer::Proj
         t->addQt4BuildConfiguration(msgBuildConfigurationName(info), QString(), info.version, info.buildConfig,
                                     info.additionalArguments, info.directory, info.importing);
 
-    t->addDeployConfiguration(t->createDeployConfiguration(ProjectExplorer::Constants::DEFAULT_DEPLOYCONFIGURATION_ID));
+    t->addDeployConfiguration(t->createDeployConfiguration(QLatin1String(ProjectExplorer::Constants::DEFAULT_DEPLOYCONFIGURATION_ID)));
 
     t->createApplicationProFiles();
 
diff --git a/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp b/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp
index b6e5b44089a..54746b76e16 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversion.cpp
@@ -67,7 +67,7 @@ SimulatorQtVersion *SimulatorQtVersion::clone() const
 
 QString SimulatorQtVersion::type() const
 {
-    return QtSupport::Constants::SIMULATORQT;
+    return QLatin1String(QtSupport::Constants::SIMULATORQT);
 }
 
 QString SimulatorQtVersion::warningReason() const
diff --git a/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversionfactory.cpp b/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversionfactory.cpp
index 6771cdee724..5ffbff9c4ea 100644
--- a/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversionfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-desktop/simulatorqtversionfactory.cpp
@@ -78,7 +78,7 @@ QtSupport::BaseQtVersion *SimulatorQtVersionFactory::create(const Utils::FileNam
     QFileInfo fi = qmakePath.toFileInfo();
     if (!fi.exists() || !fi.isExecutable() || !fi.isFile())
         return 0;
-    QStringList configValues = evaluator->values("CONFIG");
+    QStringList configValues = evaluator->values(QLatin1String("CONFIG"));
     if (!configValues.contains(QLatin1String("simulator")))
         return 0;
 
diff --git a/src/plugins/qt4projectmanager/qt-s60/abldparser.cpp b/src/plugins/qt4projectmanager/qt-s60/abldparser.cpp
index 0898080a243..4bd9528e01b 100644
--- a/src/plugins/qt4projectmanager/qt-s60/abldparser.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/abldparser.cpp
@@ -45,7 +45,7 @@ AbldParser::AbldParser() :
     m_waitingForStdOutContinuation(false)
 {
     setObjectName(QLatin1String("AbldParser"));
-    m_perlIssue.setPattern("^(WARNING|ERROR):\\s([^\\(\\)]+[^\\d])\\((\\d+)\\) : (.+)$");
+    m_perlIssue.setPattern(QLatin1String("^(WARNING|ERROR):\\s([^\\(\\)]+[^\\d])\\((\\d+)\\) : (.+)$"));
     m_perlIssue.setMinimal(true);
 }
 
@@ -60,7 +60,7 @@ void AbldParser::stdOutput(const QString &line)
                           lne /* description */,
                           QString() /* filename */,
                           -1 /* linenumber */,
-                          TASK_CATEGORY_BUILDSYSTEM));
+                          QLatin1String(TASK_CATEGORY_BUILDSYSTEM)));
         return;
     }
     if (lne.startsWith(QLatin1String("FATAL ERROR:")) ||
@@ -69,7 +69,7 @@ void AbldParser::stdOutput(const QString &line)
                           lne /* description */,
                           QString() /* filename */,
                           -1 /* linenumber */,
-                          TASK_CATEGORY_BUILDSYSTEM));
+                          QLatin1String(TASK_CATEGORY_BUILDSYSTEM)));
         m_waitingForStdOutContinuation = false;
         return;
     }
@@ -82,7 +82,7 @@ void AbldParser::stdOutput(const QString &line)
         Task task(Task::Unknown,
                   m_perlIssue.cap(4) /* description */,
                   m_currentFile, m_currentLine,
-                  TASK_CATEGORY_BUILDSYSTEM);
+                  QLatin1String(TASK_CATEGORY_BUILDSYSTEM));
 
         if (m_perlIssue.cap(1) == QLatin1String("WARNING"))
             task.type = Task::Warning;
@@ -97,7 +97,7 @@ void AbldParser::stdOutput(const QString &line)
         m_waitingForStdOutContinuation = false;
         emit addTask(Task(Task::Error,
                           line, QString(), -1,
-                          TASK_CATEGORY_BUILDSYSTEM));
+                          QLatin1String(TASK_CATEGORY_BUILDSYSTEM)));
         return;
     }
 
@@ -110,7 +110,7 @@ void AbldParser::stdOutput(const QString &line)
         emit addTask(Task(Task::Unknown,
                           lne /* description */,
                           m_currentFile, m_currentLine,
-                          TASK_CATEGORY_BUILDSYSTEM));
+                          QLatin1String(TASK_CATEGORY_BUILDSYSTEM)));
         m_waitingForStdOutContinuation = true;
         return;
     }
@@ -131,7 +131,7 @@ void AbldParser::stdError(const QString &line)
                           lne /* description */,
                           QString() /* filename */,
                           -1 /* linenumber */,
-                          TASK_CATEGORY_BUILDSYSTEM));
+                          QLatin1String(TASK_CATEGORY_BUILDSYSTEM)));
         return;
     }
 
@@ -140,7 +140,7 @@ void AbldParser::stdError(const QString &line)
                           lne /* description */,
                           QString() /* filename */,
                           -1 /* linenumber */,
-                          TASK_CATEGORY_BUILDSYSTEM));
+                          QLatin1String(TASK_CATEGORY_BUILDSYSTEM)));
         m_waitingForStdErrContinuation = false;
         return;
     }
@@ -159,7 +159,7 @@ void AbldParser::stdError(const QString &line)
         emit addTask(Task(Task::Warning, description,
                           m_currentFile,
                           -1 /* linenumber */,
-                          TASK_CATEGORY_BUILDSYSTEM));
+                          QLatin1String(TASK_CATEGORY_BUILDSYSTEM)));
         m_waitingForStdErrContinuation = true;
         return;
     }
@@ -168,7 +168,7 @@ void AbldParser::stdError(const QString &line)
         emit addTask(Task(Task::Error, description,
                           m_currentFile,
                           -1 /* linenumber */,
-                          TASK_CATEGORY_BUILDSYSTEM));
+                          QLatin1String(TASK_CATEGORY_BUILDSYSTEM)));
         m_waitingForStdErrContinuation = true;
         return;
     }
@@ -178,7 +178,7 @@ void AbldParser::stdError(const QString &line)
                           lne /* description */,
                           m_currentFile,
                           -1 /* linenumber */,
-                          TASK_CATEGORY_BUILDSYSTEM));
+                          QLatin1String(TASK_CATEGORY_BUILDSYSTEM)));
         m_waitingForStdErrContinuation = true;
         return;
     }
diff --git a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp
index 2153d0046d0..caaf445eb04 100644
--- a/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/codaruncontrol.cpp
@@ -111,7 +111,7 @@ bool CodaRunControl::isRunning() const
 
 QIcon CodaRunControl::icon() const
 {
-    return QIcon(ProjectExplorer::Constants::ICON_DEBUG_SMALL);
+    return QIcon(QLatin1String(ProjectExplorer::Constants::ICON_DEBUG_SMALL));
 }
 
 bool CodaRunControl::setupLauncher()
@@ -346,7 +346,7 @@ void CodaRunControl::handleFindProcesses(const CodaCommandResult &result)
         m_codaDevice->sendProcessStartCommand(CodaCallback(this, &CodaRunControl::handleCreateProcess),
                                               executableName(),
                                               executableUid(),
-                                              commandLineArguments().split(' '),
+                                              commandLineArguments().split(QLatin1Char(' ')),
                                               QString(),
                                               true);
         appendMessage(tr("Launching: %1\n").arg(executableName()), Utils::NormalMessageFormat);
@@ -362,7 +362,7 @@ void CodaRunControl::handleCreateProcess(const CodaCommandResult &result)
             Json::JsonValue id = result.values.at(0).findChild("ID");
             if (id.isValid()) {
                 m_state = StateProcessRunning;
-                m_runningProcessId = id.data();
+                m_runningProcessId = QLatin1String(id.data());
                 processCreated = true;
             }
         }
diff --git a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
index eeab4ad1249..3878937ec6e 100644
--- a/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/gccetoolchain.cpp
@@ -73,7 +73,7 @@ static QString gcceVersion(const QString &command)
     }
 
     QString version = QString::fromLocal8Bit(gxx.readLine().trimmed());
-    if (version.contains(QRegExp("^\\d+\\.\\d+\\.\\d+.*$")))
+    if (version.contains(QRegExp(QLatin1String("^\\d+\\.\\d+\\.\\d+.*$"))))
         return version;
 
     return QString();
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp
index da33a08f146..cc5774ca47c 100644
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantarget.cpp
@@ -84,9 +84,9 @@ QString Qt4SymbianTarget::defaultDisplayName(const QString &id)
 QIcon Qt4SymbianTarget::iconForId(const QString &id)
 {
     if (id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID))
-        return QIcon(":/projectexplorer/images/SymbianEmulator.png");
+        return QIcon(QLatin1String(":/projectexplorer/images/SymbianEmulator.png"));
     if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID))
-        return QIcon(":/projectexplorer/images/SymbianDevice.png");
+        return QIcon(QLatin1String(":/projectexplorer/images/SymbianDevice.png"));
     return QIcon();
 }
 
@@ -107,7 +107,7 @@ QList<ProjectExplorer::ToolChain *> Qt4SymbianTarget::possibleToolChains(Project
         }
     } else if (id() == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) {
         foreach (ProjectExplorer::ToolChain *tc, candidates) {
-            if (!tc->id().startsWith(Qt4ProjectManager::Constants::WINSCW_TOOLCHAIN_ID))
+            if (!tc->id().startsWith(QLatin1String(Qt4ProjectManager::Constants::WINSCW_TOOLCHAIN_ID)))
                 tmp.append(tc);
         }
     }
diff --git a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
index 581773d80b2..6a2e88d10bb 100644
--- a/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
@@ -81,10 +81,12 @@ QStringList Qt4SymbianTargetFactory::supportedTargetIds(ProjectExplorer::Project
 
     QStringList ids;
     // The QtVersionManager will just check whether theres
-    if (QtSupport::QtVersionManager::instance()->supportsTargetId(Constants::S60_DEVICE_TARGET_ID))
-        ids << QLatin1String(Constants::S60_DEVICE_TARGET_ID);
-    if (QtSupport::QtVersionManager::instance()->supportsTargetId(Constants::S60_EMULATOR_TARGET_ID))
-        ids << QLatin1String(Constants::S60_EMULATOR_TARGET_ID);
+    const QString deviceId = QLatin1String(Constants::S60_DEVICE_TARGET_ID);
+    if (QtSupport::QtVersionManager::instance()->supportsTargetId(deviceId))
+        ids << deviceId;
+    const QString emulatorId = QLatin1String(Constants::S60_EMULATOR_TARGET_ID);
+    if (QtSupport::QtVersionManager::instance()->supportsTargetId(emulatorId))
+        ids << emulatorId;
 
     return ids;
 }
@@ -97,9 +99,9 @@ QString Qt4SymbianTargetFactory::displayNameForId(const QString &id) const
 QIcon Qt4SymbianTargetFactory::iconForId(const QString &id) const
 {
     if (id == QLatin1String(Constants::S60_EMULATOR_TARGET_ID))
-        return QIcon(":/projectexplorer/images/SymbianEmulator.png");
+        return QIcon(QLatin1String(":/projectexplorer/images/SymbianEmulator.png"));
     if (id == QLatin1String(Constants::S60_DEVICE_TARGET_ID))
-        return QIcon(":/projectexplorer/images/SymbianDevice.png");
+        return QIcon(QLatin1String(":/projectexplorer/images/SymbianDevice.png"));
     return QIcon();
 }
 
@@ -143,23 +145,23 @@ QList<ProjectExplorer::Task> Qt4SymbianTargetFactory::reportIssues(const QString
     const QString projectName = proFile.mid(proFile.lastIndexOf(QLatin1Char('/')) + 1);
     QString projectPath = proFile.left(proFile.lastIndexOf(QLatin1Char('/')));
 #if defined (Q_OS_WIN)
-    if (projectPath.at(1) == QChar(':') && projectPath.at(0).toUpper() >= QChar('A') && projectPath.at(0).toUpper() <= QChar('Z'))
-        projectPath = projectPath.mid(2);
+    if (projectPath.at(1) == QLatin1Char(':') && projectPath.at(0).toUpper() >= QLatin1Char('A') && projectPath.at(0).toUpper() <= QLatin1Char('Z'))
+        projectPath.remove(0, 2);
 #endif
     if (projectPath.contains(QLatin1Char(' '))) {
         results.append(Task(Task::Warning,
                             QCoreApplication::translate("ProjectExplorer::Internal::S60ProjectChecker",
                                                         "The Symbian tool chain does not handle spaces "
                                                         "in the project path '%1'.").arg(projectPath),
-                            QString(), -1, ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+                            QString(), -1, QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
     }
-    if (projectName.contains(QRegExp("[^a-zA-Z0-9.-]"))) {
+    if (projectName.contains(QRegExp(QLatin1String("[^a-zA-Z0-9.-]")))) {
         results.append(Task(Task::Warning,
                             QCoreApplication::translate("ProjectExplorer::Internal::S60ProjectChecker",
                                                         "The Symbian tool chain does not handle special "
                                                         "characters in the project name '%1' well.")
                             .arg(projectName),
-                            QString(), -1, ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+                            QString(), -1, QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
     }
     return results;
 }
@@ -170,7 +172,7 @@ QList<BuildConfigurationInfo> Qt4SymbianTargetFactory::availableBuildConfigurati
 {
     QList<BuildConfigurationInfo> infos
             = Qt4BaseTargetFactory::availableBuildConfigurations(id, proFilePath, minimumQtVersion, maximumQtVersion);
-    if (id != Constants::S60_EMULATOR_TARGET_ID)
+    if (id != QLatin1String(Constants::S60_EMULATOR_TARGET_ID))
         return infos;
     // For emulator filter out all non debug builds
     QList<BuildConfigurationInfo> tmp;
@@ -188,9 +190,9 @@ bool Qt4SymbianTargetFactory::selectByDefault(const QString &id) const
 QSet<QString> Qt4SymbianTargetFactory::targetFeatures(const QString & /*id*/) const
 {
     QSet<QString> features;
-    features << Constants::MOBILE_TARGETFEATURE_ID;
+    features << QLatin1String(Constants::MOBILE_TARGETFEATURE_ID)
     // ideally we should check whether they're really installed
-    features << Constants::QTQUICKCOMPONENTS_SYMBIAN_TARGETFEATURE_ID;
+             << QLatin1String(Constants::QTQUICKCOMPONENTS_SYMBIAN_TARGETFEATURE_ID);
     return features;
 }
 
@@ -207,7 +209,7 @@ ProjectExplorer::Target *Qt4SymbianTargetFactory::create(ProjectExplorer::Projec
     QtSupport::BaseQtVersion::QmakeBuildConfigs config = qtVersion->defaultBuildConfig();
 
     QList<BuildConfigurationInfo> infos;
-    if (id != Constants::S60_EMULATOR_TARGET_ID) {
+    if (id != QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) {
         infos.append(BuildConfigurationInfo(qtVersion, config, QString(), QString()));
         infos.append(BuildConfigurationInfo(qtVersion, config ^ QtSupport::BaseQtVersion::DebugBuild, QString(), QString()));
     } else {
diff --git a/src/plugins/qt4projectmanager/qt-s60/rvctparser.cpp b/src/plugins/qt4projectmanager/qt-s60/rvctparser.cpp
index e78cfbaef7f..d2ce5a21056 100644
--- a/src/plugins/qt4projectmanager/qt-s60/rvctparser.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/rvctparser.cpp
@@ -43,15 +43,15 @@ RvctParser::RvctParser() :
 {
     setObjectName(QLatin1String("RvctParser"));
     // Start of a error or warning:
-    m_warningOrError.setPattern("^\"([^\\(\\)]+[^\\d])\", line (\\d+):(\\s(Warning|Error):)\\s+([^\\s].*)$");
+    m_warningOrError.setPattern(QLatin1String("^\"([^\\(\\)]+[^\\d])\", line (\\d+):(\\s(Warning|Error):)\\s+([^\\s].*)$"));
     m_warningOrError.setMinimal(true);
 
     // Last message for any file with warnings/errors.
-    m_wrapUpTask.setPattern("^([^\\(\\)]+[^\\d]):\\s(\\d+) warnings?,\\s(\\d+) errors?$");
+    m_wrapUpTask.setPattern(QLatin1String("^([^\\(\\)]+[^\\d]):\\s(\\d+) warnings?,\\s(\\d+) errors?$"));
     m_wrapUpTask.setMinimal(true);
 
     // linker problems:
-    m_genericProblem.setPattern("^(Error|Warning): (.*)$");
+    m_genericProblem.setPattern(QLatin1String("^(Error|Warning): (.*)$"));
     m_genericProblem.setMinimal(true);
 }
 
@@ -70,10 +70,10 @@ void RvctParser::stdError(const QString &line)
                           m_genericProblem.cap(2) /* description */,
                           QString(),
                           -1 /* linenumber */,
-                          TASK_CATEGORY_COMPILE);
-        if (m_warningOrError.cap(4) == "Warning")
+                          QLatin1String(TASK_CATEGORY_COMPILE));
+        if (m_warningOrError.cap(4) == QLatin1String("Warning"))
             m_task->type = Task::Warning;
-        else if (m_warningOrError.cap(4) == "Error")
+        else if (m_warningOrError.cap(4) == QLatin1String("Error"))
             m_task->type = Task::Error;
 
         return;
@@ -85,10 +85,10 @@ void RvctParser::stdError(const QString &line)
                          m_warningOrError.cap(5) /* description */,
                          m_warningOrError.cap(1) /* file */,
                          m_warningOrError.cap(2).toInt() /* line */,
-                         TASK_CATEGORY_COMPILE);
-       if (m_warningOrError.cap(4) == "Warning")
+                         QLatin1String(TASK_CATEGORY_COMPILE));
+       if (m_warningOrError.cap(4) == QLatin1String("Warning"))
            m_task->type = Task::Warning;
-       else if (m_warningOrError.cap(4) == "Error")
+       else if (m_warningOrError.cap(4) == QLatin1String("Error"))
            m_task->type = Task::Error;
        return;
    }
@@ -101,7 +101,7 @@ void RvctParser::stdError(const QString &line)
        QString description = line;
        if (description.startsWith(QLatin1String("  ")))
            description = description.mid(2);
-       if (description.endsWith('\n'))
+       if (description.endsWith(QLatin1Char('\n')))
            description.chop(1);
        if (m_task->formats.isEmpty()) {
            QTextLayout::FormatRange fr;
@@ -152,7 +152,7 @@ void Qt4ProjectManagerPlugin::testRvctOutputParser_data()
     QTest::addColumn<QList<ProjectExplorer::Task> >("tasks");
     QTest::addColumn<QString>("outputLines");
 
-
+    const QString categoryCompile = QLatin1String(Constants::TASK_CATEGORY_COMPILE);
     QTest::newRow("pass-through stdout")
             << QString::fromLatin1("Sometext") << OutputParserTester::STDOUT
             << QString::fromLatin1("Sometext\n") << QString()
@@ -176,7 +176,7 @@ void Qt4ProjectManagerPlugin::testRvctOutputParser_data()
                                       "  : public _Integer_limits<char, CHAR_MIN, CHAR_MAX, -1, true>\n"
                                       "                                 ^"),
                         QLatin1String("../../../../s60-sdk/epoc32/include/stdapis/stlport/stl/_limits.h"), 256,
-                        Constants::TASK_CATEGORY_COMPILE)
+                        categoryCompile)
                 )
             << QString();
     QTest::newRow("Rvct error")
@@ -191,7 +191,7 @@ void Qt4ProjectManagerPlugin::testRvctOutputParser_data()
                                       "    delete ui;e\n"
                                       "              ^"),
                         QLatin1String("mainwindow.cpp"), 22,
-                        Constants::TASK_CATEGORY_COMPILE)
+                        categoryCompile)
                 )
             << QString();
     QTest::newRow("Rvct linking error")
@@ -202,7 +202,7 @@ void Qt4ProjectManagerPlugin::testRvctOutputParser_data()
                 << Task(Task::Error,
                         QLatin1String("L6218E: Undefined symbol MainWindow::sth() (referred from mainwindow.o)"),
                         QString(), -1,
-                        Constants::TASK_CATEGORY_COMPILE)
+                        categoryCompile)
                 )
             << QString();
     QTest::newRow("Rvct license error")
@@ -233,7 +233,7 @@ void Qt4ProjectManagerPlugin::testRvctOutputParser_data()
                                       "For further information, refer to the FLEXnet Licensing End User Guide,\n"
                                       "available at \"www.macrovision.com\"."),
                         QString(), -1,
-                        Constants::TASK_CATEGORY_COMPILE)
+                        categoryCompile)
                 )
             << QString();
 }
diff --git a/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp
index 47a5fd7de4f..579d2488db9 100644
--- a/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/rvcttoolchain.cpp
@@ -127,7 +127,7 @@ RvctToolChain::RvctVersion RvctToolChain::version(const QString &rvctPath)
 
     QProcess armcc;
     const QString binary = rvctPath;
-    armcc.start(binary, QStringList() << "--version_number");
+    armcc.start(binary, QStringList(QLatin1String("--version_number")));
     if (!armcc.waitForStarted()) {
         qWarning("Unable to run rvct binary '%s' when trying to determine version.", qPrintable(binary));
         return v;
@@ -367,8 +367,9 @@ bool RvctToolChain::fromMap(const QVariantMap &data)
 
 void RvctToolChain::updateId()
 {
-    setId(QString::fromLatin1("%1:%2.%3.%4").arg(Constants::RVCT_TOOLCHAIN_ID)
-          .arg(m_compilerPath).arg(toString(m_armVersion)).arg(m_debuggerCommand));
+    const QChar dot = QLatin1Char('.');
+    setId(QLatin1String(Constants::RVCT_TOOLCHAIN_ID) + QLatin1Char(':')
+          + m_compilerPath + dot + toString(m_armVersion) + dot + m_debuggerCommand);
 }
 
 QString RvctToolChain::varName(const QString &postFix) const
@@ -527,7 +528,7 @@ QList<ProjectExplorer::ToolChain *> RvctToolChainFactory::autoDetect()
         QString binary = QDir::fromNativeSeparators(valueOf(changes, QLatin1String("BIN")));
         if (binary.isEmpty())
             continue;
-        binary = binary + QLatin1Char('/') + RVCT_BINARY;
+        binary = binary + QLatin1Char('/') + QLatin1String(RVCT_BINARY);
         QFileInfo fi(binary);
         if (!fi.exists() || !fi.isExecutable())
             continue;
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60certificateinfo.cpp b/src/plugins/qt4projectmanager/qt-s60/s60certificateinfo.cpp
index fb53c7bc201..e66caccb30d 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60certificateinfo.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60certificateinfo.cpp
@@ -99,7 +99,7 @@ QHash<int, QStringList> createCapabilityMap(uint capabilities)
         if (capabilities&capability[i].value) {
             for (int j = 0; j < capabilitySetCount; ++j)
                 if (capability[i].value&capabilitySet[j].value) {
-                    capabilityMap[capabilitySet[j].value] << capability[i].name;
+                    capabilityMap[capabilitySet[j].value] << QLatin1String(capability[i].name);
                     break;
                 }
         }
@@ -136,7 +136,7 @@ QStringList createHtmlCapabilityList(uint capabilities)
             if (i.key() == capabilitySet[j].value) {
                 foreach (const QString &capability, i.value()) {
                     result << QString::fromAscii("<font color=\"%1\">%2</font>")
-                              .arg(capabilitySet[j].color).arg(capability);
+                              .arg(QLatin1String(capabilitySet[j].color)).arg(capability);
                 }
                 break;
             }
@@ -248,14 +248,14 @@ QString S60CertificateInfo::toHtml(bool keepShort)
     str << "</tr>";
 
     QString issuer;
-    QStringList issuerOrganizationList(m_certificate->issuerInfo("X520.Organization"));
+    QStringList issuerOrganizationList(m_certificate->issuerInfo(QLatin1String("X520.Organization")));
     if (!issuerOrganizationList.isEmpty())
-        issuer = issuerOrganizationList.join(QString(" "));
+        issuer = issuerOrganizationList.join(QLatin1String(" "));
 
     QString subject;
-    QStringList subjectOrganizationList(m_certificate->subjectInfo("X520.Organization"));
+    QStringList subjectOrganizationList(m_certificate->subjectInfo(QLatin1String("X520.Organization")));
     if (!subjectOrganizationList.isEmpty())
-        subject = subjectOrganizationList.join(QString(" "));
+        subject = subjectOrganizationList.join(QLatin1String(" "));
 
     QDateTime startDate(m_certificate->startTime().toLocalTime());
     QDateTime endDate(m_certificate->endTime().toLocalTime());
@@ -276,18 +276,18 @@ QString S60CertificateInfo::toHtml(bool keepShort)
         else
             capabilities = createHtmlCapabilityList(capabilitiesSupported());
         str << "<tr><td><b>" << tr("Capabilities: ")
-            << "</b></td><td><i>" << capabilities.join(" ") << "</i></td></tr>";
+            << "</b></td><td><i>" << capabilities.join(QLatin1String(" ")) << "</i></td></tr>";
     }
 
     const QStringList &imeiList(devicesSupported());
     if (!imeiList.isEmpty()) {
         QString imeiListString;
-        QString space(" ");
+        const QString space(QLatin1Char(' '));
         int MAX_DISPLAYED_IMEI_COUNT = 30;
         if (imeiList.count() > MAX_DISPLAYED_IMEI_COUNT && keepShort) {//1000 items would be too much :)
             for (int i = 0; i < MAX_DISPLAYED_IMEI_COUNT; ++i)
                 imeiListString += imeiList.at(i) + space;
-            imeiListString.replace(imeiListString.length()-1, 1, QString("..."));
+            imeiListString.replace(imeiListString.length()-1, 1, QLatin1String("..."));
         } else
             imeiListString = imeiList.join(space);
         str << "<tr><td><b>" << tr("Supporting %n device(s): ", "", imeiList.count())
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60createpackageparser.cpp b/src/plugins/qt4projectmanager/qt-s60/s60createpackageparser.cpp
index 8046e0dee77..b6e4aaa1e23 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60createpackageparser.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60createpackageparser.cpp
@@ -42,21 +42,21 @@ S60CreatePackageParser::S60CreatePackageParser(const QString &packageName) :
     m_needPassphrase(false)
 {
     setObjectName(QLatin1String("S60CreatePackageParser"));
-    m_signSis.setPattern("^(\\s*|\\(\\d+\\)\\s*:\\s*)(error\\s?:\\s?)+(.+)$");
+    m_signSis.setPattern(QLatin1String("^(\\s*|\\(\\d+\\)\\s*:\\s*)(error\\s?:\\s?)+(.+)$"));
     m_signSis.setMinimal(true);
     m_signSis.setCaseSensitivity(Qt::CaseInsensitive);
 }
 
 bool S60CreatePackageParser::parseLine(const QString &line)
 {
-    if (line.startsWith("Patching: ")) {
+    if (line.startsWith(QLatin1String("Patching: "))) {
         m_patchingLines.append(line.mid(10).trimmed());
         return true;
     }
     if (!m_patchingLines.isEmpty()) {
         emit packageWasPatched(m_packageName, m_patchingLines);
 
-        QString lines = m_patchingLines.join("\n");
+        QString lines = m_patchingLines.join(QLatin1String("\n"));
         m_patchingLines.clear();
         //: %1 package name, %2 will be replaced by a list of patching lines.
         QString message = tr("The binary package '%1' was patched to be installable after being self-signed.\n%2\n"
@@ -64,7 +64,7 @@ bool S60CreatePackageParser::parseLine(const QString &line)
                              "this patching from happening.").
                 arg(m_packageName, lines);
         ProjectExplorer::Task task(ProjectExplorer::Task::Warning, message, QString(), -1,
-                                   ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM);
+                                   QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
 
         QTextLayout::FormatRange fr;
         fr.start = message.indexOf(lines);
@@ -87,10 +87,10 @@ bool S60CreatePackageParser::parseLine(const QString &line)
                                                   "as the Smart Installer's base file is missing. "
                                                   "Please ensure that it is located in the SDK."),
                                                QString(), -1,
-                                               ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+                                               QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
         else
             emit addTask(ProjectExplorer::Task(ProjectExplorer::Task::Error, errorMessage, QString(), -1,
-                                               ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+                                               QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
         return true;
     }
     return false;
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp
index ae501342ea1..06247502ecb 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60createpackagestep.cpp
@@ -282,7 +282,7 @@ void S60CreatePackageStep::handleWarnAboutPatching()
 
 void S60CreatePackageStep::savePassphraseForKey(const QString &keyId, const QString &passphrase)
 {
-    m_passphrases->beginGroup("keys");
+    m_passphrases->beginGroup(QLatin1String("keys"));
     if (passphrase.isEmpty())
         m_passphrases->remove(keyId);
     else
@@ -294,7 +294,7 @@ QString S60CreatePackageStep::loadPassphraseForKey(const QString &keyId)
 {
     if (keyId.isEmpty())
         return QString();
-    m_passphrases->beginGroup("keys");
+    m_passphrases->beginGroup(QLatin1String("keys"));
     QString passphrase = elucidatePassphrase(m_passphrases->value(keyId, QByteArray()).toByteArray(), keyId);
     m_passphrases->endGroup();
     return passphrase;
@@ -445,7 +445,7 @@ bool S60CreatePackageStep::createOnePackage()
     }
     emit addOutput(tr("Starting: \"%1\" %2 in %3\n")
                    .arg(QDir::toNativeSeparators(m_makeCmd),
-                        m_args.join(" "),
+                        m_args.join(QLatin1String(" ")),
                         workingDirectory),
                    BuildStep::MessageOutput);
     return true;
@@ -491,7 +491,7 @@ bool S60CreatePackageStep::validateCustomSigningResources(const QStringList &cap
             QString message = tr("The package created will not install on a "
                                  "device as some of the defined capabilities "
                                  "are not supported by the certificate: %1")
-                    .arg(unsupportedCaps.join(" "));
+                    .arg(unsupportedCaps.join(QLatin1String(" ")));
             reportPackageStepIssue(message, true);
             return false;
         }
@@ -511,7 +511,7 @@ void S60CreatePackageStep::reportPackageStepIssue(const QString &message, bool i
                                            ProjectExplorer::Task::Warning,
                                        message,
                                        QString(), -1,
-                                       ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+                                       QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
 }
 
 void S60CreatePackageStep::packageWarningDialogDone()
@@ -637,8 +637,8 @@ QString S60CreatePackageStep::generateKeyId(const QString &keyPath) const
     }
 
     //key file is quite small in size
-    return QCryptographicHash::hash(reader.data(),
-                                    QCryptographicHash::Md5).toHex();
+    return QLatin1String(QCryptographicHash::hash(reader.data(),
+                                                  QCryptographicHash::Md5).toHex());
 }
 
 bool S60CreatePackageStep::immutable() const
@@ -717,7 +717,7 @@ void S60CreatePackageStep::setCreatesSmartInstaller(bool value)
 
 void S60CreatePackageStep::resetPassphrases()
 {
-    m_passphrases->beginGroup("keys");
+    m_passphrases->beginGroup(QLatin1String("keys"));
     QStringList keys = m_passphrases->allKeys();
     foreach (const QString &key, keys) {
         m_passphrases->setValue(key, QString());
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp
index 2606cd27a91..333a7df9058 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60deployconfiguration.cpp
@@ -304,7 +304,7 @@ QVariantMap S60DeployConfiguration::toMap() const
 {
     QVariantMap map(ProjectExplorer::DeployConfiguration::toMap());
     map.insert(QLatin1String(SERIAL_PORT_NAME_KEY), m_serialPortName);
-    map.insert(QLatin1String(INSTALLATION_DRIVE_LETTER_KEY), QChar(m_installationDrive));
+    map.insert(QLatin1String(INSTALLATION_DRIVE_LETTER_KEY), QChar(QLatin1Char(m_installationDrive)));
     map.insert(QLatin1String(SILENT_INSTALL_KEY), QVariant(m_silentInstall));
     map.insert(QLatin1String(DEVICE_ADDRESS_KEY), QVariant(m_deviceAddress));
     map.insert(QLatin1String(DEVICE_PORT_KEY), m_devicePort);
@@ -329,7 +329,7 @@ bool S60DeployConfiguration::fromMap(const QVariantMap &map)
     if (!DeployConfiguration::fromMap(map))
         return false;
     m_serialPortName = map.value(QLatin1String(SERIAL_PORT_NAME_KEY)).toString().trimmed();
-    m_installationDrive = map.value(QLatin1String(INSTALLATION_DRIVE_LETTER_KEY), QChar('C'))
+    m_installationDrive = map.value(QLatin1String(INSTALLATION_DRIVE_LETTER_KEY), QChar(QLatin1Char('C')))
                           .toChar().toAscii();
     m_silentInstall = map.value(QLatin1String(SILENT_INSTALL_KEY), QVariant(true)).toBool();
     m_deviceAddress = map.value(QLatin1String(DEVICE_ADDRESS_KEY)).toString();
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deployconfigurationwidget.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deployconfigurationwidget.cpp
index a8d65957695..9cce3187fa5 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60deployconfigurationwidget.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60deployconfigurationwidget.cpp
@@ -81,27 +81,26 @@ static const quint32 QMLVIEWER_UID = 0x20021317;
 
 QString formatDriveText(const S60DeployConfiguration::DeviceDrive &drive)
 {
-    char driveLetter = QChar::toUpper(static_cast<ushort>(drive.first));
+    const QChar driveLetter = QChar(QLatin1Char(drive.first)).toUpper();
     if (drive.second <= 0)
-        return QString("%1:").arg(driveLetter);
+        return driveLetter + QLatin1Char(':');
     if (drive.second >= 1024)
-        return QString("%1:%2 MB").arg(driveLetter).arg(drive.second);
-    return QString("%1:%2 kB").arg(driveLetter).arg(drive.second);
+        return QString::fromLatin1("%1:%2 MB").arg(driveLetter).arg(drive.second);
+    return QString::fromLatin1("%1:%2 kB").arg(driveLetter).arg(drive.second);
 }
 
 void startTable(QString &text)
 {
     const char startTableC[] = "<html></head><body><table>";
-    if (text.contains(startTableC))
-        return;
-    text.append(startTableC);
+    if (!text.contains(QLatin1String(startTableC)))
+        text.append(QLatin1String(startTableC));
 }
 
 void finishTable(QString &text)
 {
-    const char stopTableC[] = "</table></body></html>";
-    text.replace(stopTableC, QLatin1String(""));
-    text.append(stopTableC);
+    const QString stopTable = QLatin1String("</table></body></html>");
+    text.remove(stopTable);
+    text.append(stopTable);
 }
 
 void addToTable(QTextStream &stream, const QString &key, const QString &value)
@@ -250,9 +249,8 @@ QWidget *S60DeployConfigurationWidget::createCommunicationChannel()
     m_ipAddress->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Ignored);
 
     if( !m_deployConfiguration->deviceAddress().isEmpty())
-        m_ipAddress->setText(QString("%1:%2")
-                             .arg(m_deployConfiguration->deviceAddress())
-                             .arg(m_deployConfiguration->devicePort()));
+        m_ipAddress->setText(m_deployConfiguration->deviceAddress() + QLatin1Char(':')
+                             + m_deployConfiguration->devicePort());
 
     QHBoxLayout *wlanChannelLayout = new QHBoxLayout();
     wlanChannelLayout->addWidget(new QLabel(tr("Address:")));
@@ -277,7 +275,8 @@ void S60DeployConfigurationWidget::updateInstallationDrives()
     char currentDrive = QChar::toUpper(static_cast<ushort>(m_deployConfiguration->installationDrive()));
     if (availableDrives.isEmpty()) {
         for (int i = STARTING_DRIVE_LETTER; i <= LAST_DRIVE_LETTER; ++i) {
-            m_installationDriveCombo->addItem(QString("%1:").arg(static_cast<char>(i)), QChar(i));
+            const QChar qc = QLatin1Char(static_cast<char>(i));
+            m_installationDriveCombo->addItem(qc + QLatin1Char(':'), QVariant(qc));
         }
         index = currentDrive - STARTING_DRIVE_LETTER;
     } else {
@@ -285,7 +284,7 @@ void S60DeployConfigurationWidget::updateInstallationDrives()
             const S60DeployConfiguration::DeviceDrive& drive(availableDrives.at(i));
             char driveLetter = QChar::toUpper(static_cast<ushort>(drive.first));
             m_installationDriveCombo->addItem(formatDriveText(drive),
-                                              QChar(driveLetter));
+                                              QVariant(QChar(QLatin1Char(driveLetter))));
             if (currentDrive == driveLetter)
                 index = i;
         }
@@ -507,61 +506,61 @@ void S60DeployConfigurationWidget::getQtVersionCommandResult(const Coda::CodaCom
     } else {
         if (result.values.count()) {
             QHash<QString, QVariant> obj = result.values[0].toVariant().toHash();
-            QString ver = obj.value("qVersion").toString();
+            QString ver = obj.value(QLatin1String("qVersion")).toString();
 
             startTable(m_deviceInfo);
             QTextStream str(&m_deviceInfo);
             addToTable(str, tr("Qt version:"), ver);
             QString systemVersion;
 
-            int symVer = obj.value("symbianVersion").toInt();
+            const int symVer = obj.value(QLatin1String("symbianVersion")).toInt();
             // Ugh why won't QSysInfo define these on non-symbian builds...
             switch (symVer) {
             case 10:
-                systemVersion.append("Symbian OS v9.2");
+                systemVersion.append(QLatin1String("Symbian OS v9.2"));
                 break;
             case 20:
-                systemVersion.append("Symbian OS v9.3");
+                systemVersion.append(QLatin1String("Symbian OS v9.3"));
                 break;
             case 30:
-                systemVersion.append("Symbian OS v9.4 / Symbian^1");
+                systemVersion.append(QLatin1String("Symbian OS v9.4 / Symbian^1"));
                 break;
             case 40:
-                systemVersion.append("Symbian^2");
+                systemVersion.append(QLatin1String("Symbian^2"));
                 break;
             case 50:
-                systemVersion.append("Symbian^3");
+                systemVersion.append(QLatin1String("Symbian^3"));
                 break;
             case 60:
-                systemVersion.append("Symbian^4");
+                systemVersion.append(QLatin1String("Symbian^4"));
                 break;
             case 70:
-                systemVersion.append("Symbian^3"); // TODO: might change
+                systemVersion.append(QLatin1String("Symbian^3")); // TODO: might change
                 break;
             default:
                 systemVersion.append(tr("Unrecognised Symbian version 0x%1").arg(symVer, 0, 16));
                 break;
             }
-            systemVersion.append(", ");
-            int s60Ver = obj.value("s60Version").toInt();
+            systemVersion.append(QLatin1String(", "));
+            int s60Ver = obj.value(QLatin1String("s60Version")).toInt();
             switch (s60Ver) {
             case 10:
-                systemVersion.append("S60 3rd Edition Feature Pack 1");
+                systemVersion.append(QLatin1String("S60 3rd Edition Feature Pack 1"));
                 break;
             case 20:
-                systemVersion.append("S60 3rd Edition Feature Pack 2");
+                systemVersion.append(QLatin1String("S60 3rd Edition Feature Pack 2"));
                 break;
             case 30:
-                systemVersion.append("S60 5th Edition");
+                systemVersion.append(QLatin1String("S60 5th Edition"));
                 break;
             case 40:
-                systemVersion.append("S60 5th Edition Feature Pack 1");
+                systemVersion.append(QLatin1String("S60 5th Edition Feature Pack 1"));
                 break;
             case 50:
-                systemVersion.append("S60 5th Edition Feature Pack 2");
+                systemVersion.append(QLatin1String("S60 5th Edition Feature Pack 2"));
                 break;
             case 70:
-                systemVersion.append("S60 5th Edition Feature Pack 3"); // TODO: might change
+                systemVersion.append(QLatin1String("S60 5th Edition Feature Pack 3")); // TODO: might change
                 break;
             default:
                 systemVersion.append(tr("Unrecognised S60 version 0x%1").arg(symVer, 0, 16));
@@ -584,11 +583,11 @@ void S60DeployConfigurationWidget::getRomInfoResult(const Coda::CodaCommandResul
         QTextStream str(&m_deviceInfo);
 
         QVariantHash obj = result.values[0].toVariant().toHash();
-        QString romVersion = obj.value("romVersion", tr("unknown")).toString();
-        romVersion.replace('\n', " "); // The ROM string is split across multiple lines, for some reason.
+        QString romVersion = obj.value(QLatin1String("romVersion"), tr("unknown")).toString();
+        romVersion.replace(QLatin1Char('\n'), QLatin1Char(' ')); // The ROM string is split across multiple lines, for some reason.
         addToTable(str, tr("ROM version:"), romVersion);
 
-        QString pr = obj.value("prInfo").toString();
+        QString pr = obj.value(QLatin1String("prInfo")).toString();
         if (pr.length())
             addToTable(str, tr("Release:"), pr);
         finishTable(m_deviceInfo);
@@ -611,16 +610,19 @@ void S60DeployConfigurationWidget::getInstalledPackagesResult(const Coda::CodaCo
         QTextStream str(&m_deviceInfo);
 
         QVariantList resultsList = result.values[0].toVariant().toList();
+        const QString uidKey = QLatin1String("uid");
+        const QString errorKey = QLatin1String("error");
+        const QString versionKey = QLatin1String("version");
         foreach (const QVariant& var, resultsList) {
             QVariantHash obj = var.toHash();
             bool ok = false;
-            uint uid = obj.value("uid").toString().toUInt(&ok, 16);
+            uint uid = obj.value(uidKey).toString().toUInt(&ok, 16);
             if (ok) {
-                bool error = !obj.value("error").isNull();
+                const bool error = !obj.value(errorKey).isNull();
                 QString versionString;
                 if (!error) {
-                    QVariantList version = obj.value("version").toList();
-                    versionString = QString("%1.%2.%3").arg(version[0].toInt())
+                    QVariantList version = obj.value(versionKey).toList();
+                    versionString = QString::fromLatin1("%1.%2.%3").arg(version[0].toInt())
                             .arg(version[1].toInt())
                             .arg(version[2].toInt());
                 }
@@ -670,17 +672,20 @@ void S60DeployConfigurationWidget::getHalResult(const Coda::CodaCommandResult &r
         QVariantList resultsList = result.values[0].toVariant().toList();
         int x = 0;
         int y = 0;
+        const QString nameKey = QLatin1String("name");
+        const QString valueKey = QLatin1String("value");
         foreach (const QVariant& var, resultsList) {
             QVariantHash obj = var.toHash();
-            if (obj.value("name").toString() == "EDisplayXPixels")
-                x = obj.value("value").toInt();
-            else if (obj.value("name").toString() == "EDisplayYPixels")
-                y = obj.value("value").toInt();
+            const QString name = obj.value(nameKey).toString();
+            if (name == QLatin1String("EDisplayXPixels"))
+                x = obj.value(valueKey).toInt();
+            else if (name == QLatin1String("EDisplayYPixels"))
+                y = obj.value(valueKey).toInt();
         }
         if (x && y) {
             startTable(m_deviceInfo);
             QTextStream str(&m_deviceInfo);
-            addToTable(str, tr("Screen size:"), QString("%1x%2").arg(x).arg(y));
+            addToTable(str, tr("Screen size:"), QString::number(x) + QLatin1Char('x') + QString::number(y));
             finishTable(m_deviceInfo);
         }
     }
@@ -692,7 +697,7 @@ void S60DeployConfigurationWidget::getHalResult(const Coda::CodaCommandResult &r
 void S60DeployConfigurationWidget::codaIncreaseProgress()
 {
     m_codaTimeout->start();
-    setDeviceInfoLabel(m_deviceInfoLabel->text() + '.');
+    setDeviceInfoLabel(m_deviceInfoLabel->text() + QLatin1Char('.'));
 }
 
 void S60DeployConfigurationWidget::collectingInfoFinished()
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp
index 5531fa55727..84eed8cc593 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp
@@ -196,7 +196,7 @@ void S60DeployStep::reportError(const QString &error)
     emit addTask(ProjectExplorer::Task(ProjectExplorer::Task::Error,
                                        error,
                                        QString(), -1,
-                                       ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+                                       QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
     emit finished(false);
 }
 
@@ -605,7 +605,7 @@ void S60DeployStep::checkForCancel()
         emit addTask(ProjectExplorer::Task(ProjectExplorer::Task::Error,
                                            canceledText,
                                            QString(), -1,
-                                           ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+                                           QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
         emit finishNow(false);
     }
 }
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.cpp b/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.cpp
index 985c29af96c..f0200e43be5 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60devicedebugruncontrol.cpp
@@ -100,7 +100,7 @@ static Debugger::DebuggerStartParameters s60DebuggerStartParams(const S60DeviceR
     if (rc->useQmlDebugger()) {
         QString qmlArgs = rc->qmlCommandLineArguments();
         if (sp.processArgs.length())
-            sp.processArgs.prepend(" ");
+            sp.processArgs.prepend(QLatin1Char(' '));
         sp.processArgs.prepend(qmlArgs);
     }
 
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
index 3242e800008..dd5497473f3 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60devicerunconfiguration.cpp
@@ -231,7 +231,7 @@ static inline QString localExecutableFromVersion(const SymbianQtVersion *qtv,
     QString localExecutable;
     QString platform = S60Manager::platform(tc);
     if (qtv->isBuildWithSymbianSbsV2() && platform == QLatin1String("gcce"))
-        platform = "armv5";
+        platform = QLatin1String("armv5");
     QTextStream(&localExecutable) << qtv->systemRoot() << "/epoc32/release/"
             << platform << '/' << symbianTarget << '/' << targetName << ".exe";
     return localExecutable;
@@ -292,9 +292,9 @@ QString S60DeviceRunConfiguration::qmlCommandLineArguments() const
         QTC_ASSERT(activeDeployConf, return args);
 
         if (activeDeployConf->communicationChannel() == S60DeployConfiguration::CommunicationCodaTcpConnection)
-            args = QString("-qmljsdebugger=port:%1,block").arg(qmlDebugServerPort());
+            args = QString::fromLatin1("-qmljsdebugger=port:%1,block").arg(qmlDebugServerPort());
         else
-            args = QString("-qmljsdebugger=ost");
+            args = QLatin1String("-qmljsdebugger=ost");
     }
     return args;
 }
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp
index ae1120380f3..ebeb1083062 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60emulatorrunconfiguration.cpp
@@ -187,10 +187,10 @@ QString S60EmulatorRunConfiguration::executable() const
     if (!qtVersion) 
         return QString();
     QString baseDir = qtVersion->systemRoot();
-    QString qmakeBuildConfig = "urel";
+    QString qmakeBuildConfig = QLatin1String("urel");
     if (qt4bc->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild)
-        qmakeBuildConfig = "udeb";
-    baseDir += "/epoc32/release/winscw/" + qmakeBuildConfig;
+        qmakeBuildConfig = QLatin1String("udeb");
+    baseDir += QLatin1String("/epoc32/release/winscw/") + qmakeBuildConfig;
 
     TargetInformation ti = qt4Target()->qt4Project()->rootQt4ProjectNode()->targetInformation(m_proFilePath);
     if (!ti.valid)
@@ -386,7 +386,7 @@ bool S60EmulatorRunControl::isRunning() const
 
 QIcon S60EmulatorRunControl::icon() const
 {
-    return QIcon(ProjectExplorer::Constants::ICON_RUN_SMALL);
+    return QIcon(QLatin1String(ProjectExplorer::Constants::ICON_RUN_SMALL));
 }
 
 void S60EmulatorRunControl::slotError(const QString & err)
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.cpp b/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.cpp
index f2170e1d941..13070541bc6 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60publisherovi.cpp
@@ -61,21 +61,21 @@ S60PublisherOvi::S60PublisherOvi(QObject *parent) :
     m_finishedAndSuccessful(false)
 {
     // build m_rejectedVendorNames
-    m_rejectedVendorNames.append(Constants::REJECTED_VENDOR_NAMES_NOKIA);
-    m_rejectedVendorNames.append(Constants::REJECTED_VENDOR_NAMES_VENDOR);
-    m_rejectedVendorNames.append(Constants::REJECTED_VENDOR_NAMES_VENDOR_EN);
-    m_rejectedVendorNames.append(Constants::REJECTED_VENDOR_NAMES_EMPTY);
+    m_rejectedVendorNames.append(QLatin1String(Constants::REJECTED_VENDOR_NAMES_NOKIA));
+    m_rejectedVendorNames.append(QLatin1String(Constants::REJECTED_VENDOR_NAMES_VENDOR));
+    m_rejectedVendorNames.append(QLatin1String(Constants::REJECTED_VENDOR_NAMES_VENDOR_EN));
+    m_rejectedVendorNames.append(QLatin1String(Constants::REJECTED_VENDOR_NAMES_EMPTY));
 
     // build m_capabilitiesForCertifiedSigned
-    m_capabilitiesForCertifiedSigned.append(Constants::CERTIFIED_SIGNED_CAPABILITY_COMM_DD);
-    m_capabilitiesForCertifiedSigned.append(Constants::CERTIFIED_SIGNED_CAPABILITY_DISK_ADMIN);
-    m_capabilitiesForCertifiedSigned.append(Constants::CERTIFIED_SIGNED_CAPABILITY_MULTIMEDIA_DD);
-    m_capabilitiesForCertifiedSigned.append(Constants::CERTIFIED_SIGNED_CAPABILITY_NETWORK_CONTROL);
+    m_capabilitiesForCertifiedSigned.append(QLatin1String(Constants::CERTIFIED_SIGNED_CAPABILITY_COMM_DD));
+    m_capabilitiesForCertifiedSigned.append(QLatin1String(Constants::CERTIFIED_SIGNED_CAPABILITY_DISK_ADMIN));
+    m_capabilitiesForCertifiedSigned.append(QLatin1String(Constants::CERTIFIED_SIGNED_CAPABILITY_MULTIMEDIA_DD));
+    m_capabilitiesForCertifiedSigned.append(QLatin1String(Constants::CERTIFIED_SIGNED_CAPABILITY_NETWORK_CONTROL));
 
     // build m_capabilitesForManufacturerApproved
-    m_capabilitesForManufacturerApproved.append(Constants::MANUFACTURER_APPROVED_CAPABILITY_ALL_FILES);
-    m_capabilitesForManufacturerApproved.append(Constants::MANUFACTURER_APPROVED_CAPABILITY_DRM);
-    m_capabilitesForManufacturerApproved.append(Constants::MANUFACTURER_APPROVED_CAPABILITY_TCB);
+    m_capabilitesForManufacturerApproved.append(QLatin1String(Constants::MANUFACTURER_APPROVED_CAPABILITY_ALL_FILES));
+    m_capabilitesForManufacturerApproved.append(QLatin1String(Constants::MANUFACTURER_APPROVED_CAPABILITY_DRM));
+    m_capabilitesForManufacturerApproved.append(QLatin1String(Constants::MANUFACTURER_APPROVED_CAPABILITY_TCB));
 
     // set up colours for progress reports
     m_errorColor = Qt::red;
@@ -107,12 +107,12 @@ void S60PublisherOvi::setVendorName(const QString &vendorName)
 
 void S60PublisherOvi::setLocalVendorNames(const QString &localVendorNames)
 {
-    QStringList vendorNames = localVendorNames.split(',');
+    QStringList vendorNames = localVendorNames.split(QLatin1Char(','));
     QStringList resultingList;
     foreach (QString vendorName, vendorNames) {
-        resultingList.append("\\\"" +vendorName.trimmed()+"\\\"");
+        resultingList.append(QLatin1String("\\\"") + vendorName.trimmed() + QLatin1String("\\\""));
     }
-    m_localVendorNames = resultingList.join(", ");
+    m_localVendorNames = resultingList.join(QLatin1String(", "));
 }
 
 void S60PublisherOvi::setAppUid(const QString &appuid)
@@ -156,35 +156,36 @@ void S60PublisherOvi::completeCreation()
     const ProjectExplorer::ProcessParameters * const qmakepp = qmakeStep->processParameters();
 
     m_publishSteps.clear();
+    const QChar space = QLatin1Char(' ');
     m_publishSteps.append(new S60CommandPublishStep(*m_qt4bc,
-                                                    makepp->effectiveCommand() + ' ' + QLatin1String("clean -w"),
+                                                    makepp->effectiveCommand() + QLatin1String(" clean -w"),
                                                     tr("Clean"),
                                                     false));
 
     m_publishSteps.append(new S60CommandPublishStep(*m_qt4bc,
-                                                    qmakepp->effectiveCommand() + ' ' + qmakepp->arguments(),
+                                                    qmakepp->effectiveCommand() + space + qmakepp->arguments(),
                                                     tr("qmake")));
 
     m_publishSteps.append(new S60CommandPublishStep(*m_qt4bc,
-                                                    makepp->effectiveCommand() + ' ' + makepp->arguments(),
+                                                    makepp->effectiveCommand() + space + makepp->arguments(),
                                                     tr("Build")));
     if (isDynamicLibrary(*m_qt4project)) {
         const QString freezeArg = QLatin1String("freeze-") + makepp->arguments();
         m_publishSteps.append(new S60CommandPublishStep(*m_qt4bc,
-                                                        makepp->effectiveCommand() + ' ' + freezeArg,
+                                                        makepp->effectiveCommand() + space + freezeArg,
                                                         tr("Freeze")));
 
         m_publishSteps.append(new S60CommandPublishStep(*m_qt4bc,
-                                                        makepp->effectiveCommand() + ' ' + QLatin1String("clean -w"),
+                                                        makepp->effectiveCommand() + QLatin1String(" clean -w"),
                                                         tr("Secondary clean"),
                                                         false));
 
         m_publishSteps.append(new S60CommandPublishStep(*m_qt4bc,
-                                                        qmakepp->effectiveCommand() + ' ' + qmakepp->arguments(),
+                                                        qmakepp->effectiveCommand() + space + qmakepp->arguments(),
                                                         tr("Secondary qmake")));
 
         m_publishSteps.append(new S60CommandPublishStep(*m_qt4bc,
-                                                        makepp->effectiveCommand() + ' ' + makepp->arguments(),
+                                                        makepp->effectiveCommand() + space + makepp->arguments(),
                                                         tr("Secondary build")));
     }
 
@@ -192,7 +193,7 @@ void S60PublisherOvi::completeCreation()
     if (m_qt4bc->qtVersion()->qtVersion() == QtSupport::QtVersionNumber(4,6,3) )
         signArg = QLatin1String("installer_sis");
     m_publishSteps.append(new S60CommandPublishStep(*m_qt4bc,
-                                                    makepp->effectiveCommand() + ' ' + signArg,
+                                                    makepp->effectiveCommand() + space + signArg,
                                                     tr("Making SIS file")));
 
     // set up access to vendor names
@@ -248,8 +249,8 @@ QString S60PublisherOvi::globalVendorName() const
     QStringList vendorinfos = m_reader->values(m_vendorInfoVariable);
 
     foreach (QString vendorinfo, vendorinfos) {
-        if (vendorinfo.startsWith(':')) {
-            return vendorinfo.remove(':').remove('"').trimmed();
+        if (vendorinfo.startsWith(QLatin1Char(':'))) {
+            return vendorinfo.remove(QLatin1Char(':')).remove(QLatin1Char('"')).trimmed();
         }
     }
     return QString();
@@ -262,12 +263,12 @@ QString S60PublisherOvi::localisedVendorNames() const
 
     QStringList localisedVendorNames;
     foreach (QString vendorinfo, vendorinfos) {
-        if (vendorinfo.startsWith('%')) {
-            localisedVendorNames = vendorinfo.remove(QLatin1String("%{")).remove('}').split(',');
+        if (vendorinfo.startsWith(QLatin1Char('%'))) {
+            localisedVendorNames = vendorinfo.remove(QLatin1String("%{")).remove(QLatin1Char('}')).split(QLatin1Char(','));
             foreach (QString localisedVendorName, localisedVendorNames) {
                 if (!result.isEmpty())
                     result.append(QLatin1String(", "));
-                result.append(localisedVendorName.remove("\"").trimmed());
+                result.append(localisedVendorName.remove(QLatin1Char('"')).trimmed());
             }
             return result;
         }
@@ -278,7 +279,7 @@ QString S60PublisherOvi::localisedVendorNames() const
 bool S60PublisherOvi::isVendorNameValid(const QString &vendorName) const
 {
     // vendorName cannot containg "Nokia"
-    if (vendorName.trimmed().contains(Constants::REJECTED_VENDOR_NAMES_NOKIA, Qt::CaseInsensitive))
+    if (vendorName.trimmed().contains(QLatin1String(Constants::REJECTED_VENDOR_NAMES_NOKIA), Qt::CaseInsensitive))
         return false;
 
     // vendorName cannot be any of the rejected vendor names
@@ -325,7 +326,7 @@ bool S60PublisherOvi::isKnownSymbianSignedUID3(const QString &uid3) const
 
 QString S60PublisherOvi::capabilities() const
 {
-    return m_reader->values(QLatin1String("TARGET.CAPABILITY")).join(", ");
+    return m_reader->values(QLatin1String("TARGET.CAPABILITY")).join(QLatin1String(", "));
 }
 
 bool S60PublisherOvi::isCapabilityOneOf(const QString &capability, CapabilityLevel level) const
@@ -394,7 +395,7 @@ bool S60PublisherOvi::runStep()
     QTC_ASSERT(m_publishSteps.count(), return false);
 
     S60PublishStep *step = m_publishSteps.at(0);
-    emit progressReport(step->displayDescription() + '\n', m_commandColor);
+    emit progressReport(step->displayDescription() + QLatin1Char('\n'), m_commandColor);
     connect(step, SIGNAL(finished(bool)), this, SLOT(publishStepFinished(bool)));
     connect(step, SIGNAL(output(QString,bool)), this, SLOT(printMessage(QString,bool)));
     step->start();
@@ -410,7 +411,7 @@ bool S60PublisherOvi::nextStep()
 
 void S60PublisherOvi::printMessage(QString message, bool error)
 {
-    emit progressReport(message + '\n', error ? m_errorColor : m_okColor);
+    emit progressReport(message + QLatin1Char('\n'), error ? m_errorColor : m_okColor);
 }
 
 void S60PublisherOvi::publishStepFinished(bool success)
@@ -453,7 +454,7 @@ QString S60PublisherOvi::createdSisFileContainingFolder()
     if (m_qt4bc->qtVersion()->qtVersion() == QtSupport::QtVersionNumber(4,6,3) )
         fileNamePostFix = QLatin1String("_installer.sis");
 
-    QString resultFile = m_qt4bc->buildDirectory() + '/' + m_qt4project->displayName() + fileNamePostFix;
+    QString resultFile = m_qt4bc->buildDirectory() + QLatin1Char('/') + m_qt4project->displayName() + fileNamePostFix;
     QFileInfo fi(resultFile);
 
     return fi.exists() ? QDir::toNativeSeparators(m_qt4bc->buildDirectory()) : QString();
@@ -465,10 +466,10 @@ QString S60PublisherOvi::createdSisFilePath()
     if (m_qt4bc->qtVersion()->qtVersion() == QtSupport::QtVersionNumber(4,6,3) )
         fileNamePostFix = QLatin1String("_installer.sis");
 
-    QString resultFile = m_qt4bc->buildDirectory() + '/' + m_qt4project->displayName() + fileNamePostFix;
+    const QString resultFile = m_qt4bc->buildDirectory() + QLatin1Char('/')
+                               + m_qt4project->displayName() + fileNamePostFix;
     QFileInfo fi(resultFile);
-
-    return fi.exists() ? QDir::toNativeSeparators(m_qt4bc->buildDirectory()+ '/' + m_qt4project->displayName() + fileNamePostFix) : QString();
+    return fi.exists() ? QDir::toNativeSeparators(resultFile) : QString();
 }
 
 bool S60PublisherOvi::hasSucceeded()
@@ -522,11 +523,11 @@ void S60CommandPublishStep::processFinished(int exitCode)
 {
     QByteArray outputText = m_proc->readAllStandardOutput();
     if (!outputText.isEmpty())
-        emit output(outputText, false);
+        emit output(QString::fromLocal8Bit(outputText), false);
 
     outputText = m_proc->readAllStandardError();
     if (!outputText.isEmpty())
-        emit output(outputText, true);
+        emit output(QString::fromLocal8Bit(outputText), true);
 
     setSucceeded(exitCode == QProcess::NormalExit);
     emit finished(succeeded());
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60publishingresultspageovi.cpp b/src/plugins/qt4projectmanager/qt-s60/s60publishingresultspageovi.cpp
index 4a7cdc5ffeb..677fb440735 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60publishingresultspageovi.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60publishingresultspageovi.cpp
@@ -105,9 +105,9 @@ void S60PublishingResultsPageOvi::scrollToBottom()
 void S60PublishingResultsPageOvi::openFileLocation()
 {
 #ifdef Q_OS_WIN
-    QProcess::startDetached("explorer /select,"+ m_publisher->createdSisFilePath());
+    QProcess::startDetached(QLatin1String("explorer /select,")+ m_publisher->createdSisFilePath());
 #else
-    QDesktopServices::openUrl(QUrl("file:///" + m_publisher->createdSisFileContainingFolder()));
+    QDesktopServices::openUrl(QUrl(QLatin1String("file:///") + m_publisher->createdSisFileContainingFolder()));
 #endif
 }
 
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.cpp b/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.cpp
index 169a8e8a0ba..c1308f93166 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60publishingsissettingspageovi.cpp
@@ -176,7 +176,7 @@ void S60PublishingSisSettingsPageOvi::globalVendorNameChanged()
 
 void S60PublishingSisSettingsPageOvi::localisedVendorNamesChanged()
 {
-    QStringList localisedVendorNames = ui->localisedVendorNamesLineEdit->text().split(',');
+    QStringList localisedVendorNames = ui->localisedVendorNamesLineEdit->text().split(QLatin1Char(','));
 
     bool settingState = true;
     QStringList wrongVendorNames;
@@ -188,9 +188,10 @@ void S60PublishingSisSettingsPageOvi::localisedVendorNamesChanged()
         }
     }
 
-    QString pluralOrSingular = tr("%1 is a default vendor name used for testing and development.").arg(wrongVendorNames.join(", "));
+    const QString wrongVendorNamesString = wrongVendorNames.join(QLatin1String(", "));
+    QString pluralOrSingular = tr("%1 is a default vendor name used for testing and development.").arg(wrongVendorNamesString);
     if (wrongVendorNames.count() > 1)
-        pluralOrSingular = tr("%1 are default vendor names used for testing and development.").arg(wrongVendorNames.join(", "));
+        pluralOrSingular = tr("%1 are default vendor names used for testing and development.").arg(wrongVendorNamesString);
 
     reflectSettingState(settingState,
                         ui->localisedVendorNamesOkLabel,
@@ -242,13 +243,13 @@ void S60PublishingSisSettingsPageOvi::uid3Changed()
 
     if (m_publisher->isUID3Valid(ui->uid3LineEdit->text())) {
         ui->uid3WarningLabel->show();
-        ui->uid3WarningReasonLabel->setText("If this UID is from symbiansigned.com, It will be "
+        ui->uid3WarningReasonLabel->setText(tr("If this UID is from symbiansigned.com, It will be "
                                             "rejected by Application Signing Services for Nokia Store.<br>"
                                             "If you want to continue with a symbiansigned.com UID, "
                                             "sign your application on symbiansigned.com and upload "
                                             "the signed application to Nokia Publish.<br>"
                                             "It is, however, recommended that you obtain a UID from "
-                                            "<a href=\"http://info.publish.ovi.com/\">publish.ovi.com</a>");
+                                            "<a href=\"http://info.publish.ovi.com/\">publish.ovi.com</a>"));
         ui->uid3WarningReasonLabel->show();
     } else {
         ui->uid3WarningLabel->hide();
@@ -260,7 +261,7 @@ void S60PublishingSisSettingsPageOvi::uid3Changed()
 
 void S60PublishingSisSettingsPageOvi::capabilitiesChanged()
 {
-    QStringList capabilities = ui->capabilitiesDisplayLabel->text().split(',');
+    QStringList capabilities = ui->capabilitiesDisplayLabel->text().split(QLatin1Char(','));
     QString errorMessage;
 
     //Check for certified Signed capabilities
@@ -275,7 +276,7 @@ void S60PublishingSisSettingsPageOvi::capabilitiesChanged()
     if (!capabilitesNeedingCertifiedSigned.isEmpty())
         errorMessage.append(tr("%1 need(s) to be certified signed. "
                                "Please go to <a href=\"symbiansigned.com\">symbiansigned.com</a> for guidance.")
-                            .arg(capabilitesNeedingCertifiedSigned.join(", ")));
+                            .arg(capabilitesNeedingCertifiedSigned.join(QLatin1String(", "))));
 
     //Check for capabilities needing manufacturer approval
     QStringList capabilitiesNeedingManufacturerApproved;
@@ -286,7 +287,8 @@ void S60PublishingSisSettingsPageOvi::capabilitiesChanged()
     }
 
     if (!capabilitiesNeedingManufacturerApproved.isEmpty()) {
-        errorMessage.append(tr("<br>%1 need(s) manufacturer approval.<br>").arg(capabilitiesNeedingManufacturerApproved.join(", ")));
+        errorMessage.append(tr("<br>%1 need(s) manufacturer approval.<br>")
+                            .arg(capabilitiesNeedingManufacturerApproved.join(QLatin1String(", "))));
     }
 
     errorMessage.prepend(tr("Some capabilities might require a special kind of signing or approval from the manufacturer.<br>"));
diff --git a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.cpp b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.cpp
index 8846f8b24a3..d86ea7d75ab 100644
--- a/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/s60runcontrolbase.cpp
@@ -93,11 +93,11 @@ S60RunControlBase::S60RunControlBase(RunConfiguration *runConfiguration,
     m_commandLineArguments = s60runConfig->commandLineArguments();
     QString qmlArgs = s60runConfig->qmlCommandLineArguments();
     if ((mode == DebugRunMode || mode == QmlProfilerRunMode) && !qmlArgs.isEmpty()) {
-        m_commandLineArguments.prepend(' ');
+        m_commandLineArguments.prepend(QLatin1Char(' '));
         m_commandLineArguments.prepend(qmlArgs);
     }
     if (const QtSupport::BaseQtVersion *qtv = activeBuildConf->qtVersion()) {
-        m_qtDir = qtv->versionInfo().value("QT_INSTALL_DATA");
+        m_qtDir = qtv->versionInfo().value(QLatin1String("QT_INSTALL_DATA"));
         m_qtBinPath = qtv->versionInfo().value(QLatin1String("QT_INSTALL_BINS"));
     }
     m_installationDrive = activeDeployConf->installationDrive();
diff --git a/src/plugins/qt4projectmanager/qt-s60/sbsv2parser.cpp b/src/plugins/qt4projectmanager/qt-s60/sbsv2parser.cpp
index 8d69ca4f50d..93bc51d8299 100644
--- a/src/plugins/qt4projectmanager/qt-s60/sbsv2parser.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/sbsv2parser.cpp
@@ -132,7 +132,7 @@ void SbsV2Parser::readError()
     Q_ASSERT(m_log.isStartElement() && m_log.name() == QLatin1String("error"));
 
     QString error = m_log.readElementText();
-    addTask(Task(Task::Error, error, QString(), -1, Constants::TASK_CATEGORY_BUILDSYSTEM));
+    addTask(Task(Task::Error, error, QString(), -1, QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM)));
 }
 
 void SbsV2Parser::readWarning()
@@ -140,7 +140,7 @@ void SbsV2Parser::readWarning()
     Q_ASSERT(m_log.isStartElement() && m_log.name() == QLatin1String("warning"));
 
     QString warning = m_log.readElementText();
-    addTask(Task(Task::Warning, warning, QString(), -1, Constants::TASK_CATEGORY_BUILDSYSTEM));
+    addTask(Task(Task::Warning, warning, QString(), -1, QLatin1String(Constants::TASK_CATEGORY_BUILDSYSTEM)));
 }
 
 void SbsV2Parser::readRecipe()
@@ -148,8 +148,8 @@ void SbsV2Parser::readRecipe()
     Q_ASSERT(m_log.isStartElement() && m_log.name() == QLatin1String("recipe"));
 
     const QString name = m_log.attributes().value(QLatin1String("name")).toString();
-    m_currentSource = QDir(m_log.attributes().value("source").toString()).absolutePath();
-    m_currentTarget = QDir(m_log.attributes().value("target").toString()).absolutePath();
+    m_currentSource = QDir(m_log.attributes().value(QLatin1String("source")).toString()).absolutePath();
+    m_currentTarget = QDir(m_log.attributes().value(QLatin1String("target")).toString()).absolutePath();
 
     int returnCode = 0;
     QString outputText;
@@ -168,17 +168,17 @@ void SbsV2Parser::readRecipe()
         }
     }
 
-    QStringList output = outputText.split(QChar('\n'));
+    QStringList output = outputText.split(QLatin1Char('\n'));
     outputText.clear();
     foreach (const QString &line, output) {
         if (line.isEmpty())
             continue;
-        if (line.startsWith(QChar('+'))) {
+        if (line.startsWith(QLatin1Char('+'))) {
             outputText.append(tr("Running command: %1\n").arg(line.mid(2)));
             continue;
         }
         outputText.append(line);
-        outputText.append(QChar('\n'));
+        outputText.append(QLatin1Char('\n'));
         if (name == QLatin1String("compile") || name == QLatin1String("qmake_extra_pre_targetdep"))
             IOutputParser::stdError(line);
     }
@@ -187,9 +187,9 @@ void SbsV2Parser::readRecipe()
         //: %1 is the SBSv2 build recipe name, %2 the return code of the failed command
         QString description = tr("Recipe %1 failed with exit code %2.").arg(name).arg(returnCode);
         m_hub->addTask(Task(Task::Error, description, QString(), -1,
-                            ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+                            QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
         m_hub->addTask(Task(Task::Unknown, outputText, QString(), -1,
-                            ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+                            QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
     }
 }
 
diff --git a/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp b/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp
index 64393852e00..c90aadfd734 100644
--- a/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/symbianqtversion.cpp
@@ -134,7 +134,7 @@ bool SymbianQtVersion::toolChainAvailable(const QString &id) const
         QList<ProjectExplorer::ToolChain *> tcList =
                 ProjectExplorer::ToolChainManager::instance()->toolChains();
         foreach (ProjectExplorer::ToolChain *tc, tcList) {
-            if (!tc->id().startsWith(Qt4ProjectManager::Constants::WINSCW_TOOLCHAIN_ID))
+            if (!tc->id().startsWith(QLatin1String(Qt4ProjectManager::Constants::WINSCW_TOOLCHAIN_ID)))
                 return true;
         }
         return false;
@@ -144,7 +144,7 @@ bool SymbianQtVersion::toolChainAvailable(const QString &id) const
 
 void SymbianQtVersion::restoreLegacySettings(QSettings *s)
 {
-    setSystemRoot(QDir::fromNativeSeparators(s->value("S60SDKDirectory").toString()));
+    setSystemRoot(QDir::fromNativeSeparators(s->value(QLatin1String("S60SDKDirectory")).toString()));
     setSbsV2Directory(QDir::fromNativeSeparators(s->value(QLatin1String("SBSv2Directory")).toString()));
 }
 
@@ -305,12 +305,13 @@ QString SymbianQtVersion::sbsV2Directory() const
 void SymbianQtVersion::setSbsV2Directory(const QString &directory)
 {
     QDir dir(directory);
-    if (dir.exists(QLatin1String("sbs"))) {
+    const QString sbs = QLatin1String("sbs");
+    if (dir.exists(sbs)) {
         m_sbsV2Directory = dir.absolutePath();
         return;
     }
-    dir.cd("bin");
-    if (dir.exists(QLatin1String("sbs"))) {
+    dir.cd(QLatin1String("bin"));
+    if (dir.exists(sbs)) {
         m_sbsV2Directory = dir.absolutePath();
         return;
     }
@@ -325,7 +326,7 @@ bool SymbianQtVersion::isBuildWithSymbianSbsV2() const
 
 void SymbianQtVersion::parseMkSpec(ProFileEvaluator *evaluator) const
 {
-    QString makefileGenerator = evaluator->value("MAKEFILE_GENERATOR");
+    QString makefileGenerator = evaluator->value(QLatin1String("MAKEFILE_GENERATOR"));
     m_isBuildUsingSbsV2 = (makefileGenerator == QLatin1String("SYMBIAN_SBSV2"));
     BaseQtVersion::parseMkSpec(evaluator);
 }
@@ -343,7 +344,7 @@ QList<ProjectExplorer::Task> SymbianQtVersion::reportIssuesImpl(const QString &p
         results.append(ProjectExplorer::Task(ProjectExplorer::Task::Error,
                                              QCoreApplication::translate("ProjectExplorer::Internal::S60ProjectChecker",
                                                                          "The Symbian SDK and the project sources must reside on the same drive."),
-                                             QString(), -1, ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM));
+                                             QString(), -1, QLatin1String(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)));
     }
     return results;
 }
diff --git a/src/plugins/qt4projectmanager/qt-s60/symbianqtversionfactory.cpp b/src/plugins/qt4projectmanager/qt-s60/symbianqtversionfactory.cpp
index dc80380ee56..75846eedf2a 100644
--- a/src/plugins/qt4projectmanager/qt-s60/symbianqtversionfactory.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/symbianqtversionfactory.cpp
@@ -79,7 +79,7 @@ QtSupport::BaseQtVersion *SymbianQtVersionFactory::create(const Utils::FileName
     if (!fi.exists() || !fi.isExecutable() || !fi.isFile())
         return 0;
 
-    QString makefileGenerator = evaluator->value("MAKEFILE_GENERATOR");
+    QString makefileGenerator = evaluator->value(QLatin1String("MAKEFILE_GENERATOR"));
     if (makefileGenerator == QLatin1String("SYMBIAN_ABLD") ||
             makefileGenerator == QLatin1String("SYMBIAN_SBSV2") ||
             makefileGenerator == QLatin1String("SYMBIAN_UNIX")) {
diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwparser.cpp b/src/plugins/qt4projectmanager/qt-s60/winscwparser.cpp
index ba76559beb2..37afd15cf66 100644
--- a/src/plugins/qt4projectmanager/qt-s60/winscwparser.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/winscwparser.cpp
@@ -43,11 +43,11 @@ WinscwParser::WinscwParser()
 {
     setObjectName(QLatin1String("WinscwParser"));
     // linker problems:
-    m_linkerProblem.setPattern("^(\\S*)\\(\\S+\\):\\s(.+)$");
+    m_linkerProblem.setPattern(QLatin1String("^(\\S*)\\(\\S+\\):\\s(.+)$"));
     m_linkerProblem.setMinimal(true);
 
     // WINSCW issue:
-    m_compilerProblem.setPattern("^([^\\(\\)]+[^\\d]):(\\d+):\\s(.+)$");
+    m_compilerProblem.setPattern(QLatin1String("^([^\\(\\)]+[^\\d]):(\\d+):\\s(.+)$"));
     m_compilerProblem.setMinimal(true);
 }
 
@@ -60,7 +60,7 @@ void WinscwParser::stdOutput(const QString &line)
                   m_compilerProblem.cap(3) /* description */,
                   m_compilerProblem.cap(1) /* filename */,
                   m_compilerProblem.cap(2).toInt() /* linenumber */,
-                  TASK_CATEGORY_COMPILE);
+                  QLatin1String(TASK_CATEGORY_COMPILE));
         if (task.description.startsWith(QLatin1String("warning: "))) {
             task.type = Task::Warning;
             task.description = task.description.mid(9);
@@ -80,7 +80,7 @@ void WinscwParser::stdError(const QString &line)
                           m_linkerProblem.cap(2) /* description */,
                           m_linkerProblem.cap(1) /* filename */,
                           -1 /* linenumber */,
-                          TASK_CATEGORY_COMPILE));
+                          QLatin1String(TASK_CATEGORY_COMPILE)));
         return;
     }
     IOutputParser::stdError(line);
diff --git a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp
index c317fcc92d2..7c72b3301fd 100644
--- a/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp
+++ b/src/plugins/qt4projectmanager/qt-s60/winscwtoolchain.cpp
@@ -79,7 +79,7 @@ static QString winscwRoot(const QString &path)
     dir.cdUp();
     dir.cdUp();
     dir.cdUp();
-    dir.cd("Symbian_Support");
+    dir.cd(QLatin1String("Symbian_Support"));
     return dir.absolutePath();
 }
 
@@ -90,8 +90,7 @@ static QString toNativePath(const QStringList &list)
 
 static QStringList fromNativePath(const QString &list)
 {
-    QString tmp = QDir::fromNativeSeparators(list);
-    return tmp.split(';');
+    return QDir::fromNativeSeparators(list).split(QLatin1Char(';'));
 }
 
 static QStringList detectIncludesFor(const QString path)
@@ -297,7 +296,7 @@ QString WinscwToolChain::compilerPath() const
 
 void WinscwToolChain::updateId()
 {
-    setId(QString::fromLatin1("%1:%2").arg(Constants::WINSCW_TOOLCHAIN_ID).arg(m_compilerPath));
+    setId(QLatin1String(Constants::WINSCW_TOOLCHAIN_ID) + QLatin1Char(':')  + m_compilerPath);
 }
 
 // --------------------------------------------------------------------------
diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
index 7be33a0a0d4..ac17adfde0e 100644
--- a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
+++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
@@ -315,7 +315,7 @@ void Qt4BuildConfiguration::setShadowBuildAndDirectory(bool shadowBuild, const Q
 QString Qt4BuildConfiguration::makeCommand() const
 {
     ToolChain *tc = toolChain();
-    return tc ? tc->makeCommand() : "make";
+    return tc ? tc->makeCommand() : QLatin1String("make");
 }
 
 static inline QString symbianMakeTarget(QtSupport::BaseQtVersion::QmakeBuildConfigs buildConfig,
@@ -330,7 +330,7 @@ static inline QString symbianMakeTarget(QtSupport::BaseQtVersion::QmakeBuildConf
 QString Qt4BuildConfiguration::defaultMakeTarget() const
 {
     ToolChain *tc = toolChain();
-    if (!tc || target()->id() != Constants::S60_DEVICE_TARGET_ID)
+    if (!tc || target()->id() != QLatin1String(Constants::S60_DEVICE_TARGET_ID))
         return QString();
     const QtSupport::BaseQtVersion::QmakeBuildConfigs buildConfig = qmakeBuildConfiguration();
 
@@ -432,21 +432,21 @@ QStringList Qt4BuildConfiguration::configCommandLineArguments() const
     QtSupport::BaseQtVersion::QmakeBuildConfigs defaultBuildConfiguration =  qtVersion() ? qtVersion()->defaultBuildConfig() : (QtSupport::BaseQtVersion::DebugBuild | QtSupport::BaseQtVersion::BuildAll);
     QtSupport::BaseQtVersion::QmakeBuildConfigs userBuildConfiguration = m_qmakeBuildConfiguration;
     if ((defaultBuildConfiguration & QtSupport::BaseQtVersion::BuildAll) && !(userBuildConfiguration & QtSupport::BaseQtVersion::BuildAll))
-        result << "CONFIG-=debug_and_release";
+        result << QLatin1String("CONFIG-=debug_and_release");
 
     if (!(defaultBuildConfiguration & QtSupport::BaseQtVersion::BuildAll) && (userBuildConfiguration & QtSupport::BaseQtVersion::BuildAll))
-        result << "CONFIG+=debug_and_release";
+        result << QLatin1String("CONFIG+=debug_and_release");
     if ((defaultBuildConfiguration & QtSupport::BaseQtVersion::DebugBuild) && !(userBuildConfiguration & QtSupport::BaseQtVersion::DebugBuild))
-        result << "CONFIG+=release";
+        result << QLatin1String("CONFIG+=release");
     if (!(defaultBuildConfiguration & QtSupport::BaseQtVersion::DebugBuild) && (userBuildConfiguration & QtSupport::BaseQtVersion::DebugBuild))
-        result << "CONFIG+=debug";
+        result << QLatin1String("CONFIG+=debug");
     return result;
 }
 
 QMakeStep *Qt4BuildConfiguration::qmakeStep() const
 {
     QMakeStep *qs = 0;
-    BuildStepList *bsl = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
+    BuildStepList *bsl = stepList(QLatin1String(ProjectExplorer::Constants::BUILDSTEPS_BUILD));
     Q_ASSERT(bsl);
     for (int i = 0; i < bsl->count(); ++i)
         if ((qs = qobject_cast<QMakeStep *>(bsl->at(i))) != 0)
@@ -457,7 +457,7 @@ QMakeStep *Qt4BuildConfiguration::qmakeStep() const
 MakeStep *Qt4BuildConfiguration::makeStep() const
 {
     MakeStep *ms = 0;
-    BuildStepList *bsl = stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
+    BuildStepList *bsl = stepList(QLatin1String(ProjectExplorer::Constants::BUILDSTEPS_BUILD));
     Q_ASSERT(bsl);
     for (int i = 0; i < bsl->count(); ++i)
         if ((ms = qobject_cast<MakeStep *>(bsl->at(i))) != 0)
@@ -552,7 +552,7 @@ bool Qt4BuildConfiguration::removeQMLInspectorFromArguments(QString *args)
     for (Utils::QtcProcess::ArgIterator ait(args); ait.next(); ) {
         const QString arg = ait.value();
         if (arg.contains(QLatin1String(Constants::QMAKEVAR_QMLJSDEBUGGER_PATH))
-                || arg.contains(Constants::QMAKEVAR_DECLARATIVE_DEBUG)) {
+                || arg.contains(QLatin1String(Constants::QMAKEVAR_DECLARATIVE_DEBUG))) {
             ait.deleteArg();
             removedArgument = true;
         }
@@ -596,9 +596,10 @@ Utils::FileName Qt4BuildConfiguration::extractSpecFromArguments(QString *args,
     if (parsedSpec.isEmpty())
         return Utils::FileName();
 
-    Utils::FileName baseMkspecDir = Utils::FileName::fromUserInput(version->versionInfo().value("QMAKE_MKSPECS"));
+    Utils::FileName baseMkspecDir = Utils::FileName::fromUserInput(version->versionInfo().value(QLatin1String("QMAKE_MKSPECS")));
     if (baseMkspecDir.isEmpty())
-        baseMkspecDir = Utils::FileName::fromUserInput(version->versionInfo().value("QT_INSTALL_DATA") + "/mkspecs");
+        baseMkspecDir = Utils::FileName::fromUserInput(version->versionInfo().value(QLatin1String("QT_INSTALL_DATA"))
+                                                       + QLatin1String("/mkspecs"));
 
     // if the path is relative it can be
     // relative to the working directory (as found in the Makefiles)
@@ -622,7 +623,8 @@ Utils::FileName Qt4BuildConfiguration::extractSpecFromArguments(QString *args,
     if (parsedSpec.isChildOf(baseMkspecDir)) {
         parsedSpec = parsedSpec.relativeChildPath(baseMkspecDir);
     } else {
-        Utils::FileName sourceMkSpecPath = Utils::FileName::fromString(version->sourcePath().toString() + "/mkspecs");
+        Utils::FileName sourceMkSpecPath = Utils::FileName::fromString(version->sourcePath().toString()
+                                                                       + QLatin1String("/mkspecs"));
         if (parsedSpec.isChildOf(sourceMkSpecPath)) {
             parsedSpec = parsedSpec.relativeChildPath(sourceMkSpecPath);
         }
@@ -759,7 +761,7 @@ BuildConfiguration *Qt4BuildConfigurationFactory::create(ProjectExplorer::Target
                                         (version->defaultBuildConfig() | QtSupport::BaseQtVersion::DebugBuild),
                                         QString(), QString(), false);
 
-    if (qt4Target->id() != Constants::S60_EMULATOR_TARGET_ID) {
+    if (qt4Target->id() != QLatin1String(Constants::S60_EMULATOR_TARGET_ID)) {
         //: Release build configuration. We recommend not translating it.
         QString defaultReleaseName = tr("%1 Release").arg(version->displayName());
         QString customReleaseName;
@@ -825,7 +827,7 @@ void Qt4BuildConfiguration::importFromBuildDirectory()
     if (!directory.isEmpty()) {
         QString mkfile = directory;
         if (makefile().isEmpty())
-            mkfile.append("/Makefile");
+            mkfile.append(QLatin1String("/Makefile"));
         else
             mkfile.append(makefile());
 
diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp
index 02d1ea2899b..32d8b861451 100644
--- a/src/plugins/qt4projectmanager/qt4nodes.cpp
+++ b/src/plugins/qt4projectmanager/qt4nodes.cpp
@@ -203,7 +203,7 @@ QString Qt4PriFile::suggestedFileName() const
 
 QString Qt4PriFile::mimeType() const
 {
-    return Qt4ProjectManager::Constants::PROFILE_MIMETYPE;
+    return QLatin1String(Qt4ProjectManager::Constants::PROFILE_MIMETYPE);
 }
 
 bool Qt4PriFile::isModified() const
@@ -308,7 +308,7 @@ struct InternalNode
     //    * /absolute/path
     void create(const QString &projectDir, const QSet<Utils::FileName> &newFilePaths, ProjectExplorer::FileType type)
     {
-        static const QChar separator = QChar('/');
+        static const QChar separator = QLatin1Char('/');
         const Utils::FileName projectDirFileName = Utils::FileName::fromString(projectDir);
         foreach (const Utils::FileName &file, newFilePaths) {
             Utils::FileName fileWithoutPrefix;
@@ -327,7 +327,7 @@ struct InternalNode
 #endif
             QStringListIterator it(parts);
             InternalNode *currentNode = this;
-            QString path = (isRelative ? (projectDirFileName.toString() + '/') : QString(""));
+            QString path = (isRelative ? (projectDirFileName.toString() + QLatin1Char('/')) : QString());
             while (it.hasNext()) {
                 const QString &key = it.next();
                 if (it.hasNext()) { // key is directory
@@ -363,7 +363,7 @@ struct InternalNode
                 // replace i.value() by i.value()->subnodes.begin()
                 QString key = i.value()->subnodes.begin().key();
                 InternalNode *keep = i.value()->subnodes.value(key);
-                keep->displayName = i.value()->displayName + '/' + keep->displayName;
+                keep->displayName = i.value()->displayName + QLatin1Char('/') + keep->displayName;
                 newSubnodes.insert(key, keep);
                 i.value()->subnodes.clear();
                 delete i.value();
@@ -491,9 +491,9 @@ QStringList Qt4PriFileNode::baseVPaths(QtSupport::ProFileReader *reader, const Q
     QStringList result;
     if (!reader)
         return result;
-    result += reader->absolutePathValues("VPATH", projectDir);
+    result += reader->absolutePathValues(QLatin1String("VPATH"), projectDir);
     result << projectDir; // QMAKE_ABSOLUTE_SOURCE_PATH
-    result += reader->absolutePathValues("DEPENDPATH", projectDir);
+    result += reader->absolutePathValues(QLatin1String("DEPENDPATH"), projectDir);
     result.removeDuplicates();
     return result;
 }
@@ -504,10 +504,10 @@ QStringList Qt4PriFileNode::fullVPaths(const QStringList &baseVPaths, QtSupport:
     if (!reader)
         return vPaths;
     if (type == ProjectExplorer::SourceType)
-        vPaths = reader->absolutePathValues("VPATH_" + qmakeVariable, projectDir);
+        vPaths = reader->absolutePathValues(QLatin1String("VPATH_") + qmakeVariable, projectDir);
     vPaths += baseVPaths;
     if (type == ProjectExplorer::HeaderType)
-        vPaths += reader->absolutePathValues("INCLUDEPATH", projectDir);
+        vPaths += reader->absolutePathValues(QLatin1String("INCLUDEPATH"), projectDir);
     vPaths.removeDuplicates();
     return vPaths;
 }
@@ -558,7 +558,7 @@ void Qt4PriFileNode::update(ProFile *includeFileExact, QtSupport::ProFileReader
     for (int i=0; i < folders.size(); ++i) {
         const QFileInfo fi(folders.at(i));
         if (fi.isRelative())
-            folders[i] = QDir::cleanPath(projectDir + '/' + folders.at(i));
+            folders[i] = QDir::cleanPath(projectDir + QLatin1Char('/') + folders.at(i));
     }
 
 
@@ -641,7 +641,8 @@ void Qt4PriFileNode::update(ProFile *includeFileExact, QtSupport::ProFileReader
             InternalNode *subfolder = new InternalNode;
             subfolder->type = type;
             subfolder->icon = fileTypes.at(i).icon;
-            subfolder->fullPath = m_projectDir + "/#" + QString::number(i) + fileTypes.at(i).typeName;
+            subfolder->fullPath = m_projectDir + QLatin1String("/#")
+                                  + QString::number(i) + fileTypes.at(i).typeName;
             subfolder->displayName = fileTypes.at(i).typeName;
             contents.subnodes.insert(subfolder->fullPath, subfolder);
             // create the hierarchy with subdirectories
@@ -724,7 +725,8 @@ void Qt4PriFileNode::folderChanged(const QString &folder)
             InternalNode *subfolder = new InternalNode;
             subfolder->type = type;
             subfolder->icon = fileTypes.at(i).icon;
-            subfolder->fullPath = m_projectDir + "/#" + QString::number(i) + fileTypes.at(i).typeName;
+            subfolder->fullPath = m_projectDir + QLatin1String("/#")
+                                  + QString::number(i) + fileTypes.at(i).typeName;
             subfolder->displayName = fileTypes.at(i).typeName;
             contents.subnodes.insert(subfolder->fullPath, subfolder);
             // create the hierarchy with subdirectories
@@ -741,7 +743,7 @@ void Qt4PriFileNode::folderChanged(const QString &folder)
     // Other platforms do not have a explicit list of files to package, but package
     // directories
     foreach (ProjectExplorer::Target *target, m_project->targets()) {
-        if (target->id() == Constants::S60_DEVICE_TARGET_ID) {
+        if (target->id() == QLatin1String(Constants::S60_DEVICE_TARGET_ID)) {
             foreach (ProjectExplorer::BuildConfiguration *bc, target->buildConfigurations()) {
                 Qt4BuildConfiguration *qt4bc = qobject_cast<Qt4BuildConfiguration *>(bc);
                 if (qt4bc) {
@@ -758,12 +760,13 @@ void Qt4PriFileNode::folderChanged(const QString &folder)
 bool Qt4PriFileNode::deploysFolder(const QString &folder) const
 {
     QString f = folder;
-    if (!f.endsWith('/'))
-        f.append('/');
+    const QChar slash = QLatin1Char('/');
+    if (!f.endsWith(slash))
+        f.append(slash);
     foreach (const QString &wf, m_watchedFolders) {
         if (f.startsWith(wf)
-            && (wf.endsWith('/')
-                || (wf.length() < f.length() && f.at(wf.length()) == '/')))
+            && (wf.endsWith(slash)
+                || (wf.length() < f.length() && f.at(wf.length()) == slash)))
             return true;
     }
     return false;
@@ -821,13 +824,13 @@ QList<ProjectNode::ProjectAction> Qt4PriFileNode::supportedActions(Node *node) c
         }
 
         bool addExistingFiles = true;
-        if (node->path().contains('#')) {
+        if (node->path().contains(QLatin1Char('#'))) {
             // A virtual folder, we do what the projectexplorer does
             FolderNode *folder = qobject_cast<FolderNode *>(node);
             if (folder) {
                 QStringList list;
                 foreach (FolderNode *f, folder->subFolderNodes())
-                    list << f->path() + '/';
+                    list << f->path() + QLatin1Char('/');
                 if (deploysFolder(Utils::commonPath(list)))
                     addExistingFiles = false;
             }
@@ -1229,25 +1232,29 @@ QStringList Qt4PriFileNode::dynamicVarNames(QtSupport::ProFileReader *readerExac
 {
     QStringList result;
     // Figure out DEPLOYMENT and INSTALLS
-    QStringList listOfVars = readerExact->values("DEPLOYMENT");
+    const QString deployment = QLatin1String("DEPLOYMENT");
+    const QString sources = QLatin1String(".sources");
+    QStringList listOfVars = readerExact->values(deployment);
     foreach (const QString &var, listOfVars) {
-        result << (var + ".sources");
+        result << (var + sources);
     }
     if (readerCumulative) {
-        QStringList listOfVars = readerCumulative->values("DEPLOYMENT");
+        QStringList listOfVars = readerCumulative->values(deployment);
         foreach (const QString &var, listOfVars) {
-            result << (var + ".sources");
+            result << (var + sources);
         }
     }
 
-    listOfVars = readerExact->values("INSTALLS");
+    const QString installs = QLatin1String("INSTALLS");
+    const QString files = QLatin1String(".files");
+    listOfVars = readerExact->values(installs);
     foreach (const QString &var, listOfVars) {
-        result << (var + ".files");
+        result << (var + files);
     }
     if (readerCumulative) {
-        QStringList listOfVars = readerCumulative->values("INSTALLS");
+        QStringList listOfVars = readerCumulative->values(installs);
         foreach (const QString &var, listOfVars) {
-            result << (var + ".files");
+            result << (var + files);
         }
     }
 
@@ -1263,11 +1270,11 @@ QSet<Utils::FileName> Qt4PriFileNode::filterFilesProVariables(ProjectExplorer::F
         return result;
     if (fileType == ProjectExplorer::QMLType) {
         foreach (const Utils::FileName &file, files)
-            if (file.endsWith(".qml"))
+            if (file.endsWith(QLatin1String(".qml")))
                 result << file;
     } else {
         foreach (const Utils::FileName &file, files)
-            if (!file.endsWith(".qml"))
+            if (!file.endsWith(QLatin1String(".qml")))
                 result << file;
     }
     return result;
@@ -1280,11 +1287,11 @@ QSet<Utils::FileName> Qt4PriFileNode::filterFilesRecursiveEnumerata(ProjectExplo
         return result;
     if(fileType == ProjectExplorer::QMLType) {
         foreach (const Utils::FileName &file, files)
-            if (file.endsWith(".qml"))
+            if (file.endsWith(QLatin1String(".qml")))
                 result << file;
     } else {
         foreach (const Utils::FileName &file, files)
-            if (!file.endsWith(".qml"))
+            if (!file.endsWith(QLatin1String(".qml")))
                 result << file;
     }
     return result;
@@ -1368,17 +1375,18 @@ QStringList Qt4ProFileNode::symbianCapabilities() const
     QStringList lowerCasedResult;
 
     QStringList all;
-    all << "LocalServices" << "UserEnvironment" << "NetworkServices"
-        << "ReadUserData" << "WriteUserData" << "Location" << "SwEvent"
-        << "SurroundingsDD" << "ProtServ" << "PowerMgmt" << "ReadDeviceData"
-        << "WriteDeviceData" << "TrustedUI" << "NetworkControl"
-        << "MultimediaDD"<< "CommDD" << "DiskAdmin" << "AllFiles" << "DRM" << "TCB";
+    all << QLatin1String("LocalServices") << QLatin1String("UserEnvironment") << QLatin1String("NetworkServices")
+        << QLatin1String("ReadUserData") << QLatin1String("WriteUserData") << QLatin1String("Location") << QLatin1String("SwEvent")
+        << QLatin1String("SurroundingsDD") << QLatin1String("ProtServ") << QLatin1String("PowerMgmt") << QLatin1String("ReadDeviceData")
+        << QLatin1String("WriteDeviceData") << QLatin1String("TrustedUI") << QLatin1String("NetworkControl")
+        << QLatin1String("MultimediaDD")<< QLatin1String("CommDD") << QLatin1String("DiskAdmin") << QLatin1String("AllFiles")
+        << QLatin1String("DRM") << QLatin1String("TCB");
 
     foreach (const QString &cap, m_varValues[SymbianCapabilities]) {
         QString capability = cap.toLower();
-        if (capability.startsWith('-')) {
+        if (capability.startsWith(QLatin1Char('-'))) {
             lowerCasedResult.removeAll(capability.mid(1));
-        } else if (capability == "all") {
+        } else if (capability == QLatin1String("all")) {
             foreach (const QString &a, all)
                 if (!lowerCasedResult.contains(a, Qt::CaseInsensitive))
                     lowerCasedResult << a.toLower();
@@ -1836,16 +1844,16 @@ void Qt4ProFileNode::applyEvaluate(EvalResult evalResult, bool async)
         newVarValues[ConfigVar] = m_readerExact->values(QLatin1String("CONFIG"));
         newVarValues[QmlImportPathVar] = m_readerExact->absolutePathValues(
                     QLatin1String("QML_IMPORT_PATH"), m_projectDir);
-        newVarValues[Makefile] = m_readerExact->values("MAKEFILE");
-        newVarValues[SymbianCapabilities] = m_readerExact->values("TARGET.CAPABILITY");
+        newVarValues[Makefile] = m_readerExact->values(QLatin1String("MAKEFILE"));
+        newVarValues[SymbianCapabilities] = m_readerExact->values(QLatin1String("TARGET.CAPABILITY"));
         newVarValues[QtVar] = m_readerExact->values(QLatin1String("QT"));
 
         m_isDeployable = false;
         if (m_projectType == ApplicationTemplate) {
             m_isDeployable = true;
         } else {
-            foreach (const QString &item, m_readerExact->values("DEPLOYMENT")) {
-                if (!m_readerExact->values(item + ".sources").isEmpty()) {
+            foreach (const QString &item, m_readerExact->values(QLatin1String("DEPLOYMENT"))) {
+                if (!m_readerExact->values(item + QLatin1String(".sources")).isEmpty()) {
                     m_isDeployable = true;
                     break;
                 }
@@ -1909,7 +1917,7 @@ QStringList Qt4ProFileNode::updateUiFiles()
     QStringList newFilePaths;
     foreach (ProjectExplorer::FileNode *uiFile, uiFiles) {
         const QString uiHeaderFilePath
-                = QString("%1/ui_%2.h").arg(uiDir, QFileInfo(uiFile->path()).completeBaseName());
+                = QString::fromLatin1("%1/ui_%2.h").arg(uiDir, QFileInfo(uiFile->path()).completeBaseName());
         if (QFileInfo(uiHeaderFilePath).exists())
             newFilePaths << uiHeaderFilePath;
     }
@@ -1986,25 +1994,25 @@ QStringList Qt4ProFileNode::updateUiFiles()
 
 QString Qt4ProFileNode::uiDirPath(QtSupport::ProFileReader *reader) const
 {
-    QString path = reader->value("UI_DIR");
+    QString path = reader->value(QLatin1String("UI_DIR"));
     if (QFileInfo(path).isRelative())
-        path = QDir::cleanPath(buildDir() + '/' + path);
+        path = QDir::cleanPath(buildDir() + QLatin1Char('/') + path);
     return path;
 }
 
 QString Qt4ProFileNode::mocDirPath(QtSupport::ProFileReader *reader) const
 {
-    QString path = reader->value("MOC_DIR");
+    QString path = reader->value(QLatin1String("MOC_DIR"));
     if (QFileInfo(path).isRelative())
-        path = QDir::cleanPath(buildDir() + '/' + path);
+        path = QDir::cleanPath(buildDir() + QLatin1Char('/') + path);
     return path;
 }
 
 QStringList Qt4ProFileNode::includePaths(QtSupport::ProFileReader *reader) const
 {
     QStringList paths;
-    foreach (const QString &cxxflags, m_readerExact->values("QMAKE_CXXFLAGS")) {
-        if (cxxflags.startsWith("-I"))
+    foreach (const QString &cxxflags, m_readerExact->values(QLatin1String("QMAKE_CXXFLAGS"))) {
+        if (cxxflags.startsWith(QLatin1String("-I")))
             paths.append(cxxflags.mid(2));
     }
 
@@ -2023,7 +2031,7 @@ QStringList Qt4ProFileNode::libDirectories(QtSupport::ProFileReader *reader) con
 {
     QStringList result;
     foreach (const QString &str, reader->values(QLatin1String("LIBS"))) {
-        if (str.startsWith("-L")) {
+        if (str.startsWith(QLatin1String("-L"))) {
             result.append(str.mid(2));
         }
     }
@@ -2088,9 +2096,10 @@ TargetInformation Qt4ProFileNode::targetInformation(QtSupport::ProFileReader *re
     // qDebug() << "base build dir is:"<<baseDir;
 
     // Working Directory
-    if (reader->contains("DESTDIR")) {
+    const QString destDir = QLatin1String("DESTDIR");
+    if (reader->contains(destDir)) {
         //qDebug() << "reader contains destdir:" << reader->value("DESTDIR");
-        result.workingDir = reader->value("DESTDIR");
+        result.workingDir = reader->value(destDir);
         if (QDir::isRelativePath(result.workingDir)) {
             result.workingDir = baseDir + QLatin1Char('/') + result.workingDir;
             //qDebug() << "was relative and expanded to" << result.workingDir;
@@ -2100,12 +2109,12 @@ TargetInformation Qt4ProFileNode::targetInformation(QtSupport::ProFileReader *re
         result.workingDir = baseDir;
     }
 
-    result.target = reader->value("TARGET");
+    result.target = reader->value(QLatin1String("TARGET"));
     if (result.target.isEmpty())
         result.target = QFileInfo(m_projectFilePath).baseName();
 
 #if defined (Q_OS_MAC)
-    if (reader->values("CONFIG").contains("app_bundle")) {
+    if (reader->values(QLatin1String("CONFIG")).contains(QLatin1String("app_bundle"))) {
         result.workingDir += QLatin1Char('/')
                            + result.target
                            + QLatin1String(".app/Contents/MacOS");
@@ -2115,19 +2124,21 @@ TargetInformation Qt4ProFileNode::targetInformation(QtSupport::ProFileReader *re
     result.workingDir = QDir::cleanPath(result.workingDir);
 
     QString wd = result.workingDir;
-    if ( (!reader->contains("DESTDIR") || reader->value("DESTDIR") == ".")
-        && reader->values("CONFIG").contains("debug_and_release")
-        && reader->values("CONFIG").contains("debug_and_release_target")) {
-        // If we don't have a destdir and debug and release is set
-        // then the executable is in a debug/release folder
-        //qDebug() << "reader has debug_and_release_target";
-
-        // Hmm can we find out whether it's debug or release in a saner way?
-        // Theoretically it's in CONFIG
-        QString qmakeBuildConfig = "release";
-        if (m_project->activeTarget()->activeQt4BuildConfiguration()->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild)
-            qmakeBuildConfig = "debug";
-        wd += QLatin1Char('/') + qmakeBuildConfig;
+    if ( (!reader->contains(destDir) || reader->value(destDir) == QLatin1String("."))) {
+        const QStringList configValues = reader->values(QLatin1String("CONFIG"));
+        if (configValues.contains(QLatin1String("debug_and_release"))
+            && configValues.contains(QLatin1String("debug_and_release_target"))) {
+            // If we don't have a destdir and debug and release is set
+            // then the executable is in a debug/release folder
+            //qDebug() << "reader has debug_and_release_target";
+
+            // Hmm can we find out whether it's debug or release in a saner way?
+            // Theoretically it's in CONFIG
+            QString qmakeBuildConfig = QLatin1String("release");
+            if (m_project->activeTarget()->activeQt4BuildConfiguration()->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild)
+                qmakeBuildConfig = QLatin1String("debug");
+            wd += QLatin1Char('/') + qmakeBuildConfig;
+        }
     }
 
     result.executable = QDir::cleanPath(wd + QLatin1Char('/') + result.target);
diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp
index 24366f14c20..ba63cbb77ea 100644
--- a/src/plugins/qt4projectmanager/qt4project.cpp
+++ b/src/plugins/qt4projectmanager/qt4project.cpp
@@ -632,9 +632,9 @@ void Qt4Project::updateQmlJSCodeModel()
         preferDebugDump = activeTarget()->activeQt4BuildConfiguration()->qmakeBuildConfiguration() & QtSupport::BaseQtVersion::DebugBuild;
         QtSupport::BaseQtVersion *qtVersion = activeTarget()->activeQt4BuildConfiguration()->qtVersion();
         if (qtVersion && qtVersion->isValid()) {
-            projectInfo.tryQmlDump = qtVersion->type() == QtSupport::Constants::DESKTOPQT
-                    || qtVersion->type() == QtSupport::Constants::SIMULATORQT;
-            projectInfo.qtImportsPath = qtVersion->versionInfo().value("QT_INSTALL_IMPORTS");
+            projectInfo.tryQmlDump = qtVersion->type() == QLatin1String(QtSupport::Constants::DESKTOPQT)
+                    || qtVersion->type() == QLatin1String(QtSupport::Constants::SIMULATORQT);
+            projectInfo.qtImportsPath = qtVersion->versionInfo().value(QLatin1String("QT_INSTALL_IMPORTS"));
             if (!projectInfo.qtImportsPath.isEmpty())
                 projectInfo.importPaths += projectInfo.qtImportsPath;
             projectInfo.qtVersionString = qtVersion->qtVersionString();
@@ -843,7 +843,8 @@ void Qt4Project::asyncUpdate()
     Core::ProgressManager *progressManager = Core::ICore::instance()->progressManager();
 
     m_asyncUpdateFutureInterface->setProgressRange(0, 0);
-    progressManager->addTask(m_asyncUpdateFutureInterface->future(), tr("Evaluating"), Constants::PROFILE_EVALUATE);
+    progressManager->addTask(m_asyncUpdateFutureInterface->future(), tr("Evaluating"),
+                             QLatin1String(Constants::PROFILE_EVALUATE));
     if (debug)
         qDebug()<<"  adding task";
 
@@ -1195,7 +1196,7 @@ QSet<QString> CentralizedFolderWatcher::recursiveDirs(const QString &folder)
     QDir dir(folder);
     QStringList list = dir.entryList(QDir::Dirs | QDir::NoSymLinks | QDir::NoDotAndDotDot);
     foreach (const QString &f, list) {
-        const QString a = folder + f + '/';
+        const QString a = folder + f + QLatin1Char('/');
         result.insert(a);
         result += recursiveDirs(a);
     }
@@ -1208,10 +1209,11 @@ void CentralizedFolderWatcher::watchFolders(const QList<QString> &folders, Qt4Pr
         qDebug()<<"CFW::watchFolders()"<<folders<<"for node"<<node->path();
     m_watcher.addPaths(folders);
 
+    const QChar slash = QLatin1Char('/');
     foreach (const QString &f, folders) {
         QString folder = f;
-        if (!folder.endsWith('/'))
-            folder.append('/');
+        if (!folder.endsWith(slash))
+            folder.append(slash);
         m_map.insert(folder, node);
 
         // Support for recursive watching
@@ -1230,10 +1232,11 @@ void CentralizedFolderWatcher::unwatchFolders(const QList<QString> &folders, Qt4
 {
     if (debugCFW)
         qDebug()<<"CFW::unwatchFolders()"<<folders<<"for node"<<node->path();
+    const QChar slash = QLatin1Char('/');
     foreach (const QString &f, folders) {
         QString folder = f;
-        if (!folder.endsWith('/'))
-            folder.append('/');
+        if (!folder.endsWith(slash))
+            folder.append(slash);
         m_map.remove(folder, node);
         if (!m_map.contains(folder)) {
             m_watcher.removePath(folder);
@@ -1294,9 +1297,10 @@ void CentralizedFolderWatcher::delayedFolderChanged(const QString &folder)
     // Figure out whom to inform
 
     QString dir = folder;
+    const QChar slash = QLatin1Char('/');
     while (true) {
-        if (!dir.endsWith('/'))
-            dir.append('/');
+        if (!dir.endsWith(slash))
+            dir.append(slash);
         QList<Qt4ProjectManager::Qt4PriFileNode *> nodes = m_map.values(dir);
         foreach (Qt4ProjectManager::Qt4PriFileNode *node, nodes) {
             node->folderChanged(folder);
@@ -1308,16 +1312,16 @@ void CentralizedFolderWatcher::delayedFolderChanged(const QString &folder)
             break;
 
         // We start before the last slash
-        int index = dir.lastIndexOf('/', dir.length() - 2);
+        const int index = dir.lastIndexOf(slash, dir.length() - 2);
         if (index == -1)
             break;
-        dir = dir.left(index + 1);
+        dir.truncate(index + 1);
     }
 
 
     QString folderWithSlash = folder;
-    if (!folder.endsWith('/'))
-        folderWithSlash.append('/');
+    if (!folder.endsWith(slash))
+        folderWithSlash.append(slash);
 
     // If a subdirectory was added, watch it too
     QSet<QString> tmp = recursiveDirs(folderWithSlash);
diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
index 3575c656449..1bf50de83a0 100644
--- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp
@@ -180,14 +180,15 @@ void Qt4ProjectConfigWidget::updateShadowBuildUi()
 void Qt4ProjectConfigWidget::manageQtVersions()
 {
     Core::ICore *core = Core::ICore::instance();
-    core->showOptionsDialog(ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY, QtSupport::Constants::QTVERSION_SETTINGS_PAGE_ID);
+    core->showOptionsDialog(QLatin1String(ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY),
+                            QLatin1String(QtSupport::Constants::QTVERSION_SETTINGS_PAGE_ID));
 }
 
 void Qt4ProjectConfigWidget::manageToolChains()
 {
     Core::ICore *core = Core::ICore::instance();
-    core->showOptionsDialog(ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY,
-                            ProjectExplorer::Constants::TOOLCHAIN_SETTINGS_PAGE_ID);
+    core->showOptionsDialog(QLatin1String(ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY),
+                            QLatin1String(ProjectExplorer::Constants::TOOLCHAIN_SETTINGS_PAGE_ID));
 }
 
 QString Qt4ProjectConfigWidget::displayName() const
@@ -353,7 +354,7 @@ void Qt4ProjectConfigWidget::updateImportLabel()
     if (m_buildConfiguration->qmakeStep() && m_buildConfiguration->makeStep()) {
         QString makefile = m_buildConfiguration->buildDirectory();
         if (m_buildConfiguration->makefile().isEmpty())
-            makefile.append("/Makefile");
+            makefile.append(QLatin1String("/Makefile"));
         else
             makefile.append(m_buildConfiguration->makefile());
 
@@ -416,7 +417,7 @@ void Qt4ProjectConfigWidget::updateImportLabel()
         m_ui->problemLabel->setVisible(true);
         m_ui->warningLabel->setVisible(true);
         m_ui->importLabel->setVisible(visible);
-        QString text = "<nobr>";
+        QString text = QLatin1String("<nobr>");
         foreach (const ProjectExplorer::Task &task, issues) {
             QString type;
             switch (task.type) {
diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.cpp b/src/plugins/qt4projectmanager/qt4projectmanager.cpp
index 552be42ff21..26220a1e21a 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanager.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectmanager.cpp
@@ -400,20 +400,21 @@ void Qt4Manager::handleSubDirContexMenu(Qt4Manager::Action action)
             bc->setSubNodeBuild(profile);
 
     if (projectExplorer()->saveModifiedFiles()) {
+        const QString buildStep = QLatin1String(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
+        const QString cleanStep = QLatin1String(ProjectExplorer::Constants::BUILDSTEPS_CLEAN);
         if (action == BUILD) {
-            QString name = ProjectExplorer::ProjectExplorerPlugin::displayNameForStepId(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
-            projectExplorer()->buildManager()->buildList(bc->stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD), name);
+            const QString name = ProjectExplorer::ProjectExplorerPlugin::displayNameForStepId(buildStep);
+            projectExplorer()->buildManager()->buildList(bc->stepList(buildStep), name);
         } else if (action == CLEAN) {
-            QString name = ProjectExplorer::ProjectExplorerPlugin::displayNameForStepId(ProjectExplorer::Constants::BUILDSTEPS_CLEAN);
-            projectExplorer()->buildManager()->buildList(bc->stepList(ProjectExplorer::Constants::BUILDSTEPS_CLEAN), name);
+            const QString name = ProjectExplorer::ProjectExplorerPlugin::displayNameForStepId(cleanStep);
+            projectExplorer()->buildManager()->buildList(bc->stepList(cleanStep), name);
         } else if (action == REBUILD) {
             QStringList names;
-            names << ProjectExplorer::ProjectExplorerPlugin::displayNameForStepId(ProjectExplorer::Constants::BUILDSTEPS_CLEAN)
-                  << ProjectExplorer::ProjectExplorerPlugin::displayNameForStepId(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
+            names << ProjectExplorer::ProjectExplorerPlugin::displayNameForStepId(cleanStep)
+                  << ProjectExplorer::ProjectExplorerPlugin::displayNameForStepId(buildStep);
 
             QList<ProjectExplorer::BuildStepList *> stepLists;
-            stepLists << bc->stepList(ProjectExplorer::Constants::BUILDSTEPS_CLEAN);
-            stepLists << bc->stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
+            stepLists << bc->stepList(cleanStep) << bc->stepList(buildStep);
             projectExplorer()->buildManager()->buildLists(stepLists, names);
         }
     }
diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
index e2cf0f38a02..7e2b59b8020 100644
--- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
+++ b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp
@@ -192,24 +192,24 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString *
     msubproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
     connect(m_runQMakeActionContextMenu, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(runQMakeContextMenu()));
 
-    QIcon buildIcon(ProjectExplorer::Constants::ICON_BUILD);
-    buildIcon.addFile(ProjectExplorer::Constants::ICON_BUILD_SMALL);
+    QIcon buildIcon = QIcon(QLatin1String(ProjectExplorer::Constants::ICON_BUILD));
+    buildIcon.addFile(QLatin1String(ProjectExplorer::Constants::ICON_BUILD_SMALL));
     m_buildSubProjectContextMenu = new QAction(buildIcon, tr("Build"), this);
     command = am->registerAction(m_buildSubProjectContextMenu, Constants::BUILDSUBDIR, projectContext);
     command->setAttribute(Core::Command::CA_Hide);
     msubproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
     connect(m_buildSubProjectContextMenu, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(buildSubDirContextMenu()));
 
-    QIcon rebuildIcon(ProjectExplorer::Constants::ICON_REBUILD);
-    rebuildIcon.addFile(ProjectExplorer::Constants::ICON_REBUILD_SMALL);
+    QIcon rebuildIcon = QIcon(QLatin1String(ProjectExplorer::Constants::ICON_REBUILD));
+    rebuildIcon.addFile(QLatin1String(ProjectExplorer::Constants::ICON_REBUILD_SMALL));
     m_rebuildSubProjectContextMenu = new QAction(rebuildIcon, tr("Rebuild"), this);
     command = am->registerAction(m_rebuildSubProjectContextMenu, Constants::REBUILDSUBDIR, projectContext);
     command->setAttribute(Core::Command::CA_Hide);
     msubproject->addAction(command, ProjectExplorer::Constants::G_PROJECT_BUILD);
     connect(m_rebuildSubProjectContextMenu, SIGNAL(triggered()), m_qt4ProjectManager, SLOT(rebuildSubDirContextMenu()));
 
-    QIcon cleanIcon(ProjectExplorer::Constants::ICON_CLEAN);
-    cleanIcon.addFile(ProjectExplorer::Constants::ICON_CLEAN_SMALL);
+    QIcon cleanIcon = QIcon(QLatin1String(ProjectExplorer::Constants::ICON_CLEAN));
+    cleanIcon.addFile(QLatin1String(ProjectExplorer::Constants::ICON_CLEAN_SMALL));
     m_cleanSubProjectContextMenu = new QAction(cleanIcon, tr("Clean"), this);
     command = am->registerAction(m_cleanSubProjectContextMenu, Constants::CLEANSUBDIR, projectContext);
     command->setAttribute(Core::Command::CA_Hide);
diff --git a/src/plugins/qt4projectmanager/qt4target.cpp b/src/plugins/qt4projectmanager/qt4target.cpp
index 12888dd60f0..79f38644b05 100644
--- a/src/plugins/qt4projectmanager/qt4target.cpp
+++ b/src/plugins/qt4projectmanager/qt4target.cpp
@@ -99,7 +99,7 @@ Qt4TargetSetupWidget *Qt4BaseTargetFactory::createTargetSetupWidget(const QStrin
     if (infos.isEmpty())
         return 0;
     const bool supportsShadowBuilds
-            = targetFeatures(id).contains(Constants::SHADOWBUILD_TARGETFEATURE_ID);
+            = targetFeatures(id).contains(QLatin1String(Constants::SHADOWBUILD_TARGETFEATURE_ID));
     Qt4DefaultTargetSetupWidget *widget
             = new Qt4DefaultTargetSetupWidget(this, id, proFilePath, infos, minimumQtVersion, maximumQtVersion,
                                               importEnabled && supportsShadowBuilds, importInfos,
@@ -146,15 +146,16 @@ QString sanitize(const QString &input)
 {
     QString result;
     result.reserve(input.size());
-    foreach (const QChar &c, input) {
+    foreach (const QChar &qc, input) {
+        const char c = qc.toLatin1();
         if ((c >= 'a' && c <='z')
                 || (c >= 'A' && c <= 'Z')
                 || (c >= '0' && c <= '9')
                 || c == '-'
                 || c == '_')
-            result.append(c);
+            result.append(qc);
         else
-            result.append('_');
+            result.append(QLatin1Char('_'));
     }
     return result;
 }
@@ -356,8 +357,10 @@ Qt4BuildConfiguration *Qt4BaseTarget::addQt4BuildConfiguration(QString defaultDi
     bc->setDefaultDisplayName(defaultDisplayName);
     bc->setDisplayName(displayName);
 
-    ProjectExplorer::BuildStepList *buildSteps = bc->stepList(ProjectExplorer::Constants::BUILDSTEPS_BUILD);
-    ProjectExplorer::BuildStepList *cleanSteps = bc->stepList(ProjectExplorer::Constants::BUILDSTEPS_CLEAN);
+    ProjectExplorer::BuildStepList *buildSteps =
+        bc->stepList(QLatin1String(ProjectExplorer::Constants::BUILDSTEPS_BUILD));
+    ProjectExplorer::BuildStepList *cleanSteps =
+        bc->stepList(QLatin1String(ProjectExplorer::Constants::BUILDSTEPS_CLEAN));
     Q_ASSERT(buildSteps);
     Q_ASSERT(cleanSteps);
 
@@ -369,7 +372,7 @@ Qt4BuildConfiguration *Qt4BaseTarget::addQt4BuildConfiguration(QString defaultDi
 
     MakeStep* cleanStep = new MakeStep(cleanSteps);
     cleanStep->setClean(true);
-    cleanStep->setUserArguments("clean");
+    cleanStep->setUserArguments(QLatin1String("clean"));
     cleanSteps->insertStep(0, cleanStep);
 
     bool enableQmlDebugger
@@ -381,7 +384,7 @@ Qt4BuildConfiguration *Qt4BaseTarget::addQt4BuildConfiguration(QString defaultDi
 
     // set some options for qmake and make
     if (qmakeBuildConfiguration & QtSupport::BaseQtVersion::BuildAll) // debug_and_release => explicit targets
-        makeStep->setUserArguments(debug ? "debug" : "release");
+        makeStep->setUserArguments(debug ? QLatin1String("debug") : QLatin1String("release"));
 
     bc->setQMakeBuildConfiguration(qmakeBuildConfiguration);
 
@@ -447,7 +450,7 @@ QString issuesListToString(const QList<ProjectExplorer::Task> &issues)
             severity = QCoreApplication::translate("Qt4DefaultTargetSetupWidget", "<b>Warning:</b> ", "Severity is Task::Warning");
         lines.append(severity + t.description);
     }
-    return lines.join("<br>");
+    return lines.join(QLatin1String("<br>"));
 }
 
 Qt4DefaultTargetSetupWidget::Qt4DefaultTargetSetupWidget(Qt4BaseTargetFactory *factory,
@@ -541,7 +544,7 @@ Qt4DefaultTargetSetupWidget::Qt4DefaultTargetSetupWidget(Qt4BaseTargetFactory *f
     m_buildConfigurationComboBox->addItem(tr("None"), NONE);
 
     if (m_importInfos.isEmpty())
-        m_buildConfigurationComboBox->setCurrentIndex(s->value("Qt4ProjectManager.TargetSetupPage.BuildTemplate", 0).toInt());
+        m_buildConfigurationComboBox->setCurrentIndex(s->value(QLatin1String("Qt4ProjectManager.TargetSetupPage.BuildTemplate"), 0).toInt());
     else
         m_buildConfigurationComboBox->setCurrentIndex(3); // NONE
 
@@ -596,7 +599,7 @@ Qt4DefaultTargetSetupWidget::Qt4DefaultTargetSetupWidget(Qt4BaseTargetFactory *f
         m_shadowBuildEnabled->setChecked(true);
         m_directoriesEnabled = true;
     } else {
-        m_directoriesEnabled = s->value("Qt4ProjectManager.TargetSetupPage.ShadowBuilding", true).toBool();
+        m_directoriesEnabled = s->value(QLatin1String("Qt4ProjectManager.TargetSetupPage.ShadowBuilding"), true).toBool();
         m_shadowBuildEnabled->setChecked(m_directoriesEnabled);
     }
 
@@ -606,7 +609,7 @@ Qt4DefaultTargetSetupWidget::Qt4DefaultTargetSetupWidget(Qt4BaseTargetFactory *f
 
     setBuildConfigurationInfos(infos);
 
-    int qtVersionId = s->value("Qt4ProjectManager.TargetSetupPage.QtVersionId", -1).toInt();
+    int qtVersionId = s->value(QLatin1String("Qt4ProjectManager.TargetSetupPage.QtVersionId"), -1).toInt();
     int index = m_versionComboBox->findData(qtVersionId);
     if (index != -1)
         m_versionComboBox->setCurrentIndex(index);
@@ -682,7 +685,7 @@ QString Qt4DefaultTargetSetupWidget::displayNameFrom(const BuildConfigurationInf
             //: release build
             buildType = tr("release");
     }
-    return info.version->displayName() + ' ' + buildType;
+    return info.version->displayName() + QLatin1Char(' ') + buildType;
 }
 
 void Qt4DefaultTargetSetupWidget::setProFilePath(const QString &proFilePath)
@@ -724,18 +727,18 @@ void Qt4DefaultTargetSetupWidget::storeSettings() const
     }
 
     QSettings *s = Core::ICore::instance()->settings();
-    s->setValue("Qt4ProjectManager.TargetSetupPage.ShadowBuilding", m_shadowBuildEnabled->isChecked());
+    s->setValue(QLatin1String("Qt4ProjectManager.TargetSetupPage.ShadowBuilding"), m_shadowBuildEnabled->isChecked());
     int id = -1;
     int ci = m_versionComboBox->currentIndex();
     if (ci != -1)
         id = m_versionComboBox->itemData(ci).toInt();
-    s->setValue("Qt4ProjectManager.TargetSetupPage.QtVersionId", id);
+    s->setValue(QLatin1String("Qt4ProjectManager.TargetSetupPage.QtVersionId"), id);
 
     // if we are importing we don't save the template setting
     // essentially we assume that the settings apply for the new project case
     // and for the importing case "None" is likely the most sensible
     if (!importing)
-        s->setValue("Qt4ProjectManager.TargetSetupPage.BuildTemplate", m_buildConfigurationComboBox->currentIndex());
+        s->setValue(QLatin1String("Qt4ProjectManager.TargetSetupPage.BuildTemplate"), m_buildConfigurationComboBox->currentIndex());
 }
 
 QList<BuildConfigurationInfo> Qt4DefaultTargetSetupWidget::buildConfigurationInfos() const
@@ -1192,7 +1195,7 @@ QList<BuildConfigurationInfo> BuildConfigurationInfo::importBuildConfigurations(
             ExtensionSystem::PluginManager::instance()->getObjects<Qt4BaseTargetFactory>();
     foreach (Qt4BaseTargetFactory *factory, factories) {
         foreach (const QString &id, factory->supportedTargetIds(0)) {
-            QString expectedBuildprefix = factory->shadowBuildDirectory(proFilePath, id, "");
+            QString expectedBuildprefix = factory->shadowBuildDirectory(proFilePath, id, QString());
             QString baseDir = QFileInfo(expectedBuildprefix).absolutePath();
             foreach (const QString &dir, QDir(baseDir).entryList()) {
                 if (dir.startsWith(expectedBuildprefix)) {
@@ -1208,10 +1211,10 @@ QList<BuildConfigurationInfo> BuildConfigurationInfo::importBuildConfigurations(
 
 QList<BuildConfigurationInfo> BuildConfigurationInfo::checkForBuild(const QString &directory, const QString &proFilePath)
 {
-    QStringList makefiles = QDir(directory).entryList(QStringList() << "Makefile*");
+    QStringList makefiles = QDir(directory).entryList(QStringList(QLatin1String("Makefile*")));
     QList<BuildConfigurationInfo> infos;
     foreach (const QString &file, makefiles) {
-        QString makefile = directory + '/' + file;
+        QString makefile = directory + QLatin1Char('/') + file;
         Utils::FileName qmakeBinary = QtSupport::QtVersionManager::findQMakeBinaryFromMakefile(makefile);
         if (qmakeBinary.isEmpty())
             continue;
@@ -1236,10 +1239,11 @@ QList<BuildConfigurationInfo> BuildConfigurationInfo::checkForBuild(const QStrin
 
         QString specArgument;
         // Compare mkspecs and add to additional arguments
-        if (parsedSpec.isEmpty() || parsedSpec == versionSpec || parsedSpec == Utils::FileName::fromString("default")) {
+        if (parsedSpec.isEmpty() || parsedSpec == versionSpec
+            || parsedSpec == Utils::FileName::fromString(QLatin1String("default"))) {
             // using the default spec, don't modify additional arguments
         } else {
-            specArgument = "-spec " + Utils::QtcProcess::quoteArg(parsedSpec.toUserOutput());
+            specArgument = QLatin1String("-spec ") + Utils::QtcProcess::quoteArg(parsedSpec.toUserOutput());
         }
         Utils::QtcProcess::addArgs(&specArgument, additionalArguments);
 
diff --git a/src/plugins/qt4projectmanager/qtmodulesinfo.cpp b/src/plugins/qt4projectmanager/qtmodulesinfo.cpp
index 60b7bc122af..06051ddafa3 100644
--- a/src/plugins/qt4projectmanager/qtmodulesinfo.cpp
+++ b/src/plugins/qt4projectmanager/qtmodulesinfo.cpp
@@ -149,7 +149,7 @@ QStringList QtModulesInfo::modules()
 
 static inline const item *itemForModule(const QString &module)
 {
-    return staticItemHash()->value(module.toLatin1().data());
+    return staticItemHash()->value(module);
 }
 
 QString QtModulesInfo::moduleName(const QString &module)
diff --git a/src/plugins/qt4projectmanager/winceqtversion.cpp b/src/plugins/qt4projectmanager/winceqtversion.cpp
index a18635f6bee..0e9a68eb7cb 100644
--- a/src/plugins/qt4projectmanager/winceqtversion.cpp
+++ b/src/plugins/qt4projectmanager/winceqtversion.cpp
@@ -49,9 +49,9 @@ WinCeQtVersion::WinCeQtVersion(const Utils::FileName &path, const QString &archT
   : QtSupport::BaseQtVersion(path, isAutodetected, autodetectionSource),
     m_archType(ProjectExplorer::Abi::ArmArchitecture)
 {
-    if (0 == archType.compare("x86", Qt::CaseInsensitive))
+    if (0 == archType.compare(QLatin1String("x86"), Qt::CaseInsensitive))
         m_archType = ProjectExplorer::Abi::X86Architecture;
-    else if (0 == archType.compare("mipsii", Qt::CaseInsensitive))
+    else if (0 == archType.compare(QLatin1String("mipsii"), Qt::CaseInsensitive))
         m_archType = ProjectExplorer::Abi::MipsArchitecture;
 }
 
@@ -66,7 +66,7 @@ WinCeQtVersion *WinCeQtVersion::clone() const
 
 QString WinCeQtVersion::type() const
 {
-    return QtSupport::Constants::WINCEQT;
+    return QLatin1String(QtSupport::Constants::WINCEQT);
 }
 
 QList<ProjectExplorer::Abi> WinCeQtVersion::detectQtAbis() const
@@ -104,12 +104,12 @@ void WinCeQtVersion::fromMap(const QVariantMap &map)
     // named <Description>-<Architecture>-<Compiler> with no other '-' characters.
     m_archType = ProjectExplorer::Abi::ArmArchitecture;
 
-    const QStringList splitSpec = mkspec().toString().split("-");
+    const QStringList splitSpec = mkspec().toString().split(QLatin1Char('-'));
     if (splitSpec.length() == 3) {
         const QString archString = splitSpec.value(1);
-        if (archString.contains("x86", Qt::CaseInsensitive))
+        if (archString.contains(QLatin1String("x86"), Qt::CaseInsensitive))
             m_archType = ProjectExplorer::Abi::X86Architecture;
-        else if (archString.contains("mips", Qt::CaseInsensitive))
+        else if (archString.contains(QLatin1String("mips"), Qt::CaseInsensitive))
             m_archType = ProjectExplorer::Abi::MipsArchitecture;
     }
 }
diff --git a/src/plugins/qt4projectmanager/winceqtversionfactory.cpp b/src/plugins/qt4projectmanager/winceqtversionfactory.cpp
index e7fe956f15d..5dbdffd8b86 100644
--- a/src/plugins/qt4projectmanager/winceqtversionfactory.cpp
+++ b/src/plugins/qt4projectmanager/winceqtversionfactory.cpp
@@ -75,8 +75,8 @@ QtSupport::BaseQtVersion *WinCeQtVersionFactory::create(const Utils::FileName &q
     if (!fi.exists() || !fi.isExecutable() || !fi.isFile())
         return 0;
 
-    QString ce_sdk = evaluator->values("CE_SDK").join(QLatin1String(" "));
-    QString ce_arch = evaluator->value("CE_ARCH");
+    QString ce_sdk = evaluator->values(QLatin1String("CE_SDK")).join(QLatin1String(" "));
+    QString ce_arch = evaluator->value(QLatin1String("CE_ARCH"));
 
     if (!ce_sdk.isEmpty() && !ce_arch.isEmpty())
         return new WinCeQtVersion(qmakePath, ce_arch, isAutoDetected, autoDetectionSource);
diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp b/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp
index bf5396d26c5..5d58a9c3097 100644
--- a/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp
+++ b/src/plugins/qt4projectmanager/wizards/abstractmobileapp.cpp
@@ -349,7 +349,7 @@ QList<AbstractGeneratedFileInfo> AbstractMobileApp::fileUpdates(const QString &m
         QFile readFile(newFile.fileInfo.absoluteFilePath());
         if (!readFile.open(QIODevice::ReadOnly))
            continue;
-        const QString firstLine = readFile.readLine();
+        const QString firstLine = QString::fromUtf8(readFile.readLine());
         const QStringList elements = firstLine.split(QLatin1Char(' '));
         if (elements.count() != 5 || elements.at(1) != FileChecksum
                 || elements.at(3) != FileStubVersion)
diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp
index 18175582595..0311a717a58 100644
--- a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp
+++ b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp
@@ -66,7 +66,7 @@ AbstractMobileAppWizardDialog::AbstractMobileAppWizardDialog(QWidget *parent,
     , m_harmattanItem(0)
 {
     m_targetsPage = new TargetSetupPage;
-    m_targetsPage->setPreferredFeatures(QSet<QString>() << Constants::MOBILE_TARGETFEATURE_ID);
+    m_targetsPage->setPreferredFeatures(QSet<QString>() << QLatin1String(Constants::MOBILE_TARGETFEATURE_ID));
     m_targetsPage->setMinimumQtVersion(minimumQtVersionNumber);
     m_targetsPage->setMaximumQtVersion(maximumQtVersionNumber);
     resize(900, 450);
diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp b/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp
index 5962576834e..f05fb63696e 100644
--- a/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp
+++ b/src/plugins/qt4projectmanager/wizards/guiappwizard.cpp
@@ -141,7 +141,7 @@ static inline bool generateFormClass(const GuiAppParameters &params,
     QString headerContents;
     QString sourceContents;
     // Invoke code generation service of Qt Designer plugin.
-    if (QObject *codeGenerator = ExtensionSystem::PluginManager::instance()->getObjectByClassName("Designer::QtDesignerFormClassCodeGenerator")) {
+    if (QObject *codeGenerator = ExtensionSystem::PluginManager::instance()->getObjectByClassName(QLatin1String("Designer::QtDesignerFormClassCodeGenerator"))) {
         const QVariant code =  ExtensionSystem::invoke<QVariant>(codeGenerator, "generateFormClassCode", fp);
         if (code.type() == QVariant::List) {
             const QVariantList vl = code.toList();
@@ -278,7 +278,7 @@ bool GuiAppWizard::parametrizeTemplate(const QString &templatePath, const QStrin
 
     QString preDef = params.headerFileName.toUpper();
     preDef.replace(dot, QLatin1Char('_'));
-    contents.replace("%PRE_DEF%", preDef.toUtf8());
+    contents.replace(QLatin1String("%PRE_DEF%"), preDef);
 
     const QString uiFileName = params.formFileName;
     QString uiHdr = QLatin1String("ui_");
diff --git a/src/plugins/qt4projectmanager/wizards/html5app.cpp b/src/plugins/qt4projectmanager/wizards/html5app.cpp
index 91330c485c7..808270c34d3 100644
--- a/src/plugins/qt4projectmanager/wizards/html5app.cpp
+++ b/src/plugins/qt4projectmanager/wizards/html5app.cpp
@@ -197,7 +197,7 @@ QByteArray Html5App::appViewerCppFileCode(QString *errorMessage) const
         if (!touchNavigavigationFile.open(QIODevice::ReadOnly)) {
             if (errorMessage)
                 *errorMessage = QCoreApplication::translate("Qt4ProjectManager::AbstractMobileApp",
-                    "Could not open template file '%1'.").arg(touchNavigavigationFiles[i]);
+                    "Could not open template file '%1'.").arg(QLatin1String(touchNavigavigationFiles[i]));
             return QByteArray();
         }
         QTextStream touchNavigavigationFileIn(&touchNavigavigationFile);
diff --git a/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.cpp b/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.cpp
index 6b264e6762c..c8fbd4bfa21 100644
--- a/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.cpp
+++ b/src/plugins/qt4projectmanager/wizards/mobilelibraryparameters.cpp
@@ -75,7 +75,7 @@ QString generateCapabilitySet(uint capabilities)
     QString capabilitySet;
     for(int i = 0; i < capabilityCount; ++i)
         if (capabilities&symbianCapability[i].value)
-            capabilitySet += QLatin1String(symbianCapability[i].name) + ' ';
+            capabilitySet += QLatin1String(symbianCapability[i].name) + QLatin1Char(' ');
     return capabilitySet;
 }
 
@@ -98,10 +98,10 @@ void MobileLibraryParameters::writeSymbianProFile(QTextStream &str) const
         str << "\n"
                "symbian {\n"
                "    MMP_RULES += EXPORTUNFROZEN\n"
-               "    TARGET.UID3 = " + symbianUid + "\n"
-               "    TARGET.CAPABILITY = " + generateCapabilitySet(symbianCapabilities).toAscii() + "\n"
+               "    TARGET.UID3 = " << symbianUid << "\n"
+               "    TARGET.CAPABILITY = " << generateCapabilitySet(symbianCapabilities) << "\n"
                "    TARGET.EPOCALLOWDLLDATA = 1\n"
-               "    addFiles.sources = " + fileName + ".dll\n"
+               "    addFiles.sources = " << fileName << ".dll\n"
                "    addFiles.path = !:/sys/bin\n"
                "    DEPLOYMENT += addFiles\n"
                "}\n";
@@ -111,11 +111,11 @@ void MobileLibraryParameters::writeSymbianProFile(QTextStream &str) const
                "# Load predefined include paths (e.g. QT_PLUGINS_BASE_DIR) to be used in the pro-files\n"
                "    load(data_caging_paths)\n"
                "    MMP_RULES += EXPORTUNFROZEN\n"
-               "    TARGET.UID3 = " + symbianUid + "\n"
-               "    TARGET.CAPABILITY = " + generateCapabilitySet(symbianCapabilities).toAscii() + "\n"
+               "    TARGET.UID3 = " << symbianUid << "\n"
+               "    TARGET.CAPABILITY = " << generateCapabilitySet(symbianCapabilities) << "\n"
                "    TARGET.EPOCALLOWDLLDATA = 1\n"
-               "    pluginDeploy.sources = " + fileName + ".dll\n"
-               "    pluginDeploy.path = $$QT_PLUGINS_BASE_DIR/" + QDir::fromNativeSeparators(qtPluginDirectory) + "\n"
+               "    pluginDeploy.sources = " << fileName << ".dll\n"
+               "    pluginDeploy.path = $$QT_PLUGINS_BASE_DIR/" << QDir::fromNativeSeparators(qtPluginDirectory) << "\n"
                "    DEPLOYMENT += pluginDeploy\n"
                "}\n";
     }
diff --git a/src/plugins/qt4projectmanager/wizards/qtquickappwizard.cpp b/src/plugins/qt4projectmanager/wizards/qtquickappwizard.cpp
index ad83cdd0752..8cf8bca90ab 100644
--- a/src/plugins/qt4projectmanager/wizards/qtquickappwizard.cpp
+++ b/src/plugins/qt4projectmanager/wizards/qtquickappwizard.cpp
@@ -89,12 +89,12 @@ bool QtQuickAppWizardDialog::validateCurrentPage()
             setIgnoreGenericOptionsPage(true);
             targetsPage()->setMinimumQtVersion(QtSupport::QtVersionNumber(4, 7, 4));
             QSet<QString> requiredFeatures;
-            requiredFeatures << Constants::QTQUICKCOMPONENTS_SYMBIAN_TARGETFEATURE_ID;
+            requiredFeatures << QLatin1String(Constants::QTQUICKCOMPONENTS_SYMBIAN_TARGETFEATURE_ID);
             targetsPage()->setRequiredFeatures(requiredFeatures);
         } else if (m_componentOptionsPage->componentSet() == QtQuickApp::Meego10Components) {
             targetsPage()->setMinimumQtVersion(QtSupport::QtVersionNumber(4, 7, 4));
             QSet<QString> requiredFeatures;
-            requiredFeatures << Constants::QTQUICKCOMPONENTS_MEEGO_TARGETFEATURE_ID;
+            requiredFeatures << QLatin1String(Constants::QTQUICKCOMPONENTS_MEEGO_TARGETFEATURE_ID);
             targetsPage()->setRequiredFeatures(requiredFeatures);
         } else {
             targetsPage()->setMinimumQtVersion(QtSupport::QtVersionNumber(4, 7, 0));
diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp
index 468bb9554aa..e6c87344fbb 100644
--- a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp
+++ b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp
@@ -242,9 +242,9 @@ int BaseQt4ProjectWizardDialog::addTargetSetupPage(QSet<QString> targets, bool m
     resize(900, 450);
 
     if (mobile) {
-        m_targetSetupPage->setPreferredFeatures(QSet<QString>() << Constants::MOBILE_TARGETFEATURE_ID);
+        m_targetSetupPage->setPreferredFeatures(QSet<QString>() << QLatin1String(Constants::MOBILE_TARGETFEATURE_ID));
     } else {
-        m_targetSetupPage->setPreferredFeatures(QSet<QString>() << Constants::DESKTOP_TARGETFEATURE_ID);
+        m_targetSetupPage->setPreferredFeatures(QSet<QString>() << QLatin1String(Constants::DESKTOP_TARGETFEATURE_ID));
     }
 
     if (id >= 0)
@@ -316,7 +316,9 @@ bool BaseQt4ProjectWizardDialog::isTargetSelected(const QString &targetid) const
 
 void BaseQt4ProjectWizardDialog::generateProfileName(const QString &name, const QString &path)
 {
-    const QString proFile = QDir::cleanPath(path + QChar('/') + name + QChar('/') + name + QLatin1String(".pro"));
+    const QString proFile =
+        QDir::cleanPath(path + QLatin1Char('/') + name + QLatin1Char('/')
+                        + name + QLatin1String(".pro"));
     m_targetSetupPage->setProFilePath(proFile);
 }
 
diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
index edd97cb704b..27a4c227f7f 100644
--- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
+++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp
@@ -161,7 +161,7 @@ void TargetSetupPage::setupWidgets()
         }
     }
     if (!atLeastOneTargetSelected) {
-        Qt4TargetSetupWidget *widget = m_widgets.value(Constants::DESKTOP_TARGET_ID);
+        Qt4TargetSetupWidget *widget = m_widgets.value(QLatin1String(Constants::DESKTOP_TARGET_ID));
         if (widget)
             widget->setTargetSelected(true);
     }
@@ -246,8 +246,9 @@ bool TargetSetupPage::setupProject(Qt4ProjectManager::Qt4Project *project)
 
     // Create a desktop target if nothing else was set up:
     if (project->targets().isEmpty()) {
-        if (Qt4BaseTargetFactory *tf = Qt4BaseTargetFactory::qt4BaseTargetFactoryForId(Constants::DESKTOP_TARGET_ID))
-            if (ProjectExplorer::Target *target = tf->create(project, Constants::DESKTOP_TARGET_ID))
+        const QString desktopTargetId = QLatin1String(Constants::DESKTOP_TARGET_ID);
+        if (Qt4BaseTargetFactory *tf = Qt4BaseTargetFactory::qt4BaseTargetFactoryForId(desktopTargetId))
+            if (ProjectExplorer::Target *target = tf->create(project, desktopTargetId))
                 project->addTarget(target);
     }
 
@@ -258,9 +259,9 @@ bool TargetSetupPage::setupProject(Qt4ProjectManager::Qt4Project *project)
     ProjectExplorer::Target *activeTarget = 0;
     QList<ProjectExplorer::Target *> targets = project->targets();
     foreach (ProjectExplorer::Target *t, targets) {
-        if (t->id() == Constants::QT_SIMULATOR_TARGET_ID)
+        if (t->id() == QLatin1String(Constants::QT_SIMULATOR_TARGET_ID))
             activeTarget = t;
-        else if (!activeTarget && t->id() == Constants::DESKTOP_TARGET_ID)
+        else if (!activeTarget && t->id() == QLatin1String(Constants::DESKTOP_TARGET_ID))
             activeTarget = t;
     }
     if (!activeTarget && !targets.isEmpty())
-- 
GitLab