From e70530c5ad85c1c44fca99be04d5e37043d3baca Mon Sep 17 00:00:00 2001
From: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
Date: Thu, 4 Feb 2010 14:58:33 +0100
Subject: [PATCH] compile everything with QT_USE_FAST_CONCATENATION

---
 qtcreator.pri                                               | 3 +--
 src/plugins/debugger/registerhandler.cpp                    | 6 +++---
 src/plugins/debugger/watchhandler.cpp                       | 2 +-
 src/plugins/help/helpplugin.cpp                             | 6 +++---
 src/plugins/projectexplorer/toolchain.cpp                   | 3 ++-
 .../customwidgetwizard/plugingenerator.cpp                  | 2 +-
 src/shared/help/bookmarkmanager.cpp                         | 3 ++-
 src/shared/proparser/profileevaluator.cpp                   | 2 +-
 tests/manual/proparser/testreader.pro                       | 1 +
 9 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/qtcreator.pri b/qtcreator.pri
index b78da8fa127..07611f26b5e 100644
--- a/qtcreator.pri
+++ b/qtcreator.pri
@@ -90,8 +90,7 @@ LIBS += -L$$IDE_LIBRARY_PATH
 
 # DEFINES += QT_NO_CAST_FROM_ASCII
 DEFINES += QT_NO_CAST_TO_ASCII
-#DEFINES += QT_USE_FAST_OPERATOR_PLUS
-#DEFINES += QT_USE_FAST_CONCATENATION
+DEFINES += QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION
 
 unix {
     CONFIG(debug, debug|release):OBJECTS_DIR = $${OUT_PWD}/.obj/debug-shared
diff --git a/src/plugins/debugger/registerhandler.cpp b/src/plugins/debugger/registerhandler.cpp
index 9b6cb4e015b..b74af0fc265 100644
--- a/src/plugins/debugger/registerhandler.cpp
+++ b/src/plugins/debugger/registerhandler.cpp
@@ -79,18 +79,18 @@ QVariant RegisterHandler::data(const QModelIndex &index, int role) const
         // Return some address associated with the register.
         bool ok = true;
         qulonglong value = reg.value.toULongLong(&ok, 0);
-        return ok ? QString::fromLatin1("0x") + QString::number(value, 16) : QVariant();
+        return ok ? QVariant(QString::fromLatin1("0x") + QString::number(value, 16)) : QVariant();
     }
 
     const QString padding = "  ";
     if (role == Qt::DisplayRole) {
         switch (index.column()) {
-            case 0: return padding + reg.name + padding;
+            case 0: return QVariant(padding + reg.name + padding);
             case 1: {
                 bool ok = true;
                 qulonglong value = reg.value.toULongLong(&ok, 0);
                 QString res = ok ? QString::number(value, m_base) : reg.value;
-                return QString(m_strlen - res.size(), QLatin1Char(' ')) + res;
+                return QVariant(QString(m_strlen - res.size(), QLatin1Char(' ')) + res);
             }
         }
     }
diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp
index 353b30b3fec..516edb06cca 100644
--- a/src/plugins/debugger/watchhandler.cpp
+++ b/src/plugins/debugger/watchhandler.cpp
@@ -803,7 +803,7 @@ QVariant WatchModel::data(const QModelIndex &idx, int role) const
             switch (idx.column()) {
                 case 0:
                     if (data.name == QLatin1String("*") && item->parent)
-                        return QLatin1Char('*') + item->parent->name;
+                        return QVariant(QLatin1Char('*') + item->parent->name);
                     return data.name;
                 case 1: {
                     int format = m_handler->m_individualFormats.value(data.iname, -1);
diff --git a/src/plugins/help/helpplugin.cpp b/src/plugins/help/helpplugin.cpp
index bba6b55ffd0..f7bbfbeb704 100644
--- a/src/plugins/help/helpplugin.cpp
+++ b/src/plugins/help/helpplugin.cpp
@@ -139,7 +139,7 @@ bool HelpPlugin::initialize(const QStringList &arguments, QString *error)
 
     // FIXME shouldn't the help engine create the directory if it doesn't exist?
     const QFileInfo &fi(m_core->settings()->fileName());
-    const QDir &directory(fi.absolutePath()+"/qtcreator");
+    const QDir directory(fi.absolutePath() + QLatin1Literal("/qtcreator"));
     if (!directory.exists())
         directory.mkpath(directory.absolutePath());
     m_helpEngine = new QHelpEngine(directory.absolutePath() +
@@ -976,8 +976,8 @@ void HelpPlugin::openHelpPage(const QString& url)
         } else {
             urlPrefix = QLatin1String("http://doc.trolltech.com/latest/");
         }
-        QDesktopServices::openUrl(urlPrefix + url.mid(url
-            .lastIndexOf(QLatin1Char('/')) + 1));
+        QDesktopServices::openUrl(QUrl(urlPrefix + url.mid(url
+            .lastIndexOf(QLatin1Char('/')) + 1)));
     }
 }
 
diff --git a/src/plugins/projectexplorer/toolchain.cpp b/src/plugins/projectexplorer/toolchain.cpp
index 4f964e64656..d6966754fbd 100644
--- a/src/plugins/projectexplorer/toolchain.cpp
+++ b/src/plugins/projectexplorer/toolchain.cpp
@@ -438,7 +438,8 @@ void MSVCToolChain::addToEnvironment(ProjectExplorer::Environment &env)
                 return;
             QString filename = tf.fileName();
             tf.write("call \"" + varsbat.toLocal8Bit()+"\"\r\n");
-            tf.write(("set > \"" + QDir::tempPath() + "\\qtcreator-msvc-environment.txt\"\r\n").toLocal8Bit());
+            QString redirect = "set > \"" + QDir::tempPath() + "\\qtcreator-msvc-environment.txt\"\r\n";
+            tf.write(redirect.toLocal8Bit());
             tf.flush();
             tf.waitForBytesWritten(30000);
 
diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.cpp
index 5e22af5ae51..5c6abb3ccdf 100644
--- a/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.cpp
+++ b/src/plugins/qt4projectmanager/customwidgetwizard/plugingenerator.cpp
@@ -127,7 +127,7 @@ QList<Core::GeneratedFile>  PluginGenerator::generatePlugin(const GenerationPara
                     QLatin1String(", ") +
                     wo.pluginClassName +
                     QLatin1Char(')') :
-                QLatin1String(""));
+                QString());
         const QString pluginSourceContents = processTemplate(p.templatePath + QLatin1String("/tpl_single.cpp"), sm, errorMessage);
         if (pluginSourceContents.isEmpty())
             return QList<Core::GeneratedFile>();
diff --git a/src/shared/help/bookmarkmanager.cpp b/src/shared/help/bookmarkmanager.cpp
index e804ffbb2ce..3d56b012784 100644
--- a/src/shared/help/bookmarkmanager.cpp
+++ b/src/shared/help/bookmarkmanager.cpp
@@ -800,8 +800,9 @@ QString BookmarkManager::uniqueFolderName() const
         foreach (const QStandardItem *item, list)
             names << item->text();
 
+        QString folderNameBase = tr("New Folder") + QLatin1String(" %1");
         for (int i = 1; i <= names.count(); ++i) {
-            folderName = (tr("New Folder") + QLatin1String(" %1")).arg(i);
+            folderName = folderNameBase.arg(i);
             if (!names.contains(folderName))
                 break;
         }
diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp
index 46f4dd7cc1b..cd6cc984a1f 100644
--- a/src/shared/proparser/profileevaluator.cpp
+++ b/src/shared/proparser/profileevaluator.cpp
@@ -2875,7 +2875,7 @@ bool ProFileEvaluator::Private::evaluateFeatureFile(
         QString currFn = currentFileName();
         if (IoUtils::fileName(currFn) == IoUtils::fileName(fn)) {
             for (int root = 0; root < m_option->feature_roots.size(); ++root)
-                if (m_option->feature_roots.at(root) + fn == currFn) {
+                if (currFn == m_option->feature_roots.at(root) + fn) {
                     start_root = root + 1;
                     break;
                 }
diff --git a/tests/manual/proparser/testreader.pro b/tests/manual/proparser/testreader.pro
index 83893560e81..2702b3840c5 100644
--- a/tests/manual/proparser/testreader.pro
+++ b/tests/manual/proparser/testreader.pro
@@ -18,3 +18,4 @@ SOURCES = main.cpp profileevaluator.cpp proitems.cpp ioutils.cpp
 HEADERS = profileevaluator.h proitems.h ioutils.h
 
 DEFINES += QT_NO_CAST_TO_ASCII QT_NO_CAST_FROM_ASCII
+DEFINES += QT_USE_FAST_OPERATOR_PLUS QT_USE_FAST_CONCATENATION
-- 
GitLab