diff --git a/share/qtcreator/qml/qmlobserver/main.cpp b/share/qtcreator/qml/qmlobserver/main.cpp
index 5189a70872c1eaadfedfdc0beca379c6224e1789..08958f57df53d7b4eb6b68df887f05d31613f59a 100644
--- a/share/qtcreator/qml/qmlobserver/main.cpp
+++ b/share/qtcreator/qml/qmlobserver/main.cpp
@@ -50,7 +50,7 @@
 #include <QDebug>
 #include <QMessageBox>
 #include "qdeclarativetester.h"
-#include "private/qdeclarativedebughelper_p.h"
+#include "qt_private/qdeclarativedebughelper_p.h"
 
 QT_USE_NAMESPACE
 
diff --git a/share/qtcreator/static.pro b/share/qtcreator/static.pro
index 2865e9e2edfac13c8664878faf342560e9f7c46a..1a553368dac6c591457584bd1da3099bc93c0f30 100644
--- a/share/qtcreator/static.pro
+++ b/share/qtcreator/static.pro
@@ -35,7 +35,8 @@ DATA_DIRS = \
     qmldesigner \
     qmlicons \
     qml \
-    qml-type-descriptions
+    qml-type-descriptions \
+    generic-highlighter
 
 !isEmpty(copydata) {
 
diff --git a/share/qtcreator/templates/qmlapp/main.cpp b/share/qtcreator/templates/qmlapp/main.cpp
index f4da658c57792ba8d60d3ed5e12f5ab3268bb00d..dfb208a90c671da67a38fc40b923d33c7cb6867b 100644
--- a/share/qtcreator/templates/qmlapp/main.cpp
+++ b/share/qtcreator/templates/qmlapp/main.cpp
@@ -9,7 +9,7 @@ int main(int argc, char *argv[])
     viewer.addImportPath(QLatin1String("modules")); // ADDIMPORTPATH
     viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto); // ORIENTATION
     viewer.setMainQmlFile(QLatin1String("qml/app/main.qml")); // MAINQML
-    viewer.show();
+    viewer.showExpanded();
 
     return app.exec();
 }
diff --git a/share/qtcreator/templates/wizards/qml-extension/project.pro b/share/qtcreator/templates/wizards/qml-extension/project.pro
index 8a5a9c44e9edbd7a76bf4477d2ecc90c216018fd..94686cebcaba3f8feb3124f56dfe33d170deec74 100644
--- a/share/qtcreator/templates/wizards/qml-extension/project.pro
+++ b/share/qtcreator/templates/wizards/qml-extension/project.pro
@@ -16,8 +16,10 @@ HEADERS += \
 
 OTHER_FILES = qmldir
 
-copy_qmldir.target = $$OUT_PWD/qmldir
-copy_qmldir.depends = $$PWD/qmldir
-copy_qmldir.commands = $(COPY_FILE) \"$$replace(copy_qmldir.depends, /, $$QMAKE_DIR_SEP)\" \"$$replace(copy_qmldir.target, /, $$QMAKE_DIR_SEP)\"
-QMAKE_EXTRA_TARGETS += copy_qmldir
-PRE_TARGETDEPS += $$copy_qmldir.target
+!equals(_PRO_FILE_PWD_, $$OUT_PWD) {
+    copy_qmldir.target = $$OUT_PWD/qmldir
+    copy_qmldir.depends = $$_PRO_FILE_PWD_/qmldir
+    copy_qmldir.commands = $(COPY_FILE) \"$$replace(copy_qmldir.depends, /, $$QMAKE_DIR_SEP)\" \"$$replace(copy_qmldir.target, /, $$QMAKE_DIR_SEP)\"
+    QMAKE_EXTRA_TARGETS += copy_qmldir
+    PRE_TARGETDEPS += $$copy_qmldir.target
+}
diff --git a/share/qtcreator/translations/qtcreator_pl.ts b/share/qtcreator/translations/qtcreator_pl.ts
index 84e67fb7c6a986f5b85e505c7498570322b08d80..198c428693d760897cb0ee5b65e398b0f0278623 100644
--- a/share/qtcreator/translations/qtcreator_pl.ts
+++ b/share/qtcreator/translations/qtcreator_pl.ts
@@ -992,10 +992,6 @@ dla emisji sygnału wskoczy bezpośrednio do podłączonego slotu.</translation>
         <source>Class</source>
         <translation>Klasa</translation>
     </message>
-    <message>
-        <source>Configure...</source>
-        <translation type="obsolete">Konfiguruj...</translation>
-    </message>
     <message>
         <source>%1 - Error</source>
         <translation>%1 - BÅ‚Ä…d</translation>
@@ -1057,7 +1053,7 @@ dla emisji sygnału wskoczy bezpośrednio do podłączonego slotu.</translation>
     </message>
     <message>
         <source>Highlight search results</source>
-        <translation>Podświetlaj wyniki poszukiwań</translation>
+        <translation>Podświetlaj wyniki wyszukiwań</translation>
     </message>
     <message>
         <source>Incremental search</source>
@@ -1421,10 +1417,6 @@ dla emisji sygnału wskoczy bezpośrednio do podłączonego slotu.</translation>
         <source>Note that huge amount of commits might take some time.</source>
         <translation>Zwróć uwagę że wyświetlanie dużej liczby zmian może zajmować sporo czasu.</translation>
     </message>
-    <message>
-        <source>Omit date from annotation output</source>
-        <translation type="obsolete">Pomijaj daty w wyjściowych adnotacjach</translation>
-    </message>
     <message>
         <source>Git</source>
         <translation>Git</translation>
@@ -1477,10 +1469,6 @@ dla emisji sygnału wskoczy bezpośrednio do podłączonego slotu.</translation>
         <source>Arguments:</source>
         <translation>Argumenty:</translation>
     </message>
-    <message>
-        <source>Ignore whitespace changes in annotation and diff</source>
-        <translation type="obsolete">Ignoruj zmiany spacji w adnotacjach i różnicach</translation>
-    </message>
     <message>
         <source>Omit date from blame output</source>
         <translation>Pomijaj daty w rezultatach z &quot;blame&quot;</translation>
@@ -2220,7 +2208,7 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum
     </message>
     <message>
         <source>Copy Project to writable Location?</source>
-        <translation>Kopiować projekt do miejsca zapisywalnego?</translation>
+        <translation>Skopiować projekt do miejsca zapisywalnego?</translation>
     </message>
     <message>
         <source>&lt;p&gt;The project you are about to open is located in the write-protected location:&lt;/p&gt;&lt;blockquote&gt;%1&lt;/blockquote&gt;&lt;p&gt;Please select a writable location below and click &quot;Copy Project and Open&quot; to open a modifiable copy of the project or click &quot;Keep Project and Open&quot; to open the project in location.&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note:&lt;/b&gt; You will not be able to alter or compile your project in the current location.&lt;/p&gt;</source>
@@ -2272,7 +2260,7 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum
     </message>
     <message>
         <source>You can switch between the output pane by hitting &lt;tt&gt;%1+n&lt;/tt&gt; where n is the number denoted on the buttons at the window bottom: &lt;br /&gt;&lt;br /&gt;1: Build Issues, 2: Search Results, 3: Application Output, 4: Compile Output</source>
-        <translation>Możesz przełączać panele wyjściowe naciskając &lt;tt&gt;%1+n&lt;/tt&gt; gdzie n jest odpowiednim numerem na przycisku na dole okna:&lt;br /&gt;&lt;br /&gt;1 - Problemy podczas budowania, 2 - Wyniki poszukiwań, 3 - Komunikaty aplikacji, 4 - Komunikaty kompilatora</translation>
+        <translation>Możesz przełączać panele wyjściowe naciskając &lt;tt&gt;%1+n&lt;/tt&gt; gdzie n jest odpowiednim numerem na przycisku na dole okna:&lt;br /&gt;&lt;br /&gt;1 - Problemy podczas budowania, 2 - Wyniki wyszukiwań, 3 - Komunikaty aplikacji, 4 - Komunikaty kompilatora</translation>
     </message>
     <message>
         <source>You can quickly search methods, classes, help and more using the &lt;a href=&quot;qthelp://com.nokia.qtcreator/doc/creator-editor-locator.html&quot;&gt;Locator bar&lt;/a&gt; (&lt;tt&gt;%1+K&lt;/tt&gt;).</source>
@@ -2358,10 +2346,6 @@ Dodaj, zmodyfikuj lub usuń filtry dokumentów, które determinują zestaw dokum
         <source>Explore Qt Quick examples:</source>
         <translation>Poznaj dogłębnie przykłady Qt Quick:</translation>
     </message>
-    <message>
-        <source>Explore Qt C++ mobile examples:</source>
-        <translation type="obsolete">Poznaj dogłębnie mobilne przykłady Qt C++:</translation>
-    </message>
 </context>
 <context>
     <name>MakeStep</name>
@@ -3471,7 +3455,7 @@ Przyczyna: %3</translation>
     </message>
     <message>
         <source>Cannot perform extensionsInitialized because state != Initialized</source>
-        <translation>Nie można wykonać extensionsInitialized bo stan wtyczki jest inny niż &quot;zainicjowana&quot;</translation>
+        <translation>Nie można wykonać &quot;extensionsInitialized&quot; ponieważ stan wtyczek jest inny niż &quot;Initialized&quot;</translation>
     </message>
     <message>
         <source>Internal error: have no plugin instance to perform extensionsInitialized</source>
@@ -4924,10 +4908,6 @@ Zwróć uwagę że spowoduje to usunięcie lokalnego pliku.</translation>
         <source>The header and source file names will be derived from the class name</source>
         <translation>Nazwy pliku nagłówkowego i źródłowego będą zaproponowane na podstawie nazwy klasy</translation>
     </message>
-    <message>
-        <source>Configure...</source>
-        <translation type="obsolete">Konfiguruj...</translation>
-    </message>
 </context>
 <context>
     <name>CppEditor::Internal::CppClassWizardDialog</name>
@@ -5356,7 +5336,7 @@ Zwróć uwagę że spowoduje to usunięcie lokalnego pliku.</translation>
     </message>
     <message>
         <source>Do you want to commit the change?</source>
-        <translation type="unfinished">Czy chcesz dokonać commita na zmianie?</translation>
+        <translation type="unfinished">Czy chcesz dokonać commitu na zmianie?</translation>
     </message>
     <message>
         <source>The commit message check failed. Do you want to commit the change?</source>
@@ -6116,14 +6096,6 @@ Qt Creator nie może się do niego podłączyć.</translation>
 </context>
 <context>
     <name>Debugger::Internal::CoreGdbAdapter</name>
-    <message>
-        <source>Error Loading Symbols</source>
-        <translation type="obsolete">BÅ‚Ä…d w trakcie Å‚adowania symboli</translation>
-    </message>
-    <message>
-        <source>No executable to load symbols from specified.</source>
-        <translation type="obsolete">Nie podano programu z którego można załadować symbole.</translation>
-    </message>
     <message>
         <source>Attached to core temporarily.</source>
         <translation>Tymczasowo dołączono do zrzutu.</translation>
@@ -6312,7 +6284,8 @@ Qt Creator nie może się do niego podłączyć.</translation>
     <message>
         <source>The Qt version used to build the debugging helpers (%1) does not match the Qt version used to build the debugged application (%2).
 This might yield incorrect results.</source>
-        <translation type="unfinished"></translation>
+        <translation>Wersja Qt użyta do budowy asystentów debuggera (%1) nie odpowiada wersji Qt użytej do budowy debugowanej aplikacji (%2).
+Może to spowodować uzyskanie błędnych rezultatów.</translation>
     </message>
     <message>
         <source>Custom dumper setup: %1</source>
@@ -6551,7 +6524,7 @@ Możesz poczekać dłużej na odpowiedź lub przerwać debugowanie.</translation
     </message>
     <message>
         <source>The debugger settings point to a script file at &apos;%1&apos; which is not accessible. If a script file is not needed, consider clearing that entry to avoid this warning. </source>
-        <translation>Ustawienia debuggera pokazują na skrypt w &quot;%1&quot; króry nie jest dostępny. Jeśli plik ze skryptem nie jest potrzebny rozważ usunięcie go z ustawień w celu uniknięcia tego ostrzeżenia.</translation>
+        <translation>Ustawienia debuggera pokazują na skrypt &quot;%1&quot; który nie jest dostępny. Jeśli plik ze skryptem nie jest potrzebny rozważ usunięcie go z ustawień w celu uniknięcia tego ostrzeżenia.</translation>
     </message>
     <message>
         <source>Setting breakpoints...</source>
@@ -7851,7 +7824,7 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
     </message>
     <message>
         <source>Search Results</source>
-        <translation>Wyniki poszukiwań</translation>
+        <translation>Wyniki wyszukiwań</translation>
     </message>
 </context>
 <context>
@@ -7995,15 +7968,11 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
     </message>
     <message>
         <source>Delete the master branch after checking out the repository.</source>
-        <translation>Usuń gałąź master po skolowaniu repozytorium.</translation>
+        <translation>Usuń gałąź master po sklonowaniu repozytorium.</translation>
     </message>
 </context>
 <context>
     <name>Git::Internal::GitClient</name>
-    <message>
-        <source>Note that the git plugin for QtCreator is not able to interact with the server so far. Thus, manual ssh-identification etc. will not work.</source>
-        <translation>Zwróć uwagę że wtyczka git dla Qt Creatora nie współdziała jak dotąd z serwerem. Dlatego też ręczna identyfikacja ssh i inne rzeczy nie będą działać.</translation>
-    </message>
     <message>
         <source>Unable to determine the repository for %1.</source>
         <translation>Nie można określić repozytorium dla %1.</translation>
@@ -8572,10 +8541,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
         <source>Status</source>
         <translation>Stan</translation>
     </message>
-    <message>
-        <source>Reset...</source>
-        <translation type="obsolete">Reset...</translation>
-    </message>
     <message>
         <source>Clean...</source>
         <translation>Wyczyść...</translation>
@@ -8616,16 +8581,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
         <source>&amp;Redo</source>
         <translation>&amp;Przywróć</translation>
     </message>
-    <message>
-        <source>Revert all pending changes to the repository
-%1?</source>
-        <translation type="obsolete">Odwróć wszystkie oczekujące zmiany dla repozytorium
-%1?</translation>
-    </message>
-    <message>
-        <source>Revert</source>
-        <translation type="obsolete">Odwróć zmiany</translation>
-    </message>
     <message>
         <source>Another submit is currently being executed.</source>
         <translation>Trwa inna wysyłka.</translation>
@@ -8650,44 +8605,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
         <translation>Nie można odnaleźć pliku binarnego &quot;%1&quot; w ścieżce &quot;%2&quot;</translation>
     </message>
 </context>
-<context>
-    <name>HelloWorld::Internal::HelloWorldPlugin</name>
-    <message>
-        <source>Say &quot;&amp;Hello World!&quot;</source>
-        <translation>Powiedz &quot;&amp;Witaj świecie!&quot;</translation>
-    </message>
-    <message>
-        <source>&amp;Hello World</source>
-        <translation>&amp;Witaj świecie</translation>
-    </message>
-    <message>
-        <source>Hello world!</source>
-        <translation>Witaj świecie!</translation>
-    </message>
-    <message>
-        <source>Hello World PushButton!</source>
-        <translation>Przycisk powitalny!</translation>
-    </message>
-    <message>
-        <source>Hello World!</source>
-        <translation>Witaj świecie!</translation>
-    </message>
-    <message>
-        <source>Hello World! Beautiful day today, isn&apos;t it?</source>
-        <translation>Witaj świecie! Piękny dzień dziś mamy, nieprawdaż?</translation>
-    </message>
-</context>
-<context>
-    <name>HelloWorld::Internal::HelloWorldWindow</name>
-    <message>
-        <source>Focus me to activate my context!</source>
-        <translation>Daj mi fokus, żeby uaktywnić mój kontekst!</translation>
-    </message>
-    <message>
-        <source>Hello, world!</source>
-        <translation>Witaj świecie!</translation>
-    </message>
-</context>
 <context>
     <name>Help::Internal::CentralWidget</name>
     <message>
@@ -9541,14 +9458,6 @@ Przebudowanie projektu może pomóc w ich odnalezieniu.</translation>
         <source>Build Environment</source>
         <translation>Åšrodowisko budowania</translation>
     </message>
-    <message>
-        <source>No Executable specified.</source>
-        <translation type="obsolete">Nie podano programu wykonywalnego.</translation>
-    </message>
-    <message>
-        <source>Running executable: &lt;b&gt;%1&lt;/b&gt; %2</source>
-        <translation type="obsolete">Uruchomiony program: &lt;b&gt;%1&lt;/b&gt; %2</translation>
-    </message>
 </context>
 <context>
     <name>ProjectExplorer::CustomExecutableRunConfiguration</name>
@@ -9987,10 +9896,6 @@ Powód: %2</translation>
         <source>Start Debugging</source>
         <translation>Rozpocznij debugowanie</translation>
     </message>
-    <message>
-        <source>F5</source>
-        <translation type="obsolete">F5</translation>
-    </message>
     <message>
         <source>Add New...</source>
         <translation>Dodaj nowy...</translation>
@@ -10146,7 +10051,7 @@ No project selected</extracomment>
     <message>
         <source>Failed to add subproject &apos;%1&apos;
 to project &apos;%2&apos;.</source>
-        <translation>Nie można dodac podprojektu &quot;%1&quot;
+        <translation>Nie można dodać podprojektu &quot;%1&quot;
 do projektu &quot;%2&quot;.</translation>
     </message>
     <message>
@@ -10396,7 +10301,7 @@ do projektu &quot;%2&quot;.</translation>
     <name>Qt4ProjectManager::Internal::CustomWidgetWizard</name>
     <message>
         <source>Qt Custom Designer Widget</source>
-        <translation>Własny widżet Qt Designer</translation>
+        <translation>Własny widżet Qt Designera</translation>
     </message>
     <message>
         <source>Creates a Qt Custom Designer Widget or a Custom Widget Collection.</source>
@@ -10407,7 +10312,7 @@ do projektu &quot;%2&quot;.</translation>
     <name>Qt4ProjectManager::Internal::CustomWidgetWizardDialog</name>
     <message>
         <source>This wizard generates a Qt4 Designer Custom Widget or a Qt4 Designer Custom Widget Collection project.</source>
-        <translation>Ten kreator generuje projekt własnego widżetu Qt4 Designer lub projekt kolekcji własnych widżetów Qt4 Designer.</translation>
+        <translation>Ten kreator generuje projekt własnego widżetu Qt4 Designera lub projekt kolekcji własnych widżetów Qt4 Designera.</translation>
     </message>
     <message>
         <source>Custom Widgets</source>
@@ -11199,80 +11104,7 @@ Wstępnie wybiera wersję desktopową Qt do budowania aplikacji (jeśli jest dos
     </message>
     <message>
         <source>Select the modules you want to include in your project. The recommended modules for this project are selected by default.</source>
-        <translation>Wybierz moduły które chcesz włączyć do projektu. Rekomendowane moduły dla tegp projektu są domyślnie zaznaczone.</translation>
-    </message>
-</context>
-<context>
-    <name>QObject</name>
-    <message>
-        <source>Pass</source>
-        <translation>Prawidłowy</translation>
-    </message>
-    <message>
-        <source>Expected Failure</source>
-        <translation>Oczekiwany błąd</translation>
-    </message>
-    <message>
-        <source>Failure</source>
-        <translation>BÅ‚Ä…d</translation>
-    </message>
-    <message>
-        <source>Expected Pass</source>
-        <translation>Oczekiwany prawidłowy</translation>
-    </message>
-    <message>
-        <source>Warning</source>
-        <translation>Ostrzeżenie</translation>
-    </message>
-    <message>
-        <source>Qt Warning</source>
-        <translation>Ostrzeżenie Qt</translation>
-    </message>
-    <message>
-        <source>Qt Debug</source>
-        <translation>Komunikat debugowy Qt</translation>
-    </message>
-    <message>
-        <source>Critical</source>
-        <translation>BÅ‚Ä…d krytyczny</translation>
-    </message>
-    <message>
-        <source>Fatal</source>
-        <translation>Błąd śmiertelny</translation>
-    </message>
-    <message>
-        <source>Skipped</source>
-        <translation>Pominięty</translation>
-    </message>
-    <message>
-        <source>Info</source>
-        <translation>Informacja</translation>
-    </message>
-</context>
-<context>
-    <name>QTestLib::Internal::QTestOutputPane</name>
-    <message>
-        <source>Test Results</source>
-        <translation>Rezultaty testu</translation>
-    </message>
-    <message>
-        <source>Result</source>
-        <translation>Rezultat</translation>
-    </message>
-    <message>
-        <source>Message</source>
-        <translation>Komunikat</translation>
-    </message>
-</context>
-<context>
-    <name>QTestLib::Internal::QTestOutputWidget</name>
-    <message>
-        <source>All Incidents</source>
-        <translation>Wszystkie zajścia</translation>
-    </message>
-    <message>
-        <source>Show Only:</source>
-        <translation>Pokazuj tylko:</translation>
+        <translation>Wybierz moduły które chcesz włączyć do projektu. Rekomendowane moduły dla tego projektu są domyślnie zaznaczone.</translation>
     </message>
 </context>
 <context>
@@ -11286,89 +11118,6 @@ Wstępnie wybiera wersję desktopową Qt do budowania aplikacji (jeśli jest dos
         <translation>Lokalizator</translation>
     </message>
 </context>
-<context>
-    <name>RegExp::Internal::RegExpWindow</name>
-    <message>
-        <source>&amp;Pattern:</source>
-        <translation>&amp;Wzorzec:</translation>
-    </message>
-    <message>
-        <source>&amp;Text:</source>
-        <translation>&amp;Tekst:</translation>
-    </message>
-    <message>
-        <source>&amp;Minimal</source>
-        <translation>&amp;Minimalistyczny</translation>
-    </message>
-    <message>
-        <source>Wildcard</source>
-        <translation>Dżoker</translation>
-    </message>
-    <message>
-        <source>&amp;Escaped pattern:</source>
-        <translation>&amp;Zabezpieczony wzorzec:</translation>
-    </message>
-    <message>
-        <source>&amp;Pattern syntax:</source>
-        <translation>Składnia &amp;wzorca:</translation>
-    </message>
-    <message>
-        <source>Case &amp;sensitive</source>
-        <translation>Uwzględniaj &amp;wielkość liter</translation>
-    </message>
-    <message>
-        <source>Index of match:</source>
-        <translation>Indeks dopasowania:</translation>
-    </message>
-    <message>
-        <source>Matched length:</source>
-        <translation>Dopasowana długość:</translation>
-    </message>
-    <message>
-        <source>Regular Expression v1</source>
-        <translation>Wyrażenie regularne v1</translation>
-    </message>
-    <message>
-        <source>Regular Expression v2</source>
-        <translation>Wyrażenie regularne v2</translation>
-    </message>
-    <message>
-        <source>Fixed String</source>
-        <translation>Stały ciąg</translation>
-    </message>
-    <message>
-        <source>Capture %1:</source>
-        <translation>ZÅ‚apanie %1:</translation>
-    </message>
-    <message>
-        <source>Match:</source>
-        <translation>Dopasowanie:</translation>
-    </message>
-    <message>
-        <source>Regular Expression</source>
-        <translation>Wyrażenie regularne</translation>
-    </message>
-    <message>
-        <source>Enter Pattern from Code...</source>
-        <translation>Wprowadź wzorzec z kodu...</translation>
-    </message>
-    <message>
-        <source>Clear Patterns</source>
-        <translation>Wyczyść wzorce</translation>
-    </message>
-    <message>
-        <source>Clear Text</source>
-        <translation>Wyczyść tekst</translation>
-    </message>
-    <message>
-        <source>Enter Pattern from Code</source>
-        <translation>Wprowadź wzorzec z kodu</translation>
-    </message>
-    <message>
-        <source>Pattern</source>
-        <translation>Wzorzec</translation>
-    </message>
-</context>
 <context>
     <name>ResourceEditor::Internal::ResourceEditorPlugin</name>
     <message>
@@ -11395,25 +11144,11 @@ Wstępnie wybiera wersję desktopową Qt do budowania aplikacji (jeśli jest dos
         <translation>nienazwany</translation>
     </message>
 </context>
-<context>
-    <name>Snippets::Internal::SnippetsPlugin</name>
-    <message>
-        <source>Snippets</source>
-        <translation>Urywki</translation>
-    </message>
-</context>
-<context>
-    <name>Snippets::Internal::SnippetsWindow</name>
-    <message>
-        <source>Snippets</source>
-        <translation>Urywki</translation>
-    </message>
-</context>
 <context>
     <name>Subversion::Internal::CheckoutWizard</name>
     <message>
         <source>Checks out a Subversion repository and tries to load the contained project.</source>
-        <translation type="unfinished">Wyciąga repozytorium Subversion i próbuje załadować zawarty projekt.</translation>
+        <translation>Wyciąga repozytorium Subversion i próbuje załadować zawarty projekt.</translation>
     </message>
     <message>
         <source>Subversion Checkout</source>
@@ -12598,7 +12333,7 @@ Następujące kodowania będą najprawdopodobniej pasowały:</translation>
     <name>IndexWindow</name>
     <message>
         <source>&amp;Look for:</source>
-        <translation>Po&amp;szukuj:</translation>
+        <translation>Wy&amp;szukaj:</translation>
     </message>
     <message>
         <source>Open Link</source>
@@ -12719,150 +12454,6 @@ Następujące kodowania będą najprawdopodobniej pasowały:</translation>
         <translation>Alias:</translation>
     </message>
 </context>
-<context>
-    <name>MainWindow</name>
-    <message>
-        <source>Bauhaus</source>
-        <comment>MainWindowClass</comment>
-        <translation>Bauhaus</translation>
-    </message>
-    <message>
-        <source>&amp;File</source>
-        <translation>&amp;Plik</translation>
-    </message>
-    <message>
-        <source>&amp;New...</source>
-        <translation>&amp;Nowy...</translation>
-    </message>
-    <message>
-        <source>Ctrl+N</source>
-        <translation></translation>
-    </message>
-    <message>
-        <source>&amp;Open...</source>
-        <translation>&amp;Otwórz...</translation>
-    </message>
-    <message>
-        <source>Ctrl+O</source>
-        <translation>Ctrl+O</translation>
-    </message>
-    <message>
-        <source>Recent Files</source>
-        <translation>Ostatnie pliki</translation>
-    </message>
-    <message>
-        <source>&amp;Save</source>
-        <translation>&amp;Zachowaj</translation>
-    </message>
-    <message>
-        <source>Ctrl+S</source>
-        <translation>Ctrl+S</translation>
-    </message>
-    <message>
-        <source>Save &amp;As...</source>
-        <translation>Zachowaj j&amp;ako...</translation>
-    </message>
-    <message>
-        <source>&amp;Preview</source>
-        <translation>&amp;PodglÄ…d</translation>
-    </message>
-    <message>
-        <source>Ctrl+R</source>
-        <translation>Ctrl+R</translation>
-    </message>
-    <message>
-        <source>&amp;Preview with Debug</source>
-        <translation>&amp;PodglÄ…d z debugowaniem</translation>
-    </message>
-    <message>
-        <source>Ctrl+D</source>
-        <translation>Ctrl+D</translation>
-    </message>
-    <message>
-        <source>&amp;Quit</source>
-        <translation>Za&amp;kończ</translation>
-    </message>
-    <message>
-        <source>&amp;Edit</source>
-        <translation>&amp;Edycja</translation>
-    </message>
-    <message>
-        <source>Ctrl+Z</source>
-        <translation>Ctrl+Z</translation>
-    </message>
-    <message>
-        <source>Ctrl+Y</source>
-        <translation>Ctrl+Y</translation>
-    </message>
-    <message>
-        <source>Ctrl+Shift+Z</source>
-        <translation>Ctrl+Shift+Z</translation>
-    </message>
-    <message>
-        <source>&amp;Copy</source>
-        <translation>S&amp;kopiuj</translation>
-    </message>
-    <message>
-        <source>&amp;Cut</source>
-        <translation>Wy&amp;tnij</translation>
-    </message>
-    <message>
-        <source>&amp;Paste</source>
-        <translation>Wk&amp;lej</translation>
-    </message>
-    <message>
-        <source>&amp;Delete</source>
-        <translation>&amp;Usuń</translation>
-    </message>
-    <message>
-        <source>Del</source>
-        <translation>Del</translation>
-    </message>
-    <message>
-        <source>Backspace</source>
-        <translation>Backspace</translation>
-    </message>
-    <message>
-        <source>&amp;View</source>
-        <translation>&amp;Widok</translation>
-    </message>
-    <message>
-        <source>&amp;Help</source>
-        <translation>P&amp;omoc</translation>
-    </message>
-    <message>
-        <source>&amp;About...</source>
-        <translation>Inform&amp;acje o...</translation>
-    </message>
-    <message>
-        <source>Properties</source>
-        <translation>Właściwości</translation>
-    </message>
-    <message>
-        <source>Could not open file &lt;%1&gt;</source>
-        <translation>Nie można otworzyć pliku &lt;%1&gt;</translation>
-    </message>
-    <message>
-        <source>Qml Errors:</source>
-        <translation>Błędy Qml:</translation>
-    </message>
-    <message>
-        <source>
-%1 %2:%3 - %4</source>
-        <translation>
-%1 %2:%3 - %4</translation>
-    </message>
-    <message>
-        <source>
-%1:%2 - %3</source>
-        <translation>
-%1:%2 - %3</translation>
-    </message>
-    <message>
-        <source>Ctrl+Q</source>
-        <translation>Ctrl+Q</translation>
-    </message>
-</context>
 <context>
     <name>MimeType</name>
     <message>
@@ -13328,7 +12919,7 @@ aktywny tylko po wpisaniu przedrostka</translation>
     </message>
     <message>
         <source>Illegal unicode escape sequence</source>
-        <translation>Niepoprawna unicodowa sekwencja specjalna</translation>
+        <translation>Niepoprawna unikodowa sekwencja specjalna</translation>
     </message>
     <message>
         <source>Unclosed comment at end of file</source>
@@ -14442,7 +14033,7 @@ Możesz odłożyć zmiany lub je porzucić.</translation>
     </message>
     <message>
         <source>Deploy Public Key ...</source>
-        <translation>Zainstaluj klucz publiczny...</translation>
+        <translation>Instaluj klucz publiczny...</translation>
     </message>
     <message>
         <source>Remote device</source>
@@ -15361,11 +14952,11 @@ Wartość dziesiętna ze znakiem (big endian): %4</translation>
     </message>
     <message>
         <source>Hg incoming %1</source>
-        <translation type="unfinished">Hg incoming %1</translation>
+        <translation>Hg incoming %1</translation>
     </message>
     <message>
         <source>Hg outgoing %1</source>
-        <translation type="unfinished">Hg outgoing %1</translation>
+        <translation>Hg outgoing %1</translation>
     </message>
     <message>
         <source>Working...</source>
@@ -15509,11 +15100,11 @@ Wartość dziesiętna ze znakiem (big endian): %4</translation>
     </message>
     <message>
         <source>Incoming...</source>
-        <translation type="unfinished"></translation>
+        <translation>Incoming...</translation>
     </message>
     <message>
         <source>Outgoing...</source>
-        <translation type="unfinished"></translation>
+        <translation>Outgoing...</translation>
     </message>
     <message>
         <source>Commit...</source>
@@ -16094,6 +15685,10 @@ Wartość dziesiętna ze znakiem (big endian): %4</translation>
         <source>Parent folder &quot;%1&quot; for file &quot;%2&quot; does not exist.</source>
         <translation>Katalog &quot;%1&quot; dla pliku &quot;%2&quot; nie istnieje.</translation>
     </message>
+    <message>
+        <source>Error</source>
+        <translation>BÅ‚Ä…d</translation>
+    </message>
     <message>
         <source>Cannot write file: &quot;%1&quot;.</source>
         <translation>Nie można zapisać pliku: &quot;%1&quot;.</translation>
@@ -16492,7 +16087,7 @@ Wartość dziesiętna ze znakiem (big endian): %4</translation>
     </message>
     <message>
         <source>Refactoring</source>
-        <translation type="unfinished"></translation>
+        <translation>Refaktoryzacja</translation>
     </message>
     <message>
         <source>Rename id &apos;%1&apos;...</source>
@@ -16896,7 +16491,7 @@ Czy uruchomiłeś Qemu?</translation>
     </message>
     <message>
         <source>Device error</source>
-        <translation>BÅ‚Ä…d urzÄ…denia</translation>
+        <translation>BÅ‚Ä…d urzÄ…dzenia</translation>
     </message>
     <message>
         <source>Fetching environment failed: %1</source>
@@ -16922,17 +16517,17 @@ Czy uruchomiłeś Qemu?</translation>
     <message numerus="yes">
         <source>WARNING: You want to mount %1 directories, but your device has only %n free ports.&lt;br&gt;You will not be able to run this configuration.</source>
         <translation>
-            <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów ponieważ urządzenie posiada tylko %n wolny port.&lt;br&gt;Nie będzie można uruchomić tej configuracji.</numerusform>
-            <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów ponieważ urządzenie posiada tylko %n wolne porty.&lt;br&gt;Nie będzie można uruchomić tej configuracji.</numerusform>
-            <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów ponieważ urządzenie posiada tylko %n wolnych portów.&lt;br&gt;Nie będzie można uruchomić tej configuracji.</numerusform>
+            <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów ponieważ urządzenie posiada tylko %n wolny port.&lt;br&gt;Nie będzie można uruchomić tej konfiguracji.</numerusform>
+            <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów ponieważ urządzenie posiada tylko %n wolne porty.&lt;br&gt;Nie będzie można uruchomić tej konfiguracji.</numerusform>
+            <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów ponieważ urządzenie posiada tylko %n wolnych portów.&lt;br&gt;Nie będzie można uruchomić tej konfiguracji.</numerusform>
         </translation>
     </message>
     <message numerus="yes">
         <source>WARNING: You want to mount %1 directories, but only %n ports on the device will be available in debug mode. &lt;br&gt;You will not be able to debug your application with this configuration.</source>
         <translation>
-            <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów ponieważ urządzenie udostępnia tylko %n port do debugowania.&lt;br&gt;Nie będzie można debugować aplikacji przy użyciu tej configuracji.</numerusform>
-            <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów ponieważ urządzenie udostępnia tylko %n porty do debugowania.&lt;br&gt;Nie będzie można debugować aplikacji przy użyciu tej configuracji.</numerusform>
-            <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów ponieważ urządzenie udostępnia tylko %n portów do debugowania.&lt;br&gt;Nie będzie można debugować aplikacji przy użyciu tej configuracji.</numerusform>
+            <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów ponieważ urządzenie udostępnia tylko %n port do debugowania.&lt;br&gt;Nie będzie można debugować aplikacji przy użyciu tej konfiguracji.</numerusform>
+            <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów ponieważ urządzenie udostępnia tylko %n porty do debugowania.&lt;br&gt;Nie będzie można debugować aplikacji przy użyciu tej konfiguracji.</numerusform>
+            <numerusform>Ostrzeżenie: Nie można zamontować %1 katalogów ponieważ urządzenie udostępnia tylko %n portów do debugowania.&lt;br&gt;Nie będzie można debugować aplikacji przy użyciu tej konfiguracji.</numerusform>
         </translation>
     </message>
     <message>
@@ -17361,14 +16956,6 @@ Czy uruchomiłeś Qemu?</translation>
         <translation>Nie można pozyskać urządzenia na porcie &quot;%1&quot;. Wygląda że jest w użyciu.</translation>
     </message>
 </context>
-<context>
-    <name>AboutDialog</name>
-    <message>
-        <source>About Bauhaus</source>
-        <comment>AboutDialog</comment>
-        <translation>Informacje o Bauhaus</translation>
-    </message>
-</context>
 <context>
     <name>CodePaster::FileShareProtocolSettingsWidget</name>
     <message>
@@ -17675,6 +17262,14 @@ should a repository require SSH-authentication (see documentation on SSH and the
         <source>Anchors</source>
         <translation>Kotwice</translation>
     </message>
+    <message>
+        <source>Set anchors</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <source>Setting anchors in states is not supported.</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <source>Target</source>
         <translation>Produkt docelowy</translation>
@@ -17833,7 +17428,7 @@ should a repository require SSH-authentication (see documentation on SSH and the
     </message>
     <message>
         <source>Echo Mode</source>
-        <translation type="unfinished">Tryb echo</translation>
+        <translation>Tryb echo</translation>
     </message>
     <message>
         <source>Pass. Char</source>
@@ -18456,7 +18051,7 @@ Przy obecnej nazwie możesz spodziewać się problemów.</translation>
     <message>
         <source>The qmake command &quot;%1&quot; was not found or is not executable.</source>
         <extracomment>%1: Path to qmake executable</extracomment>
-        <translation>Komenda qmake &quot;%1&quot; nie została odnaleziona lub nie jest plikiem wykonywanlym.</translation>
+        <translation>Komenda qmake &quot;%1&quot; nie została odnaleziona lub nie jest plikiem wykonywalnym.</translation>
     </message>
     <message>
         <source>Qmake does not support build directories below the source directory.</source>
@@ -18470,10 +18065,6 @@ Przy obecnej nazwie możesz spodziewać się problemów.</translation>
         <source>Warning: Cannot build QMLObserver; Qt version must be 4.7.1 or higher.</source>
         <translation>Ostrzeżenie: Nie można zbudować QML Observera; wymagana wersja Qt 4.7.1 lub wyższa.</translation>
     </message>
-    <message>
-        <source>Warning: Cannot build qmldump; Qt version must be 4.7.1 or higher.</source>
-        <translation>Ostrzeżenie: Nie można zbudować qmldump; wymagana wersja Qt 4.7.1 lub wyższa.</translation>
-    </message>
 </context>
 <context>
     <name>emptyPane</name>
@@ -18820,7 +18411,7 @@ Identyfikatory muszą rozpoczynać się małą literą.</translation>
     </message>
     <message>
         <source>Amplitude of elastic and bounce easing curves</source>
-        <translation>Amplituda  easing curve typu elastic i bounce</translation>
+        <translation>Amplituda easing curve typu elastic lub bounce</translation>
     </message>
     <message>
         <source>Period</source>
@@ -19092,21 +18683,6 @@ aktywny tylko po wpisaniu przedrostka</translation>
         <translation>Usuń przyrostek &quot;d&quot; z wersji release&apos;owej</translation>
     </message>
 </context>
-<context>
-    <name>MaemoDeployableListWidget</name>
-    <message>
-        <source>Form</source>
-        <translation type="obsolete">Formularz</translation>
-    </message>
-    <message>
-        <source>Add File to Package</source>
-        <translation type="obsolete">Dodaj plik do pakietu</translation>
-    </message>
-    <message>
-        <source>Remove File from Package</source>
-        <translation type="obsolete">Usuń plik z pakietu</translation>
-    </message>
-</context>
 <context>
     <name>MaemoDeployStepWidget</name>
     <message>
@@ -19125,10 +18701,6 @@ aktywny tylko po wpisaniu przedrostka</translation>
         <source>These show the INSTALLS settings from the project file(s).</source>
         <translation>Pokazuje ustawienia INSTALLS dla plików projektu.</translation>
     </message>
-    <message>
-        <source>&lt;b&gt;Files to install:&lt;/b&gt;</source>
-        <translation type="obsolete">&lt;b&gt;Pliki do zainstalowania:&lt;/b&gt;</translation>
-    </message>
     <message>
         <source>&lt;b&gt;Files to install for subproject:&lt;/b&gt;</source>
         <translation>&lt;b&gt;Pliki do zainstalowania dla podprojektu:&lt;/b&gt;</translation>
@@ -19146,7 +18718,7 @@ aktywny tylko po wpisaniu przedrostka</translation>
     </message>
     <message>
         <source>Target UID3:</source>
-        <translation>UID3 prodktu:</translation>
+        <translation>UID3 produktu:</translation>
     </message>
     <message>
         <source>Enable network access</source>
@@ -19185,7 +18757,7 @@ aktywny tylko po wpisaniu przedrostka</translation>
     </message>
     <message>
         <source>Target UID3:</source>
-        <translation>UID3 prodktu:</translation>
+        <translation>UID3 produktu:</translation>
     </message>
 </context>
 <context>
@@ -19204,7 +18776,7 @@ aktywny tylko po wpisaniu przedrostka</translation>
     </message>
     <message>
         <source>Import an existing .qml file</source>
-        <translation>Zaimportuj isniejÄ…cy plik .qml</translation>
+        <translation>Zaimportuj istniejÄ…cy plik .qml</translation>
     </message>
     <message>
         <source>Note: All files and directories that reside in the same directory as the main QML file are deployed. You can modify the contents of the directory any time before deploying.</source>
@@ -19661,6 +19233,10 @@ Lista serwera: %2.</translation>
         <extracomment>Function call failed</extracomment>
         <translation>Funkcja &quot;%1()&quot; zakończona niepowodzeniem: %2</translation>
     </message>
+    <message>
+        <source>An instance of the CDB engine is still running; cannot create an a new instance.</source>
+        <translation type="unfinished"></translation>
+    </message>
     <message>
         <source>Version: %1</source>
         <translation>Wersja: %1</translation>
@@ -20567,6 +20143,18 @@ zamiast w jego katalogu instalacyjnym.</translation>
         <source>Previous Open Document in History</source>
         <translation>Poprzedni otwarty dokument w historii</translation>
     </message>
+    <message>
+        <source>Go Back</source>
+        <translation>Wstecz</translation>
+    </message>
+    <message>
+        <source>Go Forward</source>
+        <translation>W przód</translation>
+    </message>
+    <message>
+        <source>Close</source>
+        <translation>Zamknij</translation>
+    </message>
 </context>
 <context>
     <name>Help::Internal::OpenPagesManager</name>
@@ -21165,21 +20753,6 @@ Adds the library and include paths to the .pro file.</source>
         <translation>Zdalny katalog</translation>
     </message>
 </context>
-<context>
-    <name>Qt4ProjectManager::Internal::MaemoDeployableListWidget</name>
-    <message>
-        <source>Choose a local file</source>
-        <translation type="obsolete">Wybierz plik lokalny</translation>
-    </message>
-    <message>
-        <source>Error adding file</source>
-        <translation type="obsolete">BÅ‚Ä…d w trakcie dodawania pliku</translation>
-    </message>
-    <message>
-        <source>Error removing file</source>
-        <translation type="obsolete">BÅ‚Ä…d w trakcie usuwania pliku</translation>
-    </message>
-</context>
 <context>
     <name>Qt4ProjectManager::Internal::MaemoDeployStep</name>
     <message>
@@ -21249,7 +20822,7 @@ Adds the library and include paths to the .pro file.</source>
     </message>
     <message>
         <source>Installing package to device...</source>
-        <translation>Instalowanie pakietu na urzÄ…dzieniu...</translation>
+        <translation>Instalowanie pakietu na urzÄ…dzeniu...</translation>
     </message>
     <message>
         <source>Copying file &apos;%1&apos; to path &apos;%2&apos; on the device...</source>
@@ -21364,19 +20937,19 @@ Zawartość zdalnego stderr: &quot;%1&quot;</translation>
     </message>
     <message>
         <source>No directories to unmount</source>
-        <translation>Brak katalogów do odmontowania</translation>
+        <translation>Brak katalogów do zdemontowania</translation>
     </message>
     <message>
         <source>Could not execute unmount request.</source>
-        <translation>Nie można wykonać odmontowania.</translation>
+        <translation>Nie można wykonać zdemontowania.</translation>
     </message>
     <message>
         <source>Failure unmounting: %1</source>
-        <translation>BÅ‚Ä…d odmontowywania: %1</translation>
+        <translation>Błąd demontażu: %1</translation>
     </message>
     <message>
         <source>Finished unmounting.</source>
-        <translation>Odmontowywanie zakończone.</translation>
+        <translation>Zakończono demontaż.</translation>
     </message>
     <message>
         <source>
@@ -21512,7 +21085,7 @@ stderr był: %1</translation>
     </message>
     <message>
         <source>Unmounting host directories...</source>
-        <translation>Odmontowywanie katalogów hosta...</translation>
+        <translation>Demontowanie katalogów hosta...</translation>
     </message>
 </context>
 <context>
@@ -22051,7 +21624,7 @@ Sprawdź prawa dostępu do katalogu.</translation>
     </message>
     <message>
         <source>Timeout after %1s.</source>
-        <translation>Bez odpowiedzie po %1s.</translation>
+        <translation>Bez odpowiedzi po %1s.</translation>
     </message>
     <message>
         <source>The process crashed.</source>
@@ -22143,15 +21716,6 @@ Powód: %2</translation>
         <translation>Dodaj definicjÄ™ w %1</translation>
     </message>
 </context>
-<context>
-    <name>QmlDesigner::TextToModelMerger</name>
-    <message>
-        <source>Unsupported import:
-import QtQuick 1.0 use import Qt 4.7 instead</source>
-        <translation type="obsolete">Nieobsługiwany import:
-zamiast &quot;import QtQuick 1.0&quot; użyj &quot;import Qt 4.7&quot;</translation>
-    </message>
-</context>
 <context>
     <name>QmlJsEditor</name>
     <message>
diff --git a/src/libs/qmleditorwidgets/gradientline.cpp b/src/libs/qmleditorwidgets/gradientline.cpp
index 2c6b9f8c937cd4ab679e63d7f8b3952a9e7c6250..66b1821718481cfe9207d71492da713aadb3f194 100644
--- a/src/libs/qmleditorwidgets/gradientline.cpp
+++ b/src/libs/qmleditorwidgets/gradientline.cpp
@@ -193,6 +193,8 @@ void GradientLine::paintEvent(QPaintEvent *event)
             int pos = qreal((width() - 16)) * m_stops.at(i) + 9;
             p.setBrush(arrowColor);
             QVector<QPointF> points;
+            if (localYOffset < -8)
+                p.setOpacity(0.5);
             points.append(QPointF(pos + 0.5, 28.5 + localYOffset)); //triangle
             points.append(QPointF(pos - 3.5, 22.5 + localYOffset));
             points.append(QPointF(pos + 4.5, 22.5 + localYOffset));
@@ -210,6 +212,7 @@ void GradientLine::paintEvent(QPaintEvent *event)
             p.setBrush(Qt::NoBrush);
             p.setPen(QColor(255, 255, 255, 30));
             p.drawRect(pos - 4, 9 + localYOffset, 8, 9);
+            p.setOpacity(1);
         }
     }
 }
@@ -220,6 +223,7 @@ void GradientLine::mousePressEvent(QMouseEvent *event)
         event->accept();
         int xPos = event->pos().x();
         int yPos = event->pos().y();
+        m_dragStart = event->pos();
 
         int draggedIndex = -1;
         m_create = false;
@@ -227,10 +231,9 @@ void GradientLine::mousePressEvent(QMouseEvent *event)
         if ((yPos > 10) && (yPos < 30))
             for (int i =0; i < m_stops.size(); i++) {
             int pos = qreal((width() - 16)) * m_stops.at(i) + 9;
-            if (((xPos + 5) > pos) && ((xPos - 5) < pos)) {
+            if (((xPos + 8) > pos) && ((xPos - 8) < pos)) {
                 draggedIndex = i;
                 m_dragActive = true;
-                m_dragStart = event->pos();
                 setCurrentIndex(draggedIndex);
                 update();
             }
@@ -253,6 +256,22 @@ void GradientLine::mouseReleaseEvent(QMouseEvent *event)
 {
     if (event->button() == Qt::LeftButton) {
         event->accept();
+
+        if (m_dragActive) {
+            m_yOffset += event->pos().y() - 14;
+            if (m_yOffset > 0) {
+                m_yOffset = 0;
+            } else if ((m_yOffset < - 8) && (currentColorIndex()) != 0 && (currentColorIndex() < m_stops.size() - 1)) {
+                m_yOffset = 0;
+                m_dragActive = false;
+                m_stops.removeAt(currentColorIndex());
+                m_colorList.removeAt(currentColorIndex());
+                updateGradient();
+                setCurrentIndex(0);
+                //delete item
+            }
+        }
+
         if (m_dragActive == false && m_create) {
             qreal stopPos = qreal(event->pos().x() - 9) / qreal((width() - 15));
             int index = -1;
@@ -260,7 +279,7 @@ void GradientLine::mouseReleaseEvent(QMouseEvent *event)
                 if ((stopPos > m_stops.at(i)) && (index == -1))
                     index = i +1;
             }
-            if (index != -1 && (m_useGradient)) { //creating of items only in base state
+            if (index != -1 && (m_useGradient) && abs(m_dragStart.x() - event->pos().x()) < 10) { //creating of items only in base state
                 m_stops.insert(index, stopPos);
                 m_colorList.insert(index, QColor(Qt::white));
                 setCurrentIndex(index);
@@ -278,32 +297,24 @@ void GradientLine::mouseMoveEvent(QMouseEvent *event)
 {
     if (m_dragActive) {
         event->accept();
-        int xPos = event->pos().x();
         int pos = qreal((width() - 20)) * m_stops.at(currentColorIndex()) + 8;
-        int offset = m_dragOff ? 2 : 20;
-        if (xPos < pos + offset && xPos > pos - offset) {
-            m_dragOff = false;
-            int xDistance = event->pos().x() - m_dragStart.x();
-            qreal distance = qreal(xDistance) / qreal((width() - 20));
-            qreal newStop  = m_stops.at(currentColorIndex()) + distance;
-            if ((newStop >=0) && (newStop <= 1))
-                m_stops[currentColorIndex()] = newStop;
-            m_yOffset += event->pos().y() - m_dragStart.y();
-            if (m_yOffset > 0) { //deleting only in base state
-                m_yOffset = 0;
-            } else if ((m_yOffset < - 12) && (currentColorIndex()) != 0 && (currentColorIndex() < m_stops.size() - 1)) {
-                m_yOffset = 0;
-                m_dragActive = false;
-                m_stops.removeAt(currentColorIndex());
-                m_colorList.removeAt(currentColorIndex());
-                updateGradient();
-                setCurrentIndex(0);
-                //delete item
-            }
-        } else {
-            m_dragOff = true;
-        }
-        m_dragStart = event->pos();
+
+        m_dragOff = false;
+        int xDistance = event->pos().x() - pos;
+        qreal distance = qreal(xDistance) / qreal((width() - 20));
+        qreal newStopPosition  = m_stops.at(currentColorIndex()) + distance;
+        if (newStopPosition > 0.98) //snap to 1
+            newStopPosition = 1;
+        if (newStopPosition < 0.02) //snap to 0
+            newStopPosition = 0;
+        if ((newStopPosition >=0) && (newStopPosition <= 1))
+            m_stops[currentColorIndex()] = newStopPosition;
+        m_yOffset += event->pos().y() - 14;
+        if (m_yOffset > 0)
+            m_yOffset = 0;
+        else if ((m_yOffset < - 10))
+            m_yOffset = -10;
+
         update();
     }
 }
diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp
index ab3bc7b23a7716b6ee4b8c11d24b43bc39fd8c8c..46a81ef1a93ffd4f24de9cfc2665dbe840dbcc7a 100644
--- a/src/plugins/cppeditor/cppeditor.cpp
+++ b/src/plugins/cppeditor/cppeditor.cpp
@@ -415,9 +415,9 @@ CPPEditor::CPPEditor(QWidget *parent)
     setParenthesesMatchingEnabled(true);
     setMarksVisible(true);
     setCodeFoldingSupported(true);
-    setCodeFoldingVisible(true);
     setIndenter(new CppQtStyleIndenter);
     setAutoCompleter(new CppAutoCompleter);
+
     baseTextDocument()->setSyntaxHighlighter(new CppHighlighter);
 
     m_modelManager = CppTools::CppModelManagerInterface::instance();
diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index f9620f5ca1bdb3c9b09087c2e038d3c6bce9b562..3f1266ec87a7f23914a0cc79e3aa558085fa1829 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -1133,6 +1133,40 @@ void CppCodeCompletion::globalCompletion(Scope *currentScope)
     addMacros(context.thisDocument()->fileName(), context.snapshot());
 }
 
+static Scope *enclosingNonTemplateScope(Symbol *symbol)
+{
+    if (symbol) {
+        if (Scope *scope = symbol->enclosingScope()) {
+            if (Template *templ = scope->asTemplate())
+                return templ->enclosingScope();
+            return scope;
+        }
+    }
+    return 0;
+}
+
+static Function *asFunctionOrTemplateFunctionType(FullySpecifiedType ty)
+{
+    if (Function *funTy = ty->asFunctionType())
+        return funTy;
+    else if (Template *templ = ty->asTemplateType()) {
+        if (Symbol *decl = templ->declaration())
+            return decl->asFunction();
+    }
+    return 0;
+}
+
+static Class *asClassOrTemplateClassType(FullySpecifiedType ty)
+{
+    if (Class *classTy = ty->asClassType())
+        return classTy;
+    else if (Template *templ = ty->asTemplateType()) {
+        if (Symbol *decl = templ->declaration())
+            return decl->asClass();
+    }
+    return 0;
+}
+
 bool CppCodeCompletion::completeConstructorOrFunction(const QList<LookupItem> &results,
                                                       int endOfExpression, bool toolTipOnly)
 {
@@ -1142,10 +1176,10 @@ bool CppCodeCompletion::completeConstructorOrFunction(const QList<LookupItem> &r
     foreach (const LookupItem &result, results) {
         FullySpecifiedType exprTy = result.type().simplified();
 
-        if (Class *klass = exprTy->asClassType()) {
+        if (Class *klass = asClassOrTemplateClassType(exprTy)) {
             const Name *className = klass->name();
             if (! className)
-                continue; // nothing to do for anonymoous classes.
+                continue; // nothing to do for anonymous classes.
 
             for (unsigned i = 0; i < klass->memberCount(); ++i) {
                 Symbol *member = klass->memberAt(i);
@@ -1173,11 +1207,11 @@ bool CppCodeCompletion::completeConstructorOrFunction(const QList<LookupItem> &r
         foreach (const LookupItem &result, results) {
             FullySpecifiedType ty = result.type().simplified();
 
-            if (Function *fun = ty->asFunctionType()) {
+            if (Function *fun = asFunctionOrTemplateFunctionType(ty)) {
 
                 if (! fun->name())
                     continue;
-                else if (! functions.isEmpty() && functions.first()->enclosingScope() != fun->enclosingScope())
+                else if (! functions.isEmpty() && enclosingNonTemplateScope(functions.first()) != enclosingNonTemplateScope(fun))
                     continue; // skip fun, it's an hidden declaration.
 
                 bool newOverload = true;
diff --git a/src/plugins/glsleditor/glsleditor.cpp b/src/plugins/glsleditor/glsleditor.cpp
index 8e5837198109df86e770bcebda9d98a6e2bfcae7..5903def136e30649ae9a831a4afea9a8b096bb5a 100644
--- a/src/plugins/glsleditor/glsleditor.cpp
+++ b/src/plugins/glsleditor/glsleditor.cpp
@@ -80,7 +80,6 @@ GLSLTextEditor::GLSLTextEditor(QWidget *parent) :
     setParenthesesMatchingEnabled(true);
     setMarksVisible(true);
     setCodeFoldingSupported(true);
-    setCodeFoldingVisible(true);
     //setIndenter(new Indenter);
 
     m_updateDocumentTimer = new QTimer(this);
diff --git a/src/plugins/qmldesigner/components/propertyeditor/qmlanchorbindingproxy.cpp b/src/plugins/qmldesigner/components/propertyeditor/qmlanchorbindingproxy.cpp
index f987b8e09b5ee9f5f8ff767804fd9c4ab8be984f..d9d6de0e1beb258adc9cc11f73ed4b182ba0fc42 100644
--- a/src/plugins/qmldesigner/components/propertyeditor/qmlanchorbindingproxy.cpp
+++ b/src/plugins/qmldesigner/components/propertyeditor/qmlanchorbindingproxy.cpp
@@ -271,13 +271,13 @@ void QmlAnchorBindingProxy::resetLayout() {
         m_fxItemNode.anchors().removeAnchors();
         m_fxItemNode.anchors().removeMargins();
 
-        if (qFuzzyCompare(m_fxItemNode.instancePosition().x(), 0.0))
+        if (qFuzzyCompare(m_fxItemNode.instancePosition().x(), 0.0) && m_fxItemNode.modelNode().hasAuxiliaryData(auxDataString + "x"))
             m_fxItemNode.setVariantProperty("x", m_fxItemNode.modelNode().auxiliaryData(auxDataString + "x"));
-        if (qFuzzyCompare(m_fxItemNode.instancePosition().y(), 0.0))
+        if (qFuzzyCompare(m_fxItemNode.instancePosition().y(), 0.0) && m_fxItemNode.modelNode().hasAuxiliaryData(auxDataString + "y"))
             m_fxItemNode.setVariantProperty("y", m_fxItemNode.modelNode().auxiliaryData(auxDataString + "y"));
-        if (qFuzzyCompare(m_fxItemNode.instanceSize().width(), 0.0))
+        if (qFuzzyCompare(m_fxItemNode.instanceSize().width(), 0.0) && m_fxItemNode.modelNode().hasAuxiliaryData(auxDataString + "width"))
             m_fxItemNode.setVariantProperty("width", m_fxItemNode.modelNode().auxiliaryData(auxDataString + "width"));
-        if (qFuzzyCompare(m_fxItemNode.instanceSize().height(), 0.0))
+        if (qFuzzyCompare(m_fxItemNode.instanceSize().height(), 0.0) && m_fxItemNode.modelNode().hasAuxiliaryData(auxDataString + "height"))
             m_fxItemNode.setVariantProperty("height", m_fxItemNode.modelNode().auxiliaryData(auxDataString + "height"));
 
         emit topAnchorChanged();
diff --git a/src/plugins/qmldesigner/designercore/metainfo/propertymetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/propertymetainfo.cpp
index f7c3b1efdbd050b3782cba75c40ffa166e44fe4d..2275afb04ef82e19a438f5d4ece4758013803539 100644
--- a/src/plugins/qmldesigner/designercore/metainfo/propertymetainfo.cpp
+++ b/src/plugins/qmldesigner/designercore/metainfo/propertymetainfo.cpp
@@ -256,7 +256,7 @@ bool PropertyMetaInfo::isValueType() const
         throw InvalidMetaInfoException(__LINE__, Q_FUNC_INFO, __FILE__);
     }
 
-    QDeclarativeValueType *valueType(QDeclarativeValueTypeFactory::valueType(variantTypeId()));
+    QScopedPointer<QDeclarativeValueType> valueType(QDeclarativeValueTypeFactory::valueType(variantTypeId()));
     return valueType;
 }
 
diff --git a/src/plugins/qmldesigner/qtquickplugin/quick.metainfo b/src/plugins/qmldesigner/qtquickplugin/quick.metainfo
index 139a82bc056dbb7f80ebb1400392938b8c93f2ae..781e6352cb785522943a35c0ec73c9713cd46e8e 100644
--- a/src/plugins/qmldesigner/qtquickplugin/quick.metainfo
+++ b/src/plugins/qmldesigner/qtquickplugin/quick.metainfo
@@ -21,6 +21,7 @@
       <property name="width" type="int" value="80"/>
       <property name="height" type="int" value="20"/>
       <property name="text" type="QString" value="text"/>
+      <property name="font.pixelSize" type="int" value="12"/>
     </itemlibraryentry>
   </node>
   <node name="Qt/TextEdit" isContainer="false" icon=":/qtquickplugin/images/text-edit-icon16.png">
@@ -30,6 +31,7 @@
       <property name="width" type="int" value="80"/>
       <property name="height" type="int" value="20"/>
       <property name="text" type="QString" value="textEdit"/>
+      <property name="font.pixelSize" type="int" value="12"/>
     </itemlibraryentry>
   </node>
   <node name="Qt/TextInput" isContainer="false" icon=":/qtquickplugin/images/text-input-icon16.png">
@@ -39,6 +41,7 @@
       <property name="width" type="int" value="80"/>
       <property name="height" type="int" value="20"/>
       <property name="text" type="QString" value="textInput"/>
+      <property name="font.pixelSize" type="int" value="12"/>
     </itemlibraryentry>
   </node>
   <node name="Qt/MouseArea" icon=":/qtquickplugin/images/mouse-area-icon16.png">
diff --git a/src/plugins/qmljseditor/qmljseditor.cpp b/src/plugins/qmljseditor/qmljseditor.cpp
index c9a3afc3a58f637e0ed731ad56c3a4e33ad4377e..d7fa0d4261b14dfa3cfa1bb43e074d6655794682 100644
--- a/src/plugins/qmljseditor/qmljseditor.cpp
+++ b/src/plugins/qmljseditor/qmljseditor.cpp
@@ -613,7 +613,6 @@ QmlJSTextEditor::QmlJSTextEditor(QWidget *parent) :
     setParenthesesMatchingEnabled(true);
     setMarksVisible(true);
     setCodeFoldingSupported(true);
-    setCodeFoldingVisible(true);
     setIndenter(new Indenter);
     setAutoCompleter(new AutoCompleter);
 
diff --git a/src/plugins/qmljsinspector/qmljsinspector.cpp b/src/plugins/qmljsinspector/qmljsinspector.cpp
index 8cbc61e87d539e36d4c3e3d34537967722afc5c0..a9a391dbf2d90d4e9ca9dbc8b220957b3b85ee08 100644
--- a/src/plugins/qmljsinspector/qmljsinspector.cpp
+++ b/src/plugins/qmljsinspector/qmljsinspector.cpp
@@ -566,6 +566,13 @@ QString InspectorUi::filenameForShadowBuildFile(const QString &filename) const
     if (projectDir.exists() && buildDir.exists() && fileInfo.exists()) {
         if (fileInfo.absoluteFilePath().startsWith(buildDir.canonicalPath())) {
             QString fileRelativePath = fileInfo.canonicalFilePath().mid(debugProjectBuildDirectory().length());
+
+#ifdef Q_OS_MACX
+            // Qt Quick Applications by default copy the qml directory to buildDir()/X.app/Contents/Resources
+            static QRegExp resourceBundlePattern(QLatin1String("^.*\\.app/Contents/Resources/"));
+            fileRelativePath.remove(resourceBundlePattern);
+#endif
+
             QFileInfo projectFile(projectDir.canonicalPath() + QLatin1Char('/') + fileRelativePath);
 
             if (projectFile.exists())
diff --git a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp
index 1e523a039224029bf97e032fe343730715474614..ac716745399e6680853674157beb27de13fc8cff 100644
--- a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp
+++ b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.cpp
@@ -85,16 +85,29 @@ GettingStartedWelcomePageWidget::GettingStartedWelcomePageWidget(QWidget *parent
 
     connect(ui->tutorialTreeWidget, SIGNAL(activated(QString)), SLOT(slotOpenHelpPage(const QString&)));
 
-    ui->tutorialTreeWidget->addItem(tr("The Qt Creator User Interface"),
-                                        QLatin1String("qthelp://com.nokia.qtcreator/doc/creator-quick-tour.html"));
-    ui->tutorialTreeWidget->addItem(tr("Building and Running an Example"),
-                                        QLatin1String("qthelp://com.nokia.qtcreator/doc/creator-build-example-application.html?view=split"));
-    ui->tutorialTreeWidget->addItem(tr("Creating a Qt C++ Application"),
-                                        QLatin1String("qthelp://com.nokia.qtcreator/doc/creator-writing-program.html?view=split"));
-    ui->tutorialTreeWidget->addItem(tr("Creating a Mobile Application"),
-                                        QLatin1String("qthelp://com.nokia.qtcreator/doc/creator-mobile-example.html?view=split"));
-    ui->tutorialTreeWidget->addItem(tr("Creating a Qt Quick Application"),
-                                        QLatin1String("qthelp://com.nokia.qtcreator/doc/creator-qml-application.html?view=split"));
+    QFontMetrics fm = fontMetrics();
+    const int margins = 30;
+    int width = ui->tutorialTreeWidget->minimumWidth() - margins;
+
+    QString itemText = tr("The Qt Creator User Interface");
+    QString url = QLatin1String("qthelp://com.nokia.qtcreator/doc/creator-quick-tour.html");
+    ui->tutorialTreeWidget->addItem(fm.elidedText(itemText, Qt::ElideRight, width), url, itemText);
+
+    itemText = tr("Building and Running an Example");
+    url = QLatin1String("qthelp://com.nokia.qtcreator/doc/creator-build-example-application.html?view=split");
+    ui->tutorialTreeWidget->addItem(fm.elidedText(itemText, Qt::ElideRight, width), url, itemText);
+
+    itemText = tr("Creating a Qt C++ Application");
+    url = QLatin1String("qthelp://com.nokia.qtcreator/doc/creator-writing-program.html?view=split");
+    ui->tutorialTreeWidget->addItem(fm.elidedText(itemText, Qt::ElideRight, width), url, itemText);
+
+    itemText = tr("Creating a Mobile Application");
+    url = QLatin1String("qthelp://com.nokia.qtcreator/doc/creator-mobile-example.html?view=split");
+    ui->tutorialTreeWidget->addItem(fm.elidedText(itemText, Qt::ElideRight, width), url, itemText);
+
+    itemText = tr("Creating a Qt Quick Application");
+    url = QLatin1String("qthelp://com.nokia.qtcreator/doc/creator-qml-application.html?view=split");
+    ui->tutorialTreeWidget->addItem(fm.elidedText(itemText, Qt::ElideRight, width), url, itemText);
 
     srand(QDateTime::currentDateTime().toTime_t());
     QStringList tips = tipsOfTheDay();
diff --git a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui
index d04f47be194b9736c20a8fca9b422825187591f9..788470bf47730ff50bd41bacab5ee683b0a4ea11 100644
--- a/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui
+++ b/src/plugins/qt4projectmanager/gettingstartedwelcomepagewidget.ui
@@ -52,7 +52,20 @@
           </widget>
          </item>
          <item row="1" column="0">
-          <widget class="Utils::WelcomeModeTreeWidget" name="tutorialTreeWidget" native="true"/>
+          <widget class="Utils::WelcomeModeTreeWidget" name="tutorialTreeWidget" native="true">
+           <property name="minimumSize">
+            <size>
+             <width>260</width>
+             <height>0</height>
+            </size>
+           </property>
+           <property name="maximumSize">
+            <size>
+             <width>260</width>
+             <height>16777215</height>
+            </size>
+           </property>
+          </widget>
          </item>
         </layout>
        </widget>
@@ -67,20 +80,26 @@
         </property>
         <property name="minimumSize">
          <size>
-          <width>230</width>
+          <width>240</width>
           <height>0</height>
          </size>
         </property>
-        <property name="styleSheet">
-         <string notr="true"/>
+        <property name="maximumSize">
+         <size>
+          <width>240</width>
+          <height>16777215</height>
+         </size>
         </property>
         <layout class="QGridLayout" name="gridLayout_11">
+         <property name="leftMargin">
+          <number>0</number>
+         </property>
+         <property name="bottomMargin">
+          <number>0</number>
+         </property>
          <property name="verticalSpacing">
           <number>12</number>
          </property>
-         <property name="rightMargin">
-          <number>9</number>
-         </property>
          <item row="0" column="0">
           <layout class="QVBoxLayout" name="verticalLayout">
            <item>
@@ -248,6 +267,9 @@
          </sizepolicy>
         </property>
         <layout class="QGridLayout" name="gridLayout">
+         <property name="topMargin">
+          <number>0</number>
+         </property>
          <item row="0" column="0">
           <widget class="Utils::WelcomeModeLabel" name="demoTitleLabel_4">
            <property name="text">
@@ -316,7 +338,7 @@
         </layout>
        </widget>
       </item>
-      <item row="3" column="0" colspan="2">
+      <item row="2" column="0" colspan="2">
        <layout class="QHBoxLayout" name="horizontalLayout_2">
         <property name="spacing">
          <number>6</number>
@@ -368,22 +390,6 @@
         </item>
        </layout>
       </item>
-      <item row="2" column="0">
-       <spacer name="verticalSpacer_8">
-        <property name="orientation">
-         <enum>Qt::Vertical</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::MinimumExpanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>20</width>
-          <height>40</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
      </layout>
     </widget>
    </item>
@@ -457,28 +463,27 @@ border-bottom: 1px solid &quot;#C9C9C9&quot;;
        </widget>
       </item>
       <item>
-       <layout class="QHBoxLayout" name="horizontalLayout">
-        <item>
-         <spacer name="horizontalSpacer_3">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>24</width>
-            <height>38</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-        <item>
-         <widget class="QLabel" name="detailsLabel">
-          <property name="text">
-           <string notr="true"/>
-          </property>
-         </widget>
-        </item>
-       </layout>
+       <spacer name="verticalSpacer_8">
+        <property name="orientation">
+         <enum>Qt::Vertical</enum>
+        </property>
+        <property name="sizeHint" stdset="0">
+         <size>
+          <width>20</width>
+          <height>6</height>
+         </size>
+        </property>
+       </spacer>
+      </item>
+      <item>
+       <widget class="QLabel" name="detailsLabel">
+        <property name="text">
+         <string notr="true"/>
+        </property>
+        <property name="alignment">
+         <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+        </property>
+       </widget>
       </item>
       <item>
        <spacer name="verticalSpacer_5">
diff --git a/src/plugins/qt4projectmanager/qmldumptool.cpp b/src/plugins/qt4projectmanager/qmldumptool.cpp
index 64deddcf256ba466c8d7771f0bf46e0fb09b5ccc..46d849dfa9c6b95854d919a43a5643fd707617c0 100644
--- a/src/plugins/qt4projectmanager/qmldumptool.cpp
+++ b/src/plugins/qt4projectmanager/qmldumptool.cpp
@@ -279,7 +279,7 @@ void QmlDumpTool::pathAndEnvironment(ProjectExplorer::Project *project, QString
     path = Qt4ProjectManager::QmlDumpTool::toolForProject(project);
 
     QtVersion *version = qtVersionForProject(project);
-    if (version && path.isEmpty()) {
+    if (version && path.isEmpty() && QmlDumpTool::canBuild(version)) {
         QmlDumpBuildTask *qmlDumpBuildTask = qmlDumpBuilds()->value(version->uniqueId());
         if (qmlDumpBuildTask) {
             if (!qmlDumpBuildTask->hasFailed())
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.cpp
index c5c797f26a3e22dbebf00b7ee72deda015fd1947..a5a286c87aa21e7f9dd96e4fd24b4e70a105ede6 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.cpp
@@ -22,7 +22,6 @@ MaemoDeployStepWidget::MaemoDeployStepWidget(MaemoDeployStep *step) :
     m_step(step)
 {
     ui->setupUi(this);
-    ui->tableView->setTextElideMode(Qt::ElideMiddle);
     ui->modelComboBox->setModel(m_step->deployables().data());
     connect(m_step->deployables().data(), SIGNAL(modelAboutToBeReset()),
         SLOT(handleModelListToBeReset()));
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.ui b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.ui
index 72ae6855646181fda7c531ad001d8d66b9cba007..2ad404fbdbd52efa4dec89f318f40c613299a8f9 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.ui
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.ui
@@ -110,6 +110,18 @@
     <layout class="QHBoxLayout" name="horizontalLayout_4">
      <item>
       <widget class="QTableView" name="tableView">
+       <property name="minimumSize">
+        <size>
+         <width>0</width>
+         <height>150</height>
+        </size>
+       </property>
+       <property name="textElideMode">
+        <enum>Qt::ElideMiddle</enum>
+       </property>
+       <property name="horizontalScrollMode">
+        <enum>QAbstractItemView::ScrollPerPixel</enum>
+       </property>
        <property name="showGrid">
         <bool>false</bool>
        </property>
@@ -119,6 +131,9 @@
        <attribute name="horizontalHeaderDefaultSectionSize">
         <number>400</number>
        </attribute>
+       <attribute name="horizontalHeaderHighlightSections">
+        <bool>false</bool>
+       </attribute>
        <attribute name="horizontalHeaderMinimumSectionSize">
         <number>100</number>
        </attribute>
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoremotemounter.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoremotemounter.cpp
index 22d7bd469dba180ac64778585fbad82149cf94f3..f9057366dc765bd3f9b325d17391af5f5eddccec 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoremotemounter.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoremotemounter.cpp
@@ -168,18 +168,6 @@ void MaemoRemoteMounter::handleUnmountProcessFinished(int exitStatus)
 void MaemoRemoteMounter::stop()
 {
     setState(Inactive);
-    if (m_utfsClientUploader) {
-        disconnect(m_utfsClientUploader.data(), 0, this, 0);
-        m_utfsClientUploader->closeChannel();
-    }
-    if (m_mountProcess) {
-        disconnect(m_mountProcess.data(), 0, this, 0);
-        m_mountProcess->closeChannel();
-    }
-    if (m_unmountProcess) {
-        disconnect(m_unmountProcess.data(), 0, this, 0);
-        m_unmountProcess->closeChannel();
-    }
 }
 
 void MaemoRemoteMounter::deployUtfsClient()
@@ -449,8 +437,21 @@ void MaemoRemoteMounter::handleUtfsServerTimeout()
 
 void MaemoRemoteMounter::setState(State newState)
 {
-    if (newState == Inactive)
+    if (newState == Inactive) {
         m_utfsServerTimer->stop();
+        if (m_utfsClientUploader) {
+            disconnect(m_utfsClientUploader.data(), 0, this, 0);
+            m_utfsClientUploader->closeChannel();
+        }
+        if (m_mountProcess) {
+            disconnect(m_mountProcess.data(), 0, this, 0);
+            m_mountProcess->closeChannel();
+        }
+        if (m_unmountProcess) {
+            disconnect(m_unmountProcess.data(), 0, this, 0);
+            m_unmountProcess->closeChannel();
+        }
+    }
     m_state = newState;
 }
 
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
index 2adab390a23040506e4b871ffad7bf7e30fb3d08..9a3cb5851c2dd5dceb2f8c907247e6c7db7c3370 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.cpp
@@ -69,6 +69,8 @@ void MaemoRunControl::start()
 {
     if (!m_devConfig.isValid()) {
         handleError(tr("No device configuration set for run configuration."));
+    } else if (!m_runConfig) {
+        handleError(tr("Run configuration no longer available."));
     } else {
         m_running = true;
         emit started();
diff --git a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
index 4f8edb6da988ef0e308ccee037bc6c86ba8a69d5..111fc99465f1499362ebe54224903da81fdeb59e 100644
--- a/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
+++ b/src/plugins/qt4projectmanager/qt-maemo/maemoruncontrol.h
@@ -39,6 +39,7 @@
 
 #include <projectexplorer/runconfiguration.h>
 
+#include <QtCore/QPointer>
 #include <QtCore/QString>
 
 namespace Qt4ProjectManager {
@@ -71,7 +72,7 @@ private:
     void setFinished();
     void handleError(const QString &errString);
 
-    MaemoRunConfiguration *m_runConfig; // TODO this pointer can be invalid
+    QPointer<MaemoRunConfiguration> m_runConfig;
     const MaemoDeviceConfig m_devConfig;
     MaemoSshRunner * const m_runner;
     bool m_running;
diff --git a/src/plugins/qt4projectmanager/qtoutputformatter.cpp b/src/plugins/qt4projectmanager/qtoutputformatter.cpp
index c993cf2a0deaa175cb4f9d1bd487bcfdf82e10ff..98dc10b044dc8f99a2de666892b82afce8936f43 100644
--- a/src/plugins/qt4projectmanager/qtoutputformatter.cpp
+++ b/src/plugins/qt4projectmanager/qtoutputformatter.cpp
@@ -31,6 +31,7 @@
 
 #include <texteditor/basetexteditor.h>
 #include <qt4projectmanager/qt4project.h>
+#include <utils/qtcassert.h>
 
 #include <QtCore/QFileInfo>
 #include <QtCore/QUrl>
@@ -176,6 +177,48 @@ void QtOutputFormatter::appendLine(QTextCursor &cursor, LinkResult lr, const QSt
     cursor.insertText(line.mid(lr.end), normalFormat);
 }
 
+// Map absolute path in shadow build / in the deployment folder to the path in the project directory
+//
+// Input is e.g.
+//      C:/app-build-desktop/qml/app/main.qml (shadow build directory)
+//      C:/Private/e3026d63/qml/app/main.qml  (Application data folder on Symbian device)
+//      /Users/x/app-build-desktop/App.app/Contents/Resources/qml/App/main.qml (folder on Mac OS X)
+// which should be mapped to
+//      $PROJECTDIR/qml/app/main.qml
+QString QtOutputFormatter::pathInSourceDirectory(const QString &originalFilePath)
+{
+    QTC_ASSERT(QFileInfo(originalFilePath).isAbsolute(), return originalFilePath);
+
+    if (!m_project)
+        return originalFilePath;
+
+    const QString projectDirectory = m_project.data()->projectDirectory();
+
+    QTC_ASSERT(!projectDirectory.isEmpty(), return originalFilePath);
+    QTC_ASSERT(!projectDirectory.endsWith(QLatin1Char('/')), return originalFilePath);
+
+    const QChar separator = QLatin1Char('/');
+
+    if (originalFilePath.startsWith(projectDirectory + separator)) {
+        return originalFilePath;
+    }
+
+    // Strip directories one by one from the beginning of the path,
+    // and see if the new relative path exists in the build directory.
+    if (originalFilePath.contains(separator)) {
+        for (int pos = originalFilePath.indexOf(separator); pos != -1; pos = originalFilePath.indexOf(separator, pos + 1)) {
+            QString candidate = originalFilePath;
+            candidate.remove(0, pos);
+            candidate.prepend(projectDirectory);
+            QFileInfo candidateInfo(candidate);
+            if (candidateInfo.exists() && candidateInfo.isFile())
+                return candidate;
+        }
+    }
+
+    return originalFilePath;
+}
+
 void QtOutputFormatter::handleLink(const QString &href)
 {
     if (!href.isEmpty()) {
@@ -187,7 +230,8 @@ void QtOutputFormatter::handleLink(const QString &href)
             const QString fileName = QUrl(qmlLineColumnLink.cap(1)).toLocalFile();
             const int line = qmlLineColumnLink.cap(2).toInt();
             const int column = qmlLineColumnLink.cap(3).toInt();
-            TextEditor::BaseTextEditor::openEditorAt(fileName, line, column - 1);
+            TextEditor::BaseTextEditor::openEditorAt(pathInSourceDirectory(fileName), line, column - 1);
+
             return;
         }
 
@@ -197,7 +241,7 @@ void QtOutputFormatter::handleLink(const QString &href)
         if (qmlLineLink.indexIn(href) != -1) {
             const QString fileName = QUrl(qmlLineLink.cap(1)).toLocalFile();
             const int line = qmlLineLink.cap(2).toInt();
-            TextEditor::BaseTextEditor::openEditorAt(fileName, line);
+            TextEditor::BaseTextEditor::openEditorAt(pathInSourceDirectory(fileName), line);
             return;
         }
 
@@ -237,6 +281,9 @@ void QtOutputFormatter::handleLink(const QString &href)
                         }
                     }
                 }
+            } else if (!fi.exists()) {
+                // map possible on-device path to source path
+                fileName = pathInSourceDirectory(fileName);
             }
             TextEditor::BaseTextEditor::openEditorAt(fileName, line, 0);
             return;
diff --git a/src/plugins/qt4projectmanager/qtoutputformatter.h b/src/plugins/qt4projectmanager/qtoutputformatter.h
index 08396e0c9b60fa6416fa32901ba7a5220216b28e..a5e4aff8f9755e0a874187d790692c804ed98149 100644
--- a/src/plugins/qt4projectmanager/qtoutputformatter.h
+++ b/src/plugins/qt4projectmanager/qtoutputformatter.h
@@ -65,6 +65,7 @@ public:
 private:
     LinkResult matchLine(const QString &line) const;
     void appendLine(QTextCursor & cursor, LinkResult lr, const QString &line, bool onStdError);
+    QString pathInSourceDirectory(const QString &originalFilePath);
 
     QRegExp m_qmlError;
     QRegExp m_qtError;
diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp
index 6f0661b8d3b166b3c9541eae2d5d0ba65a71c793..a11f0bd5c4d52ddd0cc9a0f56261e75b0d54baa2 100644
--- a/src/plugins/texteditor/basetexteditor.cpp
+++ b/src/plugins/texteditor/basetexteditor.cpp
@@ -2234,10 +2234,13 @@ bool BaseTextEditor::lineSeparatorsAllowed() const
     return d->m_lineSeparatorsAllowed;
 }
 
-void BaseTextEditor::setCodeFoldingVisible(bool b)
+void BaseTextEditor::updateCodeFoldingVisible()
 {
-    d->m_codeFoldingVisible = b && d->m_codeFoldingSupported;
-    slotUpdateExtraAreaWidth();
+    const bool visible = d->m_codeFoldingSupported && d->m_displaySettings.m_displayFoldingMarkers;
+    if (d->m_codeFoldingVisible != visible) {
+        d->m_codeFoldingVisible = visible;
+        slotUpdateExtraAreaWidth();
+    }
 }
 
 bool BaseTextEditor::codeFoldingVisible() const
@@ -2254,6 +2257,7 @@ bool BaseTextEditor::codeFoldingVisible() const
 void BaseTextEditor::setCodeFoldingSupported(bool b)
 {
     d->m_codeFoldingSupported = b;
+    updateCodeFoldingVisible();
 }
 
 bool BaseTextEditor::codeFoldingSupported() const
@@ -5522,7 +5526,6 @@ void BaseTextEditor::setDisplaySettings(const DisplaySettings &ds)
     setLineWrapMode(ds.m_textWrapping ? QPlainTextEdit::WidgetWidth : QPlainTextEdit::NoWrap);
     setLineNumbersVisible(ds.m_displayLineNumbers);
     setVisibleWrapColumn(ds.m_showWrapColumn ? ds.m_wrapColumn : 0);
-    setCodeFoldingVisible(ds.m_displayFoldingMarkers);
     setHighlightCurrentLine(ds.m_highlightCurrentLine);
     setRevisionsVisible(ds.m_markTextChanges);
     setCenterOnScroll(ds.m_centerCursorOnScroll);
@@ -5545,6 +5548,7 @@ void BaseTextEditor::setDisplaySettings(const DisplaySettings &ds)
         d->m_highlightBlocksInfo = BaseTextEditorPrivateHighlightBlocks();
     }
 
+    updateCodeFoldingVisible();
     updateHighlights();
     viewport()->update();
     extraArea()->update();
diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h
index f0774c75b0751c6d9fd4c4b8b7c23decc017819b..9b19c2f0448d88ec966875745392f88e60dc9f77 100644
--- a/src/plugins/texteditor/basetexteditor.h
+++ b/src/plugins/texteditor/basetexteditor.h
@@ -186,7 +186,7 @@ public:
     void setLineSeparatorsAllowed(bool b);
     bool lineSeparatorsAllowed() const;
 
-    void setCodeFoldingVisible(bool b);
+    void updateCodeFoldingVisible();
     bool codeFoldingVisible() const;
 
     void setCodeFoldingSupported(bool b);
diff --git a/src/plugins/texteditor/generichighlighter/highlightersettings.cpp b/src/plugins/texteditor/generichighlighter/highlightersettings.cpp
index f2bf4e32a4e0fe008cb6293f4350d00500c57535..c87c0ba82526c320c572930bbd090a48a881e635 100644
--- a/src/plugins/texteditor/generichighlighter/highlightersettings.cpp
+++ b/src/plugins/texteditor/generichighlighter/highlightersettings.cpp
@@ -36,6 +36,7 @@
 #include <QtCore/QLatin1Char>
 #include <QtCore/QDir>
 #include <QtCore/QFile>
+#include <QtCore/QStringList>
 #ifdef Q_OS_UNIX
 #include <QtCore/QProcess>
 #endif
@@ -43,8 +44,11 @@
 namespace TextEditor {
 namespace Internal {
 
-QString findDefinitionsLocation()
+QString findFallbackDefinitionsLocation()
 {
+    QDir dir;
+    dir.setNameFilters(QStringList(QLatin1String("*.xml")));
+
 #if defined(Q_OS_UNIX) && !defined(Q_OS_MAC)
     static const QLatin1String kateSyntax[] = {
         QLatin1String("/share/apps/katepart/syntax"),
@@ -54,7 +58,6 @@ QString findDefinitionsLocation()
         sizeof(kateSyntax) / sizeof(kateSyntax[0]);
 
     // Some wild guesses.
-    QDir dir;
     for (int i = 0; i < kateSyntaxCount; ++i) {
         QStringList paths;
         paths << QLatin1String("/usr") + kateSyntax[i]
@@ -62,7 +65,7 @@ QString findDefinitionsLocation()
               << QLatin1String("/opt") + kateSyntax[i];
         foreach (const QString &path, paths) {
             dir.setPath(path);
-            if (dir.exists())
+            if (dir.exists() && !dir.entryInfoList().isEmpty())
                 return dir.path();
         }
     }
@@ -79,13 +82,17 @@ QString findDefinitionsLocation()
             output.remove(QLatin1Char('\n'));
             for (int i = 0; i < kateSyntaxCount; ++i) {
                 dir.setPath(output + kateSyntax[i]);
-                if (dir.exists())
+                if (dir.exists() && !dir.entryInfoList().isEmpty())
                     return dir.path();
             }
         }
     }
 #endif
 
+    dir.setPath(Core::ICore::instance()->resourcePath() + QLatin1String("/generic-highlighter"));
+    if (dir.exists() && !dir.entryInfoList().isEmpty())
+        return dir.path();
+
     return QString();
 }
 
@@ -139,7 +146,7 @@ void HighlighterSettings::fromSettings(const QString &category, QSettings *s)
     else
         m_definitionFilesPath = s->value(kDefinitionFilesPath).toString();
     if (!s->contains(kFallbackDefinitionFilesPath)) {
-        m_fallbackDefinitionFilesPath = findDefinitionsLocation();
+        m_fallbackDefinitionFilesPath = findFallbackDefinitionsLocation();
         if (m_fallbackDefinitionFilesPath.isEmpty())
             m_useFallbackLocation = false;
         else
diff --git a/src/plugins/texteditor/generichighlighter/highlightersettings.h b/src/plugins/texteditor/generichighlighter/highlightersettings.h
index 0fbbe7e3eda22bffae3b4834dce9adfa7e5055e2..323cf833ac359a133e8875dec86f145ac38b96aa 100644
--- a/src/plugins/texteditor/generichighlighter/highlightersettings.h
+++ b/src/plugins/texteditor/generichighlighter/highlightersettings.h
@@ -88,7 +88,7 @@ inline bool operator!=(const HighlighterSettings &a, const HighlighterSettings &
 { return !a.equals(b); }
 
 namespace Internal {
-QString findDefinitionsLocation();
+QString findFallbackDefinitionsLocation();
 }
 
 } // namespace TextEditor
diff --git a/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp b/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp
index 44eddbfc7953fba3eb768f71fa791df495ece7eb..ffa8086225392ded35315987574023bb2241a2a8 100644
--- a/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp
+++ b/src/plugins/texteditor/generichighlighter/highlightersettingspage.cpp
@@ -171,7 +171,7 @@ void HighlighterSettingsPage::settingsToUI()
 
 void HighlighterSettingsPage::resetDefinitionsLocation()
 {
-    const QString &location = findDefinitionsLocation();
+    const QString &location = findFallbackDefinitionsLocation();
     if (location.isEmpty())
         QMessageBox::information(0, tr("Autodetect Definitions"),
                                  tr("No pre-installed definitions could be found."));
diff --git a/src/plugins/texteditor/plaintexteditor.cpp b/src/plugins/texteditor/plaintexteditor.cpp
index 2a738b9cfab5c6f47cdd327b8749f8e39d2994d6..c976e85fd3096d4759fbbc96cb5592717a11cb22 100644
--- a/src/plugins/texteditor/plaintexteditor.cpp
+++ b/src/plugins/texteditor/plaintexteditor.cpp
@@ -164,7 +164,6 @@ void PlainTextEditor::configure(const Core::MimeType &mimeType)
     baseTextDocument()->setSyntaxHighlighter(highlighter);
 
     setCodeFoldingSupported(false);
-    setCodeFoldingVisible(false);
 
     if (!mimeType.isNull()) {
         m_isMissingSyntaxDefinition = true;
@@ -189,7 +188,6 @@ void PlainTextEditor::configure(const Core::MimeType &mimeType)
                 m_commentDefinition.setMultiLineEnd(definition->multiLineCommentEnd());
 
                 setCodeFoldingSupported(true);
-                setCodeFoldingVisible(true);
             }
         } else if (file()) {
             const QString &fileName = file()->fileName();
diff --git a/src/plugins/welcome/communitywelcomepagewidget.cpp b/src/plugins/welcome/communitywelcomepagewidget.cpp
index b738d2aeba1adca8e71725085a54443a54978690..6b18c24fa5d04aad97b3da27d3de21354ebf2a64 100644
--- a/src/plugins/welcome/communitywelcomepagewidget.cpp
+++ b/src/plugins/welcome/communitywelcomepagewidget.cpp
@@ -45,7 +45,7 @@ struct Site {
 static const Site supportSites[] = {
     { QT_TRANSLATE_NOOP("Welcome::Internal::CommunityWelcomePageWidget",
                         "<b>Forum Nokia</b><br /><font color='gray'>Mobile application support</font>"),
-      "http://www.forum.nokia.com/I_Want_To/Develop_Mobile_Applications/Technical_Support/"},
+      "http://www.forum.nokia.com/Support/"},
     { QT_TRANSLATE_NOOP("Welcome::Internal::CommunityWelcomePageWidget",
                         "<b>Qt LGPL Support</b><br /><font color='gray'>Buy commercial Qt support</font>"),
       "http://shop.qt.nokia.com/en/support.html"},