diff --git a/share/qtcreator/gdbmacros/gdbmacros.cpp b/share/qtcreator/gdbmacros/gdbmacros.cpp
index 029de5f6a6c1c38703cb883a5b3d99c27005730f..5cd7ed519ce9210042b5fc4cffdf997d76fff0ec 100644
--- a/share/qtcreator/gdbmacros/gdbmacros.cpp
+++ b/share/qtcreator/gdbmacros/gdbmacros.cpp
@@ -2187,6 +2187,44 @@ static void qDumpQVector(QDumper &d)
     d.disarm();
 }
 
+static void qDumpQWeakPointer(QDumper &d)
+{
+    const int v = sizeof(void *);
+    const void *value = deref(addOffset(d.data, v));
+
+    if (isSimpleType(d.innertype)) 
+        qDumpInnerValueHelper(d, d.innertype, value);
+    else
+        P(d, "value", "");
+    P(d, "valuedisabled", "true");
+    P(d, "numchild", 1);
+    if (d.dumpChildren) {
+        d << ",children=[";
+        d.beginHash();
+            P(d, "name", "data");
+            qDumpInnerValue(d, d.innertype, value);
+        d.endHash();
+        d.beginHash();
+            const void *weak = addOffset(deref(d.data), v);
+            P(d, "name", "weakref"); 
+            P(d, "value", *static_cast<const int *>(weak));
+            P(d, "type", "int"); 
+            P(d, "addr",  weak);
+            P(d, "numchild", "0");
+        d.endHash();
+        d.beginHash();
+            const void *strong = addOffset(weak, sizeof(int));
+            P(d, "name", "strongref"); 
+            P(d, "value", *static_cast<const int *>(strong));
+            P(d, "type", "int"); 
+            P(d, "addr",  strong);
+            P(d, "numchild", "0");
+        d.endHash();
+        d << "]";
+    }
+    d.disarm();
+}
+
 static void qDumpStdList(QDumper &d)
 {
     const std::list<int> &list = *reinterpret_cast<const std::list<int> *>(d.data);
@@ -2559,16 +2597,6 @@ static void handleProtocolVersion2and3(QDumper & d)
             else if (isEqual(type, "QStringList"))
                 qDumpQStringList(d);
             break;
-        case 'T':
-            if (isEqual(type, "QTextCodec"))
-                qDumpQTextCodec(d);
-            break;
-        case 'V':
-            if (isEqual(type, "QVariant"))
-                qDumpQVariant(d);
-            else if (isEqual(type, "QVector"))
-                qDumpQVector(d);
-            break;
         case 's':
             if (isEqual(type, "wstring"))
                 qDumpStdWString(d);
@@ -2589,6 +2617,19 @@ static void handleProtocolVersion2and3(QDumper & d)
             else if (isEqual(type, "std::wstring"))
                 qDumpStdWString(d);
             break;
+        case 'T':
+            if (isEqual(type, "QTextCodec"))
+                qDumpQTextCodec(d);
+            break;
+        case 'V':
+            if (isEqual(type, "QVariant"))
+                qDumpQVariant(d);
+            else if (isEqual(type, "QVector"))
+                qDumpQVector(d);
+            break;
+        case 'W':
+            if (isEqual(type, "QWeakPointer"))
+                qDumpQWeakPointer(d);
     }
 
     if (!d.success)
@@ -2664,6 +2705,7 @@ void *qDumpObjectData440(
             "\""NS"QTextCodec\","
             "\""NS"QVariant\","
             "\""NS"QVector\","
+            "\""NS"QWeakPointer\","
             "\""NS"QWidget\","
 #ifdef Q_OS_WIN            
             "\"basic_string\","
diff --git a/share/qtcreator/translations/qtcreator_de.ts b/share/qtcreator/translations/qtcreator_de.ts
index 59f68968298abe6f602cc0185e7b650c88c0f26d..c657df160584eda2c252ae272bc09b1f6b54b059 100644
--- a/share/qtcreator/translations/qtcreator_de.ts
+++ b/share/qtcreator/translations/qtcreator_de.ts
@@ -52,7 +52,7 @@
     <message>
         <location/>
         <source>Filter:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Filter:</translation>
     </message>
     <message>
         <location/>
@@ -75,7 +75,7 @@
     <message>
         <location/>
         <source>Filter:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Filter:</translation>
     </message>
     <message>
         <location/>
@@ -106,12 +106,12 @@
     <message>
         <location/>
         <source>Bookmark:</source>
-        <translation type="unfinished"></translation>
+        <translation>Lesezeichen:</translation>
     </message>
     <message>
         <location/>
         <source>Add in Folder:</source>
-        <translation type="unfinished"></translation>
+        <translation>Im Ordner:</translation>
     </message>
     <message>
         <location/>
@@ -121,7 +121,7 @@
     <message>
         <location/>
         <source>New Folder</source>
-        <translation type="unfinished"></translation>
+        <translation>Neuer Ordner</translation>
     </message>
     <message>
         <location filename="../../../src/shared/help/bookmarkmanager.cpp" line="+173"/>
@@ -135,12 +135,12 @@
     <message>
         <location line="-69"/>
         <source>Delete Folder</source>
-        <translation type="unfinished"></translation>
+        <translation>Ordner löschen</translation>
     </message>
     <message>
         <location line="+1"/>
         <source>Rename Folder</source>
-        <translation type="unfinished"></translation>
+        <translation>Ordner umbenennen</translation>
     </message>
 </context>
 <context>
@@ -149,7 +149,7 @@
         <location line="+404"/>
         <location line="+1"/>
         <source>Bookmark</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Lesezeichen</translation>
     </message>
     <message>
         <location line="+45"/>
@@ -159,66 +159,70 @@
     <message>
         <location line="+36"/>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Entfernen</translation>
     </message>
     <message>
-        <location line="+1"/>
         <source>You are going to delete a Folder, this will also&lt;br&gt;remove it&apos;s content. Are you sure to continue?</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">Beim Löschen eines Ordners wird auch der Inhalt gelöscht.&lt;br&gt;Möchten Sie trotzdem fortsetzen?</translation>
     </message>
     <message>
-        <location line="+109"/>
+        <location line="+110"/>
         <location line="+9"/>
         <source>New Folder</source>
-        <translation type="unfinished"></translation>
+        <translation>Neuer Ordner</translation>
+    </message>
+    <message>
+        <location line="-118"/>
+        <source>You are going to delete a Folder which will also&lt;br&gt;remove its content. Are you sure to continue?</source>
+        <translation>Beim Löschen eines Ordners wird auch dessen Inhalt gelöscht.&lt;br&gt;Möchten Sie trotzdem fortsetzen?</translation>
     </message>
 </context>
 <context>
     <name>BookmarkWidget</name>
     <message>
-        <location line="-437"/>
+        <location line="-319"/>
         <source>Delete Folder</source>
-        <translation type="unfinished"></translation>
+        <translation>Ordner löschen</translation>
     </message>
     <message>
         <location line="+1"/>
         <source>Rename Folder</source>
-        <translation type="unfinished"></translation>
+        <translation>Ordner umbenennen</translation>
     </message>
     <message>
         <location line="+2"/>
         <source>Show Bookmark</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Lesezeichen anzeigen</translation>
     </message>
     <message>
         <location line="+1"/>
         <source>Show Bookmark in New Tab</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Lesezeichen in neuem Reiter anzeigen</translation>
     </message>
     <message>
         <location line="+3"/>
         <source>Delete Bookmark</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Lesezeichen löschen</translation>
     </message>
     <message>
         <location line="+1"/>
         <source>Rename Bookmark</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Lesezeichen umbenennen</translation>
     </message>
     <message>
         <location line="+38"/>
         <source>Filter:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Filter:</translation>
     </message>
     <message>
         <location line="+23"/>
         <source>Add</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Hinzufügen</translation>
     </message>
     <message>
         <location line="+9"/>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Entfernen</translation>
     </message>
 </context>
 <context>
@@ -231,12 +235,12 @@
     <message>
         <location line="+23"/>
         <source>&amp;Remove Bookmark</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Lesezeichen &amp;Löschen</translation>
     </message>
     <message>
         <location line="+1"/>
         <source>Remove all Bookmarks</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Alle Lesezeichen löschen</translation>
     </message>
 </context>
 <context>
@@ -244,13 +248,13 @@
     <message>
         <location filename="../../../src/plugins/bookmarks/bookmarksplugin.cpp" line="+82"/>
         <source>&amp;Bookmarks</source>
-        <translation type="unfinished"></translation>
+        <translation>&amp;Lesezeichen</translation>
     </message>
     <message>
         <location line="+4"/>
         <location line="+79"/>
         <source>Toggle Bookmark</source>
-        <translation type="unfinished"></translation>
+        <translation>Lesezeichen umschalten</translation>
     </message>
     <message>
         <location line="-75"/>
@@ -265,17 +269,17 @@
     <message>
         <location line="+10"/>
         <source>Move Up</source>
-        <translation type="unfinished"></translation>
+        <translation>Nach oben</translation>
     </message>
     <message>
         <location line="+5"/>
         <source>Move Down</source>
-        <translation type="unfinished"></translation>
+        <translation>Nach unten</translation>
     </message>
     <message>
         <location line="+10"/>
         <source>Previous Bookmark</source>
-        <translation type="unfinished"></translation>
+        <translation>Vorhergehendes Lesezeichen</translation>
     </message>
     <message>
         <location line="+3"/>
@@ -290,7 +294,7 @@
     <message>
         <location line="+5"/>
         <source>Next Bookmark</source>
-        <translation type="unfinished"></translation>
+        <translation>Nächstes Lesezeichen</translation>
     </message>
     <message>
         <location line="+3"/>
@@ -305,12 +309,12 @@
     <message>
         <location line="+10"/>
         <source>Previous Bookmark In Document</source>
-        <translation type="unfinished"></translation>
+        <translation>Vorhergehendes Lesezeichen im Dokument</translation>
     </message>
     <message>
         <location line="+5"/>
         <source>Next Bookmark In Document</source>
-        <translation type="unfinished"></translation>
+        <translation>Nächstes Lesezeichen im Dokument</translation>
     </message>
 </context>
 <context>
@@ -355,7 +359,7 @@
 <context>
     <name>CMakeProjectManager::Internal::CMakeRunConfiguration</name>
     <message>
-        <location filename="../../../src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp" line="+132"/>
+        <location filename="../../../src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp" line="+133"/>
         <source>Arguments:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -396,7 +400,7 @@
 <context>
     <name>CMakeProjectManager::Internal::CMakeSettingsPage</name>
     <message>
-        <location filename="../../../src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp" line="+338"/>
+        <location filename="../../../src/plugins/cmakeprojectmanager/cmakeprojectmanager.cpp" line="+264"/>
         <location line="+10"/>
         <source>CMake</source>
         <translation type="unfinished"></translation>
@@ -465,17 +469,17 @@
 <context>
     <name>CdbDumperHelper</name>
     <message>
-        <location filename="../../../src/plugins/debugger/cdb/cdbdumperhelper.cpp" line="+253"/>
+        <location filename="../../../src/plugins/debugger/cdb/cdbdumperhelper.cpp" line="+196"/>
         <source>Loading dumpers...</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+10"/>
+        <location line="+9"/>
         <source>The debugger does not appear to be Qt application.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+10"/>
         <source>The dumper module appears to be already loaded.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -491,18 +495,10 @@
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+21"/>
-        <source>&lt;none&gt;</source>
+        <location line="+186"/>
+        <source>Querying dumpers for &apos;%1&apos;/&apos;%2&apos; (%3)</source>
         <translation type="unfinished"></translation>
     </message>
-    <message numerus="yes">
-        <location line="+1"/>
-        <source>%n known types, Qt version: %1, Qt namespace: %2</source>
-        <translation type="unfinished">
-            <numerusform></numerusform>
-            <numerusform></numerusform>
-        </translation>
-    </message>
 </context>
 <context>
     <name>CdbOptionsPageWidget</name>
@@ -983,7 +979,7 @@ Sollen sie überschrieben werden?</translation>
     <message>
         <location line="+5"/>
         <source>Split</source>
-        <translation type="unfinished"></translation>
+        <translation>Teilen</translation>
     </message>
     <message>
         <location line="+3"/>
@@ -1117,7 +1113,7 @@ Sollen sie überschrieben werden?</translation>
         <translation>Abbrechen</translation>
     </message>
     <message>
-        <location line="+52"/>
+        <location line="+54"/>
         <source>&lt;table border=1 cellspacing=0 cellpadding=3&gt;&lt;tr&gt;&lt;th&gt;Variable&lt;/th&gt;&lt;th&gt;Expands to&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%f&lt;/td&gt;&lt;td&gt;file name&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%l&lt;/td&gt;&lt;td&gt;current line number&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%c&lt;/td&gt;&lt;td&gt;current column number&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%x&lt;/td&gt;&lt;td&gt;editor&apos;s x position on screen&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%y&lt;/td&gt;&lt;td&gt;editor&apos;s y position on screen&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%w&lt;/td&gt;&lt;td&gt;editor&apos;s width in pixels&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%h&lt;/td&gt;&lt;td&gt;editor&apos;s height in pixels&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%W&lt;/td&gt;&lt;td&gt;editor&apos;s width in characters&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%H&lt;/td&gt;&lt;td&gt;editor&apos;s height in characters&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;%%&lt;/td&gt;&lt;td&gt;%&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -1125,7 +1121,7 @@ Sollen sie überschrieben werden?</translation>
 <context>
     <name>Core::FileManager</name>
     <message>
-        <location filename="../../../src/plugins/coreplugin/filemanager.cpp" line="+304"/>
+        <location filename="../../../src/plugins/coreplugin/filemanager.cpp" line="+303"/>
         <source>Can&apos;t save file</source>
         <translation>Die Datei kann nicht gespeichert werden</translation>
     </message>
@@ -1161,9 +1157,9 @@ Sollen sie überschrieben werden?</translation>
 <context>
     <name>Core::Internal::CommandPrivate</name>
     <message>
-        <location filename="../../../src/plugins/coreplugin/actionmanager/command.cpp" line="+131"/>
+        <location filename="../../../src/plugins/coreplugin/actionmanager/command.cpp" line="+130"/>
         <source>Other</source>
-        <translation type="unfinished"></translation>
+        <translation>Andere</translation>
     </message>
 </context>
 <context>
@@ -1179,37 +1175,37 @@ Sollen sie überschrieben werden?</translation>
     <message>
         <location filename="../../../src/plugins/coreplugin/editormanager/editorsplitter.cpp" line="+75"/>
         <source>Split Left/Right</source>
-        <translation type="unfinished"></translation>
+        <translation>Links/rechts teilen</translation>
     </message>
     <message>
         <location line="+7"/>
         <source>Split Top/Bottom</source>
-        <translation type="unfinished"></translation>
+        <translation>Open/unten teilen</translation>
     </message>
     <message>
         <location line="+7"/>
         <source>Unsplit</source>
-        <translation type="unfinished"></translation>
+        <translation>Teilung aufheben</translation>
     </message>
     <message>
         <location line="+11"/>
         <source>Default Splitter Layout</source>
-        <translation type="unfinished"></translation>
+        <translation>Vorgabe wiederherstellen</translation>
     </message>
     <message>
         <location line="+3"/>
         <source>Save Current as Default</source>
-        <translation type="unfinished"></translation>
+        <translation>Gegenwärtige Anordnung als Vorgabe speichern</translation>
     </message>
     <message>
         <location line="+7"/>
         <source>Restore Default Layout</source>
-        <translation type="unfinished"></translation>
+        <translation>Vorgabe wiederherstellen</translation>
     </message>
     <message>
         <location line="+11"/>
         <source>Previous Document</source>
-        <translation type="unfinished"></translation>
+        <translation>Voriges Dokument</translation>
     </message>
     <message>
         <location line="+2"/>
@@ -1219,7 +1215,7 @@ Sollen sie überschrieben werden?</translation>
     <message>
         <location line="+5"/>
         <source>Next Document</source>
-        <translation type="unfinished"></translation>
+        <translation>Nächstes Dokument</translation>
     </message>
     <message>
         <location line="+2"/>
@@ -1229,22 +1225,22 @@ Sollen sie überschrieben werden?</translation>
     <message>
         <location line="+6"/>
         <source>Previous Group</source>
-        <translation type="unfinished"></translation>
+        <translation>Vorige Gruppe</translation>
     </message>
     <message>
         <location line="+6"/>
         <source>Next Group</source>
-        <translation type="unfinished"></translation>
+        <translation>Nächste Gruppe</translation>
     </message>
     <message>
         <location line="+6"/>
         <source>Move Document to Previous Group</source>
-        <translation type="unfinished"></translation>
+        <translation>Dokument in vorige Gruppe verschieben</translation>
     </message>
     <message>
         <location line="+6"/>
         <source>Move Document to Next Group</source>
-        <translation type="unfinished"></translation>
+        <translation>Dokument in nächste Gruppe verschieben</translation>
     </message>
 </context>
 <context>
@@ -1253,7 +1249,7 @@ Sollen sie überschrieben werden?</translation>
         <location filename="../../../src/plugins/coreplugin/editormanager/editorview.cpp" line="+384"/>
         <location line="+35"/>
         <source>Placeholder</source>
-        <translation type="unfinished"></translation>
+        <translation>Platzhalter</translation>
     </message>
     <message>
         <location line="-29"/>
@@ -1281,11 +1277,51 @@ Sollen sie überschrieben werden?</translation>
     <message>
         <location line="+10"/>
         <source>Environment</source>
-        <translation type="unfinished"></translation>
+        <translation>Allgemeine Einstellungen</translation>
     </message>
     <message>
         <location line="+75"/>
         <source>Variables</source>
+        <translation>Variablen</translation>
+    </message>
+    <message>
+        <location filename="../../../src/plugins/coreplugin/generalsettings.ui"/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>General settings</source>
+        <translation>Allgemeine Einstellungen</translation>
+    </message>
+    <message>
+        <location/>
+        <source>User &amp;interface color:</source>
+        <translation>Farbe der Benutzeroberfläche:</translation>
+    </message>
+    <message>
+        <location/>
+        <source>Reset to default</source>
+        <translation>Zurücksetzen</translation>
+    </message>
+    <message>
+        <location/>
+        <source>R</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>Terminal:</source>
+        <translation>Terminal:</translation>
+    </message>
+    <message>
+        <location/>
+        <source>External editor:</source>
+        <translation>&apos;Externer Editor:</translation>
+    </message>
+    <message>
+        <location/>
+        <source>?</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
@@ -1494,7 +1530,7 @@ Sollen sie überschrieben werden?</translation>
     <message>
         <location line="-149"/>
         <source>Split</source>
-        <translation type="unfinished"></translation>
+        <translation>Teilen</translation>
     </message>
     <message>
         <location line="+1"/>
@@ -1555,7 +1591,7 @@ Sollen sie überschrieben werden?</translation>
 <context>
     <name>Core::Internal::OutputPaneManager</name>
     <message>
-        <location filename="../../../src/plugins/coreplugin/outputpane.cpp" line="+167"/>
+        <location filename="../../../src/plugins/coreplugin/outputpane.cpp" line="+171"/>
         <source>Output</source>
         <translation>Ausgaben</translation>
     </message>
@@ -1565,9 +1601,19 @@ Sollen sie überschrieben werden?</translation>
         <translation>Löschen</translation>
     </message>
     <message>
-        <location line="+52"/>
+        <location line="+6"/>
+        <source>Next Item</source>
+        <translation>Nächstes Element</translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Previous Item</source>
+        <translation>Voriges Element</translation>
+    </message>
+    <message>
+        <location line="+56"/>
         <source>Output &amp;Panes</source>
-        <translation>Ausgabe&amp;panels</translation>
+        <translation>Ausgabe&amp;panele</translation>
     </message>
 </context>
 <context>
@@ -1640,28 +1686,28 @@ Sollen sie überschrieben werden?</translation>
     <message>
         <location filename="../../../src/plugins/coreplugin/dialogs/shortcutsettings.cpp" line="+70"/>
         <source>Keyboard</source>
-        <translation type="unfinished"></translation>
+        <translation>Tastatur</translation>
     </message>
     <message>
         <location line="+10"/>
         <source>Environment</source>
-        <translation type="unfinished"></translation>
+        <translation>Umgebung</translation>
     </message>
     <message>
         <location line="+160"/>
         <source>Import Keyboard Mapping Scheme</source>
-        <translation type="unfinished"></translation>
+        <translation>Tastaturschema importieren</translation>
     </message>
     <message>
         <location line="+2"/>
         <location line="+32"/>
         <source>Keyboard Mapping Scheme (*.kms)</source>
-        <translation type="unfinished"></translation>
+        <translation>Tastaturschema-Datei (*.kms)</translation>
     </message>
     <message>
         <location line="-2"/>
         <source>Export Keyboard Mapping Scheme</source>
-        <translation type="unfinished"></translation>
+        <translation>Tastaturschema exportieren</translation>
     </message>
 </context>
 <context>
@@ -1669,7 +1715,7 @@ Sollen sie überschrieben werden?</translation>
     <message>
         <location filename="../../../src/plugins/coreplugin/sidebar.cpp" line="-131"/>
         <source>Split</source>
-        <translation type="unfinished"></translation>
+        <translation>Teilen</translation>
     </message>
     <message>
         <location line="+6"/>
@@ -1697,7 +1743,12 @@ Sollen sie überschrieben werden?</translation>
         <translation type="obsolete"> (letzte Sitzung)</translation>
     </message>
     <message>
-        <location filename="../../../src/plugins/coreplugin/welcomemode.cpp" line="+169"/>
+        <location filename="../../../src/plugins/coreplugin/welcomemode.cpp" line="+123"/>
+        <source>Welcome</source>
+        <translation>Willkommen</translation>
+    </message>
+    <message>
+        <location line="+46"/>
         <source>%1 (last session)</source>
         <translation>%1 (zuletzt benutzt)</translation>
     </message>
@@ -1750,27 +1801,38 @@ p {
 &lt;p&gt;Qt Creator ist eine intuitive, moderne cross-platform IDE, die&lt;/p&gt;
 &lt;p&gt;es Entwicklern ermöglicht, graphisch ansprechende&lt;/p&gt;
 &lt;p&gt;Anwendungen für die Bereiche Desktop und Embedded sowie&lt;/p&gt;
-&lt;p&gt;mobile Geräte zu erstellen. Klicken Sie auf &lt;strong&gt;Start&lt;/strong&gt;,&lt;/p&gt;
+&lt;p&gt;mobile Geräte zu erstellen. Klicken Sie auf &lt;strong&gt;Schnelleinstieg&lt;/strong&gt;,&lt;/p&gt;
 &lt;p&gt; um die Entwicklung mit Qt Creator zu beginnen.&lt;/p&gt;
 &lt;hr style=&quot;margin-top:15px&quot;/&gt;</translation>
     </message>
     <message>
         <location/>
         <source>* {
-    background-image: url(&quot;:/core/images/welcomemode/btn_getting_started.png&quot;);
+    border-image: url(:/core/images/welcomemode/btn_27.png) 7;
+    border-width: 7;
+    padding: -2px 0;
+    font-size: 12px;
+    font-family: lucida sans, dejavu sans, sans serif;
+    color: black;
 }
 
 *:hover {
-    background-image: url(:/core/images/welcomemode/btn_getting_started_hover.png)
+    border-image: url(:/core/images/welcomemode/btn_27_hover.png) 7;
+    color: white;
 }
 </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location/>
+        <source>&lt;qt&gt;Getting Started &amp;gt;&amp;gt;</source>
+        <translation>&lt;qt&gt;Schnelleinstieg &amp;gt;&amp;gt;</translation>
+    </message>
     <message>
         <location/>
         <source>#recentSessionsFrame {
-border-image: url(:/core/images/welcomemode/rc_combined.png) 8 8 8 8 stretch stretch;
-border-width: 8 8 8 8;
+    border-image: url(:/core/images/welcomemode/rc_combined.png) 8;
+    border-width: 8;
 }
 </source>
         <translation type="unfinished"></translation>
@@ -1778,19 +1840,30 @@ border-width: 8 8 8 8;
     <message>
         <location/>
         <source>* {
-    background-image: url(&quot;:/core/images/welcomemode/btn_restore_session.png&quot;);
+    border-image: url(:/core/images/welcomemode/btn_26.png) 7;
+    border-width: 7;
+    padding: -2px 0;
+    font-size: 12px;
+    font-family: lucida sans, dejavu sans, sans serif;
+    color: black;
 }
 
 *:hover {
-    background-image: url(:/core/images/welcomemode/btn_restore_session_hover.png)
+    border-image: url(:/core/images/welcomemode/btn_26_hover.png) 7;
+    color: white;
 }
 </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location/>
+        <source>&lt;qt&gt;Restore Last Session &amp;gt;&amp;gt;</source>
+        <translation>&lt;qt&gt;Zuletzt benutzt &amp;gt;&amp;gt;</translation>
+    </message>
     <message>
         <location/>
         <source>#bottomWidget {
-background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
+    background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
 }
 </source>
         <translation type="unfinished"></translation>
@@ -1798,15 +1871,30 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location/>
         <source>* {
-    background-image: url(&quot;:/core/images/welcomemode/btn_feedback.png&quot;);
+    border-image: url(:/core/images/welcomemode/btn_26.png) 7;
+    border-width: 7;
+    padding: -2px 2px;
+    font-size: 12px;
+    font-family: lucida sans, dejavu sans, sans serif;
 }
 
 *:hover {
-    background-image: url(:/core/images/welcomemode/btn_feedback_hover.png)
+    border-image: url(:/core/images/welcomemode/btn_26_hover.png) 7;
+    color: white;
 }
 </source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location/>
+        <source>&lt;qt&gt;Feedback&amp;nbsp;&amp;nbsp;&lt;img src=&quot;:/core/images/welcomemode/feedback_arrow.png&quot; /&gt;</source>
+        <translation>&lt;qt&gt;Rückmeldung&amp;nbsp;&amp;nbsp;&lt;img src=&quot;:/core/images/welcomemode/feedback_arrow.png&quot; /&gt;</translation>
+    </message>
+    <message>
+        <location/>
+        <source>Help us make Qt Creator even better</source>
+        <translation>Helfen Sie uns, Qt Creator zu verbessern</translation>
+    </message>
 </context>
 <context>
     <name>Core::ModeManager</name>
@@ -1859,76 +1947,88 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
 </context>
 <context>
     <name>Core::Utils::ConsoleProcess</name>
+    <message>
+        <source>Cannot set up comm channel: %1</source>
+        <translation type="obsolete">Es konnte kein Kommunikationskanal hergestellt werden: %1</translation>
+    </message>
+    <message>
+        <source>Cannot create temp file: %1</source>
+        <translation type="obsolete">Es konnte keine temporäre Datei erstellt werden: %1</translation>
+    </message>
     <message>
         <location filename="../../../src/libs/utils/consoleprocess_unix.cpp" line="+74"/>
         <location filename="../../../src/libs/utils/consoleprocess_win.cpp" line="+72"/>
-        <source>Cannot set up comm channel: %1</source>
-        <translation type="unfinished"></translation>
+        <source>Cannot set up communication channel: %1</source>
+        <translation>Es konnte kein Kommunikationskanal hergestellt werden: %1</translation>
     </message>
     <message>
         <location line="+8"/>
+        <location line="+66"/>
         <location filename="../../../src/libs/utils/consoleprocess_win.cpp" line="+8"/>
-        <source>Cannot create temp file: %1</source>
-        <translation type="unfinished"></translation>
+        <source>Cannot create temporary file: %1</source>
+        <translation>Es konnte keine temporäre Datei erstellt werden: %1</translation>
     </message>
     <message>
-        <location line="+21"/>
+        <location line="-45"/>
         <location filename="../../../src/libs/utils/consoleprocess_win.cpp" line="+30"/>
         <source>Press &lt;RETURN&gt; to close this window...</source>
-        <translation type="unfinished"></translation>
+        <translation>Betätigen Sie die &lt;RETURN&gt; Taste, um das Fenster zu schließen...</translation>
     </message>
     <message>
         <location line="+9"/>
-        <source>Cannot start terminal emulator %1.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+36"/>
-        <source>Cannot create temporary file: %2</source>
-        <translation type="unfinished"></translation>
+        <source>Cannot start the terminal emulator &apos;%1&apos;.</source>
+        <translation>Der Terminal-Emulator &apos;%1&apos; konnte nicht gestartet werden.</translation>
     </message>
     <message>
-        <location line="+8"/>
-        <source>Cannot create temporary directory %1: %2</source>
-        <translation type="unfinished"></translation>
+        <location line="+44"/>
+        <source>Cannot create temporary directory &apos;%1&apos;: %2</source>
+        <translation>Das temporäre Verzeichnis &apos;%1&apos; konnte nicht erstellt werden: %2</translation>
     </message>
     <message>
         <location line="+5"/>
-        <source>Cannot create socket %1: %2</source>
-        <translation type="unfinished"></translation>
+        <source>Cannot create socket &apos;%1&apos;: %2</source>
+        <translation>Der Socket &apos;%1&apos; konnte nicht erstellt werden: %2</translation>
     </message>
     <message>
         <location line="+32"/>
         <location filename="../../../src/libs/utils/consoleprocess_win.cpp" line="+73"/>
-        <source>Cannot change to working directory %1: %2</source>
-        <translation type="unfinished"></translation>
+        <source>Cannot change to working directory &apos;%1&apos;: %2</source>
+        <translation>Es konnte nicht zum Arbeitsverzeichnis &apos;%1&apos; gewechselt werden: %2</translation>
     </message>
     <message>
         <location line="+3"/>
         <location filename="../../../src/libs/utils/consoleprocess_win.cpp" line="+3"/>
-        <source>Cannot execute %1: %2</source>
-        <translation type="unfinished"></translation>
+        <source>Cannot execute &apos;%1&apos;: %2</source>
+        <translation>Das Kommando &apos;%1&apos; konnte nicht ausgeführt werden: %2</translation>
+    </message>
+    <message>
+        <source>Cannot start terminal emulator %1.</source>
+        <translation type="obsolete">E</translation>
+    </message>
+    <message>
+        <source>Cannot create temporary file: %2</source>
+        <translation type="obsolete">Es konnte keine temporäre Datei erstellt werden: %1</translation>
     </message>
     <message>
         <location line="+20"/>
         <location filename="../../../src/libs/utils/consoleprocess_win.cpp" line="+21"/>
         <source>Unexpected output from helper program.</source>
-        <translation type="unfinished"></translation>
+        <translation>Die Ausgabe des Hilfsprogrammes kann nicht ausgewertet werden.</translation>
     </message>
     <message>
         <location filename="../../../src/libs/utils/consoleprocess_win.cpp" line="-81"/>
         <source>The process &apos;%1&apos; could not be started: %2</source>
-        <translation type="unfinished"></translation>
+        <translation>Der Prozess &apos;%1; konnte nicht gestartet werden: %2</translation>
     </message>
     <message>
         <location line="+72"/>
         <source>Cannot obtain a handle to the inferior: %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Der zu debuggende Prozess konnte nicht angesprochen werden: %1</translation>
     </message>
     <message>
         <location line="+30"/>
         <source>Cannot obtain exit status from inferior: %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Der Rückgabewert des zu debuggenden Prozesses konnte nicht erhalten werden: %1</translation>
     </message>
 </context>
 <context>
@@ -1954,6 +2054,33 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
         <translation>Namen von Windows-Geräten dürfen nicht verwendet werden (%1).</translation>
     </message>
 </context>
+<context>
+    <name>Core::Utils::FileSearch</name>
+    <message numerus="yes">
+        <location filename="../../../src/libs/utils/filesearch.cpp" line="+46"/>
+        <source>%1: canceled. %n occurrences found in %2 files.</source>
+        <translation>
+            <numerusform>%1: Abgebrochen. Eine Fundstelle in %2 Dateien.</numerusform>
+            <numerusform>%1: Abgebrochen. %n Fundstellen in %2 Dateien.</numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <location line="+8"/>
+        <source>%1: %n occurrences found in %2 files.</source>
+        <translation>
+            <numerusform>%1: Eine Fundstelle in %2 Dateien.</numerusform>
+            <numerusform>%1: %n Fundstellen in %2 Dateien.</numerusform>
+        </translation>
+    </message>
+    <message numerus="yes">
+        <location line="+8"/>
+        <source>%1: %n occurrences found in %2 of %3 files.</source>
+        <translation>
+            <numerusform>%1: Eine Fundstelle in %2 von %3 Dateien.</numerusform>
+            <numerusform>%1: %n Fundstelle in %2 von %3 Dateien.</numerusform>
+        </translation>
+    </message>
+</context>
 <context>
     <name>Core::Utils::NewClassWidget</name>
     <message>
@@ -2022,12 +2149,12 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location filename="../../../src/libs/utils/pathchooser.cpp" line="+49"/>
         <source>Choose...</source>
-        <translation type="unfinished"></translation>
+        <translation>Auswählen...</translation>
     </message>
     <message>
         <location line="+3"/>
         <source>Browse...</source>
-        <translation type="unfinished"></translation>
+        <translation>Auswählen...</translation>
     </message>
     <message>
         <location line="+117"/>
@@ -2162,7 +2289,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location filename="../../../src/plugins/cppeditor/cppeditor.cpp" line="+258"/>
         <source>Sort alphabetically</source>
-        <translation type="unfinished"></translation>
+        <translation>Alphabetisch sortieren</translation>
     </message>
 </context>
 <context>
@@ -2227,32 +2354,32 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location line="+3"/>
         <source>Creates a new C++ source file.</source>
-        <translation type="unfinished"></translation>
+        <translation>Erzeugt eine neue C++-Quelldatei</translation>
     </message>
     <message>
         <location line="+1"/>
         <source>C++ Source File</source>
-        <translation type="unfinished"></translation>
+        <translation>C++-Quelldatei</translation>
     </message>
     <message>
         <location line="+4"/>
         <source>C++ Class</source>
-        <translation type="unfinished"></translation>
+        <translation>C++-Klasse</translation>
     </message>
     <message>
         <location line="+1"/>
         <source>Creates a header and a source file for a new class.</source>
-        <translation type="unfinished"></translation>
+        <translation>Erzeugt C++-Header- und Quelldatei für eine neue Klasse</translation>
     </message>
     <message>
         <location line="+11"/>
         <source>Follow Symbol under Cursor</source>
-        <translation type="unfinished"></translation>
+        <translation>Symbol unter Einfügemarke verfolgen</translation>
     </message>
     <message>
         <location line="+9"/>
         <source>Switch between Method Declaration/Definition</source>
-        <translation type="unfinished"></translation>
+        <translation>Wechsel zwischen Deklaration und Definition der Methode.</translation>
     </message>
 </context>
 <context>
@@ -2265,22 +2392,22 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location/>
         <source>Header suffix:</source>
-        <translation type="unfinished"></translation>
+        <translation>Endung für Header-Dateien:</translation>
     </message>
     <message>
         <location/>
         <source>This determines how the file names of the class wizards are generated (&quot;MyClass.h&quot; versus &quot;myclass.h&quot;).</source>
-        <translation type="unfinished"></translation>
+        <translation>Legt fest, wie die Dateinamen aus dem Klassennamen generiert werden (&quot;MyClass.h&quot; beziehungsweise &quot;myclass.h&quot;).</translation>
     </message>
     <message>
         <location/>
         <source>Lower case file names:</source>
-        <translation type="unfinished"></translation>
+        <translation>Kleinbuchstaben für Dateinamen verwenden:</translation>
     </message>
     <message>
         <location/>
         <source>Source suffix:</source>
-        <translation type="unfinished"></translation>
+        <translation>Endung für Quelldateien:</translation>
     </message>
 </context>
 <context>
@@ -2288,7 +2415,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location filename="../../../src/plugins/cpptools/cppmodelmanager.cpp" line="+474"/>
         <source>%1: No such file or directory</source>
-        <translation type="unfinished"></translation>
+        <translation>%1: Es existiert keine Datei oder kein Verzeichnis dieses Namens</translation>
     </message>
 </context>
 <context>
@@ -2296,7 +2423,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location filename="../../../src/plugins/cpptools/cpptoolsconstants.h" line="+51"/>
         <source>File naming conventions</source>
-        <translation type="unfinished"></translation>
+        <translation>Konventionen für die Bildung von Dateinamen</translation>
     </message>
     <message>
         <location line="+1"/>
@@ -2309,7 +2436,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location filename="../../../src/plugins/cpptools/completionsettingspage.cpp" line="+57"/>
         <source>Completion</source>
-        <translation type="unfinished"></translation>
+        <translation>Ergänzung</translation>
     </message>
     <message>
         <location line="+10"/>
@@ -2322,7 +2449,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location filename="../../../src/plugins/cpptools/cppclassesfilter.h" line="+46"/>
         <source>Classes</source>
-        <translation type="unfinished"></translation>
+        <translation>Klassen</translation>
     </message>
 </context>
 <context>
@@ -2330,7 +2457,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location filename="../../../src/plugins/cpptools/cppfunctionsfilter.h" line="+46"/>
         <source>Methods</source>
-        <translation type="unfinished"></translation>
+        <translation>Methoden</translation>
     </message>
 </context>
 <context>
@@ -2338,7 +2465,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location filename="../../../src/plugins/cpptools/cppmodelmanager.cpp" line="+253"/>
         <source>Indexing</source>
-        <translation type="unfinished"></translation>
+        <translation>Indizierung</translation>
     </message>
 </context>
 <context>
@@ -2346,20 +2473,20 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location filename="../../../src/plugins/cpptools/cppquickopenfilter.h" line="+53"/>
         <source>Classes and Methods</source>
-        <translation type="unfinished"></translation>
+        <translation>Klassen und Methoden</translation>
     </message>
 </context>
 <context>
     <name>CppTools::Internal::CppToolsPlugin</name>
     <message>
-        <location filename="../../../src/plugins/cpptools/cpptoolsplugin.cpp" line="+100"/>
+        <location filename="../../../src/plugins/cpptools/cpptoolsplugin.cpp" line="+102"/>
         <source>&amp;C++</source>
-        <translation type="unfinished"></translation>
+        <translation>&amp;C++</translation>
     </message>
     <message>
         <location line="+8"/>
         <source>Switch Header/Source</source>
-        <translation type="unfinished"></translation>
+        <translation>Zwischen Header- und Quelldatei wechseln</translation>
     </message>
 </context>
 <context>
@@ -2367,7 +2494,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location filename="../../../src/plugins/cpptools/cppcodecompletion.cpp" line="+391"/>
         <source>%1 of %2</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 von %2</translation>
     </message>
 </context>
 <context>
@@ -2382,6 +2509,11 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
         <source>Debugger</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location filename="../../../src/plugins/debugger/watchutils.cpp" line="+364"/>
+        <source>&lt;Encoding error&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Debugger::Internal::AttachCoreDialog</name>
@@ -2416,7 +2548,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location line="+163"/>
         <source>Refresh</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Aktualisieren</translation>
     </message>
 </context>
 <context>
@@ -2424,13 +2556,13 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     <message>
         <location line="+81"/>
         <source>Refresh</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Aktualisieren</translation>
     </message>
 </context>
 <context>
     <name>Debugger::Internal::BreakHandler</name>
     <message>
-        <location filename="../../../src/plugins/debugger/breakhandler.cpp" line="+365"/>
+        <location filename="../../../src/plugins/debugger/breakhandler.cpp" line="+387"/>
         <source>Number</source>
         <translation>Zahl</translation>
     </message>
@@ -2460,7 +2592,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+55"/>
+        <location line="+57"/>
         <source>Breakpoint will only be hit if this condition is met.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2478,7 +2610,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+37"/>
+        <location line="+38"/>
         <source>Delete breakpoint</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2503,7 +2635,17 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+41"/>
+        <location line="+2"/>
+        <source>Disable breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+0"/>
+        <source>Enable breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+47"/>
         <source>Conditions on Breakpoint %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2511,7 +2653,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
 <context>
     <name>Debugger::Internal::CdbDebugEngine</name>
     <message>
-        <location filename="../../../src/plugins/debugger/cdb/cdbdebugengine.cpp" line="+123"/>
+        <location filename="../../../src/plugins/debugger/cdb/cdbdebugengine.cpp" line="+124"/>
         <source>Unable to load the debugger engine library &apos;%1&apos;: %2</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2551,12 +2693,12 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+479"/>
+        <location line="+480"/>
         <source>Unable to assign the value &apos;%1&apos; to &apos;%2&apos;: %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+214"/>
+        <location line="+226"/>
         <source>Cannot retrieve symbols while the debuggee is running.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2583,7 +2725,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
 <context>
     <name>Debugger::Internal::DebugMode</name>
     <message>
-        <location filename="../../../src/plugins/debugger/debuggerplugin.cpp" line="+176"/>
+        <location filename="../../../src/plugins/debugger/debuggerplugin.cpp" line="+182"/>
         <source>Debug</source>
         <translation>Debuggen</translation>
     </message>
@@ -2612,12 +2754,12 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     </message>
     <message>
         <location line="+4"/>
-        <location line="+915"/>
+        <location line="+942"/>
         <source>Interrupt</source>
         <translation>Anhalten</translation>
     </message>
     <message>
-        <location line="-911"/>
+        <location line="-938"/>
         <source>Reset Debugger</source>
         <translation>Debugger zurücksetzen</translation>
     </message>
@@ -2703,12 +2845,13 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
         <translation>Läuft...</translation>
     </message>
     <message>
-        <location line="+101"/>
+        <location line="+109"/>
+        <location line="+23"/>
         <source>Changing breakpoint state requires either a fully running or fully stopped application.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+101"/>
+        <location line="+97"/>
         <source>Debugging VS executables is not supported.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2780,12 +2923,11 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
 <context>
     <name>Debugger::Internal::DebuggerPlugin</name>
     <message>
-        <location filename="../../../src/plugins/debugger/debuggerplugin.cpp" line="+284"/>
         <source>Toggle Breakpoint</source>
-        <translation>Haltepunkt umschalten</translation>
+        <translation type="obsolete">Haltepunkt umschalten</translation>
     </message>
     <message>
-        <location line="+34"/>
+        <location filename="../../../src/plugins/debugger/debuggerplugin.cpp" line="+307"/>
         <source>Stop Debugger/Interrupt Debugger</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2814,6 +2956,26 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
         <source>Threads:</source>
         <translation type="unfinished"></translation>
     </message>
+    <message>
+        <location line="+155"/>
+        <source>Remove Breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+8"/>
+        <source>Disable Breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Enable Breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+7"/>
+        <source>Set Breakpoint</source>
+        <translation type="unfinished"></translation>
+    </message>
 </context>
 <context>
     <name>Debugger::Internal::DebuggerRunner</name>
@@ -2871,12 +3033,12 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+16"/>
+        <location line="+15"/>
         <source>Debug debugging helper</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+5"/>
+        <location line="+6"/>
         <source>Recheck debugging helper availability</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2886,7 +3048,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+11"/>
+        <location line="+12"/>
         <source>Hexadecimal</source>
         <translation type="unfinished"></translation>
     </message>
@@ -2949,7 +3111,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
 <context>
     <name>Debugger::Internal::DebuggingHelperOptionPage</name>
     <message>
-        <location filename="../../../src/plugins/debugger/debuggerplugin.cpp" line="-388"/>
+        <location filename="../../../src/plugins/debugger/debuggerplugin.cpp" line="-545"/>
         <source>Debugging Helper</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3013,7 +3175,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
 <context>
     <name>Debugger::Internal::GdbEngine</name>
     <message>
-        <location filename="../../../src/plugins/debugger/gdbengine.cpp" line="+270"/>
+        <location filename="../../../src/plugins/debugger/gdbengine.cpp" line="+273"/>
         <source>The Gdb process failed to start. Either the invoked program &apos;%1&apos; is missing, or you may have insufficient permissions to invoke the program.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3044,13 +3206,48 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
     </message>
     <message>
         <location line="+5"/>
-        <location line="+1120"/>
+        <location line="+1139"/>
         <location line="+20"/>
         <source>Error</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="-992"/>
+        <location line="-1045"/>
+        <source>Library %1 loaded.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+6"/>
+        <source>Library %1 unloaded.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Thread group %1 created.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Thread %1 created.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Thread group %1 exited.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+5"/>
+        <source>Thread %1 in group %2 exited.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Thread %1 selected.</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+24"/>
         <source>Reading </source>
         <translation type="unfinished"></translation>
     </message>
@@ -3070,7 +3267,7 @@ background-image: url(:/core/images/welcomemode/feedback-bar-background.png);
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+116"/>
+        <location line="+118"/>
         <source>Core file loaded.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3181,7 +3378,7 @@ Using gdb 6.7 or later is strongly recommended.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+618"/>
+        <location line="+632"/>
         <source>&lt;could not retreive module information&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3212,8 +3409,8 @@ Using gdb 6.7 or later is strongly recommended.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+201"/>
-        <location line="+157"/>
+        <location line="+155"/>
+        <location line="+42"/>
         <source>Retrieving data for watch view (%1 requests pending)...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3228,7 +3425,7 @@ Using gdb 6.7 or later is strongly recommended.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+38"/>
+        <location line="+43"/>
         <source>Debugging helpers not found.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3238,7 +3435,7 @@ Using gdb 6.7 or later is strongly recommended.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+109"/>
+        <location line="+110"/>
         <source>Custom dumper setup: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3413,7 +3610,7 @@ Using gdb 6.7 or later is strongly recommended.</source>
     <message>
         <location filename="../../../src/plugins/debugger/outputcollector.cpp" line="+92"/>
         <source>Cannot create temporary file: %2</source>
-        <translation type="unfinished"></translation>
+        <translation>Es konnte keine temporäre Datei erstellt werden: %1</translation>
     </message>
     <message>
         <location line="+11"/>
@@ -3470,7 +3667,7 @@ Using gdb 6.7 or later is strongly recommended.</source>
 <context>
     <name>Debugger::Internal::ScriptEngine</name>
     <message>
-        <location filename="../../../src/plugins/debugger/scriptengine.cpp" line="+476"/>
+        <location filename="../../../src/plugins/debugger/scriptengine.cpp" line="+455"/>
         <source>&apos;%1&apos; contains no identifier</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3653,7 +3850,7 @@ Using gdb 6.7 or later is strongly recommended.</source>
 <context>
     <name>Debugger::Internal::WatchHandler</name>
     <message>
-        <location line="+231"/>
+        <location line="+232"/>
         <source>Root</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3711,7 +3908,7 @@ Using gdb 6.7 or later is strongly recommended.</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+47"/>
+        <location line="+79"/>
         <source>Adjust column widths to contents</source>
         <translation type="unfinished"></translation>
     </message>
@@ -3785,7 +3982,7 @@ Using gdb 6.7 or later is strongly recommended.</source>
 <context>
     <name>DependenciesModel</name>
     <message>
-        <location filename="../../../src/plugins/projectexplorer/dependenciespanel.cpp" line="+119"/>
+        <location filename="../../../src/plugins/projectexplorer/dependenciespanel.cpp" line="+118"/>
         <source>Unable to add dependency</source>
         <translation type="unfinished"></translation>
     </message>
@@ -4146,17 +4343,17 @@ Rebuilding the project might help.</source>
     <message>
         <location/>
         <source>Registered Documentation:</source>
-        <translation type="unfinished"></translation>
+        <translation>Registrierte Dokumentationen</translation>
     </message>
     <message>
         <location/>
         <source>Add...</source>
-        <translation type="unfinished"></translation>
+        <translation>Hinzufügen...</translation>
     </message>
     <message>
         <location/>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Entfernen</translation>
     </message>
 </context>
 <context>
@@ -4450,7 +4647,7 @@ Reason: %3</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+118"/>
+        <location line="+120"/>
         <location line="+673"/>
         <location line="+19"/>
         <source>E20: Mark &apos;%1&apos; not set</source>
@@ -4645,22 +4842,8 @@ Reason: %3</source>
 <context>
     <name>FileSearch</name>
     <message>
-        <location filename="../../../src/libs/utils/filesearch.cpp" line="+75"/>
-        <location line="+102"/>
         <source>%1: canceled. %2 occurrences found in %3 files.</source>
-        <translation>%1: abgebrochen. </translation>
-    </message>
-    <message>
-        <location line="-27"/>
-        <location line="+49"/>
-        <source>%1: %2 occurrences found in %3 of %4 files.</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="-44"/>
-        <location line="+49"/>
-        <source>%1: %2 occurrences found in %3 files.</source>
-        <translation type="unfinished"></translation>
+        <translation type="obsolete">%1: abgebrochen. </translation>
     </message>
 </context>
 <context>
@@ -4686,7 +4869,7 @@ Reason: %3</source>
     <message>
         <location/>
         <source>Filter:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Filter:</translation>
     </message>
     <message>
         <location/>
@@ -4701,12 +4884,12 @@ Reason: %3</source>
     <message>
         <location/>
         <source>Add</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Hinzufügen</translation>
     </message>
     <message>
         <location/>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Entfernen</translation>
     </message>
 </context>
 <context>
@@ -4750,7 +4933,7 @@ Reason: %3</source>
 <context>
     <name>Find::Internal::FindPlugin</name>
     <message>
-        <location filename="../../../src/plugins/find/findplugin.cpp" line="+135"/>
+        <location filename="../../../src/plugins/find/findplugin.cpp" line="+149"/>
         <source>&amp;Find/Replace</source>
         <translation>&amp;Suchen/Ersetzen</translation>
     </message>
@@ -4854,7 +5037,7 @@ Reason: %3</source>
         <translation>Suchergebnisse</translation>
     </message>
     <message>
-        <location filename="../../../src/plugins/find/searchresultwindow.cpp" line="+59"/>
+        <location filename="../../../src/plugins/find/searchresultwindow.cpp" line="+60"/>
         <source>No matches found!</source>
         <translation>Es wurden keine Treffer gefunden!</translation>
     </message>
@@ -4932,49 +5115,6 @@ Reason: %3</source>
         <translation type="unfinished"></translation>
     </message>
 </context>
-<context>
-    <name>GeneralSettings</name>
-    <message>
-        <location filename="../../../src/plugins/coreplugin/generalsettings.ui"/>
-        <source>Form</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>General settings</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>User &amp;interface color:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>Reset to default</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>R</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>External editor:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>?</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>Terminal:</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
 <context>
     <name>GenericMakeStep</name>
     <message>
@@ -5009,7 +5149,7 @@ Reason: %3</source>
 <context>
     <name>GenericProjectManager::Internal::GenericBuildSettingsWidget</name>
     <message>
-        <location line="+402"/>
+        <location line="+401"/>
         <source>Build directory:</source>
         <translation type="unfinished"></translation>
     </message>
@@ -5545,7 +5685,7 @@ Reason: %3</source>
     <message>
         <location line="+31"/>
         <source>Cannot create temporary file: %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Es konnte keine temporäre Datei erstellt werden: %1</translation>
     </message>
     <message>
         <location line="+58"/>
@@ -6110,7 +6250,7 @@ Skipping file.</source>
     <message>
         <location filename="../../../src/shared/help/indexwindow.cpp" line="+54"/>
         <source>&amp;Look for:</source>
-        <translation type="unfinished"></translation>
+        <translation>&amp;Suche nach:</translation>
     </message>
     <message>
         <location line="+69"/>
@@ -6350,7 +6490,7 @@ in your .pro file.</source>
     <message>
         <location/>
         <source>Filter:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Filter:</translation>
     </message>
     <message>
         <location/>
@@ -6460,7 +6600,7 @@ in your .pro file.</source>
         <location line="+4"/>
         <location line="+392"/>
         <source>Add</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Hinzufügen</translation>
     </message>
     <message>
         <location line="-389"/>
@@ -7346,7 +7486,7 @@ Library base name: %1</source>
 <context>
     <name>ProjectExplorer::Internal::CompileOutputWindow</name>
     <message>
-        <location filename="../../../src/plugins/projectexplorer/compileoutputwindow.cpp" line="+46"/>
+        <location filename="../../../src/plugins/projectexplorer/compileoutputwindow.cpp" line="+47"/>
         <location filename="../../../src/plugins/projectexplorer/compileoutputwindow.h" line="+51"/>
         <source>Compile Output</source>
         <translation>Kompilierung</translation>
@@ -7355,7 +7495,7 @@ Library base name: %1</source>
 <context>
     <name>ProjectExplorer::Internal::CoreListenerCheckingForRunningBuild</name>
     <message>
-        <location filename="../../../src/plugins/projectexplorer/projectexplorer.cpp" line="+114"/>
+        <location filename="../../../src/plugins/projectexplorer/projectexplorer.cpp" line="+112"/>
         <source>Cancel Build &amp;&amp; Close</source>
         <translation>Erstellen abbrechen und schließen</translation>
     </message>
@@ -7552,8 +7692,7 @@ Library base name: %1</source>
 <context>
     <name>ProjectExplorer::Internal::OutputWindow</name>
     <message>
-        <location line="+58"/>
-        <location line="+45"/>
+        <location line="+82"/>
         <source>Application Output Window</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7665,138 +7804,34 @@ Library base name: %1</source>
         <translation>Projekte</translation>
     </message>
     <message>
-        <location line="+1"/>
-        <source>Startup</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>Path</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ProjectExplorer::Internal::ProjectWizardPage</name>
-    <message>
-        <location filename="../../../src/plugins/projectexplorer/projectwizardpage.cpp" line="+110"/>
-        <source>Add to &amp;VCS (%1)</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+8"/>
-        <source>Files to be added:</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ProjectExplorer::Internal::QtOptionsPageWidget</name>
-    <message>
-        <location filename="../../../src/plugins/projectexplorer/qtoptionspage.cpp" line="+65"/>
-        <source>&lt;specify a name&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+1"/>
-        <source>&lt;specify a path&gt;</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+11"/>
-        <source>Select QTDIR</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+2"/>
-        <source>Select the Qt Directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+211"/>
-        <source>The Qt Version %1 is not installed. Run make install</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+3"/>
-        <source>%1 is not a valid qt directory</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+4"/>
-        <source>Found Qt version %1, using mkspec %2</source>
-        <translation type="unfinished"></translation>
-    </message>
-</context>
-<context>
-    <name>ProjectExplorer::Internal::QtVersionManager</name>
-    <message>
-        <location filename="../../../src/plugins/projectexplorer/qtversionmanager.ui"/>
-        <source>Form</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>Qt versions</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>+</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>-</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>Name</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>Path</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>Debugging Helper</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>Version Name:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>Path:</source>
-        <translation>Pfad:</translation>
-    </message>
-    <message>
-        <location/>
-        <source>MinGw Directory:</source>
+        <location line="+1"/>
+        <source>Startup</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location/>
-        <source>Debugging Helper:</source>
+        <location line="+1"/>
+        <source>Path</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ProjectExplorer::Internal::ProjectWizardPage</name>
     <message>
-        <location/>
-        <source>Show &amp;Log</source>
+        <location filename="../../../src/plugins/projectexplorer/projectwizardpage.cpp" line="+110"/>
+        <source>Add to &amp;VCS (%1)</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location/>
-        <source>&amp;Rebuild</source>
+        <location line="+8"/>
+        <source>Files to be added:</source>
         <translation type="unfinished"></translation>
     </message>
+</context>
+<context>
+    <name>ProjectExplorer::Internal::QtVersionManager</name>
     <message>
-        <location/>
-        <source>Default Qt Version:</source>
-        <translation type="unfinished"></translation>
+        <source>Path:</source>
+        <translation type="obsolete">Pfad:</translation>
     </message>
 </context>
 <context>
@@ -7903,7 +7938,7 @@ Library base name: %1</source>
 <context>
     <name>ProjectExplorer::Internal::TaskDelegate</name>
     <message>
-        <location filename="../../../src/plugins/projectexplorer/taskwindow.cpp" line="+565"/>
+        <location filename="../../../src/plugins/projectexplorer/taskwindow.cpp" line="+615"/>
         <source>File not found: %1</source>
         <translation type="unfinished"></translation>
     </message>
@@ -7911,7 +7946,7 @@ Library base name: %1</source>
 <context>
     <name>ProjectExplorer::Internal::TaskWindow</name>
     <message>
-        <location line="-297"/>
+        <location line="-347"/>
         <location filename="../../../src/plugins/projectexplorer/taskwindow.h" line="+61"/>
         <source>Build Issues</source>
         <translation></translation>
@@ -7980,7 +8015,7 @@ Library base name: %1</source>
         <translation>Projekte</translation>
     </message>
     <message>
-        <location line="+90"/>
+        <location line="+85"/>
         <source>&amp;Build</source>
         <translation>&amp;Erstellen</translation>
     </message>
@@ -8247,15 +8282,12 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
 <context>
     <name>ProjectExplorer::QtVersionManager</name>
     <message>
-        <location filename="../../../src/plugins/projectexplorer/qtversionmanager.cpp" line="+236"/>
-        <location line="+6"/>
         <source>Auto-detected Qt</source>
-        <translation>Vorgefundene Qt-Installation</translation>
+        <translation type="obsolete">Vorgefundene Qt-Installation</translation>
     </message>
     <message>
-        <location line="+55"/>
         <source>&lt;not found&gt;</source>
-        <translation>&lt;nicht gefunden&gt;</translation>
+        <translation type="obsolete">&lt;nicht gefunden&gt;</translation>
     </message>
 </context>
 <context>
@@ -8415,7 +8447,7 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../src/plugins/coreplugin/editormanager/editormanager.cpp" line="-476"/>
+        <location filename="../../../src/plugins/coreplugin/editormanager/editormanager.cpp" line="-478"/>
         <source>File is Read Only</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8548,13 +8580,13 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
         <location/>
         <location filename="../../../src/shared/qrceditor/test/ui_qrceditor.h" line="+1"/>
         <source>Add</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Hinzufügen</translation>
     </message>
     <message>
         <location/>
         <location filename="../../../src/shared/qrceditor/test/ui_qrceditor.h" line="+1"/>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Entfernen</translation>
     </message>
     <message>
         <location/>
@@ -8566,7 +8598,7 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
         <location/>
         <location filename="../../../src/shared/qrceditor/test/ui_qrceditor.h" line="+1"/>
         <source>Prefix:</source>
-        <translation type="unfinished"></translation>
+        <translation>Präfix:</translation>
     </message>
     <message>
         <location/>
@@ -8683,12 +8715,12 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
     <message>
         <location/>
         <source>Add...</source>
-        <translation type="unfinished"></translation>
+        <translation>Hinzufügen...</translation>
     </message>
     <message>
         <location/>
         <source>Edit...</source>
-        <translation type="unfinished"></translation>
+        <translation>Ändern...</translation>
     </message>
     <message>
         <location/>
@@ -8809,7 +8841,7 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
     <message>
         <location/>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Entfernen</translation>
     </message>
     <message>
         <location/>
@@ -8918,7 +8950,7 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
 <context>
     <name>Qt4ProjectManager::Internal::ProjectLoadWizard</name>
     <message>
-        <location filename="../../../src/plugins/qt4projectmanager/projectloadwizard.cpp" line="+191"/>
+        <location filename="../../../src/plugins/qt4projectmanager/projectloadwizard.cpp" line="+189"/>
         <source>Import existing settings</source>
         <translation type="unfinished"></translation>
     </message>
@@ -8983,13 +9015,13 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
     <message>
         <location line="+2"/>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Entfernen</translation>
     </message>
 </context>
 <context>
     <name>Qt4ProjectManager::Internal::Qt4PriFileNode</name>
     <message>
-        <location filename="../../../src/plugins/qt4projectmanager/qt4nodes.cpp" line="+279"/>
+        <location filename="../../../src/plugins/qt4projectmanager/qt4nodes.cpp" line="+280"/>
         <location line="+7"/>
         <source>Failed!</source>
         <translation>Fehler</translation>
@@ -9023,7 +9055,7 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
 <context>
     <name>Qt4ProjectManager::Internal::Qt4ProFileNode</name>
     <message>
-        <location line="+219"/>
+        <location line="+227"/>
         <source>Error while parsing file %1. Giving up.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9076,7 +9108,7 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="../../../src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp" line="+62"/>
+        <location filename="../../../src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp" line="+59"/>
         <source>Shadow Build Directory</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9094,7 +9126,7 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
 <context>
     <name>Qt4ProjectManager::Internal::Qt4ProjectManagerPlugin</name>
     <message>
-        <location filename="../../../src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp" line="+146"/>
+        <location filename="../../../src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp" line="+151"/>
         <location line="+5"/>
         <source>Run qmake</source>
         <translation>qmake ausführen</translation>
@@ -9103,13 +9135,13 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
 <context>
     <name>Qt4ProjectManager::Internal::Qt4RunConfiguration</name>
     <message>
-        <location filename="../../../src/plugins/qt4projectmanager/qt4runconfiguration.cpp" line="+70"/>
+        <location filename="../../../src/plugins/qt4projectmanager/qt4runconfiguration.cpp" line="+69"/>
         <location line="+245"/>
         <source>Qt4RunConfiguration</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location line="+44"/>
+        <location line="+45"/>
         <source>Could not parse %1. The Qt4 run configuration %2 can not be started.</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9117,7 +9149,7 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
 <context>
     <name>Qt4ProjectManager::Internal::Qt4RunConfigurationWidget</name>
     <message>
-        <location line="-259"/>
+        <location line="-260"/>
         <source>Name:</source>
         <translation>Name:</translation>
     </message>
@@ -9147,11 +9179,115 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>Qt4ProjectManager::Internal::QtOptionsPageWidget</name>
+    <message>
+        <location filename="../../../src/plugins/qt4projectmanager/qtoptionspage.cpp" line="+65"/>
+        <source>&lt;specify a name&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+1"/>
+        <source>&lt;specify a path&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+11"/>
+        <source>Select QTDIR</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+2"/>
+        <source>Select the Qt Directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+211"/>
+        <source>The Qt Version %1 is not installed. Run make install</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+3"/>
+        <source>%1 is not a valid qt directory</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location line="+4"/>
+        <source>Found Qt version %1, using mkspec %2</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>Qt4ProjectManager::Internal::QtVersionManager</name>
     <message>
+        <location filename="../../../src/plugins/qt4projectmanager/qtversionmanager.ui"/>
         <source>Path:</source>
-        <translation type="obsolete">Pfad:</translation>
+        <translation>Pfad:</translation>
+    </message>
+    <message>
+        <location/>
+        <source>Form</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>Qt versions</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>+</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>-</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>Name</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>Path</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>Debugging Helper</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>Version Name:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>MinGw Directory:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>Debugging Helper:</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>Show &amp;Log</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>&amp;Rebuild</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>Default Qt Version:</source>
+        <translation type="unfinished"></translation>
     </message>
 </context>
 <context>
@@ -9237,7 +9373,7 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
     <message>
         <location/>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Entfernen</translation>
     </message>
     <message>
         <location filename="../../../src/shared/proparser/valueeditor.cpp" line="+252"/>
@@ -9263,7 +9399,7 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
 <context>
     <name>Qt4ProjectManager::MakeStep</name>
     <message>
-        <location filename="../../../src/plugins/qt4projectmanager/makestep.cpp" line="+106"/>
+        <location filename="../../../src/plugins/qt4projectmanager/makestep.cpp" line="+105"/>
         <source>&lt;font color=&quot;#ff0000&quot;&gt;Could not find make command: %1 in the build environment&lt;/font&gt;</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9311,7 +9447,7 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
 <context>
     <name>Qt4ProjectManager::Qt4Manager</name>
     <message>
-        <location filename="../../../src/plugins/qt4projectmanager/qt4projectmanager.cpp" line="+136"/>
+        <location filename="../../../src/plugins/qt4projectmanager/qt4projectmanager.cpp" line="+133"/>
         <source>Loading project %1 ...</source>
         <translation type="unfinished"></translation>
     </message>
@@ -9342,6 +9478,36 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
         <translation type="unfinished"></translation>
     </message>
 </context>
+<context>
+    <name>Qt4ProjectManager::QtVersionManager</name>
+    <message>
+        <location filename="../../../src/plugins/qt4projectmanager/qtversionmanager.cpp" line="+238"/>
+        <source>&lt;not found&gt;</source>
+        <translation>&lt;nicht gefunden&gt;</translation>
+    </message>
+    <message>
+        <location line="+10"/>
+        <location line="+6"/>
+        <source>Auto-detected Qt</source>
+        <translation>Vorgefundene Qt-Installation</translation>
+    </message>
+</context>
+<context>
+    <name>QtDumperHelper</name>
+    <message>
+        <location filename="../../../src/plugins/debugger/watchutils.cpp" line="+154"/>
+        <source>&lt;none&gt;</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message numerus="yes">
+        <location line="+1"/>
+        <source>%n known types, Qt version: %1, Qt namespace: %2</source>
+        <translation type="unfinished">
+            <numerusform></numerusform>
+            <numerusform></numerusform>
+        </translation>
+    </message>
+</context>
 <context>
     <name>QtScriptEditor::Internal::QtScriptEditorActionHandler</name>
     <message>
@@ -9392,12 +9558,12 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
     <message>
         <location line="+5"/>
         <source>Limit to prefix</source>
-        <translation type="unfinished"></translation>
+        <translation>Auf Präfix beschränken</translation>
     </message>
     <message>
         <location line="+3"/>
         <source>Prefix:</source>
-        <translation type="unfinished"></translation>
+        <translation>Präfix:</translation>
     </message>
 </context>
 <context>
@@ -9405,39 +9571,36 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
     <message>
         <location filename="../../../src/plugins/quickopen/directoryfilter.cpp" line="+44"/>
         <source>Generic Directory Filter</source>
-        <translation type="unfinished"></translation>
+        <translation>Allgemeines Verzeichnisfilter</translation>
     </message>
     <message>
-        <location line="+58"/>
+        <location line="+59"/>
         <source>Filter Configuration</source>
         <translation>Filterkonfiguration</translation>
     </message>
     <message>
-        <location line="+13"/>
-        <location line="+20"/>
-        <source>,</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location line="+12"/>
+        <location line="+45"/>
         <location line="+11"/>
         <source>Choose a directory to add</source>
-        <translation type="unfinished"></translation>
+        <translation>Bitte wählen Sie das hinzuzufügende Verzeichnis</translation>
     </message>
     <message>
         <location line="+30"/>
         <source>%1 filter update: 0 files</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 Filterstatus: Keine Dateien</translation>
     </message>
-    <message>
-        <location line="+22"/>
-        <source>%1 filter update: %2 files</source>
-        <translation type="unfinished"></translation>
+    <message numerus="yes">
+        <location line="+23"/>
+        <source>%1 filter update: %n files</source>
+        <translation>
+            <numerusform>%1 Filterstatus: Eine Datei</numerusform>
+            <numerusform>%1 Filterstatus: %n Dateien</numerusform>
+        </translation>
     </message>
     <message>
         <location line="+41"/>
         <source>%1 filter update: canceled</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 Filterstatus: Abgebrochen</translation>
     </message>
 </context>
 <context>
@@ -9455,48 +9618,49 @@ unter Versionsverwaltung (%2) gestellt werden?</translation>
     <message>
         <location/>
         <source>File Types:</source>
-        <translation type="unfinished"></translation>
+        <translation>Dateitypen:</translation>
     </message>
     <message>
         <location/>
         <source>Specify file name filters, separated by comma. Filters may contain wildcards.</source>
-        <translation type="unfinished"></translation>
+        <translation>Eine Liste von durch Kommata getrennte Filtern für Dateinamen. Die Filter können Suchmuster enthalten.</translation>
     </message>
     <message>
         <location/>
         <source>Prefix:</source>
-        <translation type="unfinished"></translation>
-    </message>
-    <message>
-        <location/>
-        <source>Specify a short word/abbreviation that can be used to restrict completions to files from this directory tree.
-To do this you type this shortcut and a space in the QuickOpen entry field, and then the word to search for.</source>
-        <translation type="unfinished"></translation>
+        <translation>Präfix:</translation>
     </message>
     <message>
         <location/>
         <source>Limit to prefix</source>
-        <translation type="unfinished"></translation>
+        <translation>Auf Präfix beschränken</translation>
     </message>
     <message>
         <location/>
         <source>Add...</source>
-        <translation type="unfinished"></translation>
+        <translation>Hinzufügen...</translation>
     </message>
     <message>
         <location/>
         <source>Edit...</source>
-        <translation type="unfinished"></translation>
+        <translation>Ändern...</translation>
     </message>
     <message>
         <location/>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Entfernen</translation>
     </message>
     <message>
         <location/>
         <source>Directories:</source>
-        <translation type="unfinished"></translation>
+        <translation>Verzeichnisse:</translation>
+    </message>
+    <message>
+        <location/>
+        <source>Specify a short word/abbreviation that can be used to restrict completions to files from this directory tree.
+To do this, you type this shortcut and a space in the Locator entry field, and then the word to search for.</source>
+        <translation>Geben Sie ein Kürzel oder eine Abkürzung ein, die die Funde auf Dateien von diesem Verzeichnis beschränkt.
+Um es abzurufen, tippen Sie das Kürzel im Locator, gefolgt  von einem Leerzeichen und dem Suchbegriff.</translation>
     </message>
 </context>
 <context>
@@ -9504,7 +9668,7 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location filename="../../../src/plugins/quickopen/filesystemfilter.h" line="+54"/>
         <source>Files in file system</source>
-        <translation type="unfinished"></translation>
+        <translation>Dateien aus dem Dateisystem</translation>
     </message>
 </context>
 <context>
@@ -9512,27 +9676,27 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location filename="../../../src/plugins/quickopen/filesystemfilter.ui"/>
         <source>Filter configuration</source>
-        <translation type="unfinished"></translation>
+        <translation>Filterkonfiguration</translation>
     </message>
     <message>
         <location/>
         <source>Prefix:</source>
-        <translation type="unfinished"></translation>
+        <translation>Präfix:</translation>
     </message>
     <message>
         <location/>
         <source>Limit to prefix</source>
-        <translation type="unfinished"></translation>
+        <translation>Auf Präfix beschränken</translation>
     </message>
     <message>
         <location/>
         <source>Include hidden files</source>
-        <translation type="unfinished"></translation>
+        <translation>Versteckte Dateien zeigen</translation>
     </message>
     <message>
         <location/>
         <source>Filter:</source>
-        <translation type="unfinished"></translation>
+        <translation>Filter:</translation>
     </message>
 </context>
 <context>
@@ -9540,7 +9704,7 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location filename="../../../src/plugins/quickopen/opendocumentsfilter.h" line="+53"/>
         <source>Open documents</source>
-        <translation type="unfinished"></translation>
+        <translation>Offene Dokumente</translation>
     </message>
 </context>
 <context>
@@ -9548,15 +9712,15 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location filename="../../../src/plugins/quickopen/quickopenfiltersfilter.cpp" line="+53"/>
         <source>Available filters</source>
-        <translation type="unfinished"></translation>
+        <translation>Verfügbare Filter</translation>
     </message>
 </context>
 <context>
     <name>QuickOpen::Internal::QuickOpenPlugin</name>
     <message>
-        <location filename="../../../src/plugins/quickopen/quickopenplugin.cpp" line="+247"/>
+        <location filename="../../../src/plugins/quickopen/quickopenplugin.cpp" line="+255"/>
         <source>Indexing</source>
-        <translation type="unfinished"></translation>
+        <translation>Indizierung</translation>
     </message>
 </context>
 <context>
@@ -9564,7 +9728,7 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location filename="../../../src/plugins/quickopen/quickopentoolwindow.cpp" line="+254"/>
         <source>Refresh</source>
-        <translation type="unfinished"></translation>
+        <translation>Aktualisieren</translation>
     </message>
     <message>
         <location line="+1"/>
@@ -9574,17 +9738,17 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location line="+6"/>
         <source>Locate...</source>
-        <translation type="unfinished"></translation>
+        <translation>Finden...</translation>
     </message>
     <message>
         <location line="+17"/>
         <source>Type to locate</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Suchmuster</translation>
     </message>
     <message>
         <location line="+171"/>
         <source>&lt;type here&gt;</source>
-        <translation type="unfinished"></translation>
+        <translation>&lt;Tippen Sie hier&gt;</translation>
     </message>
 </context>
 <context>
@@ -9592,17 +9756,17 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location filename="../../../src/plugins/quickopen/settingswidget.ui"/>
         <source>Configure Filters</source>
-        <translation type="unfinished"></translation>
+        <translation>Filter konfigurieren</translation>
     </message>
     <message>
         <location/>
         <source>Add</source>
-        <translation type="unfinished"></translation>
+        <translation>Hinzufügen</translation>
     </message>
     <message>
         <location/>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Entfernen</translation>
     </message>
     <message>
         <location/>
@@ -9612,17 +9776,17 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location/>
         <source>Refresh Intervall:</source>
-        <translation type="unfinished"></translation>
+        <translation>Aktualisierungsintervall:</translation>
     </message>
     <message>
         <location/>
         <source> min</source>
-        <translation type="unfinished"></translation>
+        <translation> minuten</translation>
     </message>
     <message>
         <location/>
         <source>Refresh now!</source>
-        <translation type="unfinished"></translation>
+        <translation>Jetzt aktualisieren!</translation>
     </message>
 </context>
 <context>
@@ -9630,7 +9794,7 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location filename="../../../src/plugins/quickopen/settingspage.cpp" line="+159"/>
         <source>%1 (Prefix: %2)</source>
-        <translation type="unfinished"></translation>
+        <translation>%1 (Präfix: %2)</translation>
     </message>
 </context>
 <context>
@@ -9638,17 +9802,17 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location filename="../../../src/plugins/quickopen/settingspage.ui"/>
         <source>Configure Filters</source>
-        <translation type="unfinished"></translation>
+        <translation>Filterkonfiguration</translation>
     </message>
     <message>
         <location/>
         <source>Add</source>
-        <translation type="unfinished"></translation>
+        <translation>Hinzufügen</translation>
     </message>
     <message>
         <location/>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Entfernen</translation>
     </message>
     <message>
         <location/>
@@ -9658,12 +9822,12 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location/>
         <source>Refresh Interval:</source>
-        <translation type="unfinished"></translation>
+        <translation>Aktualisierungsintervall:</translation>
     </message>
     <message>
         <location/>
         <source> min</source>
-        <translation type="unfinished"></translation>
+        <translation> minuten</translation>
     </message>
 </context>
 <context>
@@ -9978,7 +10142,7 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location/>
         <source>Filter:</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Filter:</translation>
     </message>
     <message>
         <location/>
@@ -10028,13 +10192,13 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location/>
         <source>Remove</source>
-        <translation type="unfinished"></translation>
+        <translation>Entfernen</translation>
     </message>
 </context>
 <context>
     <name>ShowBuildLog</name>
     <message>
-        <location filename="../../../src/plugins/projectexplorer/showbuildlog.ui"/>
+        <location filename="../../../src/plugins/qt4projectmanager/showbuildlog.ui"/>
         <source>Debugging Helper Build Log</source>
         <translation type="unfinished"></translation>
     </message>
@@ -10470,7 +10634,7 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location line="+11"/>
         <source>Add</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Hinzufügen</translation>
     </message>
     <message>
         <location line="+5"/>
@@ -10635,7 +10799,7 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
     <message>
         <location line="+8"/>
         <source>Cannot create temporary file: %1</source>
-        <translation type="unfinished"></translation>
+        <translation>Es konnte keine temporäre Datei erstellt werden: %1</translation>
     </message>
     <message>
         <location line="+183"/>
@@ -10723,7 +10887,7 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
 <context>
     <name>TextEditor::BaseTextEditor</name>
     <message>
-        <location filename="../../../src/plugins/texteditor/basetexteditor.cpp" line="+234"/>
+        <location filename="../../../src/plugins/texteditor/basetexteditor.cpp" line="+228"/>
         <source>Print Document</source>
         <translation>Dokument drucken</translation>
     </message>
@@ -10741,7 +10905,7 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
 <context>
     <name>TextEditor::BaseTextEditorEditable</name>
     <message>
-        <location line="+3361"/>
+        <location line="+3607"/>
         <source>Line: %1, Col: %2</source>
         <translation>Zeile: %1, Spalte: %2</translation>
     </message>
@@ -10891,6 +11055,16 @@ To do this you type this shortcut and a space in the QuickOpen entry field, and
         <source>Highlight &amp;blocks</source>
         <translation>Blöcke hervorheben</translation>
     </message>
+    <message>
+        <location/>
+        <source>Use fancy style</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location/>
+        <source>Animate matching parentheses</source>
+        <translation>Passende Klammern animieren</translation>
+    </message>
 </context>
 <context>
     <name>TextEditor::FontSettingsPage</name>
@@ -11319,6 +11493,11 @@ Die folgenden Encodings scheinen der Datei zu entsprechen:</translation>
         <source>Current Line</source>
         <translation>Aktuelle Zeile</translation>
     </message>
+    <message>
+        <location line="+1"/>
+        <source>Current Line Number</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <location line="+3"/>
         <source>Number</source>
diff --git a/src/libs/utils/consoleprocess_unix.cpp b/src/libs/utils/consoleprocess_unix.cpp
index a43264b59d021f41647fa371fee22522190a6778..c1183734d09491b0aba05c115cc80969965ef10c 100644
--- a/src/libs/utils/consoleprocess_unix.cpp
+++ b/src/libs/utils/consoleprocess_unix.cpp
@@ -71,7 +71,7 @@ bool ConsoleProcess::start(const QString &program, const QStringList &args)
 
     QString err = stubServerListen();
     if (!err.isEmpty()) {
-        emit processError(tr("Cannot set up comm channel: %1").arg(err));
+        emit processError(tr("Cannot set up communication channel: %1").arg(err));
         return false;
     }
 
@@ -79,7 +79,7 @@ bool ConsoleProcess::start(const QString &program, const QStringList &args)
         m_tempFile = new QTemporaryFile();
         if (!m_tempFile->open()) {
             stubServerShutdown();
-            emit processError(tr("Cannot create temp file: %1").arg(m_tempFile->errorString()));
+            emit processError(tr("Cannot create temporary file: %1").arg(m_tempFile->errorString()));
             delete m_tempFile;
             m_tempFile = 0;
             return false;
@@ -109,7 +109,7 @@ bool ConsoleProcess::start(const QString &program, const QStringList &args)
     m_process.start(xterm, xtermArgs);
     if (!m_process.waitForStarted()) {
         stubServerShutdown();
-        emit processError(tr("Cannot start terminal emulator %1.").arg(xterm));
+        emit processError(tr("Cannot start the terminal emulator '%1'.").arg(xterm));
         delete m_tempFile;
         m_tempFile = 0;
         return false;
@@ -145,7 +145,7 @@ QString ConsoleProcess::stubServerListen()
         {
             QTemporaryFile tf;
             if (!tf.open())
-                return tr("Cannot create temporary file: %2").arg(tf.errorString());
+                return tr("Cannot create temporary file: %1").arg(tf.errorString());
             stubFifoDir = QFile::encodeName(tf.fileName());
         }
         // By now the temp file was deleted again
@@ -153,12 +153,12 @@ QString ConsoleProcess::stubServerListen()
         if (!::mkdir(m_stubServerDir.constData(), 0700))
             break;
         if (errno != EEXIST)
-            return tr("Cannot create temporary directory %1: %2").arg(stubFifoDir, strerror(errno));
+            return tr("Cannot create temporary directory '%1': %2").arg(stubFifoDir, strerror(errno));
     }
     QString stubServer  = stubFifoDir + "/stub-socket";
     if (!m_stubServer.listen(stubServer)) {
         ::rmdir(m_stubServerDir.constData());
-        return tr("Cannot create socket %1: %2").arg(stubServer, m_stubServer.errorString());
+        return tr("Cannot create socket '%1': %2").arg(stubServer, m_stubServer.errorString());
     }
     return QString();
 }
@@ -190,10 +190,10 @@ void ConsoleProcess::readStubOutput()
         QByteArray out = m_stubSocket->readLine();
         out.chop(1); // \n
         if (out.startsWith("err:chdir ")) {
-            emit processError(tr("Cannot change to working directory %1: %2")
+            emit processError(tr("Cannot change to working directory '%1': %2")
                               .arg(workingDirectory(), errorMsg(out.mid(10).toInt())));
         } else if (out.startsWith("err:exec ")) {
-            emit processError(tr("Cannot execute %1: %2")
+            emit processError(tr("Cannot execute '%1': %2")
                               .arg(m_executable, errorMsg(out.mid(9).toInt())));
         } else if (out.startsWith("pid ")) {
             // Will not need it any more
diff --git a/src/libs/utils/consoleprocess_win.cpp b/src/libs/utils/consoleprocess_win.cpp
index ce5d15029d8dbd1e494c58b160afa6b683bfd180..bc4b9a31e9192348ce2444999615ad0c073cf75e 100644
--- a/src/libs/utils/consoleprocess_win.cpp
+++ b/src/libs/utils/consoleprocess_win.cpp
@@ -69,7 +69,7 @@ bool ConsoleProcess::start(const QString &program, const QStringList &args)
 
     QString err = stubServerListen();
     if (!err.isEmpty()) {
-        emit processError(tr("Cannot set up comm channel: %1").arg(err));
+        emit processError(tr("Cannot set up communication channel: %1").arg(err));
         return false;
     }
 
@@ -77,7 +77,7 @@ bool ConsoleProcess::start(const QString &program, const QStringList &args)
         m_tempFile = new QTemporaryFile();
         if (!m_tempFile->open()) {
             stubServerShutdown();
-            emit processError(tr("Cannot create temp file: %1").arg(m_tempFile->errorString()));
+            emit processError(tr("Cannot create temporary file: %1").arg(m_tempFile->errorString()));
             delete m_tempFile;
             m_tempFile = 0;
             return false;
@@ -180,10 +180,10 @@ void ConsoleProcess::readStubOutput()
         QByteArray out = m_stubSocket->readLine();
         out.chop(2); // \r\n
         if (out.startsWith("err:chdir ")) {
-            emit processError(tr("Cannot change to working directory %1: %2")
+            emit processError(tr("Cannot change to working directory '%1': %2")
                               .arg(workingDirectory(), winErrorMessage(out.mid(10).toInt())));
         } else if (out.startsWith("err:exec ")) {
-            emit processError(tr("Cannot execute %1: %2")
+            emit processError(tr("Cannot execute '%1': %2")
                               .arg(m_executable, winErrorMessage(out.mid(9).toInt())));
         } else if (out.startsWith("pid ")) {
             // Will not need it any more
diff --git a/src/libs/utils/filesearch.cpp b/src/libs/utils/filesearch.cpp
index 7cf1d8225789c1e3884f4cfde672f16ba07b7a13..063ac124b73540f7f3f0a10292b3d34fe656a861 100644
--- a/src/libs/utils/filesearch.cpp
+++ b/src/libs/utils/filesearch.cpp
@@ -35,12 +35,36 @@
 #include <QtCore/QFutureInterface>
 #include <QtCore/QtConcurrentRun>
 #include <QtCore/QRegExp>
-#include <QtGui/QApplication>
+#include <QtCore/QCoreApplication>
 
 #include <qtconcurrent/runextensions.h>
 
 using namespace Core::Utils;
 
+static inline QString msgCanceled(const QString &searchTerm, int numMatches, int numFilesSearched)
+{
+    return QCoreApplication::translate("Core::Utils::FileSearch",
+                                       "%1: canceled. %n occurrences found in %2 files.",
+                                       0, QCoreApplication::CodecForTr, numMatches).
+                                       arg(searchTerm).arg(numFilesSearched);
+}
+
+static inline QString msgFound(const QString &searchTerm, int numMatches, int numFilesSearched)
+{
+    return QCoreApplication::translate("Core::Utils::FileSearch",
+                                       "%1: %n occurrences found in %2 files.",
+                                       0, QCoreApplication::CodecForTr, numMatches).
+                                       arg(searchTerm).arg(numFilesSearched);
+}
+
+static inline QString msgFound(const QString &searchTerm, int numMatches, int numFilesSearched, int filesSize)
+{
+    return QCoreApplication::translate("Core::Utils::FileSearch",
+                                       "%1: %n occurrences found in %2 of %3 files.",
+                                       0, QCoreApplication::CodecForTr, numMatches).
+                                       arg(searchTerm).arg(numFilesSearched).arg(filesSize);
+}
+
 namespace {
 
 void runFileSearch(QFutureInterface<FileSearchResult> &future,
@@ -71,9 +95,7 @@ void runFileSearch(QFutureInterface<FileSearchResult> &future,
         if (future.isPaused())
             future.waitForResume();
         if (future.isCanceled()) {
-            future.setProgressValueAndText(numFilesSearched,
-                                           QApplication::translate("FileSearch", "%1: canceled. %2 occurrences found in %3 files.").
-                                           arg(searchTerm).arg(numMatches).arg(numFilesSearched));
+            future.setProgressValueAndText(numFilesSearched, msgCanceled(searchTerm, numMatches, numFilesSearched));
             break;
         }
         QFile file(s);
@@ -146,14 +168,10 @@ void runFileSearch(QFutureInterface<FileSearchResult> &future,
             firstChunk = false;
         }
         ++numFilesSearched;
-        future.setProgressValueAndText(numFilesSearched,
-                                QApplication::translate("FileSearch", "%1: %2 occurrences found in %3 of %4 files.").
-                                arg(searchTerm).arg(numMatches).arg(numFilesSearched).arg(files.size()));
+        future.setProgressValueAndText(numFilesSearched, msgFound(searchTerm, numMatches, numFilesSearched, files.size()));
     }
     if (!future.isCanceled())
-        future.setProgressValueAndText(numFilesSearched,
-                                QApplication::translate("FileSearch", "%1: %2 occurrences found in %3 files.").
-                                arg(searchTerm).arg(numMatches).arg(numFilesSearched));
+        future.setProgressValueAndText(numFilesSearched, msgFound(searchTerm, numMatches, numFilesSearched));
 }
 
 void runFileSearchRegExp(QFutureInterface<FileSearchResult> &future,
@@ -165,17 +183,15 @@ void runFileSearchRegExp(QFutureInterface<FileSearchResult> &future,
     int numFilesSearched = 0;
     int numMatches = 0;
     if (flags & QTextDocument::FindWholeWords)
-        searchTerm = QString("\\b%1\\b").arg(searchTerm);
-    Qt::CaseSensitivity caseSensitivity = (flags & QTextDocument::FindCaseSensitively) ? Qt::CaseSensitive : Qt::CaseInsensitive;
-    QRegExp expression(searchTerm, caseSensitivity);
+        searchTerm = QString::fromLatin1("\\b%1\\b").arg(searchTerm);
+    const Qt::CaseSensitivity caseSensitivity = (flags & QTextDocument::FindCaseSensitively) ? Qt::CaseSensitive : Qt::CaseInsensitive;
+    const QRegExp expression(searchTerm, caseSensitivity);
 
-    foreach (QString s, files) {
+    foreach (const QString &s, files) {
         if (future.isPaused())
             future.waitForResume();
         if (future.isCanceled()) {
-            future.setProgressValueAndText(numFilesSearched,
-                                           QApplication::translate("FileSearch", "%1: canceled. %2 occurrences found in %3 files.").
-                                           arg(searchTerm).arg(numMatches).arg(numFilesSearched));
+            future.setProgressValueAndText(numFilesSearched, msgCanceled(searchTerm, numMatches, numFilesSearched));
             break;
         }
         QFile file(s);
@@ -195,14 +211,10 @@ void runFileSearchRegExp(QFutureInterface<FileSearchResult> &future,
             ++lineNr;
         }
         ++numFilesSearched;
-        future.setProgressValueAndText(numFilesSearched,
-                                QApplication::translate("FileSearch", "%1: %2 occurrences found in %3 of %4 files.").
-                                arg(searchTerm).arg(numMatches).arg(numFilesSearched).arg(files.size()));
+        future.setProgressValueAndText(numFilesSearched, msgFound(searchTerm, numMatches, numFilesSearched, files.size()));
     }
     if (!future.isCanceled())
-        future.setProgressValueAndText(numFilesSearched,
-                                QApplication::translate("FileSearch", "%1: %2 occurrences found in %3 files.").
-                                arg(searchTerm).arg(numMatches).arg(numFilesSearched));
+        future.setProgressValueAndText(numFilesSearched, msgFound(searchTerm, numMatches, numFilesSearched));
 }
 
 } // namespace
diff --git a/src/libs/utils/qstringbuilder.cpp b/src/libs/utils/qstringbuilder.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..f3925e56b5e62bc0c81c554c17b68b67ff476ad9
--- /dev/null
+++ b/src/libs/utils/qstringbuilder.cpp
@@ -0,0 +1,131 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the $MODULE$ of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#include "qstringbuilder.h"
+
+/*!
+    \class QLatin1Literal
+    \reentrant
+
+    \brief The QLatin1Literal class provides a thin wrapper of string literal
+    used in source codes.
+
+    The main use of \c QLatin1Literal is in conjunction with \c QStringBuilder
+    to reduce the number of reallocations needed to build up a string from
+    smaller chunks.
+
+    Contrary to \c QLatin1String, a \c QLatin1Literal can retrieve its size
+    int \i{O(1)}.
+
+    \ingroup tools
+    \ingroup shared
+    \ingroup text
+    \mainclass
+
+    \sa QStringBuilder, QLatin1String, QString
+
+*/
+
+/*! \fn QLatin1Literal::QLatin1Literal(const char(&literal)[])
+ 
+    The only constructor of the class. 
+*/
+
+/*! \fn int QLatin1Literal::size() const
+ 
+    Returns the number of characters in the literal \i{not} including
+    the trailing NUL char.
+*/
+
+/*! \fn char *QLatin1Literal::size() const
+ 
+    Returns a pointer to the first character of the string literal.
+    The string literal is terminated by a NUL character.
+*/
+
+/*! \fn QLatin1Literal::operator QString() const
+ 
+    Converts the \c QLatin1Literal into a \c QString object.
+*/
+
+
+/*!
+    \class QStringBuilderPair
+    \reentrant
+
+    \brief QStringBuilderPair is a helper class template for building
+    QStringBuilder objects wrapping two smaller QStringBuilder object.
+*/
+
+
+/*!
+    \class QStringBuilder
+    \reentrant
+
+    \brief QStringBuilder is a template class providing a facility to build
+    up QStrings from smaller chunks.
+
+    \ingroup tools
+    \ingroup shared
+    \ingroup text
+    \mainclass
+
+    When creating strings from smaller chunks, typically \c QString::operator+()
+    is used, resulting \i{n - 1} reallocations when operating on \i{n} chunks.
+
+    QStringBuilder uses expression
+    templates to collect the individual parts, compute the total size,
+    allocate memory for the resulting QString object, and copy the contents
+    of the chunks into the result.
+
+    Using \c QStringBuilder::operator%() yield generally better performance then
+    using \c QString::operator+() on the same chunks if there are three or
+    more of them, and equal performance otherwise.
+
+    \sa QLatin1Literal, QString
+*/
+
+/* !fn template <class A, class B> QStringBuilder< QStringBuilderPair<A, B> > operator%(const A &a, const B &b)
+ 
+   Creates a helper object containing both parameters. 
+
+   This is the main function to build up 
+*/
diff --git a/src/libs/utils/qstringbuilder.h b/src/libs/utils/qstringbuilder.h
new file mode 100644
index 0000000000000000000000000000000000000000..d9a5d9132cfb7d79628fbe463cc7e8bea9a3fcaa
--- /dev/null
+++ b/src/libs/utils/qstringbuilder.h
@@ -0,0 +1,206 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+** This file is part of the $MODULE$ of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:LGPL$
+** Commercial Usage
+** Licensees holding valid Qt Commercial licenses may use this file in
+** accordance with the Qt Commercial License Agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and Nokia.
+**
+** GNU Lesser General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU Lesser
+** General Public License version 2.1 as published by the Free Software
+** Foundation and appearing in the file LICENSE.LGPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU Lesser General Public License version 2.1 requirements
+** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
+**
+** In addition, as a special exception, Nokia gives you certain
+** additional rights. These rights are described in the Nokia Qt LGPL
+** Exception version 1.0, included in the file LGPL_EXCEPTION.txt in this
+** package.
+**
+** GNU General Public License Usage
+** Alternatively, this file may be used under the terms of the GNU
+** General Public License version 3.0 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.  Please review the following information to
+** ensure the GNU General Public License version 3.0 requirements will be
+** met: http://www.gnu.org/copyleft/gpl.html.
+**
+** If you are unsure which license is appropriate for your use, please
+** contact the sales department at qt-sales@nokia.com.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+#ifndef QSTRINGBUILDER_H
+#define QSTRINGBUILDER_H
+
+#include <QtCore/qstring.h>
+
+#include <string.h>
+
+class QLatin1Literal
+{
+public:
+    template <int N>
+    QLatin1Literal(const char (&str)[N]) : m_size(N - 1), m_data(str) {}
+
+    int size() const { return m_size; }
+    const char *data() const { return m_data; }
+
+    void append(QChar *&out) const
+    {
+        const char *s = m_data;
+        for (int i = m_size; --i >= 0;)    
+            *out++ = *s++;
+    }
+
+    operator QString() const
+    {
+        QString s;
+        s.resize(m_size);
+        QChar *d = s.data();
+        append(d);
+        return s;
+    }
+
+private:
+    const int m_size;
+    const char *m_data;
+};
+
+template <class A>
+class QStringBuilder : public A
+{
+public:
+    QStringBuilder(A a_) : A(a_) {}
+
+    operator QString() const
+    {
+        QString s;
+        s.resize(this->size());
+        QChar *d = s.data();
+        this->append(d);
+        return s;
+    }
+
+};
+
+template <>
+class QStringBuilder<QString>
+{
+public:
+    QStringBuilder(const QString &a_) : a(&a_) {}
+
+    inline int size() const { return a->size(); }
+
+    inline void append(QChar *&out) const
+    {
+        const int n = a->size();
+        memcpy(out, (char*)a->constData(), sizeof(QChar) * n);
+        out += n; 
+    }
+
+    inline operator QString() const { return *a; }
+
+private:
+    const QString *a;
+};
+
+
+template <>
+class QStringBuilder<char>
+{
+public:
+    QStringBuilder(char c_) : c(c_) {}
+
+    inline int size() const { return 1; }
+    inline void append(QChar *&out) const { *out++ = QLatin1Char(c); }
+
+private:
+    const char c;
+};
+
+
+
+template <class A, class B>
+class QStringBuilderPair
+{
+public:
+    QStringBuilderPair(A a_, B b_) : a(a_), b(b_) {}
+    inline int size() const { return a.size() + b.size(); }
+    inline void append(QChar *&out) const { a.append(out); b.append(out); }
+private:
+    A a;
+    B b;
+};
+
+
+template <class A, class B>
+QStringBuilder< QStringBuilderPair<A, B> >
+operator%(const A &a, const B &b)
+{
+    return QStringBuilderPair<A, B> (a, b);
+}
+
+
+// QString related specializations
+
+template <class A>
+inline QStringBuilder< QStringBuilderPair<A, QStringBuilder<QString> > >
+operator%(const A &a, const QString &b)
+{
+    return QStringBuilderPair<A, QStringBuilder<QString> > (a, b);
+}
+
+template <class B>
+inline QStringBuilder< QStringBuilderPair<QStringBuilder<QString>, B> >
+operator%(const QString &a, const B &b)
+{
+    return QStringBuilderPair<QStringBuilder<QString>, B> (a, b);
+}
+
+inline QStringBuilder<
+    QStringBuilderPair<QStringBuilder<QString>, QStringBuilder<QString> >
+>
+operator%(const QString &a, const QString &b)
+{
+    return QStringBuilderPair< QStringBuilder<QString>,
+        QStringBuilder<QString> > (a, b);
+}
+
+// char related specializations
+
+template <class A>
+inline QStringBuilder< QStringBuilderPair<A, QStringBuilder<char> > >
+operator%(const A &a, char b)
+{
+    return QStringBuilderPair<A, QStringBuilder<char> > (a, b);
+}
+
+template <class B>
+inline QStringBuilder< QStringBuilderPair<QStringBuilder<char>, B> >
+operator%(char a, const B &b)
+{
+    return QStringBuilderPair<QStringBuilder<QString>, B> (a, b);
+}
+
+inline QStringBuilder<
+    QStringBuilderPair<QStringBuilder<QString>, QStringBuilder<char> >
+>
+operator%(const QString &a, char b)
+{
+    return QStringBuilderPair<
+               QStringBuilder<QString>, QStringBuilder<char>
+           > (a, b);
+}
+
+
+#endif // QSTRINGBUILDER_H
diff --git a/src/plugins/coreplugin/generalsettings.cpp b/src/plugins/coreplugin/generalsettings.cpp
index ff0f73f330275fc13e35e2a2d292e9e26cf555bc..f57931627b538ec44e345778a2626e2f7c6f0041 100644
--- a/src/plugins/coreplugin/generalsettings.cpp
+++ b/src/plugins/coreplugin/generalsettings.cpp
@@ -68,7 +68,7 @@ QString GeneralSettings::trCategory() const
 
 QWidget *GeneralSettings::createPage(QWidget *parent)
 {
-    m_page = new Ui_GeneralSettings();
+    m_page = new Ui::GeneralSettings();
     QWidget *w = new QWidget(parent);
     m_page->setupUi(w);
 
diff --git a/src/plugins/coreplugin/generalsettings.h b/src/plugins/coreplugin/generalsettings.h
index d75cd2d8a3938d805044b9ff149e4569d15aed03..aedef6d42060355ca20c9efc4859223ababa37bc 100644
--- a/src/plugins/coreplugin/generalsettings.h
+++ b/src/plugins/coreplugin/generalsettings.h
@@ -33,13 +33,13 @@
 #include <coreplugin/dialogs/ioptionspage.h>
 #include <QtGui/QWidget>
 
-QT_BEGIN_NAMESPACE
-class Ui_GeneralSettings;
-QT_END_NAMESPACE
-
 namespace Core {
 namespace Internal {
 
+namespace Ui {
+    class GeneralSettings;
+}
+
 class GeneralSettings : public IOptionsPage
 {
     Q_OBJECT
@@ -64,7 +64,7 @@ private slots:
 #endif
 
 private:
-    Ui_GeneralSettings *m_page;
+    Ui::GeneralSettings *m_page;
     QWidget *m_dialog;
 };
 
diff --git a/src/plugins/coreplugin/generalsettings.ui b/src/plugins/coreplugin/generalsettings.ui
index 826c45ae6bc0d32a0cf05a10d3e9d53abd84761a..84cdf1288150e2a92276c2739a09dc7787740b09 100644
--- a/src/plugins/coreplugin/generalsettings.ui
+++ b/src/plugins/coreplugin/generalsettings.ui
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <ui version="4.0">
- <class>GeneralSettings</class>
- <widget class="QWidget" name="GeneralSettings">
+ <class>Core::Internal::GeneralSettings</class>
+ <widget class="QWidget" name="Core::Internal::GeneralSettings">
   <property name="geometry">
    <rect>
     <x>0</x>
@@ -62,7 +62,7 @@
             <height>0</height>
            </size>
           </property>
-          <property name="alphaAllowed" stdset="0">
+          <property name="alphaAllowed">
            <bool>false</bool>
           </property>
          </widget>
diff --git a/src/plugins/coreplugin/ioutputpane.h b/src/plugins/coreplugin/ioutputpane.h
index e38e9fbe8b36269d1757d8d7041f5f14bea718e0..5a841011c9c00d96d9def197af1a44be890e394f 100644
--- a/src/plugins/coreplugin/ioutputpane.h
+++ b/src/plugins/coreplugin/ioutputpane.h
@@ -64,6 +64,12 @@ public:
     // Wheter the outputpane can be focused at the moment.
     // (E.g. the search result window doesn't want to be focussed if the are no results.)
     virtual bool canFocus() = 0;
+
+    virtual bool canNavigate() = 0;
+    virtual bool canNext() = 0;
+    virtual bool canPrevious() = 0;
+    virtual void goToNext() = 0;
+    virtual void goToPrev() = 0;
 public slots:
     void popup()
     {
@@ -89,10 +95,16 @@ public slots:
         emit togglePage(withFocusIfShown);
     }
 
+    void navigateStateChanged()
+    {
+        emit navigateStateUpdate();
+    }
+
 signals:
     void showPage(bool withFocus);
     void hidePage();
     void togglePage(bool withFocusIfShown);
+    void navigateStateUpdate();
 };
 
 } // namespace Core
diff --git a/src/plugins/coreplugin/messageoutputwindow.cpp b/src/plugins/coreplugin/messageoutputwindow.cpp
index 3fb450344506b7ed0590e051fff1197cfa8930e3..7fc733744b5cd112be67057641f5c8acad11d905 100644
--- a/src/plugins/coreplugin/messageoutputwindow.cpp
+++ b/src/plugins/coreplugin/messageoutputwindow.cpp
@@ -89,3 +89,28 @@ int MessageOutputWindow::priorityInStatusBar() const
 {
     return -1;
 }
+
+bool MessageOutputWindow::canNext()
+{
+    return false;
+}
+
+bool MessageOutputWindow::canPrevious()
+{
+    return false;
+}
+
+void MessageOutputWindow::goToNext()
+{
+
+}
+
+void MessageOutputWindow::goToPrev()
+{
+
+}
+
+bool MessageOutputWindow::canNavigate()
+{
+    return false;
+}
diff --git a/src/plugins/coreplugin/messageoutputwindow.h b/src/plugins/coreplugin/messageoutputwindow.h
index 70e1308e0dd577003f60dc6b08e768c690cfe6bf..821aa671420deb227323e3277dcf02c0a7f4df64 100644
--- a/src/plugins/coreplugin/messageoutputwindow.h
+++ b/src/plugins/coreplugin/messageoutputwindow.h
@@ -60,6 +60,12 @@ public:
     bool hasFocus();
     void setFocus();
 
+    virtual bool canNext();
+    virtual bool canPrevious();
+    virtual void goToNext();
+    virtual void goToPrev();
+    bool canNavigate();
+
 private:
     QTextEdit *m_widget;
 };
diff --git a/src/plugins/coreplugin/outputpane.cpp b/src/plugins/coreplugin/outputpane.cpp
index e141473162d12ad1ae0d9b88e2594617e5239ed4..92adb63e89d0915e85721cd799bc059178360c91 100644
--- a/src/plugins/coreplugin/outputpane.cpp
+++ b/src/plugins/coreplugin/outputpane.cpp
@@ -40,6 +40,8 @@
 
 #include <extensionsystem/pluginmanager.h>
 
+#include <QtCore/QDebug>
+
 #include <QtGui/QAction>
 #include <QtGui/QApplication>
 #include <QtGui/QComboBox>
@@ -159,6 +161,8 @@ OutputPaneManager::OutputPaneManager(QWidget *parent) :
     m_widgetComboBox(new QComboBox),
     m_clearButton(new QToolButton),
     m_closeButton(new QToolButton),
+    m_nextAction(0),
+    m_prevAction(0),
     m_closeAction(0),
     m_lastIndex(-1),
     m_outputWidgetPane(new QStackedWidget),
@@ -171,6 +175,18 @@ OutputPaneManager::OutputPaneManager(QWidget *parent) :
     m_clearButton->setToolTip(tr("Clear"));
     connect(m_clearButton, SIGNAL(clicked()), this, SLOT(clearPage()));
 
+    m_nextAction = new QAction(this);
+    m_nextAction->setIcon(QIcon(":/core/images/next.png"));
+    m_nextAction->setProperty("type", QLatin1String("dockbutton"));
+    m_nextAction->setText(tr("Next Item"));
+    connect(m_nextAction, SIGNAL(triggered()), this, SLOT(slotNext()));
+
+    m_prevAction = new QAction(this);
+    m_prevAction->setIcon(QIcon(":/core/images/prev.png"));
+    m_prevAction->setProperty("type", QLatin1String("dockbutton"));
+    m_prevAction->setText(tr("Previous Item"));
+    connect(m_prevAction, SIGNAL(triggered()), this, SLOT(slotPrev()));
+
     m_closeButton->setIcon(QIcon(":/core/images/closebutton.png"));
     m_closeButton->setProperty("type", QLatin1String("dockbutton"));
     connect(m_closeButton, SIGNAL(clicked()), this, SLOT(slotHide()));
@@ -178,12 +194,13 @@ OutputPaneManager::OutputPaneManager(QWidget *parent) :
     QVBoxLayout *mainlayout = new QVBoxLayout;
     mainlayout->setSpacing(0);
     mainlayout->setMargin(0);
-    QToolBar *toolBar = new QToolBar;
-    toolBar->addWidget(m_widgetComboBox);
-    toolBar->addWidget(m_clearButton);
-    toolBar->addWidget(m_opToolBarWidgets);
-    m_closeAction = toolBar->addWidget(m_closeButton);
-    mainlayout->addWidget(toolBar);
+    m_toolBar = new QToolBar;
+    m_toolBar->addWidget(m_widgetComboBox);
+    m_toolBar->addWidget(m_clearButton);
+
+    m_opToolBarAction =  m_toolBar->addWidget(m_opToolBarWidgets);
+    m_closeAction = m_toolBar->addWidget(m_closeButton);
+    mainlayout->addWidget(m_toolBar);
     mainlayout->addWidget(m_outputWidgetPane, 10);
     setLayout(mainlayout);
 
@@ -195,6 +212,7 @@ OutputPaneManager::OutputPaneManager(QWidget *parent) :
 #else
     m_buttonsWidget->layout()->setSpacing(4);
 #endif
+
 }
 
 OutputPaneManager::~OutputPaneManager()
@@ -216,11 +234,32 @@ void OutputPaneManager::init()
 {
     ActionManager *am = Core::ICore::instance()->actionManager();
     ActionContainer *mwindow = am->actionContainer(Constants::M_WINDOW);
+    QList<int> globalcontext;
+    globalcontext.append(Core::Constants::C_GLOBAL_ID);
 
     // Window->Output Panes
     ActionContainer *mpanes = am->createMenu(Constants::M_WINDOW_PANES);
     mwindow->addMenu(mpanes, Constants::G_WINDOW_PANES);
     mpanes->menu()->setTitle(tr("Output &Panes"));
+    mpanes->appendGroup("Coreplugin.OutputPane.ActionsGroup");
+    mpanes->appendGroup("Coreplugin.OutputPane.PanesGroup");
+
+    Core::Command *cmd;
+
+    cmd = am->registerAction(m_prevAction, "Coreplugin.OutputPane.previtem", globalcontext);
+    cmd->setDefaultKeySequence(QKeySequence("Shift+F6"));
+    m_toolBar->insertAction(m_opToolBarAction ,cmd->action());
+    mpanes->addAction(cmd, "Coreplugin.OutputPane.ActionsGroup");
+
+    cmd = am->registerAction(m_nextAction, "Coreplugin.OutputPane.nextitem", globalcontext);
+    m_toolBar->insertAction(m_opToolBarAction, cmd->action());
+    cmd->setDefaultKeySequence(QKeySequence("F6"));
+    mpanes->addAction(cmd, "Coreplugin.OutputPane.ActionsGroup");
+
+    QAction *sep = new QAction(this);
+    sep->setSeparator(true);
+    cmd = am->registerAction(sep, QLatin1String("Coreplugin.OutputPane.Sep"), globalcontext);
+    mpanes->addAction(cmd, "Coreplugin.OutputPane.ActionsGroup");
 
     QList<IOutputPane*> panes = ExtensionSystem::PluginManager::instance()
         ->getObjects<IOutputPane>();
@@ -241,6 +280,7 @@ void OutputPaneManager::init()
         connect(outPane, SIGNAL(showPage(bool)), this, SLOT(showPage(bool)));
         connect(outPane, SIGNAL(hidePage()), this, SLOT(slotHide()));
         connect(outPane, SIGNAL(togglePage(bool)), this, SLOT(togglePage(bool)));
+        connect(outPane, SIGNAL(navigateStateUpdate()), this, SLOT(updateNavigateState()));
 
         QWidget *toolButtonsContainer = new QWidget(m_opToolBarWidgets);
         QHBoxLayout *toolButtonsLayout = new QHBoxLayout;
@@ -265,7 +305,7 @@ void OutputPaneManager::init()
             cmd->setDefaultKeySequence(QKeySequence(paneShortCut(Qt::ALT, shortcutNumber)));
 #endif
         }
-        mpanes->addAction(cmd);
+        mpanes->addAction(cmd, "Coreplugin.OutputPane.PanesGroup");
         m_actions.insert(cmd->action(), idx);
 
         // TODO priority -1
@@ -343,6 +383,24 @@ void OutputPaneManager::updateToolTip()
     }
 }
 
+void OutputPaneManager::slotNext()
+{
+    int idx = m_widgetComboBox->itemData(m_widgetComboBox->currentIndex()).toInt();
+    ensurePageVisible(idx);
+    IOutputPane *out = m_pageMap.value(idx);
+    if (out->canNext())
+        out->goToNext();
+}
+
+void OutputPaneManager::slotPrev()
+{
+    int idx = m_widgetComboBox->itemData(m_widgetComboBox->currentIndex()).toInt();
+    ensurePageVisible(idx);
+    IOutputPane *out = m_pageMap.value(idx);
+    if (out->canPrevious())
+        out->goToPrev();
+}
+
 void OutputPaneManager::slotHide()
 {
     if (OutputPanePlaceHolder::m_current) {
@@ -384,6 +442,16 @@ void OutputPaneManager::ensurePageVisible(int idx)
     }
 }
 
+void OutputPaneManager::updateNavigateState()
+{
+    IOutputPane* pane = qobject_cast<IOutputPane*>(sender());
+    int idx = findIndexForPage(pane);
+    if (m_widgetComboBox->itemData(m_widgetComboBox->currentIndex()).toInt() == idx) {
+        m_prevAction->setEnabled(pane->canNavigate() && pane->canPrevious());
+        m_nextAction->setEnabled(pane->canNavigate() && pane->canNext());
+    }
+}
+
 // Slot connected to showPage signal of each page
 void OutputPaneManager::showPage(bool focus)
 {
@@ -457,11 +525,17 @@ void OutputPaneManager::changePage()
     }
 
     int idx = m_widgetComboBox->itemData(m_widgetComboBox->currentIndex()).toInt();
+    if (m_lastIndex == idx)
+        return;
     m_outputWidgetPane->setCurrentIndex(idx);
     m_opToolBarWidgets->setCurrentIndex(idx);
     m_pageMap.value(idx)->visibilityChanged(true);
     m_pageMap.value(m_lastIndex)->visibilityChanged(false);
 
+    bool canNavigate = m_pageMap.value(idx)->canNavigate();
+    m_prevAction->setEnabled(canNavigate && m_pageMap.value(idx)->canPrevious());
+    m_nextAction->setEnabled(canNavigate && m_pageMap.value(idx)->canNext());
+
     if (m_buttons.value(m_lastIndex))
         m_buttons.value(m_lastIndex)->setChecked(false);
 
diff --git a/src/plugins/coreplugin/outputpane.h b/src/plugins/coreplugin/outputpane.h
index 86dccdcdb5a402fa765ddd8c66a99ae4ad7777b6..9fbbf780c6b1c60dc6a549262c620655f990e942 100644
--- a/src/plugins/coreplugin/outputpane.h
+++ b/src/plugins/coreplugin/outputpane.h
@@ -39,6 +39,7 @@ QT_BEGIN_NAMESPACE
 class QAction;
 class QComboBox;
 class QToolButton;
+class QToolBar;
 class QStackedWidget;
 class QPushButton;
 QT_END_NAMESPACE
@@ -89,6 +90,8 @@ public:
 
 public slots:
     void slotHide();
+    void slotNext();
+    void slotPrev();
     void shortcutTriggered();
 
 protected:
@@ -101,6 +104,7 @@ private slots:
     void clearPage();
     void updateToolTip();
     void buttonTriggered();
+    void updateNavigateState();
 
 private:
     // the only class that is allowed to create and destroy
@@ -118,13 +122,18 @@ private:
     QComboBox *m_widgetComboBox;
     QToolButton *m_clearButton;
     QToolButton *m_closeButton;
+
+    QAction *m_nextAction;
+    QAction *m_prevAction;
     QAction *m_closeAction;
+    QToolBar *m_toolBar;
 
     QMap<int, Core::IOutputPane*> m_pageMap;
     int m_lastIndex;
 
     QStackedWidget *m_outputWidgetPane;
     QStackedWidget *m_opToolBarWidgets;
+    QAction *m_opToolBarAction;
     QWidget *m_buttonsWidget;
     QMap<int, QPushButton *> m_buttons;
     QMap<QAction *, int> m_actions;
diff --git a/src/plugins/coreplugin/welcomemode.cpp b/src/plugins/coreplugin/welcomemode.cpp
index ee85691c4252c84144e8f93be4a26d4dedf04b85..59bd555e7e92a9d6a9ca615ceb12901b46331a18 100644
--- a/src/plugins/coreplugin/welcomemode.cpp
+++ b/src/plugins/coreplugin/welcomemode.cpp
@@ -120,7 +120,7 @@ WelcomeMode::~WelcomeMode()
 
 QString WelcomeMode::name() const
 {
-    return QLatin1String("Welcome");
+    return tr("Welcome");
 }
 
 QIcon WelcomeMode::icon() const
diff --git a/src/plugins/debugger/cdb/cdbcom.h b/src/plugins/debugger/cdb/cdbcom.h
index 8a631e3f1fc1da4b510ba008f7ec0fa23b9a3f42..19208710a9f4c687a3a8f63d2644199ef2635ff1 100644
--- a/src/plugins/debugger/cdb/cdbcom.h
+++ b/src/plugins/debugger/cdb/cdbcom.h
@@ -43,4 +43,5 @@ typedef IDebugDataSpaces4      CIDebugDataSpaces;
 
 typedef IDebugSymbolGroup2     CIDebugSymbolGroup;
 typedef IDebugBreakpoint2      CIDebugBreakpoint;
+
 #endif // CDBCOM_H
diff --git a/src/plugins/debugger/cdb/cdbdumperhelper.h b/src/plugins/debugger/cdb/cdbdumperhelper.h
index b9ec2bccccbbf8248a94e833bc5a30b3b9e8cf18..9500d4d4e01c10e046535badfec348d73aed717b 100644
--- a/src/plugins/debugger/cdb/cdbdumperhelper.h
+++ b/src/plugins/debugger/cdb/cdbdumperhelper.h
@@ -32,6 +32,7 @@
 
 #include "watchutils.h"
 #include "cdbcom.h"
+
 #include <QtCore/QStringList>
 #include <QtCore/QMap>
 
@@ -42,8 +43,7 @@ struct CdbComInterfaces;
 class IDebuggerManagerAccessForEngines;
 class DebuggerManager;
 
-/* For code clarity, all the stuff related to custom dumpers
- * goes here.
+/* For code clarity, all the stuff related to custom dumpers goes here.
  * "Custom dumper" is a library compiled against the current
  * Qt containing functions to evaluate values of Qt classes
  * (such as QString, taking pointers to their addresses).
diff --git a/src/plugins/debugger/cdb/cdboptions.cpp b/src/plugins/debugger/cdb/cdboptions.cpp
index b26053beee85e7bee742752fb79a10d36a1a5aaa..1740c3a6d7b91ef077d4eed83713e95c63a062e0 100644
--- a/src/plugins/debugger/cdb/cdboptions.cpp
+++ b/src/plugins/debugger/cdb/cdboptions.cpp
@@ -28,6 +28,7 @@
 **************************************************************************/
 
 #include "cdboptions.h"
+
 #include <QtCore/QSettings>
 #include <QtCore/QDir>
 #include <QtCore/QFileInfo>
diff --git a/src/plugins/debugger/cdb/cdbstacktracecontext.h b/src/plugins/debugger/cdb/cdbstacktracecontext.h
index 98e509ad982e99c500342f7ee9332b8add8936ac..b5e041d2c2f1f2b0fa21806aa3d41738148bd1b4 100644
--- a/src/plugins/debugger/cdb/cdbstacktracecontext.h
+++ b/src/plugins/debugger/cdb/cdbstacktracecontext.h
@@ -73,7 +73,7 @@ public:
     // Top-Level instruction offset for disassembler
     ULONG64 instructionOffset() const { return m_instructionOffset; }
 
-    CdbStackFrameContext*frameContextAt(int index, QString *errorMessage);
+    CdbStackFrameContext *frameContextAt(int index, QString *errorMessage);
 
     // Format for logging
     void format(QTextStream &str) const;
diff --git a/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp b/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp
index 7daba56a587ca91624b298569e391fb6ba727360..47035c5ec4df3d6d2d6834d854017b6ce8f80bdd 100644
--- a/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp
+++ b/src/plugins/debugger/cdb/cdbsymbolgroupcontext.cpp
@@ -31,6 +31,7 @@
 #include "cdbdebugengine_p.h"
 #include "watchhandler.h"
 #include "watchutils.h"
+
 #include <QtCore/QTextStream>
 
 enum { debug = 0 };
@@ -40,7 +41,10 @@ static inline QString msgSymbolNotFound(const QString &s)
     return QString::fromLatin1("The symbol '%1' could not be found.").arg(s);
 }
 
-static inline bool isTopLevelSymbol(const DEBUG_SYMBOL_PARAMETERS &p) { return p.ParentSymbol == DEBUG_ANY_ID; }
+static inline bool isTopLevelSymbol(const DEBUG_SYMBOL_PARAMETERS &p)
+{
+    return p.ParentSymbol == DEBUG_ANY_ID;
+}
 
 static inline void debugSymbolFlags(unsigned long f, QTextStream &str)
 {
diff --git a/src/plugins/debugger/cdb/cdbsymbolgroupcontext.h b/src/plugins/debugger/cdb/cdbsymbolgroupcontext.h
index 033252e387c989ac561d01073c95a1a38575d26c..ea992e546cfa898093eec84bd3563f0cd5f1d27f 100644
--- a/src/plugins/debugger/cdb/cdbsymbolgroupcontext.h
+++ b/src/plugins/debugger/cdb/cdbsymbolgroupcontext.h
@@ -130,7 +130,8 @@ private:
 };
 
 // Helper to a sequence of  WatchData into a list.
-class WatchDataBackInserter {
+class WatchDataBackInserter
+{
 public:
     explicit WatchDataBackInserter(QList<WatchData> &wh) : m_wh(wh) {}
 
diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp
index 04966d4023daa58e959e19a8ef47d8249c5bc136..d391907adca77a109bdabbce9d738669d884905d 100644
--- a/src/plugins/debugger/gdbengine.cpp
+++ b/src/plugins/debugger/gdbengine.cpp
@@ -3047,11 +3047,10 @@ void GdbEngine::runDebuggingHelper(const WatchData &data0, bool dumpChildren)
     //int protocol = isDisplayedIName(data.iname) ? 3 : 2;
 
     QString addr;
-    if (data.addr.startsWith(QLatin1String("0x"))) {
+    if (data.addr.startsWith(QLatin1String("0x")))
         addr = QLatin1String("(void*)") + data.addr;
-    } else {
+    else
         addr = QLatin1String("&(") + data.exp + QLatin1Char(')');
-    }
 
     sendWatchParameters(params);
 
diff --git a/src/plugins/debugger/scriptengine.cpp b/src/plugins/debugger/scriptengine.cpp
index a0feae918268afa79ab2636700184907e70842d9..76451774c71a42a731536538270645c174f081a9 100644
--- a/src/plugins/debugger/scriptengine.cpp
+++ b/src/plugins/debugger/scriptengine.cpp
@@ -38,6 +38,7 @@
 #include "registerhandler.h"
 #include "stackhandler.h"
 #include "watchhandler.h"
+#include "watchutils.h"
 #include "moduleshandler.h"
 
 #include <utils/qtcassert.h>
@@ -422,28 +423,6 @@ static WatchData m_toolTip;
 static QPoint m_toolTipPos;
 static QHash<QString, WatchData> m_toolTipCache;
 
-static bool hasLetterOrNumber(const QString &exp)
-{
-    for (int i = exp.size(); --i >= 0; )
-        if (exp[i].isLetterOrNumber())
-            return true;
-    return false;
-}
-
-static bool hasSideEffects(const QString &exp)
-{
-    // FIXME: complete?
-    return exp.contains("-=")
-        || exp.contains("+=")
-        || exp.contains("/=")
-        || exp.contains("*=")
-        || exp.contains("&=")
-        || exp.contains("|=")
-        || exp.contains("^=")
-        || exp.contains("--")
-        || exp.contains("++");
-}
-
 void ScriptEngine::setToolTipExpression(const QPoint &pos, const QString &exp0)
 {
     Q_UNUSED(pos);
diff --git a/src/plugins/debugger/watchutils.cpp b/src/plugins/debugger/watchutils.cpp
index c77fc0a5b39ecb030f35dff62ee2c28b30211233..5be973677e19338d6fe9360b8768f6d773005b72 100644
--- a/src/plugins/debugger/watchutils.cpp
+++ b/src/plugins/debugger/watchutils.cpp
@@ -166,8 +166,10 @@ bool isPointerType(const QString &type)
 
 bool isAccessSpecifier(const QString &str)
 {
-    static const QStringList items =
-        QStringList() << QLatin1String("private") << QLatin1String("protected") << QLatin1String("public");
+    static const QStringList items = QStringList()
+        << QLatin1String("private")
+        << QLatin1String("protected")
+        << QLatin1String("public");
     return items.contains(str);
 }
 
@@ -326,28 +328,28 @@ static QString quoteUnprintableLatin1(const QByteArray &ba)
     return res;
 }
 
-QString decodeData(const QByteArray &baIn, int encoding)
+QString decodeData(const QByteArray &ba, int encoding)
 {
     switch (encoding) {
         case 0: // unencoded 8 bit data
-            return quoteUnprintableLatin1(baIn);
+            return quoteUnprintableLatin1(ba);
         case 1: { //  base64 encoded 8 bit data, used for QByteArray
             const QChar doubleQuote(QLatin1Char('"'));
             QString rc = doubleQuote;
-            rc += quoteUnprintableLatin1(QByteArray::fromBase64(baIn));
+            rc += quoteUnprintableLatin1(QByteArray::fromBase64(ba));
             rc += doubleQuote;
             return rc;
         }
         case 2: { //  base64 encoded 16 bit data, used for QString
             const QChar doubleQuote(QLatin1Char('"'));
-            const QByteArray ba = QByteArray::fromBase64(baIn);
+            const QByteArray ba = QByteArray::fromBase64(ba);
             QString rc = doubleQuote;
             rc += QString::fromUtf16(reinterpret_cast<const ushort *>(ba.data()), ba.size() / 2);
             rc += doubleQuote;
             return rc;
         }
         case 3: { //  base64 encoded 32 bit data
-            const QByteArray ba = QByteArray::fromBase64(baIn);
+            const QByteArray ba = QByteArray::fromBase64(ba);
             const QChar doubleQuote(QLatin1Char('"'));
             QString rc = doubleQuote;
             rc += QString::fromUcs4(reinterpret_cast<const uint *>(ba.data()), ba.size() / 4);
@@ -355,7 +357,7 @@ QString decodeData(const QByteArray &baIn, int encoding)
             return rc;
         }
         case 4: { //  base64 encoded 16 bit data, without quotes (see 2)
-            const QByteArray ba = QByteArray::fromBase64(baIn);
+            const QByteArray ba = QByteArray::fromBase64(ba);
             return QString::fromUtf16(reinterpret_cast<const ushort *>(ba.data()), ba.size() / 2);
         }
     }
@@ -374,7 +376,6 @@ QtDumperResult::QtDumperResult() :
     valuedisabled(false),
     childCount(0),
     internal(false)
-
 {
 }
 
@@ -598,7 +599,6 @@ QtDumperHelper::Type QtDumperHelper::specialType(QString s)
     return UnknownType;
 }
 
-
 bool QtDumperHelper::needsExpressionSyntax(Type t)
 {
     switch (t) {
@@ -614,7 +614,7 @@ bool QtDumperHelper::needsExpressionSyntax(Type t)
             return true;
         default:
             break;
-        }
+    }
     return false;
 }
 
@@ -652,9 +652,8 @@ void QtDumperHelper::parseQueryTypes(const QStringList &l, Debugger debugger)
         const Type t = specialType(l.at(i));
         if (t != UnknownType) {
             // Exclude types that require expression syntax for CDB
-            if (debugger == GdbDebugger || !needsExpressionSyntax(t)) {
+            if (debugger == GdbDebugger || !needsExpressionSyntax(t))
                 m_nameTypeMap.insert(l.at(i), t);
-            }
         } else {
             m_nameTypeMap.insert(l.at(i), SupportedType);
         }
@@ -668,7 +667,8 @@ void QtDumperHelper::parseQueryTypes(const QStringList &l, Debugger debugger)
  * value="dABoAHIAZQBlAA==",valueencoded="2"}]"
  * Default implementation can be used for debugging purposes. */
 
-class DumperParser {
+class DumperParser
+{
 public:
     explicit DumperParser(const char *s) : m_s(s) {}
     bool run();
@@ -1182,11 +1182,13 @@ void QtDumperHelper::evaluationParameters(const WatchData &data,
 
 /* Parse value:
  * "iname="local.sl",addr="0x0012BA84",value="<3 items>",valuedisabled="true",
- * numchild="3",childtype="QString",childnumchild="0",children=[{name="0",value="<binhex>",
- * valueencoded="2"},{name="1",value="dAB3AG8A",valueencoded="2"},{name="2",
- * value="dABoAHIAZQBlAA==",valueencoded="2"}]" */
+ * numchild="3",childtype="QString",childnumchild="0",
+ * children=[{name="0",value="<binhex>",valueencoded="2"},
+ * {name="1",value="dAB3AG8A",valueencoded="2"},
+ * {name="2",value="dABoAHIAZQBlAA==",valueencoded="2"}]" */
 
-class ValueDumperParser : public DumperParser {
+class ValueDumperParser : public DumperParser
+{
 public:
     explicit ValueDumperParser(const char *s);
 
diff --git a/src/plugins/debugger/watchutils.h b/src/plugins/debugger/watchutils.h
index e316973ca13f0a5c07e955cec53cbbf6796ece76..47f73a8bb79cf8e1fbf418887c961d1d782bb0bf 100644
--- a/src/plugins/debugger/watchutils.h
+++ b/src/plugins/debugger/watchutils.h
@@ -114,7 +114,8 @@ QDebug operator<<(QDebug in, const QtDumperResult &d);
  * 2) Evaluate symbol, taking address and some additional parameters
  *    depending on type. */
 
-class QtDumperHelper {
+class QtDumperHelper
+{
 public:
     enum Debugger {
         GdbDebugger,  // Can evalulate expressions in function calls
@@ -127,7 +128,7 @@ public:
         // Below types require special handling
         QObjectType, QWidgetType, QObjectSlotType, QObjectSignalType,
         QVectorType, QMapType, QMultiMapType, QMapNodeType,
-        StdVectorType, StdDequeType, StdSetType,StdMapType, StdStackType,
+        StdVectorType, StdDequeType, StdSetType, StdMapType, StdStackType,
         StdStringType
     };
 
@@ -203,6 +204,7 @@ private:
 };
 
 QDebug operator<<(QDebug in, const QtDumperHelper::TypeData &d);
+
 } // namespace Internal
 } // namespace Debugger
 
diff --git a/src/plugins/debugger/win/dbgwinutils.cpp b/src/plugins/debugger/win/dbgwinutils.cpp
index 2145f001ad22eb2fb6964c872744168d7530f574..9ef66aa1ad9fac437159631b655002d90fc6a501 100644
--- a/src/plugins/debugger/win/dbgwinutils.cpp
+++ b/src/plugins/debugger/win/dbgwinutils.cpp
@@ -34,6 +34,7 @@
 #ifdef USE_PSAPI
 #  include <psapi.h>
 #endif
+
 namespace Debugger {
 namespace Internal {
    
@@ -75,5 +76,5 @@ QList<ProcData> winProcessList()
     return rc;
 }
 
-}
-}
+} // namespace Internal
+} // namespace Debugger
diff --git a/src/plugins/debugger/win/dbgwinutils.h b/src/plugins/debugger/win/dbgwinutils.h
index 1045e822b420396458ea1d3747f6b716421c1378..af16913a8ed33a87468c34a3971b1af543fb172a 100644
--- a/src/plugins/debugger/win/dbgwinutils.h
+++ b/src/plugins/debugger/win/dbgwinutils.h
@@ -27,8 +27,8 @@
 **
 **************************************************************************/
 
-#ifndef _DBG_WINDUTILS_H
-#define _DBG_WINDUTILS_H
+#ifndef DEBUGGER_DBG_WINUTILS_H
+#define DEBUGGER_DBG_WINUTILS_H
 
 #include <QtCore/QList>
 
@@ -39,6 +39,7 @@ struct ProcData; // debuggerdialogs, used by the process listing dialogs
 
 QList<ProcData> winProcessList();
 
-}
-}
-#endif
+} // namespace Internal
+} // namespace Debugger
+
+#endif // DEBUGGER_DBG_WINUTILS_H
diff --git a/src/plugins/debugger/win/peutils.cpp b/src/plugins/debugger/win/peutils.cpp
index 23cabb8bc3bf0a3b04032ee4742e96ebe058a94b..084e511f4688a19878af5a470d53cde01885f157 100644
--- a/src/plugins/debugger/win/peutils.cpp
+++ b/src/plugins/debugger/win/peutils.cpp
@@ -40,7 +40,7 @@ using Core::Utils::winErrorMessage;
 // a memory mapped file
 
 template <class Ptr>
-        inline Ptr *makePtr(void *base, ptrdiff_t offset)
+inline Ptr *makePtr(void *base, ptrdiff_t offset)
 {
     return reinterpret_cast<Ptr*>(static_cast<char*>(base) + offset);
 }
@@ -275,5 +275,5 @@ bool getPDBFiles(const QString &peExecutableFileName, QStringList *rc, QString *
     return success;
 }
 
-}
-}
+} // namespace Internal
+} // namespace Debugger
diff --git a/src/plugins/debugger/win/peutils.h b/src/plugins/debugger/win/peutils.h
index c9885991be903527b0052dfd07fa4c3304dae017..7b4b0061fc9008da733298eb0073390a5c53e8af 100644
--- a/src/plugins/debugger/win/peutils.h
+++ b/src/plugins/debugger/win/peutils.h
@@ -27,8 +27,8 @@
 **
 **************************************************************************/
 
-#ifndef PEUTILS_H
-#define PEUTILS_H
+#ifndef DEBUGGER_PEUTILS_H
+#define DEBUGGER_PEUTILS_H
 
 #include <QtCore/qnamespace.h>
 
@@ -45,7 +45,7 @@ namespace Internal {
 // Return a list of Program-Database (*.pdb) files a PE executable refers to. */
 bool getPDBFiles(const QString &peExecutableFileName, QStringList *rc, QString *errorMessage);
 
-}
-}
+} // namespace Internal 
+} // namespace Debugger
 
-#endif // PEUTILS_H
+#endif // DEBUGGER_PEUTILS_H
diff --git a/src/plugins/find/searchresulttreemodel.cpp b/src/plugins/find/searchresulttreemodel.cpp
index 68beb2afb8f3ace34b4a9fa0fbd5f25ae9d03962..0afd1fa459ee7a9914eccf1458c8ff810f48d5c0 100644
--- a/src/plugins/find/searchresulttreemodel.cpp
+++ b/src/plugins/find/searchresulttreemodel.cpp
@@ -255,3 +255,61 @@ void SearchResultTreeModel::clear()
     m_rootItem->clearChildren();
     reset();
 }
+
+QModelIndex SearchResultTreeModel::next(const QModelIndex &idx) const
+{
+    QModelIndex parent = idx.parent();
+    if (parent.isValid()) {
+        int row = idx.row();
+        if (row + 1 < rowCount(parent)) {
+            // Same parent
+            return index(row + 1, 0, parent);
+        } else {
+            // Next parent
+            int parentRow = parent.row();
+            QModelIndex nextParent;
+            if (parentRow + 1 < rowCount()) {
+                nextParent = index(parentRow + 1, 0);
+            } else {
+                // Wrap around
+                nextParent = index(0,0);
+            }
+            return nextParent.child(0, 0);
+        }
+    } else {
+        // We are on a top level item
+        return idx.child(0,0);
+    }
+    return QModelIndex();
+}
+
+QModelIndex SearchResultTreeModel::prev(const QModelIndex &idx) const
+{
+    QModelIndex parent = idx.parent();
+    if (parent.isValid()) {
+        int row = idx.row();
+        if (row  > 0) {
+            // Same parent
+            return index(row - 1, 0, parent);
+        } else {
+            // Prev parent
+            int parentRow = parent.row();
+            QModelIndex prevParent;
+            if (parentRow > 0 ) {
+                prevParent = index(parentRow - 1, 0);
+            } else {
+                // Wrap around
+                prevParent = index(rowCount() - 1, 0);
+            }
+            return prevParent.child(rowCount(prevParent) - 1, 0);
+        }
+    } else {
+        // We are on a top level item
+        int row = idx.row();
+        if (row > 0) {
+            QModelIndex prevParent = index(row - 1, 0);
+            return prevParent.child(rowCount(prevParent) ,0);
+        }
+    }
+    return QModelIndex();
+}
diff --git a/src/plugins/find/searchresulttreemodel.h b/src/plugins/find/searchresulttreemodel.h
index b4036c0e7b64b91525292d328399100af3ab3957..dacbf9e6b425a59b76e3e383355d287246c26e19 100644
--- a/src/plugins/find/searchresulttreemodel.h
+++ b/src/plugins/find/searchresulttreemodel.h
@@ -57,6 +57,9 @@ public:
     QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const;
     QVariant headerData(int section, Qt::Orientation orientation, int role) const;
 
+    QModelIndex next(const QModelIndex &idx) const;
+    QModelIndex prev(const QModelIndex &idx) const;
+
 signals:
     void jumpToSearchResult(const QString &fileName, int lineNumber,
                             int searchTermStart, int searchTermLength);
diff --git a/src/plugins/find/searchresulttreeview.cpp b/src/plugins/find/searchresulttreeview.cpp
index b12e3f15885a0f33c8f5833132eb9b2ed7dcaf4e..7b5cc6ca35d44e0eb7e3c315c2901a3fce0631a8 100644
--- a/src/plugins/find/searchresulttreeview.cpp
+++ b/src/plugins/find/searchresulttreeview.cpp
@@ -99,3 +99,8 @@ void SearchResultTreeView::keyPressEvent(QKeyEvent *e)
     }
     QTreeView::keyPressEvent(e);
 }
+
+SearchResultTreeModel *SearchResultTreeView::model() const
+{
+    return m_model;
+}
diff --git a/src/plugins/find/searchresulttreeview.h b/src/plugins/find/searchresulttreeview.h
index 1fcf03599f4d148b2ebe414da3f02d5e45afc1e9..37d137e81581dc9d621da5f3a9c95795b3a0b941 100644
--- a/src/plugins/find/searchresulttreeview.h
+++ b/src/plugins/find/searchresulttreeview.h
@@ -48,6 +48,8 @@ public:
     void setAutoExpandResults(bool expand);
     void setTextEditorFont(const QFont &font);
 
+    SearchResultTreeModel *model() const;
+
 signals:
     void jumpToSearchResult(int index, const QString &fileName, int lineNumber,
                             int searchTermStart, int searchTermLength);
@@ -56,8 +58,6 @@ public slots:
     void clear();
     void appendResultLine(int index, const QString &fileName, int lineNumber, const QString &lineText,
                           int searchTermStart, int searchTermLength);
-
-private slots:
     void emitJumpToSearchResult(const QModelIndex &index);
 
 protected:
diff --git a/src/plugins/find/searchresultwindow.cpp b/src/plugins/find/searchresultwindow.cpp
index 19c252a417792f8054bd6c7eda754a37f6ea32fe..334bb862d9ceaa1d81a3c64d84483b7b916273ea 100644
--- a/src/plugins/find/searchresultwindow.cpp
+++ b/src/plugins/find/searchresultwindow.cpp
@@ -35,6 +35,7 @@
 #include <QtCore/QFile>
 #include <QtCore/QTextStream>
 #include <QtCore/QSettings>
+#include <QtCore/QDebug>
 #include <QtGui/QListWidget>
 #include <QtGui/QToolButton>
 
@@ -102,6 +103,7 @@ void SearchResultWindow::clearContents()
     m_searchResultTreeView->clear();
     qDeleteAll(m_items);
     m_items.clear();
+    navigateStateChanged();
 }
 
 void SearchResultWindow::showNoMatchesFound()
@@ -160,8 +162,8 @@ ResultWindowItem *SearchResultWindow::addResult(const QString &fileName, int lin
         // We didn't have an item before, set the focus to the m_searchResultTreeView
         m_searchResultTreeView->setFocus();
         m_searchResultTreeView->selectionModel()->select(m_searchResultTreeView->model()->index(0, 0, QModelIndex()), QItemSelectionModel::Select);
+        emit navigateStateChanged();
     }
-
     return item;
 }
 
@@ -198,3 +200,39 @@ int SearchResultWindow::priorityInStatusBar() const
 {
     return 80;
 }
+
+bool SearchResultWindow::canNext()
+{
+    return m_searchResultTreeView->model()->rowCount();
+}
+
+bool SearchResultWindow::canPrevious()
+{
+    return m_searchResultTreeView->model()->rowCount();
+}
+
+void SearchResultWindow::goToNext()
+{
+    if (!m_searchResultTreeView->model()->rowCount())
+        return;
+    QModelIndex idx = m_searchResultTreeView->model()->next(m_searchResultTreeView->currentIndex());
+    if (idx.isValid()) {
+        m_searchResultTreeView->setCurrentIndex(idx);
+        m_searchResultTreeView->emitJumpToSearchResult(idx);
+    }
+}
+void SearchResultWindow::goToPrev()
+{
+    if (!m_searchResultTreeView->model()->rowCount())
+        return;
+    QModelIndex idx = m_searchResultTreeView->model()->prev(m_searchResultTreeView->currentIndex());
+    if (idx.isValid()) {
+        m_searchResultTreeView->setCurrentIndex(idx);
+        m_searchResultTreeView->emitJumpToSearchResult(idx);
+    }
+}
+
+bool SearchResultWindow::canNavigate()
+{
+    return true;
+}
diff --git a/src/plugins/find/searchresultwindow.h b/src/plugins/find/searchresultwindow.h
index da371971cf795910ca7880f139381461512ed3bc..83d4c9f3b1f699f9881f9d4ed70f5506445ff904 100644
--- a/src/plugins/find/searchresultwindow.h
+++ b/src/plugins/find/searchresultwindow.h
@@ -75,6 +75,12 @@ public:
     bool canFocus();
     void setFocus();
 
+    bool canNext();
+    bool canPrevious();
+    void goToNext();
+    void goToPrev();
+    bool canNavigate();
+
     void setTextEditorFont(const QFont &font);
 
 public slots:
diff --git a/src/plugins/git/gitoutputwindow.cpp b/src/plugins/git/gitoutputwindow.cpp
index 6985b64baeb3d71ca11b7429ef4ea7ee34370802..369df74fcac3c14c22c9ab1669a114644f48e86b 100644
--- a/src/plugins/git/gitoutputwindow.cpp
+++ b/src/plugins/git/gitoutputwindow.cpp
@@ -117,3 +117,27 @@ int GitOutputWindow::priorityInStatusBar() const
 {
     return -1;
 }
+
+bool GitOutputWindow::canNext()
+{
+    return false;
+}
+
+bool GitOutputWindow::canPrevious()
+{
+    return false;
+}
+
+void GitOutputWindow::goToNext()
+{
+}
+
+void GitOutputWindow::goToPrev()
+{
+
+}
+
+bool GitOutputWindow::canNavigate()
+{
+    return false;
+}
diff --git a/src/plugins/git/gitoutputwindow.h b/src/plugins/git/gitoutputwindow.h
index 8ada72c16be3b3f178d5893ed01118051215b138..81eff4fe66be8d05633edf348ea7880a85e7364d 100644
--- a/src/plugins/git/gitoutputwindow.h
+++ b/src/plugins/git/gitoutputwindow.h
@@ -59,6 +59,12 @@ public:
     bool hasFocus();
     void setFocus();
 
+    bool canNext();
+    bool canPrevious();
+    void goToNext();
+    void goToPrev();
+    bool canNavigate();
+
 public slots:
     void setText(const QString &text);
     void append(const QString &text);
diff --git a/src/plugins/perforce/perforceoutputwindow.cpp b/src/plugins/perforce/perforceoutputwindow.cpp
index 0ed35c401c77c711520d79f7a745cce4ecf1d459..93cdc5442c9a8074b292f5ccaf2c3ae461980498 100644
--- a/src/plugins/perforce/perforceoutputwindow.cpp
+++ b/src/plugins/perforce/perforceoutputwindow.cpp
@@ -159,3 +159,28 @@ int PerforceOutputWindow::priorityInStatusBar() const
 {
     return -1;
 }
+
+bool PerforceOutputWindow::canNext()
+{
+    return false;
+}
+
+bool PerforceOutputWindow::canPrevious()
+{
+    return false;
+}
+
+void PerforceOutputWindow::goToNext()
+{
+
+}
+
+void PerforceOutputWindow::goToPrev()
+{
+
+}
+
+bool PerforceOutputWindow::canNavigate()
+{
+    return false;
+}
diff --git a/src/plugins/perforce/perforceoutputwindow.h b/src/plugins/perforce/perforceoutputwindow.h
index d88d5b57789648a532cadf3b2c463938c66c5566..da17a5d3f6d4bd598f0cc429d74a2cdf77326d57 100644
--- a/src/plugins/perforce/perforceoutputwindow.h
+++ b/src/plugins/perforce/perforceoutputwindow.h
@@ -61,6 +61,12 @@ public:
     bool hasFocus();
     void setFocus();
 
+    bool canNext();
+    bool canPrevious();
+    void goToNext();
+    void goToPrev();
+    bool canNavigate();
+
 public slots:
      void append(const QString &txt, bool doPopup = false);
 
diff --git a/src/plugins/projectexplorer/compileoutputwindow.cpp b/src/plugins/projectexplorer/compileoutputwindow.cpp
index 493e6c492dcf6d66b4b44ca418dfb35f23c7f87b..eeab3f133b1ea511c1676c90867b7d8788dcb8b6 100644
--- a/src/plugins/projectexplorer/compileoutputwindow.cpp
+++ b/src/plugins/projectexplorer/compileoutputwindow.cpp
@@ -93,3 +93,28 @@ int CompileOutputWindow::priorityInStatusBar() const
 {
     return 50;
 }
+
+bool CompileOutputWindow::canNext()
+{
+    return false;
+}
+
+bool CompileOutputWindow::canPrevious()
+{
+    return false;
+}
+
+void CompileOutputWindow::goToNext()
+{
+
+}
+
+void CompileOutputWindow::goToPrev()
+{
+
+}
+
+bool CompileOutputWindow::canNavigate()
+{
+    return false;
+}
diff --git a/src/plugins/projectexplorer/compileoutputwindow.h b/src/plugins/projectexplorer/compileoutputwindow.h
index 55a4b988b004c0a35151f8eadafbe3470e4d41dd..f18c9a4b01ef88f7cb333bd82599b30189d11b10 100644
--- a/src/plugins/projectexplorer/compileoutputwindow.h
+++ b/src/plugins/projectexplorer/compileoutputwindow.h
@@ -57,6 +57,12 @@ public:
     bool hasFocus();
     void setFocus();
 
+    bool canNext();
+    bool canPrevious();
+    void goToNext();
+    void goToPrev();
+    bool canNavigate();
+
 private:
     QPlainTextEdit *m_textEdit;
 };
diff --git a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
index 71920dd8b5c2ca87562e506bc9356718e4dbcdd9..e25718033c77a5b0738a5ffe9373aa78539411dc 100644
--- a/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
+++ b/src/plugins/projectexplorer/customexecutablerunconfiguration.cpp
@@ -31,6 +31,8 @@
 #include "environment.h"
 #include "project.h"
 
+#include <projectexplorer/debugginghelper.h>
+
 #include <QtGui/QCheckBox>
 #include <QtGui/QFormLayout>
 #include <QtGui/QLineEdit>
@@ -312,11 +314,11 @@ void CustomExecutableRunConfiguration::setUserName(const QString &name)
 
 QString CustomExecutableRunConfiguration::dumperLibrary() const
 {
-    return QString();
+    QString qmakePath = ProjectExplorer::DebuggingHelperLibrary::findSystemQt(environment());
+    return ProjectExplorer::DebuggingHelperLibrary::debuggingHelperLibrary(qmakePath);
 }
 
 
-
 // Factory
 
 CustomExecutableRunConfigurationFactory::CustomExecutableRunConfigurationFactory()
diff --git a/src/plugins/projectexplorer/outputwindow.cpp b/src/plugins/projectexplorer/outputwindow.cpp
index 3ead27b6105c43eae5361abdd9f52e01eb0231c8..74adafc2feeaf1a7a12f9867ce3c9925bfd9d881 100644
--- a/src/plugins/projectexplorer/outputwindow.cpp
+++ b/src/plugins/projectexplorer/outputwindow.cpp
@@ -305,6 +305,30 @@ RunControl* OutputPane::runControlForTab(int index) const
     return m_outputWindows.key(qobject_cast<OutputWindow *>(m_tabWidget->widget(index)));
 }
 
+bool OutputPane::canNext()
+{
+    return false;
+}
+
+bool OutputPane::canPrevious()
+{
+    return false;
+}
+
+void OutputPane::goToNext()
+{
+
+}
+
+void OutputPane::goToPrev()
+{
+
+}
+
+bool OutputPane::canNavigate()
+{
+    return false;
+}
 
 /*******************/
 
@@ -350,368 +374,3 @@ void OutputWindow::insertLine()
     appendPlainText(QString());
 }
 
-#if 0
-OutputWindow::OutputWindow(QWidget *parent)
-        : QAbstractScrollArea(parent)
-{
-    max_lines = 1000;
-    width_used = 0;
-    setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOn);
-    same_height = true;
-    block_scroll = false;
-    setWindowTitle(tr("Application Output Window"));
-    setWindowIcon(QIcon(":/qt4projectmanager/images/window.png"));
-}
-
-void OutputWindow::changed() {
-    int remove = lines.size() - max_lines;
-    if (remove > 0) {
-        selection_start.line -= remove;
-        selection_end.line -= remove;
-        selection_start = qMax(selection_start, Selection());
-        selection_end = qMax(selection_end, Selection());
-        if (remove > verticalScrollBar()->value()) {
-            if (same_height)
-                viewport()->scroll(0, -remove * fontMetrics().lineSpacing());
-            else
-                viewport()->update();
-        } else {
-            block_scroll = true;
-            verticalScrollBar()->setValue(verticalScrollBar()->value() - remove);
-            block_scroll = false;
-        }
-        while (remove--)
-            lines.removeFirst();
-    }
-
-    verticalScrollBar()->setRange(0, lines.size() - 1);
-
-}
-
-
-bool OutputWindow::getCursorPos(int *lineNumber, int *position, const QPoint &pos) {
-    if (lines.isEmpty())
-        return false;
-    *lineNumber = verticalScrollBar()->value();
-
-    int x = 4 - horizontalScrollBar()->value();
-
-    int spacing = fontMetrics().lineSpacing();
-    int leading = fontMetrics().leading();
-    int height = 0;
-
-    QTextLayout textLayout;
-    textLayout.setFont(font());
-
-    if (same_height && pos.y() > 0) {
-        int skipLines = pos.y() / spacing;
-        height += skipLines * spacing;
-        *lineNumber = qMin(*lineNumber + skipLines, lines.size() - 1);
-    }
-
-    same_height = true;
-
-    while ( *lineNumber < lines.size()) {
-        textLayout.setText(lines.at(*lineNumber));
-
-        textLayout.beginLayout();
-        while (1) {
-            QTextLine line = textLayout.createLine();
-            if (!line.isValid())
-                break;
-            line.setLineWidth(INT_MAX/256);
-            height += leading;
-            line.setPosition(QPoint(x, height));
-            height += static_cast<int>(line.height());
-        }
-        textLayout.endLayout();
-        if (height > pos.y()) {
-            *position = textLayout.lineAt(0).xToCursor(pos.x());
-            break;
-        }
-        ++*lineNumber;
-    }
-    return true;
-}
-
-void OutputWindow::setNumberOfLines(int max)
-{
-    max_lines = qMax(1, max);
-    while (lines.size() > max_lines)
-        lines.removeLast();
-    changed();
-}
-
-int OutputWindow::numberOfLines() const
-{
-    return max_lines;
-}
-
-bool OutputWindow::hasSelectedText() const
-{
-    return selection_start != selection_end;
-}
-
-void OutputWindow::clearSelection()
-{
-    bool hadSelectedText = hasSelectedText();
-    selection_start = selection_end = Selection();
-    if (hadSelectedText)
-        viewport()->update();
-}
-
-QString OutputWindow::selectedText() const
-{
-    Selection sel_start = qMin(selection_start, selection_end);
-    Selection sel_end = qMax(selection_start, selection_end);
-    QString text;
-
-    if (sel_start.line == sel_end.line) {
-        text += lines.at(sel_start.line).mid(sel_start.pos, sel_end.pos - sel_start.pos);
-    } else {
-        int line = sel_start.line;
-        text += lines.at(line++).mid(sel_start.pos);
-        text += QLatin1Char('\n');
-        while (line < sel_end.line) {
-            text += lines.at(line++);
-            text += QLatin1Char('\n');
-        }
-        text += lines.at(sel_end.line).left(sel_end.pos);
-    }
-    return text;
-}
-
-void OutputWindow::appendOutput(const QString &text)
-{
-    lines.append(text);
-    if (same_height)
-        viewport()->update(
-            QRect(0, (lines.size() - verticalScrollBar()->value() - 1) * fontMetrics().lineSpacing(),
-                  viewport()->width(), viewport()->height()));
-    else
-        viewport()->update();
-
-    changed();
-    int top = lines.size() - (viewport()->height() / fontMetrics().lineSpacing());
-    if (verticalScrollBar()->value() == top - 1)
-        verticalScrollBar()->setValue(top);
-}
-
-void OutputWindow::clear()
-{
-    clearSelection();
-    lines.clear();
-    viewport()->update();
-}
-
-void OutputWindow::copy()
-{
-    if (hasSelectedText())
-        QApplication::clipboard()->setText(selectedText());
-}
-
-void OutputWindow::selectAll()
-{
-    selection_start = Selection();
-    selection_end.line = lines.size() - 1;
-    selection_end.pos = lines.last().length() - 1;
-    viewport()->update();
-}
-
-void OutputWindow::scrollContentsBy(int dx, int dy)
-{
-    if (block_scroll)
-        return;
-    if (dx && dy) {
-        viewport()->update();
-    } else if (dx && !dy) {
-        viewport()->scroll(dx, 0);
-    } else {
-        if (same_height) {
-            viewport()->scroll(0, fontMetrics().lineSpacing() * dy);
-        } else {
-            viewport()->update();
-        }
-    }
-}
-
-void OutputWindow::keyPressEvent(QKeyEvent *e)
-{
-    bool accept = true;
-    if (e == QKeySequence::Copy) {
-        copy();
-    } else if (e == QKeySequence::SelectAll) {
-        selectAll();
-    } else if (e->key() == Qt::Key_Enter
-               || e->key() == Qt::Key_Return) {
-        insertLine();
-    } else {
-        accept = false;
-    }
-
-    if (accept)
-        e->accept();
-    else
-        QAbstractScrollArea::keyPressEvent(e);
-}
-
-void OutputWindow::paintEvent(QPaintEvent *e)
-{
-    int lineNumber = verticalScrollBar()->value();
-
-    int x = 4 - horizontalScrollBar()->value();
-    QPainter p(viewport());
-
-    int spacing = fontMetrics().lineSpacing();
-    int leading = fontMetrics().leading();
-    int height = 0;
-
-    QTextLayout textLayout;
-    textLayout.setFont(font());
-
-    QTextCharFormat selectionFormat;
-    selectionFormat.setBackground(palette().highlight());
-    selectionFormat.setForeground(palette().highlightedText());
-
-    if (e->rect().top() <= 0 && e->rect().bottom() >= viewport()->rect().bottom())
-        width_used = 0; // recalculate
-
-    if (same_height) {
-        int skipLines = e->rect().top() / spacing;
-        height += skipLines * spacing;
-        lineNumber += skipLines;
-    }
-
-    same_height = true;
-
-    Selection sel_start = qMin(selection_start, selection_end);
-    Selection sel_end = qMax(selection_start, selection_end);
-
-    while ( lineNumber < lines.size() && height <= e->rect().bottom()) {
-
-        QString line = lines.at(lineNumber);
-
-        if (line.size() == 1 && line.at(0) == QChar::ParagraphSeparator) {
-            int y = height + spacing/2;
-            p.drawLine(e->rect().left(), y, e->rect().right(), y);
-            height += spacing;
-
-        } else {
-            textLayout.setText(line);
-            textLayout.beginLayout();
-            while (1) {
-                QTextLine line = textLayout.createLine();
-                if (!line.isValid())
-                    break;
-                line.setLineWidth(INT_MAX/256);
-                height += leading;
-                line.setPosition(QPoint(x, height));
-                height += static_cast<int>(line.height());
-
-                same_height = same_height && (line.height() + leading) == spacing;
-                width_used = qMax(width_used, 8 + static_cast<int>(line.naturalTextWidth()));
-            }
-            textLayout.endLayout();
-
-            if (lineNumber >= sel_start.line && lineNumber <= sel_end.line) {
-                QVector<QTextLayout::FormatRange> selection(1);
-                selection[0].start = (lineNumber == sel_start.line)? sel_start.pos : 0;
-                selection[0].length = ((lineNumber == sel_end.line) ? sel_end.pos : lines.at(lineNumber).size()) - selection[0].start;
-                selection[0].format = selectionFormat;
-
-                textLayout.draw(&p, QPoint(0, 0), selection);
-            } else {
-                textLayout.draw(&p, QPoint(0, 0));
-            }
-        }
-
-
-        ++lineNumber;
-    }
-
-    horizontalScrollBar()->setRange(0, qMax(0, width_used - viewport()->width()));
-    if (horizontalScrollBar()->pageStep() != viewport()->width())
-        horizontalScrollBar()->setPageStep(viewport()->width());
-    if (height > viewport()->height())
-        verticalScrollBar()->setPageStep(lineNumber - verticalScrollBar()->value());
-    else if (verticalScrollBar()->pageStep() != viewport()->height() / fontMetrics().lineSpacing())
-        verticalScrollBar()->setPageStep(viewport()->height() / fontMetrics().lineSpacing());
-}
-
-void OutputWindow::mousePressEvent(QMouseEvent *e)
-{
-    if (e->button() == Qt::LeftButton) {
-        clearSelection();
-        if (getCursorPos(&selection_start.line, &selection_start.pos, e->pos())) {
-            selection_end = selection_start;
-            autoscroll = 0;
-        }
-    }
-}
-
-void OutputWindow::timerEvent(QTimerEvent *e)
-{
-    if (e->timerId() == autoscroll_timer.timerId()) {
-        int autoscroll = 0;
-        if (lastMouseMove.y() < 0)
-            autoscroll = -1;
-        else if (lastMouseMove.y() > viewport()->height())
-            autoscroll = 1;
-        if (autoscroll) {
-            verticalScrollBar()->setValue(verticalScrollBar()->value() + autoscroll);
-            OutputWindow::mouseMoveEvent(0);
-        }
-    }
-    QAbstractScrollArea::timerEvent(e);
-}
-
-void OutputWindow::mouseReleaseEvent(QMouseEvent *e)
-{
-    if (e->button() == Qt::LeftButton) {
-        autoscroll_timer.stop();
-        if (hasSelectedText() &&  QApplication::clipboard()->supportsSelection())
-            QApplication::clipboard()->setText(selectedText(), QClipboard::Selection);
-    }
-}
-
-void OutputWindow::mouseMoveEvent(QMouseEvent *e)
-{
-    if (e) {
-        lastMouseMove = e->pos();
-        if (viewport()->rect().contains(e->pos()))
-            autoscroll_timer.stop();
-        else
-            autoscroll_timer.start(20, this);
-    }
-
-
-    Selection old = selection_end;
-    if (!getCursorPos(&selection_end.line, &selection_end.pos, lastMouseMove))
-        return;
-    if (same_height) {
-        Selection from = qMin(old, selection_end);
-        Selection to = qMax(old, selection_end);
-        viewport()->update(QRect(0, -1 + (from.line - verticalScrollBar()->value()) * fontMetrics().lineSpacing(),
-                                 viewport()->width(), 2 + (to.line - from.line + 1) * fontMetrics().lineSpacing()));
-    } else {
-        viewport()->update();
-    }
-}
-
-void OutputWindow::contextMenuEvent(QContextMenuEvent * e)
-{
-    QMenu menu(this);
-    QAction *clearAction = menu.addAction("Clear", this, SLOT(clear()));
-    QAction *copyAction = menu.addAction("Copy", this, SLOT(copy()), QKeySequence::Copy);
-    QAction *selectAllAction = menu.addAction("Select All", this, SLOT(selectAll()), QKeySequence::SelectAll);
-    if (lines.empty()) {
-        clearAction->setDisabled(true);
-        selectAllAction->setDisabled(true);
-    }
-    if (!hasSelectedText())
-        copyAction->setDisabled(true);
-
-    menu.exec(e->globalPos());
-}
-
-#endif // 0
diff --git a/src/plugins/projectexplorer/outputwindow.h b/src/plugins/projectexplorer/outputwindow.h
index 7542269bfc54559ef1b597b891c0128c1aceeb2c..225ae4a3080bbe898c22325b1294c768f5236ca6 100644
--- a/src/plugins/projectexplorer/outputwindow.h
+++ b/src/plugins/projectexplorer/outputwindow.h
@@ -70,6 +70,12 @@ public:
     bool hasFocus();
     void setFocus();
 
+    bool canNext();
+    bool canPrevious();
+    void goToNext();
+    void goToPrev();
+    bool canNavigate();
+
     void appendOutput(const QString &out);
 
     // ApplicationOutputspecifics
diff --git a/src/plugins/projectexplorer/taskwindow.cpp b/src/plugins/projectexplorer/taskwindow.cpp
index e3a431be859ce486e440645beded58ddac472940..2af18a03b788ec6b7da545717c3fddf3329983fc 100644
--- a/src/plugins/projectexplorer/taskwindow.cpp
+++ b/src/plugins/projectexplorer/taskwindow.cpp
@@ -319,6 +319,7 @@ void TaskWindow::clearContents()
     m_model->clear();
     m_copyAction->setEnabled(false);
     emit tasksChanged();
+    navigateStateChanged();
 }
 
 void TaskWindow::visibilityChanged(bool /* b */)
@@ -333,6 +334,8 @@ void TaskWindow::addItem(ProjectExplorer::BuildParserInterface::PatternType type
         ++m_errorCount;
     m_copyAction->setEnabled(true);
     emit tasksChanged();
+    if (m_model->rowCount() == 1)
+        navigateStateChanged();
 }
 
 void TaskWindow::showTaskInFile(const QModelIndex &index)
@@ -406,8 +409,6 @@ bool TaskWindow::canFocus()
     return m_model->rowCount();
 }
 
-#include <QDebug>
-
 void TaskWindow::setFocus()
 {
     if (m_model->rowCount()) {
@@ -418,6 +419,55 @@ void TaskWindow::setFocus()
     }
 }
 
+bool TaskWindow::canNext()
+{
+    return m_model->rowCount();
+}
+
+bool TaskWindow::canPrevious()
+{
+    return m_model->rowCount();
+}
+
+void TaskWindow::goToNext()
+{
+    if (!m_model->rowCount())
+        return;
+    QModelIndex currentIndex = m_listview->currentIndex();
+    if (currentIndex.isValid()) {
+        int row = currentIndex.row() + 1;
+        if (row == m_model->rowCount())
+            row = 0;
+        currentIndex = m_model->index(row, 0);
+    } else {
+        currentIndex = m_model->index(0, 0);
+    }
+    m_listview->setCurrentIndex(currentIndex);
+    showTaskInFile(currentIndex);
+}
+
+void TaskWindow::goToPrev()
+{
+    if (!m_model->rowCount())
+        return;
+    QModelIndex currentIndex = m_listview->currentIndex();
+    if (currentIndex.isValid()) {
+        int row = currentIndex.row() -1;
+        if (row < 0)
+            row = m_model->rowCount() - 1;
+        currentIndex = m_model->index(row, 0);
+    } else {
+        currentIndex = m_model->index(m_model->rowCount()-1, 0);
+    }
+    m_listview->setCurrentIndex(currentIndex);
+    showTaskInFile(currentIndex);
+}
+
+bool TaskWindow::canNavigate()
+{
+    return true;
+}
+
 /////
 // Delegate
 /////
diff --git a/src/plugins/projectexplorer/taskwindow.h b/src/plugins/projectexplorer/taskwindow.h
index fffd6904e77cebc86de0ec6ed4f24b4d17d6c01b..862fa7dbceeed21e2662dd082f3b2cbc36b9711d 100644
--- a/src/plugins/projectexplorer/taskwindow.h
+++ b/src/plugins/projectexplorer/taskwindow.h
@@ -74,6 +74,12 @@ public:
     bool hasFocus();
     void setFocus();
 
+    bool canNext();
+    bool canPrevious();
+    void goToNext();
+    void goToPrev();
+    bool canNavigate();
+
 signals:
     void tasksChanged();
 
diff --git a/src/plugins/quickopen/directoryfilter.cpp b/src/plugins/quickopen/directoryfilter.cpp
index b1030ee66aaae47bc004b1134ab17171d201ba5a..714399dcb7a323bf032c3eba0336e98ce7e0aa15 100644
--- a/src/plugins/quickopen/directoryfilter.cpp
+++ b/src/plugins/quickopen/directoryfilter.cpp
@@ -42,7 +42,8 @@ using namespace QuickOpen::Internal;
 
 DirectoryFilter::DirectoryFilter()
   : m_name(tr("Generic Directory Filter")),
-    m_filters(QStringList() << "*.h" << "*.cpp" << "*.ui" << "*.qrc")
+    m_filters(QStringList() << QLatin1String("*.h") << QLatin1String("*.cpp")
+                            << QLatin1String("*.ui") << QLatin1String("*.qrc"))
 {
     setIncludedByDefault(true);
 }
@@ -112,7 +113,7 @@ bool DirectoryFilter::openConfigDialog(QWidget *parent, bool &needsRefresh)
     m_ui.nameEdit->selectAll();
     m_ui.directoryList->clear();
     m_ui.directoryList->addItems(m_directories);
-    m_ui.fileTypeEdit->setText(m_filters.join(tr(",")));
+    m_ui.fileTypeEdit->setText(m_filters.join(QString(QLatin1Char(','))));
     m_ui.shortcutEdit->setText(shortcutString());
     m_ui.defaultFlag->setChecked(!isIncludedByDefault());
     updateOptionButtons();
@@ -132,7 +133,7 @@ bool DirectoryFilter::openConfigDialog(QWidget *parent, bool &needsRefresh)
             if (!directoriesChanged && m_directories.at(i) != oldDirectories.at(i))
                 directoriesChanged = true;
         }
-        m_filters = m_ui.fileTypeEdit->text().trimmed().split(tr(","));
+        m_filters = m_ui.fileTypeEdit->text().trimmed().split(QLatin1Char(','));
         setShortcutString(m_ui.shortcutEdit->text().trimmed());
         setIncludedByDefault(!m_ui.defaultFlag->isChecked());
         if (directoriesChanged || oldFilters != m_filters)
@@ -207,7 +208,8 @@ void DirectoryFilter::refresh(QFutureInterface<void> &future)
     }
     while (!dirs.isEmpty() && !future.isCanceled()) {
         if (future.isProgressUpdateNeeded()) {
-            future.setProgressValueAndText(progress, tr("%1 filter update: %2 files").arg(m_name).arg(files.size()));
+            future.setProgressValueAndText(progress,
+                                           tr("%1 filter update: %n files", 0, files.size()).arg(m_name));
         }
         QDir dir = dirs.pop();
         int dirProgressMax = progressValues.pop();
diff --git a/src/plugins/quickopen/directoryfilter.ui b/src/plugins/quickopen/directoryfilter.ui
index 41fa3d5bdeb155e15f5e24efff2e8df47bc7cd2d..9e618324e9491b20964275f27e30d5261fa763cd 100644
--- a/src/plugins/quickopen/directoryfilter.ui
+++ b/src/plugins/quickopen/directoryfilter.ui
@@ -63,7 +63,7 @@
        </property>
        <property name="toolTip">
         <string>Specify a short word/abbreviation that can be used to restrict completions to files from this directory tree.
-To do this you type this shortcut and a space in the QuickOpen entry field, and then the word to search for.</string>
+To do this, you type this shortcut and a space in the Locator entry field, and then the word to search for.</string>
        </property>
       </widget>
      </item>
diff --git a/src/plugins/subversion/subversionoutputwindow.cpp b/src/plugins/subversion/subversionoutputwindow.cpp
index 387c88f3f331d725957ea9ba34344f2c1f0f5dc1..e7191bd1c9c56a095105184f5746f771564ec357 100644
--- a/src/plugins/subversion/subversionoutputwindow.cpp
+++ b/src/plugins/subversion/subversionoutputwindow.cpp
@@ -100,3 +100,28 @@ bool SubversionOutputWindow::hasFocus()
 void SubversionOutputWindow::setFocus()
 {
 }
+
+bool SubversionOutputWindow::canNext()
+{
+    return false;
+}
+
+bool SubversionOutputWindow::canPrevious()
+{
+    return false;
+}
+
+void SubversionOutputWindow::goToNext()
+{
+
+}
+
+void SubversionOutputWindow::goToPrev()
+{
+
+}
+
+bool SubversionOutputWindow::canNavigate()
+{
+    return false;
+}
diff --git a/src/plugins/subversion/subversionoutputwindow.h b/src/plugins/subversion/subversionoutputwindow.h
index fc5b76eec46310347f8de6b35ca662b458e2d104..35c22423b11d5c725d0a031ec86e628e167528ba 100644
--- a/src/plugins/subversion/subversionoutputwindow.h
+++ b/src/plugins/subversion/subversionoutputwindow.h
@@ -59,9 +59,15 @@ public:
     int priorityInStatusBar() const;
     void visibilityChanged(bool visible);
 
-    virtual bool canFocus();
-    virtual bool hasFocus();
-    virtual void setFocus();
+    bool canFocus();
+    bool hasFocus();
+    void setFocus();
+
+    bool canNext();
+    bool canPrevious();
+    void goToNext();
+    void goToPrev();
+    bool canNavigate();
 
 public slots:
     void append(const QString &txt, bool popup = false);
diff --git a/src/shared/help/bookmarkmanager.cpp b/src/shared/help/bookmarkmanager.cpp
index e3cfbfc493b66e567c3b3b4bf6d414a952873523..4531cb5bb83eb7ce6a60e9abef0a45ce1fdefcd9 100644
--- a/src/shared/help/bookmarkmanager.cpp
+++ b/src/shared/help/bookmarkmanager.cpp
@@ -699,8 +699,8 @@ void BookmarkManager::removeBookmarkItem(QTreeView *treeView, const QModelIndex&
         QString data = index.data(Qt::UserRole + 10).toString();
         if (data == QLatin1String("Folder") && item->rowCount() > 0) {
             int value = QMessageBox::question(treeView, tr("Remove"),
-                        tr("You are going to delete a Folder, this will also<br>"
-                        "remove it's content. Are you sure to continue?"),
+                        tr("You are going to delete a Folder which will also<br>"
+                        "remove its content. Are you sure to continue?"),
                         QMessageBox::Yes | QMessageBox::Cancel, QMessageBox::Cancel);
 
             if (value == QMessageBox::Cancel)
diff --git a/tests/auto/qstringbuilder/qstringbuilder.pro b/tests/auto/qstringbuilder/qstringbuilder.pro
new file mode 100644
index 0000000000000000000000000000000000000000..5416ca413ab313bea694286ce9a4c72d84466e2d
--- /dev/null
+++ b/tests/auto/qstringbuilder/qstringbuilder.pro
@@ -0,0 +1,11 @@
+load(qttest_p4)
+SOURCES  += tst_qstringbuilder.cpp
+
+QT -= gui
+
+QT = core
+
+DEFINES += QT_NO_CAST_TO_ASCII
+
+
+
diff --git a/tests/auto/qstringbuilder/tst_qstringbuilder.cpp b/tests/auto/qstringbuilder/tst_qstringbuilder.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..2e58d1252aa3386a58335948a6457c99401a6982
--- /dev/null
+++ b/tests/auto/qstringbuilder/tst_qstringbuilder.cpp
@@ -0,0 +1,48 @@
+/****************************************************************************
+**
+** Copyright (C) 2009 Nokia Corporation and/or its subsidiary(-ies).
+** Contact: Qt Software Information (qt-info@nokia.com)
+**
+****************************************************************************/
+
+#include <QtTest/QtTest>
+#include "../../../src/libs/utils/qstringbuilder.h"
+
+//TESTED_CLASS=QStringBuilder
+//TESTED_FILES=qstringbuilder.h
+
+class tst_QStringBuilder : public QObject
+{
+    Q_OBJECT
+
+public:
+    tst_QStringBuilder();
+    ~tst_QStringBuilder() {}
+
+public slots:
+    void init() {}
+    void cleanup() {}
+
+private slots:
+    void operator_percent();
+};
+
+
+tst_QStringBuilder::tst_QStringBuilder()
+{
+    //QTextCodec::setCodecForLocale(QTextCodec::codecForName("ISO 8859-1"));
+}
+
+void tst_QStringBuilder::operator_percent()
+{
+    QLatin1Literal l1literal("a literal");
+    QLatin1String l1string("a literal");
+    QLatin1Char l1char('c');
+    QChar qchar(l1char);
+
+    QCOMPARE(QString(l1literal % l1literal), QString(l1string + l1string));
+}
+
+QTEST_APPLESS_MAIN(tst_QStringBuilder)
+
+#include "tst_qstringbuilder.moc"
diff --git a/tests/benchmarks/qstringbuilder/main.cpp b/tests/benchmarks/qstringbuilder/main.cpp
new file mode 100644
index 0000000000000000000000000000000000000000..ba5cfe0a762e42aa674a9eaa3fe3decbffa980c8
--- /dev/null
+++ b/tests/benchmarks/qstringbuilder/main.cpp
@@ -0,0 +1,106 @@
+
+#include <QDebug>
+#include <QString>
+
+#include "../../../src/libs/utils/qstringbuilder.h"
+
+#include <qtest.h>
+
+
+class tst_qstringbuilder : public QObject
+{
+    Q_OBJECT
+
+public:
+    tst_qstringbuilder();
+
+private slots:
+    // QStringBuilder based 
+    void b_separator() { qDebug() << "\n------- QStringBuilder based ----------"; }
+    void b_2_l1literal();
+    void b_3_l1literal();
+    void b_4_l1literal();
+    void b_string_4_char();
+
+    // QString based for comparison
+    void s_separator() { qDebug() << "\n-------- QString based ---------"; }
+    void s_2_l1string();
+    void s_3_l1string();
+    void s_4_l1string();
+    void s_string_4_char();
+
+private:
+    const QLatin1Literal l1literal;
+    const QLatin1String l1string;
+    const QString string;
+    const char achar;
+};
+
+
+tst_qstringbuilder::tst_qstringbuilder()
+  : l1literal("some literal"),
+    l1string("some literal"),
+    string(l1string),
+    achar('c')
+{}
+
+void tst_qstringbuilder::b_2_l1literal()
+{
+    QString result;
+    QBENCHMARK { result = l1literal % l1literal; }
+    QCOMPARE(result, l1string + l1string);
+}
+
+void tst_qstringbuilder::b_3_l1literal()
+{
+    QString result;
+    QBENCHMARK { result = l1literal % l1literal % l1literal; }
+    QCOMPARE(result, l1string + l1string + l1string);
+}
+
+void tst_qstringbuilder::b_4_l1literal()
+{
+    QString result;
+    QBENCHMARK { result = l1literal % l1literal % l1literal % l1literal; }
+    QCOMPARE(result, l1string + l1string + l1string + l1string);
+}
+
+void tst_qstringbuilder::b_string_4_char()
+{
+    QString result;
+    QBENCHMARK { result = string + achar + achar + achar; }
+    QCOMPARE(result, QString(string % achar % achar % achar));
+}
+
+
+void tst_qstringbuilder::s_2_l1string()
+{
+    QString result;
+    QBENCHMARK { result = l1string + l1string; }
+    QCOMPARE(result, QString(l1literal % l1literal));
+}
+
+void tst_qstringbuilder::s_3_l1string()
+{
+    QString result;
+    QBENCHMARK { result = l1string + l1string + l1string; }
+    QCOMPARE(result, QString(l1literal % l1literal % l1literal));
+}
+
+void tst_qstringbuilder::s_4_l1string()
+{
+    QString result;
+    QBENCHMARK { result = l1string + l1string + l1string + l1string; }
+    QCOMPARE(result, QString(l1literal % l1literal % l1literal % l1literal));
+}
+
+void tst_qstringbuilder::s_string_4_char()
+{
+    QString result;
+    QBENCHMARK { result = string + achar + achar + achar; }
+    QCOMPARE(result, QString(string % achar % achar % achar));
+}
+
+QTEST_MAIN(tst_qstringbuilder)
+
+#include "main.moc"
diff --git a/tests/benchmarks/qstringbuilder/qstringbuilder.pro b/tests/benchmarks/qstringbuilder/qstringbuilder.pro
new file mode 100644
index 0000000000000000000000000000000000000000..81c42bc565d2fa4183dad8022d125f26fc4f4f31
--- /dev/null
+++ b/tests/benchmarks/qstringbuilder/qstringbuilder.pro
@@ -0,0 +1,12 @@
+load(qttest_p4)
+TEMPLATE = app
+TARGET = tst_qstringbuilder
+DEPENDPATH += .
+INCLUDEPATH += .
+
+QT -= gui
+
+CONFIG += release
+
+# Input
+SOURCES += main.cpp
diff --git a/tests/manual/gdbdebugger/simple/app.cpp b/tests/manual/gdbdebugger/simple/app.cpp
index 608198bb28de4f70d4631c920790b70ff9fa909c..a5b0d0c2a6ab2a0d5343fa4e5b7f3eb41d63d439 100644
--- a/tests/manual/gdbdebugger/simple/app.cpp
+++ b/tests/manual/gdbdebugger/simple/app.cpp
@@ -549,9 +549,13 @@ void testQSharedPointer()
     QSharedPointer<QString> ptr2 = ptr;
     QSharedPointer<QString> ptr3 = ptr;
 
-    //QWeakPointer<QString> wptr(ptr);
-    //QWeakPointer<QString> wptr2 = wptr;
-    //QWeakPointer<QString> wptr3 = wptr;
+    QWeakPointer<int> wiptr(iptr);
+    QWeakPointer<int> wiptr2 = wiptr;
+    QWeakPointer<int> wiptr3 = wiptr;
+
+    QWeakPointer<QString> wptr(ptr);
+    QWeakPointer<QString> wptr2 = wptr;
+    QWeakPointer<QString> wptr3 = wptr;
 }
 
 void stringRefTest(const QString &refstring)