From fe1cf36e1f1dfcfc7231bef84cd5e167f9058748 Mon Sep 17 00:00:00 2001
From: Kai Koehne <kai.koehne@digia.com>
Date: Fri, 1 Nov 2013 16:07:24 +0100
Subject: [PATCH] Remove support for debugging JS with Qt 4.7

Remove infrastructure to debug/inspect QML applications with Qt 4.7.

Change-Id: I277e9884e009475a29017f502bbe1d069317460f
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
---
 doc/src/debugger/creator-debugger.qdoc        |   12 -
 doc/src/debugger/qtquick-debugging.qdoc       |    7 +-
 doc/src/howto/qtcreator-faq.qdoc              |    4 -
 .../editor/abstractliveedittool.cpp           |  185 --
 .../editor/abstractliveedittool.h             |  104 --
 .../editor/boundingrecthighlighter.cpp        |  228 ---
 .../editor/boundingrecthighlighter.h          |  103 --
 .../qmljsdebugger/editor/colorpickertool.cpp  |  118 --
 .../qmljsdebugger/editor/colorpickertool.h    |   81 -
 .../qmljsdebugger/editor/livelayeritem.cpp    |   79 -
 .../qml/qmljsdebugger/editor/livelayeritem.h  |   55 -
 .../liverubberbandselectionmanipulator.cpp    |  152 --
 .../liverubberbandselectionmanipulator.h      |   85 -
 .../editor/liveselectionindicator.cpp         |  105 --
 .../editor/liveselectionindicator.h           |   68 -
 .../editor/liveselectionrectangle.cpp         |  100 -
 .../editor/liveselectionrectangle.h           |   65 -
 .../editor/liveselectiontool.cpp              |  424 -----
 .../qmljsdebugger/editor/liveselectiontool.h  |  109 --
 .../editor/livesingleselectionmanipulator.cpp |  138 --
 .../editor/livesingleselectionmanipulator.h   |   77 -
 .../editor/subcomponentmasklayeritem.cpp      |  116 --
 .../editor/subcomponentmasklayeritem.h        |   59 -
 .../qml/qmljsdebugger/editor/zoomtool.cpp     |  323 ----
 .../qml/qmljsdebugger/editor/zoomtool.h       |   94 -
 .../qmljsdebugger/include/jsdebuggeragent.h   |  107 --
 .../include/qdeclarativeinspectorservice.h    |  103 --
 .../include/qdeclarativeviewinspector.h       |  116 --
 .../include/qdeclarativeviewobserver.h        |   50 -
 .../include/qmlinspectorconstants.h           |   68 -
 .../include/qmljsdebugger_global.h            |   46 -
 .../qt_private/qdeclarativedebughelper_p.h    |   56 -
 .../qt_private/qdeclarativedebugservice_p.h   |   77 -
 .../include/qt_private/qdeclarativestate_p.h  |  194 --
 .../qml/qmljsdebugger/jsdebuggeragent.cpp     |  672 -------
 .../protocol/inspectorprotocol.h              |  125 --
 .../qml/qmljsdebugger/protocol/protocol.pri   |    3 -
 .../qdeclarativeinspectorservice.cpp          |  284 ---
 .../qdeclarativeviewinspector.cpp             |  835 ---------
 .../qdeclarativeviewinspector_p.h             |  129 --
 .../qml/qmljsdebugger/qmljsdebugger-lib.pri   |   14 -
 .../qml/qmljsdebugger/qmljsdebugger-src.pri   |   45 -
 .../qml/qmljsdebugger/qmljsdebugger.pro       |   18 -
 share/qtcreator/qml/qmlobserver/Info.plist.in |   77 -
 .../qml/qmlobserver/LGPL_EXCEPTION.TXT        |   22 -
 share/qtcreator/qml/qmlobserver/LICENSE.LGPL  |  504 -----
 .../qml/qmlobserver/browser/Browser.qml       |  306 ---
 .../qml/qmlobserver/browser/browser.qrc       |    9 -
 .../qml/qmlobserver/browser/images/folder.png |  Bin 1841 -> 0 bytes
 .../qmlobserver/browser/images/titlebar.png   |  Bin 1436 -> 0 bytes
 .../qmlobserver/browser/images/titlebar.sci   |    5 -
 .../qml/qmlobserver/browser/images/up.png     |  Bin 662 -> 0 bytes
 .../qml/qmlobserver/deviceorientation.cpp     |   68 -
 .../qml/qmlobserver/deviceorientation.h       |   72 -
 .../qmlobserver/deviceorientation_symbian.cpp |  180 --
 .../qml/qmlobserver/loggerwidget.cpp          |  189 --
 .../qtcreator/qml/qmlobserver/loggerwidget.h  |   87 -
 share/qtcreator/qml/qmlobserver/main.cpp      |  562 ------
 .../qml/qmlobserver/proxysettings.cpp         |   99 -
 .../qtcreator/qml/qmlobserver/proxysettings.h |   63 -
 .../qml/qmlobserver/proxysettings.ui          |  115 --
 .../qml/qmlobserver/proxysettings_maemo5.ui   |  177 --
 .../qml/qmlobserver/qdeclarativetester.cpp    |  445 -----
 .../qml/qmlobserver/qdeclarativetester.h      |  280 ---
 share/qtcreator/qml/qmlobserver/qml.icns      |  Bin 196156 -> 0 bytes
 share/qtcreator/qml/qmlobserver/qml.pri       |   37 -
 .../qtcreator/qml/qmlobserver/qmlobserver.pro |   73 -
 .../qtcreator/qml/qmlobserver/qmlruntime.cpp  | 1633 -----------------
 share/qtcreator/qml/qmlobserver/qmlruntime.h  |  214 ---
 share/qtcreator/qml/qmlobserver/recopts.ui    |  513 ------
 .../qml/qmlobserver/recopts_maemo5.ui         |  254 ---
 .../qml/qmlobserver/startup/Logo.qml          |  167 --
 .../qml/qmlobserver/startup/qt-back.png       |  Bin 3549 -> 0 bytes
 .../qml/qmlobserver/startup/qt-blue.jpg       |  Bin 20900 -> 0 bytes
 .../qml/qmlobserver/startup/qt-front.png      |  Bin 3318 -> 0 bytes
 .../qml/qmlobserver/startup/qt-sketch.jpg     |  Bin 17048 -> 0 bytes
 .../qml/qmlobserver/startup/qt-text.png       |  Bin 14565 -> 0 bytes
 .../qml/qmlobserver/startup/quick-blur.png    |  Bin 2826 -> 0 bytes
 .../qml/qmlobserver/startup/quick-regular.png |  Bin 1399 -> 0 bytes
 .../qml/qmlobserver/startup/shadow.png        |  Bin 1592 -> 0 bytes
 .../qml/qmlobserver/startup/startup.qml       |  161 --
 .../qml/qmlobserver/startup/startup.qrc       |   16 -
 .../qml/qmlobserver/startup/white-star.png    |  Bin 2651 -> 0 bytes
 .../qmlobserver/texteditautoresizer_maemo5.h  |  101 -
 share/qtcreator/static.pro                    |    3 -
 .../projectexplorer/projectexplorer.cpp       |    3 -
 .../qbsprojectmanager/qbsbuildstep.cpp        |    8 -
 src/plugins/qbsprojectmanager/qbsbuildstep.h  |    1 -
 src/plugins/qmakeprojectmanager/qmakestep.cpp |   30 +-
 src/plugins/qmakeprojectmanager/qmakestep.h   |    3 -
 src/plugins/qmakeprojectmanager/qmakestep.ui  |   33 +-
 src/plugins/qmlprofiler/qmlprofilerengine.cpp |   33 -
 src/plugins/qmlprofiler/qmlprofilerengine.h   |    3 -
 .../qmlprojectmanager/qmlprojectplugin.cpp    |   23 -
 .../qmlprojectmanager/qmlprojectplugin.h      |    2 -
 .../qmlprojectrunconfiguration.cpp            |    5 +-
 src/plugins/qtsupport/baseqtversion.cpp       |   57 +-
 src/plugins/qtsupport/baseqtversion.h         |    7 -
 src/plugins/qtsupport/debugginghelper.ui      |   98 +-
 .../qtsupport/debugginghelperbuildtask.cpp    |   50 +-
 .../qtsupport/debugginghelperbuildtask.h      |    6 +-
 src/plugins/qtsupport/qmldebugginglibrary.cpp |  157 --
 src/plugins/qtsupport/qmldebugginglibrary.h   |   68 -
 src/plugins/qtsupport/qmlobservertool.cpp     |  175 --
 src/plugins/qtsupport/qmlobservertool.h       |   56 -
 src/plugins/qtsupport/qtoptionspage.cpp       |  101 +-
 src/plugins/qtsupport/qtoptionspage.h         |    2 -
 src/plugins/qtsupport/qtsupport.pro           |    4 -
 src/plugins/qtsupport/qtsupport.qbs           |    4 -
 109 files changed, 69 insertions(+), 13125 deletions(-)
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/abstractliveedittool.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/abstractliveedittool.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/boundingrecthighlighter.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/boundingrecthighlighter.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/colorpickertool.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/colorpickertool.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/livelayeritem.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/livelayeritem.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/liverubberbandselectionmanipulator.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/liverubberbandselectionmanipulator.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/liveselectionindicator.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/liveselectionindicator.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/liveselectionrectangle.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/liveselectionrectangle.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/liveselectiontool.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/liveselectiontool.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/livesingleselectionmanipulator.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/livesingleselectionmanipulator.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/subcomponentmasklayeritem.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/subcomponentmasklayeritem.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/zoomtool.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/editor/zoomtool.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/include/jsdebuggeragent.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/include/qdeclarativeinspectorservice.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/include/qdeclarativeviewinspector.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/include/qdeclarativeviewobserver.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/include/qmlinspectorconstants.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/include/qmljsdebugger_global.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/include/qt_private/qdeclarativedebughelper_p.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/include/qt_private/qdeclarativedebugservice_p.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/include/qt_private/qdeclarativestate_p.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/jsdebuggeragent.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/protocol/inspectorprotocol.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/protocol/protocol.pri
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/qdeclarativeinspectorservice.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/qdeclarativeviewinspector.cpp
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/qdeclarativeviewinspector_p.h
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/qmljsdebugger-lib.pri
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/qmljsdebugger-src.pri
 delete mode 100644 share/qtcreator/qml/qmljsdebugger/qmljsdebugger.pro
 delete mode 100644 share/qtcreator/qml/qmlobserver/Info.plist.in
 delete mode 100644 share/qtcreator/qml/qmlobserver/LGPL_EXCEPTION.TXT
 delete mode 100644 share/qtcreator/qml/qmlobserver/LICENSE.LGPL
 delete mode 100644 share/qtcreator/qml/qmlobserver/browser/Browser.qml
 delete mode 100644 share/qtcreator/qml/qmlobserver/browser/browser.qrc
 delete mode 100644 share/qtcreator/qml/qmlobserver/browser/images/folder.png
 delete mode 100644 share/qtcreator/qml/qmlobserver/browser/images/titlebar.png
 delete mode 100644 share/qtcreator/qml/qmlobserver/browser/images/titlebar.sci
 delete mode 100644 share/qtcreator/qml/qmlobserver/browser/images/up.png
 delete mode 100644 share/qtcreator/qml/qmlobserver/deviceorientation.cpp
 delete mode 100644 share/qtcreator/qml/qmlobserver/deviceorientation.h
 delete mode 100644 share/qtcreator/qml/qmlobserver/deviceorientation_symbian.cpp
 delete mode 100644 share/qtcreator/qml/qmlobserver/loggerwidget.cpp
 delete mode 100644 share/qtcreator/qml/qmlobserver/loggerwidget.h
 delete mode 100644 share/qtcreator/qml/qmlobserver/main.cpp
 delete mode 100644 share/qtcreator/qml/qmlobserver/proxysettings.cpp
 delete mode 100644 share/qtcreator/qml/qmlobserver/proxysettings.h
 delete mode 100644 share/qtcreator/qml/qmlobserver/proxysettings.ui
 delete mode 100644 share/qtcreator/qml/qmlobserver/proxysettings_maemo5.ui
 delete mode 100644 share/qtcreator/qml/qmlobserver/qdeclarativetester.cpp
 delete mode 100644 share/qtcreator/qml/qmlobserver/qdeclarativetester.h
 delete mode 100644 share/qtcreator/qml/qmlobserver/qml.icns
 delete mode 100644 share/qtcreator/qml/qmlobserver/qml.pri
 delete mode 100644 share/qtcreator/qml/qmlobserver/qmlobserver.pro
 delete mode 100644 share/qtcreator/qml/qmlobserver/qmlruntime.cpp
 delete mode 100644 share/qtcreator/qml/qmlobserver/qmlruntime.h
 delete mode 100644 share/qtcreator/qml/qmlobserver/recopts.ui
 delete mode 100644 share/qtcreator/qml/qmlobserver/recopts_maemo5.ui
 delete mode 100644 share/qtcreator/qml/qmlobserver/startup/Logo.qml
 delete mode 100644 share/qtcreator/qml/qmlobserver/startup/qt-back.png
 delete mode 100644 share/qtcreator/qml/qmlobserver/startup/qt-blue.jpg
 delete mode 100644 share/qtcreator/qml/qmlobserver/startup/qt-front.png
 delete mode 100644 share/qtcreator/qml/qmlobserver/startup/qt-sketch.jpg
 delete mode 100644 share/qtcreator/qml/qmlobserver/startup/qt-text.png
 delete mode 100644 share/qtcreator/qml/qmlobserver/startup/quick-blur.png
 delete mode 100644 share/qtcreator/qml/qmlobserver/startup/quick-regular.png
 delete mode 100644 share/qtcreator/qml/qmlobserver/startup/shadow.png
 delete mode 100644 share/qtcreator/qml/qmlobserver/startup/startup.qml
 delete mode 100644 share/qtcreator/qml/qmlobserver/startup/startup.qrc
 delete mode 100644 share/qtcreator/qml/qmlobserver/startup/white-star.png
 delete mode 100644 share/qtcreator/qml/qmlobserver/texteditautoresizer_maemo5.h
 delete mode 100644 src/plugins/qtsupport/qmldebugginglibrary.cpp
 delete mode 100644 src/plugins/qtsupport/qmldebugginglibrary.h
 delete mode 100644 src/plugins/qtsupport/qmlobservertool.cpp
 delete mode 100644 src/plugins/qtsupport/qmlobservertool.h

diff --git a/doc/src/debugger/creator-debugger.qdoc b/doc/src/debugger/creator-debugger.qdoc
index 1670720ea05..c1db72f4c74 100644
--- a/doc/src/debugger/creator-debugger.qdoc
+++ b/doc/src/debugger/creator-debugger.qdoc
@@ -1183,18 +1183,6 @@
             d.putSubItem("value", value)
     \endcode
 
-
-    \section1 Debugging Helpers for QML
-
-    The debugging helpers for QML provide you with code completion for custom modules
-    (\c qmldump) and debugging Qt Quick UI projects (\c qmlobserver).
-
-    You have to build the QML Inspector once for each Qt version that you want
-    to debug
-    with. Select \gui{Tools > Options > Build & Run > Qt Versions}.
-
-    \note QML Inspector requires Qt 4.7.1 or later.
-
     \section1 Enabling Debugging Helpers for Qt's Bootstrapped Applications
 
     Qt's bootstrapped applications (such as moc and qmake) are built in a way
diff --git a/doc/src/debugger/qtquick-debugging.qdoc b/doc/src/debugger/qtquick-debugging.qdoc
index d1fcba00288..cc60d4974f0 100644
--- a/doc/src/debugger/qtquick-debugging.qdoc
+++ b/doc/src/debugger/qtquick-debugging.qdoc
@@ -30,12 +30,7 @@
 
     \title Debugging Qt Quick Projects
 
-    \note You need Qt 4.7.1 or later to debug Qt Quick projects. Debugging
-    projects not created with the Qt Quick wizards is only supported with
-    Qt 4.8, or later.
-
-    To debug Qt Quick applications running on devices, you must install
-    Qt 4.7.4, or later, libraries on devices.
+    \note You need Qt 4.8 or later to debug Qt Quick projects.
 
     For an example of how to debug Qt Quick Projects, see
     \l{Debugging a Qt Quick Example Application}.
diff --git a/doc/src/howto/qtcreator-faq.qdoc b/doc/src/howto/qtcreator-faq.qdoc
index 965650ad66e..522ada136b7 100644
--- a/doc/src/howto/qtcreator-faq.qdoc
+++ b/doc/src/howto/qtcreator-faq.qdoc
@@ -50,12 +50,8 @@
 
         \li qtc-debugging-helper
 
-        \li qtc-qmldbg
-
         \li qtc-qmldump
 
-        \li qtc-qmlobserver
-
     \endlist
 
     The location depends on the platform. On Linux and other Unix platforms, the files
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/abstractliveedittool.cpp b/share/qtcreator/qml/qmljsdebugger/editor/abstractliveedittool.cpp
deleted file mode 100644
index 20fbddd1c07..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/abstractliveedittool.cpp
+++ /dev/null
@@ -1,185 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "abstractliveedittool.h"
-#include "qdeclarativeviewinspector.h"
-#include "../qdeclarativeviewinspector_p.h"
-
-#include <QDeclarativeEngine>
-
-#include <QDebug>
-#include <QGraphicsItem>
-#include <QDeclarativeItem>
-
-namespace QmlJSDebugger {
-
-AbstractLiveEditTool::AbstractLiveEditTool(QDeclarativeViewInspector *editorView)
-    : QObject(editorView), m_inspector(editorView)
-{
-}
-
-
-AbstractLiveEditTool::~AbstractLiveEditTool()
-{
-}
-
-QDeclarativeViewInspector *AbstractLiveEditTool::inspector() const
-{
-    return m_inspector;
-}
-
-QDeclarativeView *AbstractLiveEditTool::view() const
-{
-    return m_inspector->declarativeView();
-}
-
-QGraphicsScene* AbstractLiveEditTool::scene() const
-{
-    return view()->scene();
-}
-
-void AbstractLiveEditTool::updateSelectedItems()
-{
-    selectedItemsChanged(items());
-}
-
-QList<QGraphicsItem*> AbstractLiveEditTool::items() const
-{
-    return inspector()->selectedItems();
-}
-
-bool AbstractLiveEditTool::topItemIsMovable(const QList<QGraphicsItem*> & itemList)
-{
-    QGraphicsItem *firstSelectableItem = topMovableGraphicsItem(itemList);
-    if (firstSelectableItem == 0)
-        return false;
-    if (toQDeclarativeItem(firstSelectableItem) != 0)
-        return true;
-
-    return false;
-
-}
-
-bool AbstractLiveEditTool::topSelectedItemIsMovable(const QList<QGraphicsItem*> &itemList)
-{
-    QList<QGraphicsItem*> selectedItems = inspector()->selectedItems();
-
-    foreach (QGraphicsItem *item, itemList) {
-        QDeclarativeItem *declarativeItem = toQDeclarativeItem(item);
-        if (declarativeItem
-                && selectedItems.contains(declarativeItem)
-                /*&& (declarativeItem->qmlItemNode().hasShowContent() || selectNonContentItems)*/)
-            return true;
-    }
-
-    return false;
-
-}
-
-bool AbstractLiveEditTool::topItemIsResizeHandle(const QList<QGraphicsItem*> &/*itemList*/)
-{
-    return false;
-}
-
-QDeclarativeItem *AbstractLiveEditTool::toQDeclarativeItem(QGraphicsItem *item)
-{
-    return qobject_cast<QDeclarativeItem*>(item->toGraphicsObject());
-}
-
-QGraphicsItem *AbstractLiveEditTool::topMovableGraphicsItem(const QList<QGraphicsItem*> &itemList)
-{
-    foreach (QGraphicsItem *item, itemList) {
-        if (item->flags().testFlag(QGraphicsItem::ItemIsMovable))
-            return item;
-    }
-    return 0;
-}
-
-QDeclarativeItem *AbstractLiveEditTool::topMovableDeclarativeItem(const QList<QGraphicsItem*>
-                                                                  &itemList)
-{
-    foreach (QGraphicsItem *item, itemList) {
-        QDeclarativeItem *declarativeItem = toQDeclarativeItem(item);
-        if (declarativeItem /*&& (declarativeItem->qmlItemNode().hasShowContent())*/)
-            return declarativeItem;
-    }
-
-    return 0;
-}
-
-QList<QGraphicsObject*> AbstractLiveEditTool::toGraphicsObjectList(const QList<QGraphicsItem*>
-                                                                   &itemList)
-{
-    QList<QGraphicsObject*> gfxObjects;
-    foreach (QGraphicsItem *item, itemList) {
-        QGraphicsObject *obj = item->toGraphicsObject();
-        if (obj)
-            gfxObjects << obj;
-    }
-
-    return gfxObjects;
-}
-
-QString AbstractLiveEditTool::titleForItem(QGraphicsItem *item)
-{
-    QString className("QGraphicsItem");
-    QString objectStringId;
-
-    QString constructedName;
-
-    QGraphicsObject *gfxObject = item->toGraphicsObject();
-    if (gfxObject) {
-        className = gfxObject->metaObject()->className();
-
-        className.remove(QRegExp("_QMLTYPE_\\d+"));
-        className.remove(QRegExp("_QML_\\d+"));
-        if (className.startsWith(QLatin1String("QDeclarative")))
-            className = className.remove(QLatin1String("QDeclarative"));
-
-        QDeclarativeItem *declarativeItem = qobject_cast<QDeclarativeItem*>(gfxObject);
-        if (declarativeItem) {
-            objectStringId = QDeclarativeViewInspector::idStringForObject(declarativeItem);
-        }
-
-        if (!objectStringId.isEmpty()) {
-            constructedName = objectStringId + " (" + className + QLatin1Char(')');
-        } else {
-            if (!gfxObject->objectName().isEmpty()) {
-                constructedName = gfxObject->objectName() + " (" + className + QLatin1Char(')');
-            } else {
-                constructedName = className;
-            }
-        }
-    }
-
-    return constructedName;
-}
-
-
-} // namespace QmlJSDebugger
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/abstractliveedittool.h b/share/qtcreator/qml/qmljsdebugger/editor/abstractliveedittool.h
deleted file mode 100644
index 29a3f8d5b2f..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/abstractliveedittool.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef ABSTRACTLIVEEDITTOOL_H
-#define ABSTRACTLIVEEDITTOOL_H
-
-#include <QList>
-#include <QObject>
-
-QT_BEGIN_NAMESPACE
-class QMouseEvent;
-class QGraphicsItem;
-class QDeclarativeItem;
-class QKeyEvent;
-class QGraphicsScene;
-class QGraphicsObject;
-class QWheelEvent;
-class QDeclarativeView;
-QT_END_NAMESPACE
-
-namespace QmlJSDebugger {
-
-class QDeclarativeViewInspector;
-
-class FormEditorView;
-
-class AbstractLiveEditTool : public QObject
-{
-    Q_OBJECT
-public:
-    AbstractLiveEditTool(QDeclarativeViewInspector *inspector);
-
-    virtual ~AbstractLiveEditTool();
-
-    virtual void mousePressEvent(QMouseEvent *event) = 0;
-    virtual void mouseMoveEvent(QMouseEvent *event) = 0;
-    virtual void mouseReleaseEvent(QMouseEvent *event) = 0;
-    virtual void mouseDoubleClickEvent(QMouseEvent *event) = 0;
-
-    virtual void hoverMoveEvent(QMouseEvent *event) = 0;
-    virtual void wheelEvent(QWheelEvent *event) = 0;
-
-    virtual void keyPressEvent(QKeyEvent *event) = 0;
-    virtual void keyReleaseEvent(QKeyEvent *keyEvent) = 0;
-    virtual void itemsAboutToRemoved(const QList<QGraphicsItem*> &itemList) = 0;
-
-    virtual void clear() = 0;
-
-    void updateSelectedItems();
-    QList<QGraphicsItem*> items() const;
-
-    void enterContext(QGraphicsItem *itemToEnter);
-
-    bool topItemIsMovable(const QList<QGraphicsItem*> &itemList);
-    bool topItemIsResizeHandle(const QList<QGraphicsItem*> &itemList);
-    bool topSelectedItemIsMovable(const QList<QGraphicsItem*> &itemList);
-
-    static QString titleForItem(QGraphicsItem *item);
-    static QList<QGraphicsObject*> toGraphicsObjectList(const QList<QGraphicsItem*> &itemList);
-    static QGraphicsItem* topMovableGraphicsItem(const QList<QGraphicsItem*> &itemList);
-    static QDeclarativeItem* topMovableDeclarativeItem(const QList<QGraphicsItem*> &itemList);
-    static QDeclarativeItem *toQDeclarativeItem(QGraphicsItem *item);
-
-protected:
-    virtual void selectedItemsChanged(const QList<QGraphicsItem*> &objectList) = 0;
-
-    QDeclarativeViewInspector *inspector() const;
-    QDeclarativeView *view() const;
-    QGraphicsScene *scene() const;
-
-private:
-    QDeclarativeViewInspector *m_inspector;
-    QList<QGraphicsItem*> m_itemList;
-};
-
-}
-
-#endif // ABSTRACTLIVEEDITTOOL_H
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/boundingrecthighlighter.cpp b/share/qtcreator/qml/qmljsdebugger/editor/boundingrecthighlighter.cpp
deleted file mode 100644
index 5ce6c141c07..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/boundingrecthighlighter.cpp
+++ /dev/null
@@ -1,228 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "boundingrecthighlighter.h"
-#include "qdeclarativeviewinspector.h"
-#include "qmlinspectorconstants.h"
-
-#include <QGraphicsPolygonItem>
-
-#include <QTimer>
-#include <QObject>
-#include <QDebug>
-
-namespace QmlJSDebugger {
-
-BoundingBox::BoundingBox(QGraphicsObject *itemToHighlight, QGraphicsItem *parentItem,
-                         QObject *parent)
-    : QObject(parent),
-      highlightedObject(itemToHighlight),
-      highlightPolygon(0),
-      highlightPolygonEdge(0)
-{
-    highlightPolygon = new BoundingBoxPolygonItem(parentItem);
-    highlightPolygonEdge = new BoundingBoxPolygonItem(parentItem);
-
-    highlightPolygon->setPen(QPen(QColor(0, 22, 159)));
-    highlightPolygonEdge->setPen(QPen(QColor(158, 199, 255)));
-
-    highlightPolygon->setFlag(QGraphicsItem::ItemIsSelectable, false);
-    highlightPolygonEdge->setFlag(QGraphicsItem::ItemIsSelectable, false);
-}
-
-BoundingBox::~BoundingBox()
-{
-    highlightedObject.clear();
-}
-
-BoundingBoxPolygonItem::BoundingBoxPolygonItem(QGraphicsItem *item) : QGraphicsPolygonItem(item)
-{
-    QPen pen;
-    pen.setColor(QColor(108, 141, 221));
-    pen.setWidth(1);
-    setPen(pen);
-}
-
-int BoundingBoxPolygonItem::type() const
-{
-    return Constants::EditorItemType;
-}
-
-BoundingRectHighlighter::BoundingRectHighlighter(QDeclarativeViewInspector *view) :
-    LiveLayerItem(view->declarativeView()->scene()),
-    m_view(view)
-{
-}
-
-BoundingRectHighlighter::~BoundingRectHighlighter()
-{
-
-}
-
-void BoundingRectHighlighter::clear()
-{
-    foreach (BoundingBox *box, m_boxes)
-        freeBoundingBox(box);
-}
-
-BoundingBox *BoundingRectHighlighter::boxFor(QGraphicsObject *item) const
-{
-    foreach (BoundingBox *box, m_boxes) {
-        if (box->highlightedObject.data() == item)
-            return box;
-    }
-    return 0;
-}
-
-void BoundingRectHighlighter::highlight(QList<QGraphicsObject*> items)
-{
-    if (items.isEmpty())
-        return;
-
-    QList<BoundingBox *> newBoxes;
-    foreach (QGraphicsObject *itemToHighlight, items) {
-        BoundingBox *box = boxFor(itemToHighlight);
-        if (!box)
-            box = createBoundingBox(itemToHighlight);
-
-        newBoxes << box;
-    }
-    qSort(newBoxes);
-
-    if (newBoxes != m_boxes) {
-        clear();
-        m_boxes << newBoxes;
-    }
-
-    highlightAll();
-}
-
-void BoundingRectHighlighter::highlight(QGraphicsObject* itemToHighlight)
-{
-    if (!itemToHighlight)
-        return;
-
-    BoundingBox *box = boxFor(itemToHighlight);
-    if (!box) {
-        box = createBoundingBox(itemToHighlight);
-        m_boxes << box;
-        qSort(m_boxes);
-    }
-
-    highlightAll();
-}
-
-BoundingBox *BoundingRectHighlighter::createBoundingBox(QGraphicsObject *itemToHighlight)
-{
-    if (!m_freeBoxes.isEmpty()) {
-        BoundingBox *box = m_freeBoxes.last();
-        if (box->highlightedObject.isNull()) {
-            box->highlightedObject = itemToHighlight;
-            box->highlightPolygon->show();
-            box->highlightPolygonEdge->show();
-            m_freeBoxes.removeLast();
-            return box;
-        }
-    }
-
-    BoundingBox *box = new BoundingBox(itemToHighlight, this, this);
-
-    connect(itemToHighlight, SIGNAL(xChanged()), this, SLOT(refresh()));
-    connect(itemToHighlight, SIGNAL(yChanged()), this, SLOT(refresh()));
-    connect(itemToHighlight, SIGNAL(widthChanged()), this, SLOT(refresh()));
-    connect(itemToHighlight, SIGNAL(heightChanged()), this, SLOT(refresh()));
-    connect(itemToHighlight, SIGNAL(rotationChanged()), this, SLOT(refresh()));
-    connect(itemToHighlight, SIGNAL(destroyed(QObject*)), this, SLOT(itemDestroyed(QObject*)));
-
-    return box;
-}
-
-void BoundingRectHighlighter::removeBoundingBox(BoundingBox *box)
-{
-    delete box;
-    box = 0;
-}
-
-void BoundingRectHighlighter::freeBoundingBox(BoundingBox *box)
-{
-    if (!box->highlightedObject.isNull()) {
-        disconnect(box->highlightedObject.data(), SIGNAL(xChanged()), this, SLOT(refresh()));
-        disconnect(box->highlightedObject.data(), SIGNAL(yChanged()), this, SLOT(refresh()));
-        disconnect(box->highlightedObject.data(), SIGNAL(widthChanged()), this, SLOT(refresh()));
-        disconnect(box->highlightedObject.data(), SIGNAL(heightChanged()), this, SLOT(refresh()));
-        disconnect(box->highlightedObject.data(), SIGNAL(rotationChanged()), this, SLOT(refresh()));
-    }
-
-    box->highlightedObject.clear();
-    box->highlightPolygon->hide();
-    box->highlightPolygonEdge->hide();
-    m_boxes.removeOne(box);
-    m_freeBoxes << box;
-}
-
-void BoundingRectHighlighter::itemDestroyed(QObject *obj)
-{
-    foreach (BoundingBox *box, m_boxes) {
-        if (box->highlightedObject.data() == obj) {
-            freeBoundingBox(box);
-            break;
-        }
-    }
-}
-
-void BoundingRectHighlighter::highlightAll()
-{
-    foreach (BoundingBox *box, m_boxes) {
-        Q_ASSERT(box);
-        if (box->highlightedObject.isNull()) {
-            // clear all highlights
-            clear();
-            return;
-        }
-        QGraphicsObject *item = box->highlightedObject.data();
-
-        QRectF boundingRectInSceneSpace(item->mapToScene(item->boundingRect()).boundingRect());
-        QRectF boundingRectInLayerItemSpace = mapRectFromScene(boundingRectInSceneSpace);
-        QRectF bboxRect = m_view->adjustToScreenBoundaries(boundingRectInLayerItemSpace);
-        QRectF edgeRect = bboxRect;
-        edgeRect.adjust(-1, -1, 1, 1);
-
-        box->highlightPolygon->setPolygon(QPolygonF(bboxRect));
-        box->highlightPolygonEdge->setPolygon(QPolygonF(edgeRect));
-    }
-}
-
-void BoundingRectHighlighter::refresh()
-{
-    if (!m_boxes.isEmpty())
-        highlightAll();
-}
-
-
-} // namespace QmlJSDebugger
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/boundingrecthighlighter.h b/share/qtcreator/qml/qmljsdebugger/editor/boundingrecthighlighter.h
deleted file mode 100644
index d5919a3d311..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/boundingrecthighlighter.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef BOUNDINGRECTHIGHLIGHTER_H
-#define BOUNDINGRECTHIGHLIGHTER_H
-
-#include "livelayeritem.h"
-
-#include <QObject>
-#include <QWeakPointer>
-
-QT_FORWARD_DECLARE_CLASS(QGraphicsItem)
-QT_FORWARD_DECLARE_CLASS(QPainter)
-QT_FORWARD_DECLARE_CLASS(QWidget)
-QT_FORWARD_DECLARE_CLASS(QStyleOptionGraphicsItem)
-QT_FORWARD_DECLARE_CLASS(QTimer)
-
-namespace QmlJSDebugger {
-
-class QDeclarativeViewInspector;
-class BoundingBox;
-
-class BoundingRectHighlighter : public LiveLayerItem
-{
-    Q_OBJECT
-public:
-    explicit BoundingRectHighlighter(QDeclarativeViewInspector *view);
-    ~BoundingRectHighlighter();
-    void clear();
-    void highlight(QList<QGraphicsObject*> items);
-    void highlight(QGraphicsObject* item);
-
-private slots:
-    void refresh();
-    void itemDestroyed(QObject *);
-
-private:
-    BoundingBox *boxFor(QGraphicsObject *item) const;
-    void highlightAll();
-    BoundingBox *createBoundingBox(QGraphicsObject *itemToHighlight);
-    void removeBoundingBox(BoundingBox *box);
-    void freeBoundingBox(BoundingBox *box);
-
-private:
-    Q_DISABLE_COPY(BoundingRectHighlighter)
-
-    QDeclarativeViewInspector *m_view;
-    QList<BoundingBox* > m_boxes;
-    QList<BoundingBox* > m_freeBoxes;
-};
-
-class BoundingBox : public QObject
-{
-    Q_OBJECT
-public:
-    explicit BoundingBox(QGraphicsObject *itemToHighlight, QGraphicsItem *parentItem,
-                         QObject *parent = 0);
-    ~BoundingBox();
-    QWeakPointer<QGraphicsObject> highlightedObject;
-    QGraphicsPolygonItem *highlightPolygon;
-    QGraphicsPolygonItem *highlightPolygonEdge;
-
-private:
-    Q_DISABLE_COPY(BoundingBox)
-
-};
-
-class BoundingBoxPolygonItem : public QGraphicsPolygonItem
-{
-public:
-    explicit BoundingBoxPolygonItem(QGraphicsItem *item);
-    int type() const;
-};
-
-} // namespace QmlJSDebugger
-
-#endif // BOUNDINGRECTHIGHLIGHTER_H
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/colorpickertool.cpp b/share/qtcreator/qml/qmljsdebugger/editor/colorpickertool.cpp
deleted file mode 100644
index 6ef379c510c..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/colorpickertool.cpp
+++ /dev/null
@@ -1,118 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "colorpickertool.h"
-#include "qdeclarativeviewinspector.h"
-
-#include <QMouseEvent>
-#include <QKeyEvent>
-#include <QRectF>
-#include <QRgb>
-#include <QImage>
-#include <QApplication>
-#include <QPalette>
-
-namespace QmlJSDebugger {
-
-ColorPickerTool::ColorPickerTool(QDeclarativeViewInspector *view) :
-    AbstractLiveEditTool(view)
-{
-    m_selectedColor.setRgb(0,0,0);
-}
-
-ColorPickerTool::~ColorPickerTool()
-{
-
-}
-
-void ColorPickerTool::mousePressEvent(QMouseEvent * /*event*/)
-{
-}
-
-void ColorPickerTool::mouseMoveEvent(QMouseEvent *event)
-{
-    pickColor(event->pos());
-}
-
-void ColorPickerTool::mouseReleaseEvent(QMouseEvent *event)
-{
-    pickColor(event->pos());
-}
-
-void ColorPickerTool::mouseDoubleClickEvent(QMouseEvent * /*event*/)
-{
-}
-
-
-void ColorPickerTool::hoverMoveEvent(QMouseEvent * /*event*/)
-{
-}
-
-void ColorPickerTool::keyPressEvent(QKeyEvent * /*event*/)
-{
-}
-
-void ColorPickerTool::keyReleaseEvent(QKeyEvent * /*keyEvent*/)
-{
-}
-void ColorPickerTool::wheelEvent(QWheelEvent * /*event*/)
-{
-}
-
-void ColorPickerTool::itemsAboutToRemoved(const QList<QGraphicsItem*> &/*itemList*/)
-{
-}
-
-void ColorPickerTool::clear()
-{
-    view()->setCursor(Qt::CrossCursor);
-}
-
-void ColorPickerTool::selectedItemsChanged(const QList<QGraphicsItem*> &/*itemList*/)
-{
-}
-
-void ColorPickerTool::pickColor(const QPoint &pos)
-{
-    QRgb fillColor = view()->backgroundBrush().color().rgb();
-    if (view()->backgroundBrush().style() == Qt::NoBrush)
-        fillColor = view()->palette().color(QPalette::Base).rgb();
-
-    QRectF target(0,0, 1, 1);
-    QRect source(pos.x(), pos.y(), 1, 1);
-    QImage img(1, 1, QImage::Format_ARGB32);
-    img.fill(fillColor);
-    QPainter painter(&img);
-    view()->render(&painter, target, source);
-    m_selectedColor = QColor::fromRgb(img.pixel(0, 0));
-
-    emit selectedColorChanged(m_selectedColor);
-}
-
-} // namespace QmlJSDebugger
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/colorpickertool.h b/share/qtcreator/qml/qmljsdebugger/editor/colorpickertool.h
deleted file mode 100644
index bfedc70e660..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/colorpickertool.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef COLORPICKERTOOL_H
-#define COLORPICKERTOOL_H
-
-#include "abstractliveedittool.h"
-
-#include <QColor>
-
-QT_FORWARD_DECLARE_CLASS(QPoint)
-
-namespace QmlJSDebugger {
-
-class ColorPickerTool : public AbstractLiveEditTool
-{
-    Q_OBJECT
-public:
-    explicit ColorPickerTool(QDeclarativeViewInspector *view);
-
-    virtual ~ColorPickerTool();
-
-    void mousePressEvent(QMouseEvent *event);
-    void mouseMoveEvent(QMouseEvent *event);
-    void mouseReleaseEvent(QMouseEvent *event);
-    void mouseDoubleClickEvent(QMouseEvent *event);
-
-    void hoverMoveEvent(QMouseEvent *event);
-
-    void keyPressEvent(QKeyEvent *event);
-    void keyReleaseEvent(QKeyEvent *keyEvent);
-
-    void wheelEvent(QWheelEvent *event);
-
-    void itemsAboutToRemoved(const QList<QGraphicsItem*> &itemList);
-
-    void clear();
-
-signals:
-    void selectedColorChanged(const QColor &color);
-
-protected:
-
-    void selectedItemsChanged(const QList<QGraphicsItem*> &itemList);
-
-private:
-    void pickColor(const QPoint &pos);
-
-private:
-    QColor m_selectedColor;
-};
-
-} // namespace QmlJSDebugger
-
-#endif // COLORPICKERTOOL_H
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/livelayeritem.cpp b/share/qtcreator/qml/qmljsdebugger/editor/livelayeritem.cpp
deleted file mode 100644
index 60505afb873..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/livelayeritem.cpp
+++ /dev/null
@@ -1,79 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "livelayeritem.h"
-#include "qmlinspectorconstants.h"
-
-#include <QGraphicsScene>
-
-namespace QmlJSDebugger {
-
-LiveLayerItem::LiveLayerItem(QGraphicsScene* scene)
-    : QGraphicsObject()
-{
-    scene->addItem(this);
-    setZValue(1);
-    setFlag(QGraphicsItem::ItemIsMovable, false);
-}
-
-LiveLayerItem::~LiveLayerItem()
-{
-}
-
-void LiveLayerItem::paint(QPainter * /*painter*/, const QStyleOptionGraphicsItem * /*option*/,
-                          QWidget * /*widget*/)
-{
-}
-
-int LiveLayerItem::type() const
-{
-    return Constants::EditorItemType;
-}
-
-QRectF LiveLayerItem::boundingRect() const
-{
-    return childrenBoundingRect();
-}
-
-QList<QGraphicsItem*> LiveLayerItem::findAllChildItems() const
-{
-    return findAllChildItems(this);
-}
-
-QList<QGraphicsItem*> LiveLayerItem::findAllChildItems(const QGraphicsItem *item) const
-{
-    QList<QGraphicsItem*> itemList(item->childItems());
-
-    foreach (QGraphicsItem *childItem, item->childItems())
-        itemList += findAllChildItems(childItem);
-
-    return itemList;
-}
-
-} // namespace QmlJSDebugger
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/livelayeritem.h b/share/qtcreator/qml/qmljsdebugger/editor/livelayeritem.h
deleted file mode 100644
index 6fe82b3dbc3..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/livelayeritem.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef LIVELAYERITEM_H
-#define LIVELAYERITEM_H
-
-#include <QGraphicsObject>
-
-namespace QmlJSDebugger {
-
-class LiveLayerItem : public QGraphicsObject
-{
-public:
-    LiveLayerItem(QGraphicsScene *scene);
-    ~LiveLayerItem();
-    void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,
-                QWidget *widget = 0);
-    QRectF boundingRect() const;
-    int type() const;
-
-    QList<QGraphicsItem*> findAllChildItems() const;
-
-protected:
-    QList<QGraphicsItem*> findAllChildItems(const QGraphicsItem *item) const;
-};
-
-}
-
-#endif // LIVELAYERITEM_H
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/liverubberbandselectionmanipulator.cpp b/share/qtcreator/qml/qmljsdebugger/editor/liverubberbandselectionmanipulator.cpp
deleted file mode 100644
index 9d96f0472c2..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/liverubberbandselectionmanipulator.cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "liverubberbandselectionmanipulator.h"
-#include "../qdeclarativeviewinspector_p.h"
-
-#include <QGraphicsItem>
-
-#include <QDebug>
-
-namespace QmlJSDebugger {
-
-LiveRubberBandSelectionManipulator::LiveRubberBandSelectionManipulator(QGraphicsObject *layerItem,
-                                                                       QDeclarativeViewInspector *editorView)
-    : m_selectionRectangleElement(layerItem),
-      m_editorView(editorView),
-      m_beginFormEditorItem(0),
-      m_isActive(false)
-{
-    m_selectionRectangleElement.hide();
-}
-
-void LiveRubberBandSelectionManipulator::clear()
-{
-    m_selectionRectangleElement.clear();
-    m_isActive = false;
-    m_beginPoint = QPointF();
-    m_itemList.clear();
-    m_oldSelectionList.clear();
-}
-
-QGraphicsItem *LiveRubberBandSelectionManipulator::topFormEditorItem(const QList<QGraphicsItem*>
-                                                                     &itemList)
-{
-    if (itemList.isEmpty())
-        return 0;
-
-    return itemList.first();
-}
-
-void LiveRubberBandSelectionManipulator::begin(const QPointF &beginPoint)
-{
-    m_beginPoint = beginPoint;
-    m_selectionRectangleElement.setRect(m_beginPoint, m_beginPoint);
-    m_selectionRectangleElement.show();
-    m_isActive = true;
-    QDeclarativeViewInspectorPrivate *inspectorPrivate
-            = QDeclarativeViewInspectorPrivate::get(m_editorView);
-    m_beginFormEditorItem = topFormEditorItem(inspectorPrivate->selectableItems(beginPoint));
-    m_oldSelectionList = m_editorView->selectedItems();
-}
-
-void LiveRubberBandSelectionManipulator::update(const QPointF &updatePoint)
-{
-    m_selectionRectangleElement.setRect(m_beginPoint, updatePoint);
-}
-
-void LiveRubberBandSelectionManipulator::end()
-{
-    m_oldSelectionList.clear();
-    m_selectionRectangleElement.hide();
-    m_isActive = false;
-}
-
-void LiveRubberBandSelectionManipulator::select(SelectionType selectionType)
-{
-    QDeclarativeViewInspectorPrivate *inspectorPrivate
-            = QDeclarativeViewInspectorPrivate::get(m_editorView);
-    QList<QGraphicsItem*> itemList
-            = inspectorPrivate->selectableItems(m_selectionRectangleElement.rect(),
-                                               Qt::IntersectsItemShape);
-    QList<QGraphicsItem*> newSelectionList;
-
-    foreach (QGraphicsItem* item, itemList) {
-        if (item
-                && item->parentItem()
-                && !newSelectionList.contains(item)
-                //&& m_beginFormEditorItem->childItems().contains(item) // TODO activate this test
-                )
-        {
-            newSelectionList.append(item);
-        }
-    }
-
-    if (newSelectionList.isEmpty() && m_beginFormEditorItem)
-        newSelectionList.append(m_beginFormEditorItem);
-
-    QList<QGraphicsItem*> resultList;
-
-    switch(selectionType) {
-    case AddToSelection: {
-        resultList.append(m_oldSelectionList);
-        resultList.append(newSelectionList);
-    }
-        break;
-    case ReplaceSelection: {
-        resultList.append(newSelectionList);
-    }
-        break;
-    case RemoveFromSelection: {
-        QSet<QGraphicsItem*> oldSelectionSet(m_oldSelectionList.toSet());
-        QSet<QGraphicsItem*> newSelectionSet(newSelectionList.toSet());
-        resultList.append(oldSelectionSet.subtract(newSelectionSet).toList());
-    }
-    }
-
-    m_editorView->setSelectedItems(resultList);
-}
-
-
-void LiveRubberBandSelectionManipulator::setItems(const QList<QGraphicsItem*> &itemList)
-{
-    m_itemList = itemList;
-}
-
-QPointF LiveRubberBandSelectionManipulator::beginPoint() const
-{
-    return m_beginPoint;
-}
-
-bool LiveRubberBandSelectionManipulator::isActive() const
-{
-    return m_isActive;
-}
-
-} // namespace QmlJSDebugger
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/liverubberbandselectionmanipulator.h b/share/qtcreator/qml/qmljsdebugger/editor/liverubberbandselectionmanipulator.h
deleted file mode 100644
index 8b2cee12895..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/liverubberbandselectionmanipulator.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef RUBBERBANDSELECTIONMANIPULATOR_H
-#define RUBBERBANDSELECTIONMANIPULATOR_H
-
-
-#include "liveselectionrectangle.h"
-
-#include <QPointF>
-
-QT_FORWARD_DECLARE_CLASS(QGraphicsItem)
-
-namespace QmlJSDebugger {
-
-class QDeclarativeViewInspector;
-
-class LiveRubberBandSelectionManipulator
-{
-public:
-    enum SelectionType {
-        ReplaceSelection,
-        AddToSelection,
-        RemoveFromSelection
-    };
-
-    LiveRubberBandSelectionManipulator(QGraphicsObject *layerItem,
-                                       QDeclarativeViewInspector *editorView);
-
-    void setItems(const QList<QGraphicsItem*> &itemList);
-
-    void begin(const QPointF& beginPoint);
-    void update(const QPointF& updatePoint);
-    void end();
-
-    void clear();
-
-    void select(SelectionType selectionType);
-
-    QPointF beginPoint() const;
-
-    bool isActive() const;
-
-protected:
-    QGraphicsItem *topFormEditorItem(const QList<QGraphicsItem*> &itemList);
-
-private:
-    QList<QGraphicsItem*> m_itemList;
-    QList<QGraphicsItem*> m_oldSelectionList;
-    LiveSelectionRectangle m_selectionRectangleElement;
-    QPointF m_beginPoint;
-    QDeclarativeViewInspector *m_editorView;
-    QGraphicsItem *m_beginFormEditorItem;
-    bool m_isActive;
-};
-
-}
-
-#endif // RUBBERBANDSELECTIONMANIPULATOR_H
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/liveselectionindicator.cpp b/share/qtcreator/qml/qmljsdebugger/editor/liveselectionindicator.cpp
deleted file mode 100644
index 67d35b11ec9..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/liveselectionindicator.cpp
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "liveselectionindicator.h"
-#include "../qdeclarativeviewinspector_p.h"
-#include "qmlinspectorconstants.h"
-
-#include <QGraphicsRectItem>
-#include <QGraphicsObject>
-#include <QGraphicsScene>
-#include <QPen>
-
-namespace QmlJSDebugger {
-
-LiveSelectionIndicator::LiveSelectionIndicator(QDeclarativeViewInspector *viewInspector,
-                                               QGraphicsObject *layerItem)
-    : m_layerItem(layerItem)
-    , m_view(viewInspector)
-{
-}
-
-LiveSelectionIndicator::~LiveSelectionIndicator()
-{
-    clear();
-}
-
-void LiveSelectionIndicator::show()
-{
-    foreach (QGraphicsRectItem *item, m_indicatorShapeHash)
-        item->show();
-}
-
-void LiveSelectionIndicator::hide()
-{
-    foreach (QGraphicsRectItem *item, m_indicatorShapeHash)
-        item->hide();
-}
-
-void LiveSelectionIndicator::clear()
-{
-    if (!m_layerItem.isNull()) {
-        QGraphicsScene *scene = m_layerItem.data()->scene();
-        foreach (QGraphicsRectItem *item, m_indicatorShapeHash) {
-            scene->removeItem(item);
-            delete item;
-        }
-    }
-
-    m_indicatorShapeHash.clear();
-
-}
-
-void LiveSelectionIndicator::setItems(const QList<QWeakPointer<QGraphicsObject> > &itemList)
-{
-    clear();
-
-    foreach (const QWeakPointer<QGraphicsObject> &object, itemList) {
-        if (object.isNull())
-            continue;
-
-        QGraphicsItem *item = object.data();
-
-        if (!m_indicatorShapeHash.contains(item)) {
-            QGraphicsRectItem *selectionIndicator = new QGraphicsRectItem(m_layerItem.data());
-            m_indicatorShapeHash.insert(item, selectionIndicator);
-
-            const QRectF boundingRect = m_view->adjustToScreenBoundaries(item->mapRectToScene(item->boundingRect()));
-            const QRectF boundingRectInLayerItemSpace = m_layerItem.data()->mapRectFromScene(boundingRect);
-
-            selectionIndicator->setData(Constants::EditorItemDataKey, true);
-            selectionIndicator->setFlag(QGraphicsItem::ItemIsSelectable, false);
-            selectionIndicator->setRect(boundingRectInLayerItemSpace);
-            selectionIndicator->setPen(QColor(108, 141, 221));
-        }
-    }
-}
-
-} //namespace QmlJSDebugger
-
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/liveselectionindicator.h b/share/qtcreator/qml/qmljsdebugger/editor/liveselectionindicator.h
deleted file mode 100644
index c3fc2b1d713..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/liveselectionindicator.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef LIVESELECTIONINDICATOR_H
-#define LIVESELECTIONINDICATOR_H
-
-#include <QWeakPointer>
-#include <QHash>
-
-QT_BEGIN_NAMESPACE
-class QGraphicsObject;
-class QGraphicsRectItem;
-class QGraphicsItem;
-class QPolygonF;
-QT_END_NAMESPACE
-
-namespace QmlJSDebugger {
-
-class QDeclarativeViewInspector;
-
-class LiveSelectionIndicator
-{
-public:
-    LiveSelectionIndicator(QDeclarativeViewInspector *viewInspector, QGraphicsObject *layerItem);
-    ~LiveSelectionIndicator();
-
-    void show();
-    void hide();
-
-    void clear();
-
-    void setItems(const QList<QWeakPointer<QGraphicsObject> > &itemList);
-
-private:
-    QHash<QGraphicsItem*, QGraphicsRectItem *> m_indicatorShapeHash;
-    QWeakPointer<QGraphicsObject> m_layerItem;
-    QDeclarativeViewInspector *m_view;
-};
-
-}
-
-#endif // LIVESELECTIONINDICATOR_H
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/liveselectionrectangle.cpp b/share/qtcreator/qml/qmljsdebugger/editor/liveselectionrectangle.cpp
deleted file mode 100644
index 301f43a42de..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/liveselectionrectangle.cpp
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "liveselectionrectangle.h"
-#include "qmlinspectorconstants.h"
-
-#include <QPen>
-#include <QGraphicsRectItem>
-#include <QGraphicsObject>
-#include <QGraphicsScene>
-
-#include <QDebug>
-
-#include <cmath>
-
-namespace QmlJSDebugger {
-
-class SelectionRectShape : public QGraphicsRectItem
-{
-public:
-    SelectionRectShape(QGraphicsItem *parent = 0) : QGraphicsRectItem(parent) {}
-    int type() const { return Constants::EditorItemType; }
-};
-
-LiveSelectionRectangle::LiveSelectionRectangle(QGraphicsObject *layerItem)
-    : m_controlShape(new SelectionRectShape(layerItem)),
-      m_layerItem(layerItem)
-{
-    m_controlShape->setPen(QPen(Qt::black));
-    m_controlShape->setBrush(QColor(128, 128, 128, 50));
-}
-
-LiveSelectionRectangle::~LiveSelectionRectangle()
-{
-    if (m_layerItem)
-        m_layerItem.data()->scene()->removeItem(m_controlShape);
-}
-
-void LiveSelectionRectangle::clear()
-{
-    hide();
-}
-void LiveSelectionRectangle::show()
-{
-    m_controlShape->show();
-}
-
-void LiveSelectionRectangle::hide()
-{
-    m_controlShape->hide();
-}
-
-QRectF LiveSelectionRectangle::rect() const
-{
-    return m_controlShape->mapFromScene(m_controlShape->rect()).boundingRect();
-}
-
-void LiveSelectionRectangle::setRect(const QPointF &firstPoint,
-                                 const QPointF &secondPoint)
-{
-    double firstX = std::floor(firstPoint.x()) + 0.5;
-    double firstY = std::floor(firstPoint.y()) + 0.5;
-    double secondX = std::floor(secondPoint.x()) + 0.5;
-    double secondY = std::floor(secondPoint.y()) + 0.5;
-    QPointF topLeftPoint(firstX < secondX ? firstX : secondX,
-                         firstY < secondY ? firstY : secondY);
-    QPointF bottomRightPoint(firstX > secondX ? firstX : secondX,
-                             firstY > secondY ? firstY : secondY);
-
-    QRectF rect(topLeftPoint, bottomRightPoint);
-    m_controlShape->setRect(rect);
-}
-
-}
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/liveselectionrectangle.h b/share/qtcreator/qml/qmljsdebugger/editor/liveselectionrectangle.h
deleted file mode 100644
index 76fdbb81b32..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/liveselectionrectangle.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef LIVESELECTIONRECTANGLE_H
-#define LIVESELECTIONRECTANGLE_H
-
-#include <QWeakPointer>
-
-QT_FORWARD_DECLARE_CLASS(QGraphicsObject)
-QT_FORWARD_DECLARE_CLASS(QGraphicsRectItem)
-QT_FORWARD_DECLARE_CLASS(QPointF)
-QT_FORWARD_DECLARE_CLASS(QRectF)
-
-namespace QmlJSDebugger {
-
-class LiveSelectionRectangle
-{
-public:
-    LiveSelectionRectangle(QGraphicsObject *layerItem);
-    ~LiveSelectionRectangle();
-
-    void show();
-    void hide();
-
-    void clear();
-
-    void setRect(const QPointF &firstPoint,
-                 const QPointF &secondPoint);
-
-    QRectF rect() const;
-
-private:
-    QGraphicsRectItem *m_controlShape;
-    QWeakPointer<QGraphicsObject> m_layerItem;
-};
-
-} // namespace QmlJSDebugger
-
-#endif // LIVESELECTIONRECTANGLE_H
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/liveselectiontool.cpp b/share/qtcreator/qml/qmljsdebugger/editor/liveselectiontool.cpp
deleted file mode 100644
index 8ed9c60f6a6..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/liveselectiontool.cpp
+++ /dev/null
@@ -1,424 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "liveselectiontool.h"
-#include "livelayeritem.h"
-
-#include "../qdeclarativeviewinspector_p.h"
-
-#include <QApplication>
-#include <QWheelEvent>
-#include <QMouseEvent>
-#include <QClipboard>
-#include <QMenu>
-#include <QAction>
-#include <QGraphicsObject>
-
-#include <QDeclarativeItem>
-#include <QDeclarativeEngine>
-
-#include <QDebug>
-
-namespace QmlJSDebugger {
-
-LiveSelectionTool::LiveSelectionTool(QDeclarativeViewInspector *editorView) :
-    AbstractLiveEditTool(editorView),
-    m_rubberbandSelectionMode(false),
-    m_rubberbandSelectionManipulator(
-        QDeclarativeViewInspectorPrivate::get(editorView)->manipulatorLayer, editorView),
-    m_singleSelectionManipulator(editorView),
-    m_selectionIndicator(editorView,
-        QDeclarativeViewInspectorPrivate::get(editorView)->manipulatorLayer),
-    //m_resizeIndicator(editorView->manipulatorLayer()),
-    m_selectOnlyContentItems(true)
-{
-
-}
-
-LiveSelectionTool::~LiveSelectionTool()
-{
-}
-
-void LiveSelectionTool::setRubberbandSelectionMode(bool value)
-{
-    m_rubberbandSelectionMode = value;
-}
-
-LiveSingleSelectionManipulator::SelectionType LiveSelectionTool::getSelectionType(Qt::KeyboardModifiers
-                                                                          modifiers)
-{
-   LiveSingleSelectionManipulator::SelectionType selectionType
-            = LiveSingleSelectionManipulator::ReplaceSelection;
-    if (modifiers.testFlag(Qt::ControlModifier)) {
-        selectionType = LiveSingleSelectionManipulator::RemoveFromSelection;
-    } else if (modifiers.testFlag(Qt::ShiftModifier)) {
-        selectionType = LiveSingleSelectionManipulator::AddToSelection;
-    }
-    return selectionType;
-}
-
-bool LiveSelectionTool::alreadySelected(const QList<QGraphicsItem*> &itemList) const
-{
-    QDeclarativeViewInspectorPrivate *inspectorPrivate
-            = QDeclarativeViewInspectorPrivate::get(inspector());
-    const QList<QGraphicsItem*> selectedItems = inspectorPrivate->selectedItems();
-
-    if (selectedItems.isEmpty())
-        return false;
-
-    foreach (QGraphicsItem *item, itemList)
-        if (selectedItems.contains(item))
-            return true;
-
-    return false;
-}
-
-void LiveSelectionTool::mousePressEvent(QMouseEvent *event)
-{
-    QDeclarativeViewInspectorPrivate *inspectorPrivate
-            = QDeclarativeViewInspectorPrivate::get(inspector());
-    QList<QGraphicsItem*> itemList = inspectorPrivate->selectableItems(event->pos());
-    LiveSingleSelectionManipulator::SelectionType selectionType = getSelectionType(event->modifiers());
-
-    if (event->buttons() & Qt::LeftButton) {
-        m_mousePressTimer.start();
-
-        if (m_rubberbandSelectionMode) {
-            m_rubberbandSelectionManipulator.begin(event->pos());
-        } else {
-            m_singleSelectionManipulator.begin(event->pos());
-            m_singleSelectionManipulator.select(selectionType, m_selectOnlyContentItems);
-        }
-    } else if (event->buttons() & Qt::RightButton) {
-        createContextMenu(itemList, event->globalPos());
-    }
-}
-
-void LiveSelectionTool::createContextMenu(QList<QGraphicsItem*> itemList, QPoint globalPos)
-{
-    QMenu contextMenu;
-    connect(&contextMenu, SIGNAL(hovered(QAction*)),
-            this, SLOT(contextMenuElementHovered(QAction*)));
-
-    m_contextMenuItemList = itemList;
-
-    contextMenu.addAction("Items");
-    contextMenu.addSeparator();
-    int shortcutKey = Qt::Key_1;
-    bool addKeySequence = true;
-    int i = 0;
-
-    foreach (QGraphicsItem * const item, itemList) {
-        QString itemTitle = titleForItem(item);
-        QAction *elementAction = contextMenu.addAction(itemTitle, this,
-                                                       SLOT(contextMenuElementSelected()));
-
-        if (inspector()->selectedItems().contains(item)) {
-            QFont boldFont = elementAction->font();
-            boldFont.setBold(true);
-            elementAction->setFont(boldFont);
-        }
-
-        elementAction->setData(i);
-        if (addKeySequence)
-            elementAction->setShortcut(QKeySequence(shortcutKey));
-
-        shortcutKey++;
-        if (shortcutKey > Qt::Key_9)
-            addKeySequence = false;
-
-        ++i;
-    }
-    // add root item separately
-    //    QString itemTitle = QString(tr("%1")).arg(titleForItem(view()->currentRootItem()));
-    //    contextMenu.addAction(itemTitle, this, SLOT(contextMenuElementSelected()));
-    //    m_contextMenuItemList.append(view()->currentRootItem());
-
-    contextMenu.exec(globalPos);
-    m_contextMenuItemList.clear();
-}
-
-void LiveSelectionTool::contextMenuElementSelected()
-{
-    QAction *senderAction = static_cast<QAction*>(sender());
-    int itemListIndex = senderAction->data().toInt();
-    if (itemListIndex >= 0 && itemListIndex < m_contextMenuItemList.length()) {
-
-        QPointF updatePt(0, 0);
-        QGraphicsItem *item = m_contextMenuItemList.at(itemListIndex);
-        m_singleSelectionManipulator.begin(updatePt);
-        m_singleSelectionManipulator.select(LiveSingleSelectionManipulator::InvertSelection,
-                                            QList<QGraphicsItem*>() << item,
-                                            false);
-        m_singleSelectionManipulator.end(updatePt);
-    }
-}
-
-void LiveSelectionTool::contextMenuElementHovered(QAction *action)
-{
-    int itemListIndex = action->data().toInt();
-    if (itemListIndex >= 0 && itemListIndex < m_contextMenuItemList.length()) {
-        QGraphicsObject *item = m_contextMenuItemList.at(itemListIndex)->toGraphicsObject();
-        QDeclarativeViewInspectorPrivate::get(inspector())->highlight(item);
-    }
-}
-
-void LiveSelectionTool::mouseMoveEvent(QMouseEvent *event)
-{
-    if (m_singleSelectionManipulator.isActive()) {
-        QPointF mouseMovementVector = m_singleSelectionManipulator.beginPoint() - event->pos();
-
-        if ((mouseMovementVector.toPoint().manhattanLength() > Constants::DragStartDistance)
-                && (m_mousePressTimer.elapsed() > Constants::DragStartTime))
-        {
-            m_singleSelectionManipulator.end(event->pos());
-            //view()->changeToMoveTool(m_singleSelectionManipulator.beginPoint());
-            return;
-        }
-    } else if (m_rubberbandSelectionManipulator.isActive()) {
-        QPointF mouseMovementVector = m_rubberbandSelectionManipulator.beginPoint() - event->pos();
-
-        if ((mouseMovementVector.toPoint().manhattanLength() > Constants::DragStartDistance)
-                && (m_mousePressTimer.elapsed() > Constants::DragStartTime)) {
-            m_rubberbandSelectionManipulator.update(event->pos());
-
-            if (event->modifiers().testFlag(Qt::ControlModifier))
-                m_rubberbandSelectionManipulator.select(
-                            LiveRubberBandSelectionManipulator::RemoveFromSelection);
-            else if (event->modifiers().testFlag(Qt::ShiftModifier))
-                m_rubberbandSelectionManipulator.select(
-                            LiveRubberBandSelectionManipulator::AddToSelection);
-            else
-                m_rubberbandSelectionManipulator.select(
-                            LiveRubberBandSelectionManipulator::ReplaceSelection);
-        }
-    }
-}
-
-void LiveSelectionTool::hoverMoveEvent(QMouseEvent * event)
-{
-// ### commented out until move tool is re-enabled
-//    QList<QGraphicsItem*> itemList = view()->items(event->pos());
-//    if (!itemList.isEmpty() && !m_rubberbandSelectionMode) {
-//
-//        foreach (QGraphicsItem *item, itemList) {
-//            if (item->type() == Constants::ResizeHandleItemType) {
-//                ResizeHandleItem* resizeHandle = ResizeHandleItem::fromGraphicsItem(item);
-//                if (resizeHandle)
-//                    view()->changeTool(Constants::ResizeToolMode);
-//                return;
-//            }
-//        }
-//        if (topSelectedItemIsMovable(itemList))
-//            view()->changeTool(Constants::MoveToolMode);
-//    }
-    QDeclarativeViewInspectorPrivate *inspectorPrivate
-            = QDeclarativeViewInspectorPrivate::get(inspector());
-
-    QList<QGraphicsItem*> selectableItemList = inspectorPrivate->selectableItems(event->pos());
-    if (!selectableItemList.isEmpty()) {
-        QGraphicsObject *item = selectableItemList.first()->toGraphicsObject();
-        if (item)
-            QDeclarativeViewInspectorPrivate::get(inspector())->highlight(item);
-
-        return;
-    }
-
-    QDeclarativeViewInspectorPrivate::get(inspector())->clearHighlight();
-}
-
-void LiveSelectionTool::mouseReleaseEvent(QMouseEvent *event)
-{
-    if (m_singleSelectionManipulator.isActive()) {
-        m_singleSelectionManipulator.end(event->pos());
-    } else if (m_rubberbandSelectionManipulator.isActive()) {
-        QPointF mouseMovementVector = m_rubberbandSelectionManipulator.beginPoint() - event->pos();
-        if (mouseMovementVector.toPoint().manhattanLength() < Constants::DragStartDistance) {
-            m_singleSelectionManipulator.begin(event->pos());
-
-            if (event->modifiers().testFlag(Qt::ControlModifier))
-                m_singleSelectionManipulator.select(LiveSingleSelectionManipulator::RemoveFromSelection,
-                                                    m_selectOnlyContentItems);
-            else if (event->modifiers().testFlag(Qt::ShiftModifier))
-                m_singleSelectionManipulator.select(LiveSingleSelectionManipulator::AddToSelection,
-                                                    m_selectOnlyContentItems);
-            else
-                m_singleSelectionManipulator.select(LiveSingleSelectionManipulator::InvertSelection,
-                                                    m_selectOnlyContentItems);
-
-            m_singleSelectionManipulator.end(event->pos());
-        } else {
-            m_rubberbandSelectionManipulator.update(event->pos());
-
-            if (event->modifiers().testFlag(Qt::ControlModifier))
-                m_rubberbandSelectionManipulator.select(
-                            LiveRubberBandSelectionManipulator::RemoveFromSelection);
-            else if (event->modifiers().testFlag(Qt::ShiftModifier))
-                m_rubberbandSelectionManipulator.select(
-                            LiveRubberBandSelectionManipulator::AddToSelection);
-            else
-                m_rubberbandSelectionManipulator.select(
-                            LiveRubberBandSelectionManipulator::ReplaceSelection);
-
-            m_rubberbandSelectionManipulator.end();
-        }
-    }
-}
-
-void LiveSelectionTool::mouseDoubleClickEvent(QMouseEvent * /*event*/)
-{
-}
-
-void LiveSelectionTool::keyPressEvent(QKeyEvent *event)
-{
-    switch(event->key()) {
-    case Qt::Key_Left:
-    case Qt::Key_Right:
-    case Qt::Key_Up:
-    case Qt::Key_Down:
-        // disabled for now, cannot move stuff yet.
-        //view()->changeTool(Constants::MoveToolMode);
-        //view()->currentTool()->keyPressEvent(event);
-        break;
-    }
-}
-
-void LiveSelectionTool::keyReleaseEvent(QKeyEvent * /*keyEvent*/)
-{
-
-}
-
-void LiveSelectionTool::wheelEvent(QWheelEvent *event)
-{
-    if (event->orientation() == Qt::Horizontal || m_rubberbandSelectionMode)
-        return;
-
-    QDeclarativeViewInspectorPrivate *inspectorPrivate
-            = QDeclarativeViewInspectorPrivate::get(inspector());
-    QList<QGraphicsItem*> itemList = inspectorPrivate->selectableItems(event->pos());
-
-    if (itemList.isEmpty())
-        return;
-
-    int selectedIdx = 0;
-    if (!inspector()->selectedItems().isEmpty()) {
-        selectedIdx = itemList.indexOf(inspector()->selectedItems().first());
-        if (selectedIdx >= 0) {
-            if (event->delta() > 0) {
-                selectedIdx++;
-                if (selectedIdx == itemList.length())
-                    selectedIdx = 0;
-            } else if (event->delta() < 0) {
-                selectedIdx--;
-                if (selectedIdx == -1)
-                    selectedIdx = itemList.length() - 1;
-            }
-        } else {
-            selectedIdx = 0;
-        }
-    }
-
-    QPointF updatePt(0, 0);
-    m_singleSelectionManipulator.begin(updatePt);
-    m_singleSelectionManipulator.select(LiveSingleSelectionManipulator::ReplaceSelection,
-                                        QList<QGraphicsItem*>() << itemList.at(selectedIdx),
-                                        false);
-    m_singleSelectionManipulator.end(updatePt);
-
-}
-
-void LiveSelectionTool::setSelectOnlyContentItems(bool selectOnlyContentItems)
-{
-    m_selectOnlyContentItems = selectOnlyContentItems;
-}
-
-void LiveSelectionTool::itemsAboutToRemoved(const QList<QGraphicsItem*> &/*itemList*/)
-{
-}
-
-void LiveSelectionTool::clear()
-{
-    view()->setCursor(Qt::ArrowCursor);
-    m_rubberbandSelectionManipulator.clear(),
-            m_singleSelectionManipulator.clear();
-    m_selectionIndicator.clear();
-    //m_resizeIndicator.clear();
-}
-
-void LiveSelectionTool::selectedItemsChanged(const QList<QGraphicsItem*> &itemList)
-{
-    foreach (const QWeakPointer<QGraphicsObject> &obj, m_selectedItemList) {
-        if (!obj.isNull()) {
-            disconnect(obj.data(), SIGNAL(xChanged()), this, SLOT(repaintBoundingRects()));
-            disconnect(obj.data(), SIGNAL(yChanged()), this, SLOT(repaintBoundingRects()));
-            disconnect(obj.data(), SIGNAL(widthChanged()), this, SLOT(repaintBoundingRects()));
-            disconnect(obj.data(), SIGNAL(heightChanged()), this, SLOT(repaintBoundingRects()));
-            disconnect(obj.data(), SIGNAL(rotationChanged()), this, SLOT(repaintBoundingRects()));
-        }
-    }
-
-    QList<QGraphicsObject*> objects = toGraphicsObjectList(itemList);
-    m_selectedItemList.clear();
-
-    foreach (QGraphicsObject *obj, objects) {
-        m_selectedItemList.append(obj);
-        connect(obj, SIGNAL(xChanged()), this, SLOT(repaintBoundingRects()));
-        connect(obj, SIGNAL(yChanged()), this, SLOT(repaintBoundingRects()));
-        connect(obj, SIGNAL(widthChanged()), this, SLOT(repaintBoundingRects()));
-        connect(obj, SIGNAL(heightChanged()), this, SLOT(repaintBoundingRects()));
-        connect(obj, SIGNAL(rotationChanged()), this, SLOT(repaintBoundingRects()));
-    }
-
-    m_selectionIndicator.setItems(m_selectedItemList);
-    //m_resizeIndicator.setItems(toGraphicsObjectList(itemList));
-}
-
-void LiveSelectionTool::repaintBoundingRects()
-{
-    m_selectionIndicator.setItems(m_selectedItemList);
-}
-
-void LiveSelectionTool::selectUnderPoint(QMouseEvent *event)
-{
-    m_singleSelectionManipulator.begin(event->pos());
-
-    if (event->modifiers().testFlag(Qt::ControlModifier))
-        m_singleSelectionManipulator.select(LiveSingleSelectionManipulator::RemoveFromSelection,
-                                            m_selectOnlyContentItems);
-    else if (event->modifiers().testFlag(Qt::ShiftModifier))
-        m_singleSelectionManipulator.select(LiveSingleSelectionManipulator::AddToSelection,
-                                            m_selectOnlyContentItems);
-    else
-        m_singleSelectionManipulator.select(LiveSingleSelectionManipulator::InvertSelection,
-                                            m_selectOnlyContentItems);
-
-    m_singleSelectionManipulator.end(event->pos());
-}
-
-} // namespace QmlJSDebugger
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/liveselectiontool.h b/share/qtcreator/qml/qmljsdebugger/editor/liveselectiontool.h
deleted file mode 100644
index d2b900f518e..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/liveselectiontool.h
+++ /dev/null
@@ -1,109 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef LIVESELECTIONTOOL_H
-#define LIVESELECTIONTOOL_H
-
-
-#include "abstractliveedittool.h"
-#include "liverubberbandselectionmanipulator.h"
-#include "livesingleselectionmanipulator.h"
-#include "liveselectionindicator.h"
-
-#include <QList>
-#include <QTime>
-
-QT_FORWARD_DECLARE_CLASS(QGraphicsItem)
-QT_FORWARD_DECLARE_CLASS(QMouseEvent)
-QT_FORWARD_DECLARE_CLASS(QKeyEvent)
-QT_FORWARD_DECLARE_CLASS(QAction)
-
-namespace QmlJSDebugger {
-
-class LiveSelectionTool : public AbstractLiveEditTool
-{
-    Q_OBJECT
-
-public:
-    LiveSelectionTool(QDeclarativeViewInspector* editorView);
-    ~LiveSelectionTool();
-
-    void mousePressEvent(QMouseEvent *event);
-    void mouseMoveEvent(QMouseEvent *event);
-    void mouseReleaseEvent(QMouseEvent *event);
-    void mouseDoubleClickEvent(QMouseEvent *event);
-    void hoverMoveEvent(QMouseEvent *event);
-    void keyPressEvent(QKeyEvent *event);
-    void keyReleaseEvent(QKeyEvent *keyEvent);
-    void wheelEvent(QWheelEvent *event);
-
-    void itemsAboutToRemoved(const QList<QGraphicsItem*> &itemList);
-//    QVariant itemChange(const QList<QGraphicsItem*> &itemList,
-//                        QGraphicsItem::GraphicsItemChange change,
-//                        const QVariant &value );
-
-//    void update();
-
-    void clear();
-
-    void selectedItemsChanged(const QList<QGraphicsItem*> &itemList);
-
-    void selectUnderPoint(QMouseEvent *event);
-
-    void setSelectOnlyContentItems(bool selectOnlyContentItems);
-
-    void setRubberbandSelectionMode(bool value);
-
-private slots:
-    void contextMenuElementSelected();
-    void contextMenuElementHovered(QAction *action);
-    void repaintBoundingRects();
-
-private:
-    void createContextMenu(QList<QGraphicsItem*> itemList, QPoint globalPos);
-    LiveSingleSelectionManipulator::SelectionType getSelectionType(Qt::KeyboardModifiers modifiers);
-    bool alreadySelected(const QList<QGraphicsItem*> &itemList) const;
-
-private:
-    bool m_rubberbandSelectionMode;
-    LiveRubberBandSelectionManipulator m_rubberbandSelectionManipulator;
-    LiveSingleSelectionManipulator m_singleSelectionManipulator;
-    LiveSelectionIndicator m_selectionIndicator;
-    //ResizeIndicator m_resizeIndicator;
-    QTime m_mousePressTimer;
-    bool m_selectOnlyContentItems;
-
-    QList<QWeakPointer<QGraphicsObject> > m_selectedItemList;
-
-    QList<QGraphicsItem*> m_contextMenuItemList;
-};
-
-} // namespace QmlJSDebugger
-
-#endif // LIVESELECTIONTOOL_H
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/livesingleselectionmanipulator.cpp b/share/qtcreator/qml/qmljsdebugger/editor/livesingleselectionmanipulator.cpp
deleted file mode 100644
index 11c69edd571..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/livesingleselectionmanipulator.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "livesingleselectionmanipulator.h"
-#include "qdeclarativeviewinspector.h"
-#include "../qdeclarativeviewinspector_p.h"
-#include <QDebug>
-
-namespace QmlJSDebugger {
-
-LiveSingleSelectionManipulator::LiveSingleSelectionManipulator(QDeclarativeViewInspector *editorView)
-    : m_editorView(editorView),
-      m_isActive(false)
-{
-}
-
-
-void LiveSingleSelectionManipulator::begin(const QPointF &beginPoint)
-{
-    m_beginPoint = beginPoint;
-    m_isActive = true;
-    m_oldSelectionList = QDeclarativeViewInspectorPrivate::get(m_editorView)->selectedItems();
-}
-
-void LiveSingleSelectionManipulator::update(const QPointF &/*updatePoint*/)
-{
-    m_oldSelectionList.clear();
-}
-
-void LiveSingleSelectionManipulator::clear()
-{
-    m_beginPoint = QPointF();
-    m_oldSelectionList.clear();
-}
-
-
-void LiveSingleSelectionManipulator::end(const QPointF &/*updatePoint*/)
-{
-    m_oldSelectionList.clear();
-    m_isActive = false;
-}
-
-void LiveSingleSelectionManipulator::select(SelectionType selectionType,
-                                            const QList<QGraphicsItem*> &items,
-                                            bool /*selectOnlyContentItems*/)
-{
-    QGraphicsItem *selectedItem = 0;
-
-    foreach (QGraphicsItem* item, items)
-    {
-        //FormEditorItem *formEditorItem = FormEditorItem::fromQGraphicsItem(item);
-        if (item
-            /*&& !formEditorItem->qmlItemNode().isRootNode()
-               && (formEditorItem->qmlItemNode().hasShowContent() || !selectOnlyContentItems)*/)
-        {
-            selectedItem = item;
-            break;
-        }
-    }
-
-    QList<QGraphicsItem*> resultList;
-
-    switch(selectionType) {
-    case AddToSelection: {
-        resultList.append(m_oldSelectionList);
-        if (selectedItem && !m_oldSelectionList.contains(selectedItem))
-            resultList.append(selectedItem);
-    }
-        break;
-    case ReplaceSelection: {
-        if (selectedItem)
-            resultList.append(selectedItem);
-    }
-        break;
-    case RemoveFromSelection: {
-        resultList.append(m_oldSelectionList);
-        if (selectedItem)
-            resultList.removeAll(selectedItem);
-    }
-        break;
-    case InvertSelection: {
-        if (selectedItem
-                && !m_oldSelectionList.contains(selectedItem))
-        {
-            resultList.append(selectedItem);
-        }
-    }
-    }
-
-    m_editorView->setSelectedItems(resultList);
-}
-
-void LiveSingleSelectionManipulator::select(SelectionType selectionType, bool selectOnlyContentItems)
-{
-    QDeclarativeViewInspectorPrivate *inspectorPrivate =
-            QDeclarativeViewInspectorPrivate::get(m_editorView);
-    QList<QGraphicsItem*> itemList = inspectorPrivate->selectableItems(m_beginPoint);
-    select(selectionType, itemList, selectOnlyContentItems);
-}
-
-
-bool LiveSingleSelectionManipulator::isActive() const
-{
-    return m_isActive;
-}
-
-QPointF LiveSingleSelectionManipulator::beginPoint() const
-{
-    return m_beginPoint;
-}
-
-} // namespace QmlJSDebugger
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/livesingleselectionmanipulator.h b/share/qtcreator/qml/qmljsdebugger/editor/livesingleselectionmanipulator.h
deleted file mode 100644
index b5018d1fe3b..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/livesingleselectionmanipulator.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef LIVESINGLESELECTIONMANIPULATOR_H
-#define LIVESINGLESELECTIONMANIPULATOR_H
-
-#include <QPointF>
-#include <QList>
-
-QT_FORWARD_DECLARE_CLASS(QGraphicsItem);
-
-namespace QmlJSDebugger {
-
-class QDeclarativeViewInspector;
-
-class LiveSingleSelectionManipulator
-{
-public:
-    LiveSingleSelectionManipulator(QDeclarativeViewInspector *editorView);
-
-    enum SelectionType {
-        ReplaceSelection,
-        AddToSelection,
-        RemoveFromSelection,
-        InvertSelection
-    };
-
-    void begin(const QPointF& beginPoint);
-    void update(const QPointF& updatePoint);
-    void end(const QPointF& updatePoint);
-
-    void select(SelectionType selectionType, const QList<QGraphicsItem*> &items,
-                bool selectOnlyContentItems);
-    void select(SelectionType selectionType, bool selectOnlyContentItems);
-
-    void clear();
-
-    QPointF beginPoint() const;
-
-    bool isActive() const;
-
-private:
-    QList<QGraphicsItem*> m_oldSelectionList;
-    QPointF m_beginPoint;
-    QDeclarativeViewInspector *m_editorView;
-    bool m_isActive;
-};
-
-} // namespace QmlJSDebugger
-
-#endif // LIVESINGLESELECTIONMANIPULATOR_H
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/subcomponentmasklayeritem.cpp b/share/qtcreator/qml/qmljsdebugger/editor/subcomponentmasklayeritem.cpp
deleted file mode 100644
index 46dd1edf01e..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/subcomponentmasklayeritem.cpp
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "subcomponentmasklayeritem.h"
-#include "qmlinspectorconstants.h"
-#include "qdeclarativeviewinspector.h"
-#include <QPolygonF>
-
-namespace QmlJSDebugger {
-
-SubcomponentMaskLayerItem::SubcomponentMaskLayerItem(QDeclarativeViewInspector *inspector,
-                                                     QGraphicsItem *parentItem) :
-    QGraphicsPolygonItem(parentItem),
-    m_inspector(inspector),
-    m_currentItem(0),
-    m_borderRect(new QGraphicsRectItem(this))
-{
-    m_borderRect->setRect(0,0,0,0);
-    m_borderRect->setPen(QPen(QColor(60, 60, 60), 1));
-    m_borderRect->setData(Constants::EditorItemDataKey, QVariant(true));
-
-    setBrush(QBrush(QColor(160,160,160)));
-    setPen(Qt::NoPen);
-}
-
-int SubcomponentMaskLayerItem::type() const
-{
-    return Constants::EditorItemType;
-}
-
-static QRectF resizeRect(const QRectF &newRect, const QRectF &oldRect)
-{
-    QRectF result = newRect;
-    if (oldRect.left() < newRect.left())
-        result.setLeft(oldRect.left());
-
-    if (oldRect.top() < newRect.top())
-        result.setTop(oldRect.top());
-
-    if (oldRect.right() > newRect.right())
-        result.setRight(oldRect.right());
-
-    if (oldRect.bottom() > newRect.bottom())
-        result.setBottom(oldRect.bottom());
-
-    return result;
-}
-
-static QPolygonF regionToPolygon(const QRegion &region)
-{
-    QPainterPath path;
-    foreach (const QRect &rect, region.rects())
-        path.addRect(rect);
-    return path.toFillPolygon();
-}
-
-void SubcomponentMaskLayerItem::setCurrentItem(QGraphicsItem *item)
-{
-    QGraphicsItem *prevItem = m_currentItem;
-    m_currentItem = item;
-
-    if (!m_currentItem)
-        return;
-
-    QRect viewRect = m_inspector->declarativeView()->rect();
-    viewRect = m_inspector->declarativeView()->mapToScene(viewRect).boundingRect().toRect();
-
-    QRectF itemRect = item->boundingRect() | item->childrenBoundingRect();
-    itemRect = item->mapRectToScene(itemRect);
-
-    // if updating the same item as before, resize the rectangle only bigger, not smaller.
-    if (prevItem == item && prevItem != 0) {
-        m_itemPolyRect = resizeRect(itemRect, m_itemPolyRect);
-    } else {
-        m_itemPolyRect = itemRect;
-    }
-    QRectF borderRect = m_itemPolyRect;
-    borderRect.adjust(-1, -1, 1, 1);
-    m_borderRect->setRect(borderRect);
-
-    const QRegion externalRegion = QRegion(viewRect).subtracted(m_itemPolyRect.toRect());
-    setPolygon(regionToPolygon(externalRegion));
-}
-
-QGraphicsItem *SubcomponentMaskLayerItem::currentItem() const
-{
-    return m_currentItem;
-}
-
-} // namespace QmlJSDebugger
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/subcomponentmasklayeritem.h b/share/qtcreator/qml/qmljsdebugger/editor/subcomponentmasklayeritem.h
deleted file mode 100644
index 4faa9ba1756..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/subcomponentmasklayeritem.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef SUBCOMPONENTMASKLAYERITEM_H
-#define SUBCOMPONENTMASKLAYERITEM_H
-
-#include <QGraphicsPolygonItem>
-
-namespace QmlJSDebugger {
-
-class QDeclarativeViewInspector;
-
-class SubcomponentMaskLayerItem : public QGraphicsPolygonItem
-{
-public:
-    explicit SubcomponentMaskLayerItem(QDeclarativeViewInspector *inspector,
-                                       QGraphicsItem *parentItem = 0);
-    int type() const;
-    void setCurrentItem(QGraphicsItem *item);
-    void setBoundingBox(const QRectF &boundingBox);
-    QGraphicsItem *currentItem() const;
-    QRectF itemRect() const;
-
-private:
-    QDeclarativeViewInspector *m_inspector;
-    QGraphicsItem *m_currentItem;
-    QGraphicsRectItem *m_borderRect;
-    QRectF m_itemPolyRect;
-};
-
-} // namespace QmlJSDebugger
-
-#endif // SUBCOMPONENTMASKLAYERITEM_H
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/zoomtool.cpp b/share/qtcreator/qml/qmljsdebugger/editor/zoomtool.cpp
deleted file mode 100644
index ab8ebf5b3c3..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/zoomtool.cpp
+++ /dev/null
@@ -1,323 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "zoomtool.h"
-#include "../qdeclarativeviewinspector_p.h"
-
-#include <QMouseEvent>
-#include <QWheelEvent>
-#include <QKeyEvent>
-#include <QMenu>
-#include <QAction>
-
-#include <QRectF>
-#include <QDebug>
-
-namespace QmlJSDebugger {
-
-ZoomTool::ZoomTool(QDeclarativeViewInspector *view) :
-    AbstractLiveEditTool(view),
-    m_rubberbandManipulator(),
-    m_smoothZoomMultiplier(0.05f),
-    m_currentScale(1.0f)
-{
-    m_zoomTo100Action = new QAction(tr("Zoom to &100%"), this);
-    m_zoomInAction = new QAction(tr("Zoom In"), this);
-    m_zoomOutAction = new QAction(tr("Zoom Out"), this);
-    m_zoomInAction->setShortcut(QKeySequence(Qt::Key_Plus));
-    m_zoomOutAction->setShortcut(QKeySequence(Qt::Key_Minus));
-
-
-    LiveLayerItem *layerItem = QDeclarativeViewInspectorPrivate::get(view)->manipulatorLayer;
-    QGraphicsObject *layerObject = reinterpret_cast<QGraphicsObject *>(layerItem);
-    m_rubberbandManipulator = new LiveRubberBandSelectionManipulator(layerObject, view);
-
-
-    connect(m_zoomTo100Action, SIGNAL(triggered()), SLOT(zoomTo100()));
-    connect(m_zoomInAction, SIGNAL(triggered()), SLOT(zoomIn()));
-    connect(m_zoomOutAction, SIGNAL(triggered()), SLOT(zoomOut()));
-}
-
-ZoomTool::~ZoomTool()
-{
-    delete m_rubberbandManipulator;
-}
-
-void ZoomTool::mousePressEvent(QMouseEvent *event)
-{
-    m_mousePos = event->pos();
-
-    QPointF scenePos = view()->mapToScene(event->pos());
-
-    if (event->buttons() & Qt::RightButton) {
-        QMenu contextMenu;
-        contextMenu.addAction(m_zoomTo100Action);
-        contextMenu.addSeparator();
-        contextMenu.addAction(m_zoomInAction);
-        contextMenu.addAction(m_zoomOutAction);
-        contextMenu.exec(event->globalPos());
-    } else if (event->buttons() & Qt::LeftButton) {
-        m_dragBeginPos = scenePos;
-        m_dragStarted = false;
-    }
-}
-
-void ZoomTool::mouseMoveEvent(QMouseEvent *event)
-{
-    m_mousePos = event->pos();
-
-    QPointF scenePos = view()->mapToScene(event->pos());
-
-    if (event->buttons() & Qt::LeftButton
-            && (QPointF(scenePos - m_dragBeginPos).manhattanLength()
-                > Constants::DragStartDistance / 3)
-            && !m_dragStarted)
-    {
-        m_dragStarted = true;
-        m_rubberbandManipulator->begin(m_dragBeginPos);
-        return;
-    }
-
-    if (m_dragStarted)
-        m_rubberbandManipulator->update(scenePos);
-
-}
-
-void ZoomTool::mouseReleaseEvent(QMouseEvent *event)
-{
-    m_mousePos = event->pos();
-    QPointF scenePos = view()->mapToScene(event->pos());
-
-    if (m_dragStarted) {
-        m_rubberbandManipulator->end();
-
-        int x1 = qMin(scenePos.x(), m_rubberbandManipulator->beginPoint().x());
-        int x2 = qMax(scenePos.x(), m_rubberbandManipulator->beginPoint().x());
-        int y1 = qMin(scenePos.y(), m_rubberbandManipulator->beginPoint().y());
-        int y2 = qMax(scenePos.y(), m_rubberbandManipulator->beginPoint().y());
-
-        QPointF scenePosTopLeft = QPoint(x1, y1);
-        QPointF scenePosBottomRight = QPoint(x2, y2);
-
-        QRectF sceneArea(scenePosTopLeft, scenePosBottomRight);
-
-        m_currentScale = qMin(view()->rect().width() / sceneArea.width(),
-                              view()->rect().height() / sceneArea.height());
-
-
-        QTransform transform;
-        transform.scale(m_currentScale, m_currentScale);
-
-        view()->setTransform(transform);
-        view()->setSceneRect(sceneArea);
-    } else {
-        Qt::KeyboardModifier modifierKey = Qt::ControlModifier;
-#ifdef Q_OS_MAC
-        modifierKey = Qt::AltModifier;
-#endif
-        if (event->modifiers() & modifierKey) {
-            zoomOut();
-        } else {
-            zoomIn();
-        }
-    }
-}
-
-void ZoomTool::zoomIn()
-{
-    m_currentScale = nextZoomScale(ZoomIn);
-    scaleView(view()->mapToScene(m_mousePos));
-}
-
-void ZoomTool::zoomOut()
-{
-    m_currentScale = nextZoomScale(ZoomOut);
-    scaleView(view()->mapToScene(m_mousePos));
-}
-
-void ZoomTool::mouseDoubleClickEvent(QMouseEvent *event)
-{
-    m_mousePos = event->pos();
-}
-
-
-void ZoomTool::hoverMoveEvent(QMouseEvent *event)
-{
-    m_mousePos = event->pos();
-}
-
-
-void ZoomTool::keyPressEvent(QKeyEvent * /*event*/)
-{
-}
-
-void ZoomTool::wheelEvent(QWheelEvent *event)
-{
-    if (event->orientation() != Qt::Vertical)
-        return;
-
-    Qt::KeyboardModifier smoothZoomModifier = Qt::ControlModifier;
-    if (event->modifiers() & smoothZoomModifier) {
-        int numDegrees = event->delta() / 8;
-        m_currentScale += m_smoothZoomMultiplier * (numDegrees / 15.0f);
-
-        scaleView(view()->mapToScene(m_mousePos));
-
-    } else if (!event->modifiers()) {
-        if (event->delta() > 0) {
-            m_currentScale = nextZoomScale(ZoomIn);
-        } else if (event->delta() < 0) {
-            m_currentScale = nextZoomScale(ZoomOut);
-        }
-        scaleView(view()->mapToScene(m_mousePos));
-    }
-}
-
-void ZoomTool::keyReleaseEvent(QKeyEvent *event)
-{
-    switch(event->key()) {
-    case Qt::Key_Plus:
-        zoomIn();
-        break;
-    case Qt::Key_Minus:
-        zoomOut();
-        break;
-    case Qt::Key_1:
-    case Qt::Key_2:
-    case Qt::Key_3:
-    case Qt::Key_4:
-    case Qt::Key_5:
-    case Qt::Key_6:
-    case Qt::Key_7:
-    case Qt::Key_8:
-    case Qt::Key_9:
-    {
-        m_currentScale = ((event->key() - Qt::Key_0) * 1.0f);
-        scaleView(view()->mapToScene(m_mousePos)); // view()->mapToScene(view()->rect().center())
-        break;
-    }
-
-    default:
-        break;
-    }
-
-}
-
-void ZoomTool::itemsAboutToRemoved(const QList<QGraphicsItem*> &/*itemList*/)
-{
-}
-
-void ZoomTool::clear()
-{
-    view()->setCursor(Qt::ArrowCursor);
-}
-
-void ZoomTool::selectedItemsChanged(const QList<QGraphicsItem*> &/*itemList*/)
-{
-}
-
-void ZoomTool::scaleView(const QPointF &centerPos)
-{
-
-    QTransform transform;
-    transform.scale(m_currentScale, m_currentScale);
-    view()->setTransform(transform);
-
-    QPointF adjustedCenterPos = centerPos;
-    QSize rectSize(view()->rect().width() / m_currentScale,
-                   view()->rect().height() / m_currentScale);
-
-    QRectF sceneRect;
-    if (qAbs(m_currentScale - 1.0f) < Constants::ZoomSnapDelta) {
-        adjustedCenterPos.rx() = rectSize.width() / 2;
-        adjustedCenterPos.ry() = rectSize.height() / 2;
-    }
-
-    if (m_currentScale < 1.0f) {
-        adjustedCenterPos.rx() = rectSize.width() / 2;
-        adjustedCenterPos.ry() = rectSize.height() / 2;
-        sceneRect.setRect(view()->rect().width() / 2 -rectSize.width() / 2,
-                          view()->rect().height() / 2 -rectSize.height() / 2,
-                          rectSize.width(),
-                          rectSize.height());
-    } else {
-        sceneRect.setRect(adjustedCenterPos.x() - rectSize.width() / 2,
-                          adjustedCenterPos.y() - rectSize.height() / 2,
-                          rectSize.width(),
-                          rectSize.height());
-    }
-
-    view()->setSceneRect(sceneRect);
-}
-
-void ZoomTool::zoomTo100()
-{
-    m_currentScale = 1.0f;
-    scaleView(view()->mapToScene(view()->rect().center()));
-}
-
-qreal ZoomTool::nextZoomScale(ZoomDirection direction) const
-{
-    static QList<qreal> zoomScales =
-            QList<qreal>()
-            << 0.125f
-            << 1.0f / 6.0f
-            << 0.25f
-            << 1.0f / 3.0f
-            << 0.5f
-            << 2.0f / 3.0f
-            << 1.0f
-            << 2.0f
-            << 3.0f
-            << 4.0f
-            << 5.0f
-            << 6.0f
-            << 7.0f
-            << 8.0f
-            << 12.0f
-            << 16.0f
-            << 32.0f
-            << 48.0f;
-
-    if (direction == ZoomIn) {
-        for (int i = 0; i < zoomScales.length(); ++i) {
-            if (zoomScales[i] > m_currentScale || i == zoomScales.length() - 1)
-                return zoomScales[i];
-        }
-    } else {
-        for (int i = zoomScales.length() - 1; i >= 0; --i) {
-            if (zoomScales[i] < m_currentScale || i == 0)
-                return zoomScales[i];
-        }
-    }
-
-    return 1.0f;
-}
-
-} // namespace QmlJSDebugger
diff --git a/share/qtcreator/qml/qmljsdebugger/editor/zoomtool.h b/share/qtcreator/qml/qmljsdebugger/editor/zoomtool.h
deleted file mode 100644
index 999045f15b2..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/editor/zoomtool.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef ZOOMTOOL_H
-#define ZOOMTOOL_H
-
-#include "abstractliveedittool.h"
-#include "liverubberbandselectionmanipulator.h"
-
-QT_FORWARD_DECLARE_CLASS(QAction)
-
-namespace QmlJSDebugger {
-
-class ZoomTool : public AbstractLiveEditTool
-{
-    Q_OBJECT
-public:
-    enum ZoomDirection {
-        ZoomIn,
-        ZoomOut
-    };
-
-    explicit ZoomTool(QDeclarativeViewInspector *view);
-
-    virtual ~ZoomTool();
-
-    void mousePressEvent(QMouseEvent *event);
-    void mouseMoveEvent(QMouseEvent *event);
-    void mouseReleaseEvent(QMouseEvent *event);
-    void mouseDoubleClickEvent(QMouseEvent *event);
-
-    void hoverMoveEvent(QMouseEvent *event);
-    void wheelEvent(QWheelEvent *event);
-
-    void keyPressEvent(QKeyEvent *event);
-    void keyReleaseEvent(QKeyEvent *keyEvent);
-    void itemsAboutToRemoved(const QList<QGraphicsItem*> &itemList);
-
-    void clear();
-protected:
-    void selectedItemsChanged(const QList<QGraphicsItem*> &itemList);
-
-private slots:
-    void zoomTo100();
-    void zoomIn();
-    void zoomOut();
-
-private:
-    qreal nextZoomScale(ZoomDirection direction) const;
-    void scaleView(const QPointF &centerPos);
-
-private:
-    bool m_dragStarted;
-    QPoint m_mousePos; // in view coords
-    QPointF m_dragBeginPos;
-    QAction *m_zoomTo100Action;
-    QAction *m_zoomInAction;
-    QAction *m_zoomOutAction;
-    LiveRubberBandSelectionManipulator *m_rubberbandManipulator;
-
-    qreal m_smoothZoomMultiplier;
-    qreal m_currentScale;
-
-};
-
-} // namespace QmlJSDebugger
-
-#endif // ZOOMTOOL_H
diff --git a/share/qtcreator/qml/qmljsdebugger/include/jsdebuggeragent.h b/share/qtcreator/qml/qmljsdebugger/include/jsdebuggeragent.h
deleted file mode 100644
index 3602bd0a3ab..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/include/jsdebuggeragent.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef JSDEBUGGERAGENT_H
-#define JSDEBUGGERAGENT_H
-
-//
-//  W A R N I N G
-//  -------------
-//
-// This file is not part of the Qt API.  It exists purely as an
-// implementation detail.  This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <qscriptengineagent.h>
-
-#include "qt_private/qdeclarativedebugservice_p.h"
-
-#include "qmljsdebugger_global.h"
-
-QT_BEGIN_NAMESPACE
-class QScriptValue;
-class QDeclarativeEngine;
-QT_END_NAMESPACE
-
-namespace QmlJSDebugger {
-
-class JSDebuggerAgentPrivate;
-
-class QMLJSDEBUGGER_EXPORT JSDebuggerAgent
-        : public QDeclarativeDebugService
-        , public QScriptEngineAgent
-{
-    Q_OBJECT
-
-public:
-    JSDebuggerAgent(QScriptEngine *engine);
-    JSDebuggerAgent(QDeclarativeEngine *engine);
-    ~JSDebuggerAgent();
-
-    // reimplemented
-    void scriptLoad(qint64 id, const QString &program,
-                    const QString &fileName, int baseLineNumber);
-    void scriptUnload(qint64 id);
-
-    void contextPush();
-    void contextPop();
-
-    void functionEntry(qint64 scriptId);
-    void functionExit(qint64 scriptId,
-                      const QScriptValue &returnValue);
-
-    void positionChange(qint64 scriptId,
-                        int lineNumber, int columnNumber);
-
-    void exceptionThrow(qint64 scriptId,
-                        const QScriptValue &exception,
-                        bool hasHandler);
-    void exceptionCatch(qint64 scriptId,
-                        const QScriptValue &exception);
-
-    bool supportsExtension(Extension extension) const;
-    QVariant extension(Extension extension,
-                       const QVariant &argument = QVariant());
-
-    void messageReceived(const QByteArray &);
-    void statusChanged(Status status);
-    void baseMessageReceived(const QByteArray &message);
-
-public slots:
-
-private:
-    JSDebuggerAgentPrivate *d;
-};
-
-} // namespace QmlJSDebugger
-
-#endif // JSDEBUGGERAGENT_H
diff --git a/share/qtcreator/qml/qmljsdebugger/include/qdeclarativeinspectorservice.h b/share/qtcreator/qml/qmljsdebugger/include/qdeclarativeinspectorservice.h
deleted file mode 100644
index f6c02b1978b..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/include/qdeclarativeinspectorservice.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVEDINSPECTORSERVICE_H
-#define QDECLARATIVEDINSPECTORSERVICE_H
-
-#include "qt_private/qdeclarativedebugservice_p.h"
-#include "qmlinspectorconstants.h"
-#include "qmljsdebugger_global.h"
-
-#include <QHash>
-
-QT_FORWARD_DECLARE_CLASS(QColor)
-QT_FORWARD_DECLARE_CLASS(QDeclarativeEngine)
-QT_FORWARD_DECLARE_CLASS(QDeclarativeContext)
-QT_FORWARD_DECLARE_CLASS(QDeclarativeWatcher)
-QT_FORWARD_DECLARE_CLASS(QDataStream)
-
-namespace QmlJSDebugger {
-
-class QMLJSDEBUGGER_EXPORT QDeclarativeInspectorService : public QDeclarativeDebugService
-{
-    Q_OBJECT
-public:
-    QDeclarativeInspectorService();
-    static QDeclarativeInspectorService *instance();
-
-    void setDesignModeBehavior(bool inDesignMode);
-    void setCurrentObjects(QList<QObject*> items);
-    void setAnimationSpeed(qreal slowDownFactor);
-    void setAnimationPaused(bool paused);
-    void setCurrentTool(QmlJSDebugger::Constants::DesignTool toolId);
-    void reloaded();
-    void setShowAppOnTop(bool showAppOnTop);
-
-    QString idStringForObject(QObject *obj) const;
-
-    void sendMessage(const QByteArray &message);
-
-public Q_SLOTS:
-    void selectedColorChanged(const QColor &color);
-
-Q_SIGNALS:
-    void debuggingClientChanged(bool hasDebuggingClient);
-
-    void currentObjectsChanged(const QList<QObject*> &objects);
-    void designModeBehaviorChanged(bool inDesignMode);
-    void showAppOnTopChanged(bool showAppOnTop);
-    void reloadRequested();
-    void selectToolRequested();
-    void selectMarqueeToolRequested();
-    void zoomToolRequested();
-    void colorPickerToolRequested();
-
-    void objectCreationRequested(const QString &qml, QObject *parent,
-                                 const QStringList &imports, const QString &filename = QString(), int order = -1);
-    void objectReparentRequested(QObject *object, QObject *newParent);
-    void objectDeletionRequested(QObject *object);
-
-    // 1 = normal speed,
-    // 1 < x < 16 = slowdown by some factor
-    void animationSpeedChangeRequested(qreal speedFactor);
-    void executionPauseChangeRequested(bool paused);
-
-    void clearComponentCacheRequested();
-
-protected:
-    virtual void statusChanged(Status status);
-    virtual void messageReceived(const QByteArray &);
-
-private:
-    QHash<int, QString> m_stringIdForObjectId;
-};
-
-} // namespace QmlJSDebugger
-
-#endif // QDECLARATIVEDINSPECTORSERVICE_H
diff --git a/share/qtcreator/qml/qmljsdebugger/include/qdeclarativeviewinspector.h b/share/qtcreator/qml/qmljsdebugger/include/qdeclarativeviewinspector.h
deleted file mode 100644
index 16adc285ba9..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/include/qdeclarativeviewinspector.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVEVIEWINSPECTOR_H
-#define QDECLARATIVEVIEWINSPECTOR_H
-
-#include "qmljsdebugger_global.h"
-#include "qmlinspectorconstants.h"
-
-#include <QScopedPointer>
-#include <QDeclarativeView>
-
-QT_FORWARD_DECLARE_CLASS(QDeclarativeItem)
-QT_FORWARD_DECLARE_CLASS(QMouseEvent)
-
-namespace QmlJSDebugger {
-
-class CrumblePath;
-class QDeclarativeViewInspectorPrivate;
-
-class QMLJSDEBUGGER_EXPORT QDeclarativeViewInspector : public QObject
-{
-    Q_OBJECT
-public:
-
-    explicit QDeclarativeViewInspector(QDeclarativeView *view, QObject *parent = 0);
-    ~QDeclarativeViewInspector();
-
-    void setSelectedItems(QList<QGraphicsItem *> items);
-    QList<QGraphicsItem *> selectedItems();
-
-    QDeclarativeView *declarativeView();
-
-    static QString idStringForObject(QObject *obj);
-    QRectF adjustToScreenBoundaries(const QRectF &boundingRectInSceneSpace);
-
-    bool showAppOnTop() const;
-
-public Q_SLOTS:
-    void setDesignModeBehavior(bool value);
-    bool designModeBehavior();
-
-    void setShowAppOnTop(bool appOnTop);
-
-    void setAnimationSpeed(qreal factor);
-    void setAnimationPaused(bool paused);
-
-Q_SIGNALS:
-    void designModeBehaviorChanged(bool inDesignMode);
-    void showAppOnTopChanged(bool showAppOnTop);
-    void reloadRequested();
-    void marqueeSelectToolActivated();
-    void selectToolActivated();
-    void zoomToolActivated();
-    void colorPickerActivated();
-    void selectedColorChanged(const QColor &color);
-
-    void animationSpeedChanged(qreal factor);
-    void animationPausedChanged(bool paused);
-
-protected:
-    bool eventFilter(QObject *obj, QEvent *event);
-
-    bool leaveEvent(QEvent *);
-    bool mousePressEvent(QMouseEvent *event);
-    bool mouseMoveEvent(QMouseEvent *event);
-    bool mouseReleaseEvent(QMouseEvent *event);
-    bool keyPressEvent(QKeyEvent *event);
-    bool keyReleaseEvent(QKeyEvent *keyEvent);
-    bool mouseDoubleClickEvent(QMouseEvent *event);
-    bool wheelEvent(QWheelEvent *event);
-
-    void setSelectedItemsForTools(QList<QGraphicsItem *> items);
-
-private slots:
-    void animationSpeedChangeRequested(qreal factor);
-    void animationPausedChangeRequested(bool paused);
-
-private:
-    Q_DISABLE_COPY(QDeclarativeViewInspector)
-
-    inline QDeclarativeViewInspectorPrivate *d_func() { return data.data(); }
-    QScopedPointer<QDeclarativeViewInspectorPrivate> data;
-    friend class QDeclarativeViewInspectorPrivate;
-    friend class AbstractLiveEditTool;
-};
-
-} // namespace QmlJSDebugger
-
-#endif // QDECLARATIVEVIEWINSPECTOR_H
diff --git a/share/qtcreator/qml/qmljsdebugger/include/qdeclarativeviewobserver.h b/share/qtcreator/qml/qmljsdebugger/include/qdeclarativeviewobserver.h
deleted file mode 100644
index 938f96463ca..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/include/qdeclarativeviewobserver.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVEVIEWOBSERVER_H
-#define QDECLARATIVEVIEWOBSERVER_H
-
-#include "qdeclarativeviewinspector.h"
-
-namespace QmlJSDebugger {
-
-// Provided for compatibility with QmlApplicationViewer
-class QMLJSDEBUGGER_EXPORT QDeclarativeViewObserver : public QDeclarativeViewInspector
-{
-    Q_OBJECT
-
-public:
-    explicit QDeclarativeViewObserver(QDeclarativeView *view, QObject *parent = 0)
-        : QDeclarativeViewInspector(view, parent)
-    {}
-};
-
-} // namespace QmlJSDebugger
-
-#endif // QDECLARATIVEVIEWOBSERVER_H
diff --git a/share/qtcreator/qml/qmljsdebugger/include/qmlinspectorconstants.h b/share/qtcreator/qml/qmljsdebugger/include/qmlinspectorconstants.h
deleted file mode 100644
index 080892fa83b..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/include/qmlinspectorconstants.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QMLINSPECTORCONSTANTS_H
-#define QMLINSPECTORCONSTANTS_H
-
-namespace QmlJSDebugger {
-namespace Constants {
-
-enum DesignTool {
-    NoTool = 0,
-    SelectionToolMode = 1,
-    MarqueeSelectionToolMode = 2,
-    MoveToolMode = 3,
-    ResizeToolMode = 4,
-    ColorPickerMode = 5,
-    ZoomMode = 6
-};
-
-enum ToolFlags {
-    NoToolFlags = 0,
-    UseCursorPos = 1
-};
-
-static const int DragStartTime = 50;
-
-static const int DragStartDistance = 20;
-
-static const double ZoomSnapDelta = 0.04;
-
-static const int EditorItemDataKey = 1000;
-
-enum GraphicsItemTypes {
-    EditorItemType = 0xEAAA,
-    ResizeHandleItemType = 0xEAEA
-};
-
-
-} // namespace Constants
-} // namespace QmlJSDebugger
-
-#endif // QMLINSPECTORCONSTANTS_H
diff --git a/share/qtcreator/qml/qmljsdebugger/include/qmljsdebugger_global.h b/share/qtcreator/qml/qmljsdebugger/include/qmljsdebugger_global.h
deleted file mode 100644
index 224927e54f8..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/include/qmljsdebugger_global.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QMLJSDEBUGGER_GLOBAL_H
-#define QMLJSDEBUGGER_GLOBAL_H
-
-#include <qglobal.h>
-
-# if defined(BUILD_QMLJSDEBUGGER_LIB)
-#    define QMLJSDEBUGGER_EXPORT Q_DECL_EXPORT
-#    define QMLJSDEBUGGER_EXTERN Q_DECL_IMPORT
-# elif defined(BUILD_QMLJSDEBUGGER_STATIC_LIB)
-#    define QMLJSDEBUGGER_EXPORT
-#    define QMLJSDEBUGGER_EXTERN Q_DECL_IMPORT
-# else
-#    define QMLJSDEBUGGER_EXPORT
-#    define QMLJSDEBUGGER_EXTERN Q_DECL_IMPORT
-#endif
-
-#endif // QMLJSDEBUGGER_GLOBAL_H
diff --git a/share/qtcreator/qml/qmljsdebugger/include/qt_private/qdeclarativedebughelper_p.h b/share/qtcreator/qml/qmljsdebugger/include/qt_private/qdeclarativedebughelper_p.h
deleted file mode 100644
index a1872a1ef19..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/include/qt_private/qdeclarativedebughelper_p.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVEDEBUGHELPER_P_H
-#define QDECLARATIVEDEBUGHELPER_P_H
-
-#include "../qmljsdebugger_global.h"
-#include <qglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-class QScriptEngine;
-class QDeclarativeEngine;
-
-// Helper functions to access private API through a stable interface
-// This is used in the qmljsdebugger library of QtCreator.
-class QMLJSDEBUGGER_EXTERN QDeclarativeDebugHelper
-{
-public:
-    static QScriptEngine *getScriptEngine(QDeclarativeEngine *engine);
-    static void setAnimationSlowDownFactor(qreal factor);
-
-    // Enables remote debugging functionality
-    // Only use this for debugging in a safe environment!
-    static void enableDebugging();
-};
-
-QT_END_NAMESPACE
-
-#endif // QDECLARATIVEDEBUGHELPER_P_H
diff --git a/share/qtcreator/qml/qmljsdebugger/include/qt_private/qdeclarativedebugservice_p.h b/share/qtcreator/qml/qmljsdebugger/include/qt_private/qdeclarativedebugservice_p.h
deleted file mode 100644
index bd220ff059f..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/include/qt_private/qdeclarativedebugservice_p.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVEDEBUGSERVICE_H
-#define QDECLARATIVEDEBUGSERVICE_H
-
-#include "../qmljsdebugger_global.h"
-#include <qobject.h>
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Declarative)
-
-class QDeclarativeDebugServicePrivate;
-class QMLJSDEBUGGER_EXTERN QDeclarativeDebugService : public QObject
-{
-    Q_OBJECT
-    Q_DECLARE_PRIVATE(QDeclarativeDebugService)
-    Q_DISABLE_COPY(QDeclarativeDebugService)
-
-public:
-    explicit QDeclarativeDebugService(const QString &, QObject *parent = 0);
-    ~QDeclarativeDebugService();
-
-    QString name() const;
-
-    enum Status { NotConnected, Unavailable, Enabled };
-    Status status() const;
-
-    void sendMessage(const QByteArray &);
-
-    static int idForObject(QObject *);
-    static QObject *objectForId(int);
-
-    static QString objectToString(QObject *obj);
-
-    static bool isDebuggingEnabled();
-    static bool hasDebuggingClient();
-
-protected:
-    virtual void statusChanged(Status);
-    virtual void messageReceived(const QByteArray &);
-
-private:
-    friend class QDeclarativeDebugServer;
-};
-
-QT_END_NAMESPACE
-
-#endif // QDECLARATIVEDEBUGSERVICE_H
-
diff --git a/share/qtcreator/qml/qmljsdebugger/include/qt_private/qdeclarativestate_p.h b/share/qtcreator/qml/qmljsdebugger/include/qt_private/qdeclarativestate_p.h
deleted file mode 100644
index cc1a81ab6b1..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/include/qt_private/qdeclarativestate_p.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVESTATE_H
-#define QDECLARATIVESTATE_H
-
-#include "../qmljsdebugger_global.h"
-
-#include <qdeclarative.h>
-#include <qdeclarativeproperty.h>
-#include <qobject.h>
-#include <qsharedpointer.h>
-
-QT_BEGIN_NAMESPACE
-
-QT_MODULE(Declarative)
-
-class QDeclarativeActionEvent;
-class QDeclarativeAbstractBinding;
-class QDeclarativeBinding;
-class QDeclarativeExpression;
-class QMLJSDEBUGGER_EXTERN QDeclarativeAction
-{
-public:
-    QDeclarativeAction();
-    QDeclarativeAction(QObject *, const QString &, const QVariant &);
-    QDeclarativeAction(QObject *, const QString &,
-                       QDeclarativeContext *, const QVariant &);
-
-    bool restore:1;
-    bool actionDone:1;
-    bool reverseEvent:1;
-    bool deletableToBinding:1;
-
-    QDeclarativeProperty property;
-    QVariant fromValue;
-    QVariant toValue;
-
-    QDeclarativeAbstractBinding *fromBinding;
-    QWeakPointer<QDeclarativeAbstractBinding> toBinding;
-    QDeclarativeActionEvent *event;
-
-    //strictly for matching
-    QObject *specifiedObject;
-    QString specifiedProperty;
-
-    void deleteFromBinding();
-};
-
-class QMLJSDEBUGGER_EXTERN QDeclarativeActionEvent
-{
-public:
-    virtual ~QDeclarativeActionEvent();
-    virtual QString typeName() const;
-
-    enum Reason { ActualChange, FastForward };
-
-    virtual void execute(Reason reason = ActualChange);
-    virtual bool isReversable();
-    virtual void reverse(Reason reason = ActualChange);
-    virtual void saveOriginals() {}
-    virtual bool needsCopy() { return false; }
-    virtual void copyOriginals(QDeclarativeActionEvent *) {}
-    virtual bool isRewindable() { return isReversable(); }
-    virtual void rewind() {}
-    virtual void saveCurrentValues() {}
-    virtual void saveTargetValues() {}
-
-    virtual bool changesBindings();
-    virtual void clearBindings();
-    virtual bool override(QDeclarativeActionEvent*other);
-};
-
-//### rename to QDeclarativeStateChange?
-class QDeclarativeStateGroup;
-class QDeclarativeState;
-class QDeclarativeStateOperationPrivate;
-class QMLJSDEBUGGER_EXTERN QDeclarativeStateOperation : public QObject
-{
-    Q_OBJECT
-public:
-    QDeclarativeStateOperation(QObject *parent = 0)
-        : QObject(parent) {}
-    typedef QList<QDeclarativeAction> ActionList;
-
-    virtual ActionList actions();
-
-    QDeclarativeState *state() const;
-    void setState(QDeclarativeState *state);
-
-protected:
-    QDeclarativeStateOperation(QObjectPrivate &dd, QObject *parent = 0);
-
-private:
-    Q_DECLARE_PRIVATE(QDeclarativeStateOperation)
-    Q_DISABLE_COPY(QDeclarativeStateOperation)
-};
-
-typedef QDeclarativeStateOperation::ActionList QDeclarativeStateActions;
-
-class QDeclarativeTransition;
-class QDeclarativeStatePrivate;
-class QMLJSDEBUGGER_EXTERN QDeclarativeState : public QObject
-{
-    Q_OBJECT
-
-    Q_PROPERTY(QString name READ name WRITE setName)
-    Q_PROPERTY(QDeclarativeBinding *when READ when WRITE setWhen)
-    Q_PROPERTY(QString extend READ extends WRITE setExtends)
-    Q_PROPERTY(QDeclarativeListProperty<QDeclarativeStateOperation> changes READ changes)
-    Q_CLASSINFO("DefaultProperty", "changes")
-    Q_CLASSINFO("DeferredPropertyNames", "changes")
-
-public:
-    QDeclarativeState(QObject *parent=0);
-    virtual ~QDeclarativeState();
-
-    QString name() const;
-    void setName(const QString &);
-    bool isNamed() const;
-
-    /*'when' is a QDeclarativeBinding to limit state changes oscillation
-     due to the unpredictable order of evaluation of bound expressions*/
-    bool isWhenKnown() const;
-    QDeclarativeBinding *when() const;
-    void setWhen(QDeclarativeBinding *);
-
-    QString extends() const;
-    void setExtends(const QString &);
-
-    QDeclarativeListProperty<QDeclarativeStateOperation> changes();
-    int operationCount() const;
-    QDeclarativeStateOperation *operationAt(int) const;
-
-    QDeclarativeState &operator<<(QDeclarativeStateOperation *);
-
-    void apply(QDeclarativeStateGroup *, QDeclarativeTransition *, QDeclarativeState *revert);
-    void cancel();
-
-    QDeclarativeStateGroup *stateGroup() const;
-    void setStateGroup(QDeclarativeStateGroup *);
-
-    bool containsPropertyInRevertList(QObject *target, const QString &name) const;
-    bool changeValueInRevertList(QObject *target, const QString &name, const QVariant &revertValue);
-    bool changeBindingInRevertList(QObject *target, const QString &name, QDeclarativeAbstractBinding *binding);
-    bool removeEntryFromRevertList(QObject *target, const QString &name);
-    void addEntryToRevertList(const QDeclarativeAction &action);
-    void removeAllEntriesFromRevertList(QObject *target);
-    void addEntriesToRevertList(const QList<QDeclarativeAction> &actions);
-    QVariant valueInRevertList(QObject *target, const QString &name) const;
-    QDeclarativeAbstractBinding *bindingInRevertList(QObject *target, const QString &name) const;
-
-    bool isStateActive() const;
-
-Q_SIGNALS:
-    void completed();
-
-private:
-    Q_DECLARE_PRIVATE(QDeclarativeState)
-    Q_DISABLE_COPY(QDeclarativeState)
-};
-
-QT_END_NAMESPACE
-
-//QML_DECLARE_TYPE(QDeclarativeStateOperation)
-//QML_DECLARE_TYPE(QDeclarativeState)
-
-#endif // QDECLARATIVESTATE_H
diff --git a/share/qtcreator/qml/qmljsdebugger/jsdebuggeragent.cpp b/share/qtcreator/qml/qmljsdebugger/jsdebuggeragent.cpp
deleted file mode 100644
index 8f3ed659fee..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/jsdebuggeragent.cpp
+++ /dev/null
@@ -1,672 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "jsdebuggeragent.h"
-#include "qt_private/qdeclarativedebughelper_p.h"
-
-#include <qdatetime.h>
-#include <qdebug.h>
-#include <qcoreapplication.h>
-#include <qset.h>
-#include <qurl.h>
-#include <qscriptcontextinfo.h>
-#include <qscriptengine.h>
-#include <qscriptvalueiterator.h>
-
-namespace QmlJSDebugger {
-
-enum JSDebuggerState
-{
-    NoState,
-    SteppingIntoState,
-    SteppingOverState,
-    SteppingOutState,
-    StoppedState
-};
-
-struct JSAgentWatchData
-{
-    QByteArray exp;
-    QByteArray name;
-    QByteArray value;
-    QByteArray type;
-    bool hasChildren;
-    quint64 objectId;
-};
-
-QDataStream &operator<<(QDataStream &s, const JSAgentWatchData &data)
-{
-    return s << data.exp << data.name << data.value
-             << data.type << data.hasChildren << data.objectId;
-}
-
-struct JSAgentStackData
-{
-    QByteArray functionName;
-    QByteArray fileUrl;
-    qint32 lineNumber;
-};
-
-QDataStream &operator<<(QDataStream &s, const JSAgentStackData &data)
-{
-    return s << data.functionName << data.fileUrl << data.lineNumber;
-}
-
-struct JSAgentBreakpointData
-{
-    QByteArray functionName;
-    QByteArray fileUrl;
-    qint32 lineNumber;
-};
-
-typedef QSet<JSAgentBreakpointData> JSAgentBreakpoints;
-
-QDataStream &operator<<(QDataStream &s, const JSAgentBreakpointData &data)
-{
-    return s << data.functionName << data.fileUrl << data.lineNumber;
-}
-
-QDataStream &operator>>(QDataStream &s, JSAgentBreakpointData &data)
-{
-    return s >> data.functionName >> data.fileUrl >> data.lineNumber;
-}
-
-bool operator==(const JSAgentBreakpointData &b1, const JSAgentBreakpointData &b2)
-{
-    return b1.lineNumber == b2.lineNumber && b1.fileUrl == b2.fileUrl;
-}
-
-uint qHash(const JSAgentBreakpointData &b)
-{
-    return b.lineNumber ^ qHash(b.fileUrl);
-}
-
-class JSDebuggerAgentPrivate
-{
-public:
-    JSDebuggerAgentPrivate(JSDebuggerAgent *q)
-        : q(q), state(NoState)
-    {}
-
-    void continueExec();
-    void recordKnownObjects(const QList<JSAgentWatchData> &);
-    QList<JSAgentWatchData> getLocals(QScriptContext *);
-    void positionChange(qint64 scriptId, int lineNumber, int columnNumber);
-    QScriptEngine *engine() { return q->engine(); }
-    void stopped();
-    void messageReceived(const QByteArray &message);
-    void sendMessage(const QByteArray &message) { q->sendMessage(message); }
-
-public:
-    JSDebuggerAgent *q;
-    JSDebuggerState state;
-    int stepDepth;
-    int stepCount;
-
-    QEventLoop loop;
-    QHash<qint64, QString> filenames;
-    JSAgentBreakpoints breakpoints;
-    // breakpoints by filename (without path)
-    QHash<QString, JSAgentBreakpointData> fileNameToBreakpoints;
-    QStringList watchExpressions;
-    QSet<qint64> knownObjectIds;
-};
-
-class SetupExecEnv
-{
-public:
-    SetupExecEnv(JSDebuggerAgentPrivate *a)
-        : agent(a),
-          previousState(a->state),
-          hadException(a->engine()->hasUncaughtException())
-    {
-        agent->state = StoppedState;
-    }
-
-    ~SetupExecEnv()
-    {
-        if (!hadException && agent->engine()->hasUncaughtException())
-            agent->engine()->clearExceptions();
-        agent->state = previousState;
-    }
-
-private:
-    JSDebuggerAgentPrivate *agent;
-    JSDebuggerState previousState;
-    bool hadException;
-};
-
-static JSAgentWatchData fromScriptValue(const QString &expression,
-                                        const QScriptValue &value)
-{
-    static const QString arrayStr = QCoreApplication::translate
-            ("Debugger::JSAgentWatchData", "[Array of length %1]");
-    static const QString undefinedStr = QCoreApplication::translate
-            ("Debugger::JSAgentWatchData", "<undefined>");
-
-    JSAgentWatchData data;
-    data.exp = expression.toUtf8();
-    data.name = data.exp;
-    data.hasChildren = false;
-    data.value = value.toString().toUtf8();
-    data.objectId = value.objectId();
-    if (value.isArray()) {
-        data.type = "Array";
-        data.value = arrayStr.arg(value.property("length").toString()).toUtf8();
-        data.hasChildren = true;
-    } else if (value.isBool()) {
-        data.type = "Bool";
-        // data.value = value.toBool() ? "true" : "false";
-    } else if (value.isDate()) {
-        data.type = "Date";
-        data.value = value.toDateTime().toString().toUtf8();
-    } else if (value.isError()) {
-        data.type = "Error";
-    } else if (value.isFunction()) {
-        data.type = "Function";
-    } else if (value.isUndefined()) {
-        data.type = undefinedStr.toUtf8();
-    } else if (value.isNumber()) {
-        data.type = "Number";
-    } else if (value.isRegExp()) {
-        data.type = "RegExp";
-    } else if (value.isString()) {
-        data.type = "String";
-    } else if (value.isVariant()) {
-        data.type = "Variant";
-    } else if (value.isQObject()) {
-        const QObject *obj = value.toQObject();
-        data.type = "Object";
-        data.value += '[';
-        data.value += obj->metaObject()->className();
-        data.value += ']';
-        data.hasChildren = true;
-    } else if (value.isObject()) {
-        data.type = "Object";
-        data.hasChildren = true;
-        data.value = "[Object]";
-    } else if (value.isNull()) {
-        data.type = "<null>";
-    } else {
-        data.type = "<unknown>";
-    }
-    return data;
-}
-
-static QList<JSAgentWatchData> expandObject(const QScriptValue &object)
-{
-    QList<JSAgentWatchData> result;
-    QScriptValueIterator it(object);
-    while (it.hasNext()) {
-        it.next();
-        if (it.flags() & QScriptValue::SkipInEnumeration)
-            continue;
-        if (/*object.isQObject() &&*/ it.value().isFunction()) {
-            // Cosmetics: skip all functions and slot, there are too many of them,
-            // and it is not useful information in the debugger.
-            continue;
-        }
-        JSAgentWatchData data = fromScriptValue(it.name(), it.value());
-        result.append(data);
-    }
-    if (result.isEmpty()) {
-        JSAgentWatchData data;
-        data.name = "<no initialized data>";
-        data.hasChildren = false;
-        data.value = " ";
-        data.objectId = 0;
-        result.append(data);
-    }
-    return result;
-}
-
-void JSDebuggerAgentPrivate::recordKnownObjects(const QList<JSAgentWatchData>& list)
-{
-    foreach (const JSAgentWatchData &data, list)
-        knownObjectIds << data.objectId;
-}
-
-QList<JSAgentWatchData> JSDebuggerAgentPrivate::getLocals(QScriptContext *ctx)
-{
-    QList<JSAgentWatchData> locals;
-    if (ctx) {
-        QScriptValue activationObject = ctx->activationObject();
-        QScriptValue thisObject = ctx->thisObject();
-        locals = expandObject(activationObject);
-        if (thisObject.isObject()
-                && thisObject.objectId() != engine()->globalObject().objectId()
-                && QScriptValueIterator(thisObject).hasNext())
-            locals.prepend(fromScriptValue("this", thisObject));
-        recordKnownObjects(locals);
-        knownObjectIds << activationObject.objectId();
-    }
-    return locals;
-}
-
-/*!
-  Constructs a new agent for the given \a engine. The agent will
-  report debugging-related events (e.g. step completion) to the given
-  \a backend.
-*/
-JSDebuggerAgent::JSDebuggerAgent(QScriptEngine *engine)
-    : QDeclarativeDebugService("JSDebugger")
-    , QScriptEngineAgent(engine)
-    , d(new JSDebuggerAgentPrivate(this))
-{
-    if (status() == Enabled)
-        engine->setAgent(this);
-}
-
-JSDebuggerAgent::JSDebuggerAgent(QDeclarativeEngine *engine)
-    : QDeclarativeDebugService("JSDebugger")
-    , QScriptEngineAgent(QDeclarativeDebugHelper::getScriptEngine(engine))
-    , d(new JSDebuggerAgentPrivate(this))
-{
-    if (status() == Enabled)
-        QDeclarativeDebugHelper::getScriptEngine(engine)->setAgent(this);
-}
-
-/*!
-  Destroys this QScriptDebuggerAgent.
-*/
-JSDebuggerAgent::~JSDebuggerAgent()
-{
-    delete d;
-}
-
-/*!
-  \reimp
-*/
-void JSDebuggerAgent::scriptLoad(qint64 id, const QString &program,
-                                 const QString &fileName, int)
-{
-    Q_UNUSED(program);
-    d->filenames.insert(id, fileName);
-}
-
-/*!
-  \reimp
-*/
-void JSDebuggerAgent::scriptUnload(qint64 id)
-{
-    d->filenames.remove(id);
-}
-
-/*!
-  \reimp
-*/
-void JSDebuggerAgent::contextPush()
-{
-}
-
-/*!
-  \reimp
-*/
-void JSDebuggerAgent::contextPop()
-{
-}
-
-/*!
-  \reimp
-*/
-void JSDebuggerAgent::functionEntry(qint64 scriptId)
-{
-    Q_UNUSED(scriptId);
-    d->stepDepth++;
-}
-
-/*!
-  \reimp
-*/
-void JSDebuggerAgent::functionExit(qint64 scriptId, const QScriptValue &returnValue)
-{
-    Q_UNUSED(scriptId);
-    Q_UNUSED(returnValue);
-    d->stepDepth--;
-}
-
-/*!
-  \reimp
-*/
-void JSDebuggerAgent::positionChange(qint64 scriptId, int lineNumber, int columnNumber)
-{
-    d->positionChange(scriptId, lineNumber, columnNumber);
-}
-
-QString fileName(const QString &fileUrl)
-{
-    int lastDelimiterPos = fileUrl.lastIndexOf(QLatin1Char('/'));
-    return fileUrl.mid(lastDelimiterPos, fileUrl.size() - lastDelimiterPos);
-}
-
-void JSDebuggerAgentPrivate::positionChange(qint64 scriptId, int lineNumber, int columnNumber)
-{
-    Q_UNUSED(columnNumber);
-
-    if (state == StoppedState)
-        return; //no re-entrency
-
-    // check breakpoints
-    if (!breakpoints.isEmpty()) {
-        QScriptContext *ctx = engine()->currentContext();
-        QScriptContextInfo info(ctx);
-
-        if (info.functionType() == QScriptContextInfo::ScriptFunction) {
-            QHash<qint64, QString>::const_iterator it = filenames.constFind(scriptId);
-            if (it == filenames.constEnd()) {
-                // It is possible that the scripts are loaded before the agent is attached
-                QString filename = info.fileName();
-
-                JSAgentStackData frame;
-                frame.functionName = info.functionName().toUtf8();
-                it = filenames.insert(scriptId, filename);
-            }
-
-            const QString filePath = it->toUtf8();
-            JSAgentBreakpoints bps = fileNameToBreakpoints.values(fileName(filePath)).toSet();
-
-            foreach (const JSAgentBreakpointData &bp, bps) {
-                if (bp.lineNumber == lineNumber) {
-                    stopped();
-                    return;
-                }
-            }
-        }
-    }
-
-    switch (state) {
-    case NoState:
-    case StoppedState:
-        // Do nothing
-        break;
-    case SteppingOutState:
-        if (stepDepth >= 0)
-            break;
-        //fallthough
-    case SteppingOverState:
-        if (stepDepth > 0)
-            break;
-        //fallthough
-    case SteppingIntoState:
-        stopped();
-        break;
-    }
-
-}
-
-/*!
-  \reimp
-*/
-void JSDebuggerAgent::exceptionThrow(qint64 scriptId,
-                                     const QScriptValue &exception,
-                                     bool hasHandler)
-{
-    Q_UNUSED(scriptId);
-    Q_UNUSED(exception);
-    Q_UNUSED(hasHandler);
-//    qDebug() << Q_FUNC_INFO << exception.toString() << hasHandler;
-#if 0 //sometimes, we get exceptions that we should just ignore.
-    if (!hasHandler && state != StoppedState)
-        stopped(true, exception);
-#endif
-}
-
-/*!
-  \reimp
-*/
-void JSDebuggerAgent::exceptionCatch(qint64 scriptId, const QScriptValue &exception)
-{
-    Q_UNUSED(scriptId);
-    Q_UNUSED(exception);
-}
-
-bool JSDebuggerAgent::supportsExtension(Extension extension) const
-{
-    return extension == QScriptEngineAgent::DebuggerInvocationRequest;
-}
-
-QVariant JSDebuggerAgent::extension(Extension extension, const QVariant &argument)
-{
-    if (extension == QScriptEngineAgent::DebuggerInvocationRequest) {
-        d->stopped();
-        return QVariant();
-    }
-    return QScriptEngineAgent::extension(extension, argument);
-}
-
-void JSDebuggerAgent::messageReceived(const QByteArray &message)
-{
-    d->messageReceived(message);
-}
-
-void JSDebuggerAgentPrivate::messageReceived(const QByteArray &message)
-{
-    QDataStream ds(message);
-    QByteArray command;
-    ds >> command;
-    if (command == "BREAKPOINTS") {
-        ds >> breakpoints;
-
-        fileNameToBreakpoints.clear();
-        foreach (const JSAgentBreakpointData &bp, breakpoints) {
-            fileNameToBreakpoints.insertMulti(fileName(bp.fileUrl), bp);
-        }
-
-        //qDebug() << "BREAKPOINTS";
-        //foreach (const JSAgentBreakpointData &bp, breakpoints)
-        //    qDebug() << "BREAKPOINT: " << bp.fileName << bp.lineNumber;
-    } else if (command == "WATCH_EXPRESSIONS") {
-        ds >> watchExpressions;
-    } else if (command == "STEPOVER") {
-        stepDepth = 0;
-        state = SteppingOverState;
-        continueExec();
-    } else if (command == "STEPINTO" || command == "INTERRUPT") {
-        stepDepth = 0;
-        state = SteppingIntoState;
-        continueExec();
-    } else if (command == "STEPOUT") {
-        stepDepth = 0;
-        state = SteppingOutState;
-        continueExec();
-    } else if (command == "CONTINUE") {
-        state = NoState;
-        continueExec();
-    } else if (command == "EXEC") {
-        SetupExecEnv execEnv(this);
-
-        QByteArray id;
-        QString expr;
-        ds >> id >> expr;
-
-        JSAgentWatchData data = fromScriptValue(expr, engine()->evaluate(expr));
-        knownObjectIds << data.objectId;
-
-        QByteArray reply;
-        QDataStream rs(&reply, QIODevice::WriteOnly);
-        rs << QByteArray("RESULT") << id << data;
-        sendMessage(reply);
-    } else if (command == "EXPAND") {
-        SetupExecEnv execEnv(this);
-
-        QByteArray requestId;
-        quint64 objectId;
-        ds >> requestId >> objectId;
-        QScriptValue v;
-        if (knownObjectIds.contains(objectId))
-            v = engine()->objectById(objectId);
-
-        QList<JSAgentWatchData> result = expandObject(v);
-        recordKnownObjects(result);
-
-        QByteArray reply;
-        QDataStream rs(&reply, QIODevice::WriteOnly);
-        rs << QByteArray("EXPANDED") << requestId << result;
-        sendMessage(reply);
-
-    } else if (command == "ACTIVATE_FRAME") {
-        SetupExecEnv execEnv(this);
-
-        int frameId;
-        ds >> frameId;
-
-        int deep = 0;
-        QScriptContext *ctx = engine()->currentContext();
-        while (ctx && deep < frameId) {
-            ctx = ctx->parentContext();
-            deep++;
-        }
-
-        QList<JSAgentWatchData> watches;
-        QList<JSAgentWatchData> locals = getLocals(ctx);
-
-        // re-evaluate watches given the frame's context
-        QScriptContext *currentCtx = engine()->pushContext();
-        currentCtx->setActivationObject(ctx->activationObject());
-        currentCtx->setThisObject(ctx->thisObject());
-        foreach (const QString &expr, watchExpressions)
-            watches << fromScriptValue(expr, engine()->evaluate(expr));
-        recordKnownObjects(watches);
-        engine()->popContext();
-
-        QByteArray reply;
-        QDataStream rs(&reply, QIODevice::WriteOnly);
-        rs << QByteArray("LOCALS") << frameId << locals << watches;
-        sendMessage(reply);
-    } else if (command == "SET_PROPERTY") {
-        SetupExecEnv execEnv(this);
-
-        QByteArray id;
-        qint64 objectId;
-        QString property;
-        QString value;
-        ds >> id >> objectId >> property >> value;
-
-        if (knownObjectIds.contains(objectId)) {
-            QScriptValue object;
-            object = engine()->objectById(objectId);
-
-            if (object.isObject()) {
-                QScriptValue result = engine()->evaluate(value);
-                object.setProperty(property, result);
-            }
-        }
-
-        //TODO: feedback
-    } else if (command == "PING") {
-        int ping;
-        ds >> ping;
-        QByteArray reply;
-        QDataStream rs(&reply, QIODevice::WriteOnly);
-        rs << QByteArray("PONG") << ping;
-        sendMessage(reply);
-    } else {
-        qDebug() << Q_FUNC_INFO << "Unknown command" << command;
-    }
-
-    q->baseMessageReceived(message);
-}
-
-void JSDebuggerAgentPrivate::stopped()
-{
-    bool becauseOfException = false;
-    const QScriptValue &exception = QScriptValue();
-
-    knownObjectIds.clear();
-    state = StoppedState;
-    QList<JSAgentStackData> backtrace;
-
-    for (QScriptContext* ctx = engine()->currentContext(); ctx; ctx = ctx->parentContext()) {
-        QScriptContextInfo info(ctx);
-
-        JSAgentStackData frame;
-        frame.functionName = info.functionName().toUtf8();
-        if (frame.functionName.isEmpty()) {
-            if (ctx->parentContext()) {
-                switch (info.functionType()) {
-                case QScriptContextInfo::ScriptFunction:
-                    frame.functionName = "<anonymous>";
-                    break;
-                case QScriptContextInfo::NativeFunction:
-                    frame.functionName = "<native>";
-                    break;
-                case QScriptContextInfo::QtFunction:
-                case QScriptContextInfo::QtPropertyFunction:
-                    frame.functionName = "<native slot>";
-                    break;
-                }
-            } else {
-                frame.functionName = "<global>";
-            }
-        }
-        frame.lineNumber = info.lineNumber();
-        // if the line number is unknown, fallback to the function line number
-        if (frame.lineNumber == -1)
-            frame.lineNumber = info.functionStartLineNumber();
-
-        frame.fileUrl = info.fileName().toUtf8();
-        backtrace.append(frame);
-    }
-    QList<JSAgentWatchData> watches;
-    foreach (const QString &expr, watchExpressions)
-        watches << fromScriptValue(expr, engine()->evaluate(expr));
-    recordKnownObjects(watches);
-
-    QList<JSAgentWatchData> locals = getLocals(engine()->currentContext());
-
-    if (!becauseOfException) {
-        // Clear any exceptions occurred during locals evaluation.
-        engine()->clearExceptions();
-    }
-
-    QByteArray reply;
-    QDataStream rs(&reply, QIODevice::WriteOnly);
-    rs << QByteArray("STOPPED") << backtrace << watches << locals
-       << becauseOfException << exception.toString();
-    sendMessage(reply);
-
-    loop.exec(QEventLoop::ExcludeUserInputEvents);
-}
-
-void JSDebuggerAgentPrivate::continueExec()
-{
-    loop.quit();
-}
-
-void JSDebuggerAgent::statusChanged(Status status)
-{
-    engine()->setAgent((status == QDeclarativeDebugService::Enabled) ? this : 0);
-}
-
-void JSDebuggerAgent::baseMessageReceived(const QByteArray &message)
-{
-    QDeclarativeDebugService::messageReceived(message);
-}
-
-} // namespace QmlJSDebugger
diff --git a/share/qtcreator/qml/qmljsdebugger/protocol/inspectorprotocol.h b/share/qtcreator/qml/qmljsdebugger/protocol/inspectorprotocol.h
deleted file mode 100644
index 34109161723..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/protocol/inspectorprotocol.h
+++ /dev/null
@@ -1,125 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef INSPECTORPROTOCOL_H
-#define INSPECTORPROTOCOL_H
-
-#include <QDebug>
-#include <QMetaType>
-#include <QMetaEnum>
-#include <QObject>
-
-namespace QmlJSDebugger {
-
-class InspectorProtocol : public QObject
-{
-    Q_OBJECT
-    Q_ENUMS(Message Tool)
-
-public:
-    enum Message {
-        AnimationSpeedChanged  = 0,
-        AnimationPausedChanged = 19, // highest value
-        ChangeTool             = 1,
-        ClearComponentCache    = 2,
-        ColorChanged           = 3,
-        CreateObject           = 5,
-        CurrentObjectsChanged  = 6,
-        DestroyObject          = 7,
-        MoveObject             = 8,
-        ObjectIdList           = 9,
-        Reload                 = 10,
-        Reloaded               = 11,
-        SetAnimationSpeed      = 12,
-        SetAnimationPaused     = 18,
-        SetCurrentObjects      = 14,
-        SetDesignMode          = 15,
-        ShowAppOnTop           = 16,
-        ToolChanged            = 17
-    };
-
-    enum Tool {
-        ColorPickerTool,
-        SelectMarqueeTool,
-        SelectTool,
-        ZoomTool
-    };
-
-    static inline QString toString(Message message)
-    {
-        return staticMetaObject.enumerator(0).valueToKey(message);
-    }
-
-    static inline QString toString(Tool tool)
-    {
-        return staticMetaObject.enumerator(1).valueToKey(tool);
-    }
-};
-
-inline QDataStream & operator<< (QDataStream &stream, InspectorProtocol::Message message)
-{
-    return stream << static_cast<quint32>(message);
-}
-
-inline QDataStream & operator>> (QDataStream &stream, InspectorProtocol::Message &message)
-{
-    quint32 i;
-    stream >> i;
-    message = static_cast<InspectorProtocol::Message>(i);
-    return stream;
-}
-
-inline QDebug operator<< (QDebug dbg, InspectorProtocol::Message message)
-{
-    dbg << InspectorProtocol::toString(message);
-    return dbg;
-}
-
-inline QDataStream & operator<< (QDataStream &stream, InspectorProtocol::Tool tool)
-{
-    return stream << static_cast<quint32>(tool);
-}
-
-inline QDataStream & operator>> (QDataStream &stream, InspectorProtocol::Tool &tool)
-{
-    quint32 i;
-    stream >> i;
-    tool = static_cast<InspectorProtocol::Tool>(i);
-    return stream;
-}
-
-inline QDebug operator<< (QDebug dbg, InspectorProtocol::Tool tool)
-{
-    dbg << InspectorProtocol::toString(tool);
-    return dbg;
-}
-
-} // namespace QmlJSDebugger
-
-#endif // INSPECTORPROTOCOL_H
diff --git a/share/qtcreator/qml/qmljsdebugger/protocol/protocol.pri b/share/qtcreator/qml/qmljsdebugger/protocol/protocol.pri
deleted file mode 100644
index dfb18fb864f..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/protocol/protocol.pri
+++ /dev/null
@@ -1,3 +0,0 @@
-INCLUDEPATH += $$PWD
-DEPENDPATH += $$PWD
-HEADERS += $$PWD/inspectorprotocol.h
diff --git a/share/qtcreator/qml/qmljsdebugger/qdeclarativeinspectorservice.cpp b/share/qtcreator/qml/qmljsdebugger/qdeclarativeinspectorservice.cpp
deleted file mode 100644
index 947c80fdb4e..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/qdeclarativeinspectorservice.cpp
+++ /dev/null
@@ -1,284 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "qdeclarativeinspectorservice.h"
-
-#include <inspectorprotocol.h>
-
-#include <QStringList>
-#include <QColor>
-
-namespace QmlJSDebugger {
-
-Q_GLOBAL_STATIC(QDeclarativeInspectorService, serviceInstance)
-
-QDeclarativeInspectorService::QDeclarativeInspectorService()
-    : QDeclarativeDebugService(QLatin1String("QDeclarativeObserverMode"))
-{
-}
-
-QDeclarativeInspectorService *QDeclarativeInspectorService::instance()
-{
-    return serviceInstance();
-}
-
-void QDeclarativeInspectorService::statusChanged(Status status)
-{
-    emit debuggingClientChanged((status == Enabled));
-}
-
-void QDeclarativeInspectorService::messageReceived(const QByteArray &message)
-{
-    QDataStream ds(message);
-
-    InspectorProtocol::Message type;
-    ds >> type;
-
-    switch (type) {
-    case InspectorProtocol::SetCurrentObjects: {
-        int itemCount = 0;
-        ds >> itemCount;
-
-        QList<QObject*> selectedObjects;
-        for (int i = 0; i < itemCount; ++i) {
-            int debugId = -1;
-            ds >> debugId;
-            if (QObject *obj = objectForId(debugId))
-                selectedObjects << obj;
-        }
-
-        emit currentObjectsChanged(selectedObjects);
-        break;
-    }
-    case InspectorProtocol::Reload: {
-        emit reloadRequested();
-        break;
-    }
-    case InspectorProtocol::SetAnimationSpeed: {
-        qreal speed;
-        ds >> speed;
-        emit animationSpeedChangeRequested(speed);
-        break;
-    }
-    case InspectorProtocol::SetAnimationPaused: {
-        bool paused;
-        ds >> paused;
-        emit executionPauseChangeRequested(paused);
-        break;
-    }
-    case InspectorProtocol::ChangeTool: {
-        InspectorProtocol::Tool tool;
-        ds >> tool;
-        switch (tool) {
-        case InspectorProtocol::ColorPickerTool:
-            emit colorPickerToolRequested();
-            break;
-        case InspectorProtocol::SelectTool:
-            emit selectToolRequested();
-            break;
-        case InspectorProtocol::SelectMarqueeTool:
-            emit selectMarqueeToolRequested();
-            break;
-        case InspectorProtocol::ZoomTool:
-            emit zoomToolRequested();
-            break;
-        default:
-            qWarning() << "Warning: Unhandled tool:" << tool;
-        }
-        break;
-    }
-    case InspectorProtocol::SetDesignMode: {
-        bool inDesignMode;
-        ds >> inDesignMode;
-        emit designModeBehaviorChanged(inDesignMode);
-        break;
-    }
-    case InspectorProtocol::ShowAppOnTop: {
-        bool showOnTop;
-        ds >> showOnTop;
-        emit showAppOnTopChanged(showOnTop);
-        break;
-    }
-    case InspectorProtocol::CreateObject: {
-        QString qml;
-        int parentId;
-        QString filename;
-        QStringList imports;
-        ds >> qml >> parentId >> imports >> filename;
-        int order = -1;
-        if (!ds.atEnd()) {
-            ds >> order;
-        }
-        emit objectCreationRequested(qml, objectForId(parentId), imports, filename, order);
-        break;
-    }
-    case InspectorProtocol::DestroyObject: {
-        int debugId;
-        ds >> debugId;
-        if (QObject* obj = objectForId(debugId)) {
-            emit objectDeletionRequested(obj);
-        }
-        break;
-    }
-    case InspectorProtocol::MoveObject: {
-        int debugId, newParent;
-        ds >> debugId >> newParent;
-        emit objectReparentRequested(objectForId(debugId), objectForId(newParent));
-        break;
-    }
-    case InspectorProtocol::ObjectIdList: {
-        int itemCount;
-        ds >> itemCount;
-        m_stringIdForObjectId.clear();
-        for (int i = 0; i < itemCount; ++i) {
-            int itemDebugId;
-            QString itemIdString;
-            ds >> itemDebugId
-               >> itemIdString;
-
-            m_stringIdForObjectId.insert(itemDebugId, itemIdString);
-        }
-        break;
-    }
-    case InspectorProtocol::ClearComponentCache: {
-        emit clearComponentCacheRequested();
-        break;
-    }
-    default:
-        qWarning() << "Warning: Not handling message:" << type;
-    }
-}
-
-void QDeclarativeInspectorService::setDesignModeBehavior(bool inDesignMode)
-{
-    QByteArray message;
-    QDataStream ds(&message, QIODevice::WriteOnly);
-
-    ds << InspectorProtocol::SetDesignMode
-       << inDesignMode;
-
-    sendMessage(message);
-}
-
-void QDeclarativeInspectorService::setCurrentObjects(QList<QObject*> objects)
-{
-    QByteArray message;
-    QDataStream ds(&message, QIODevice::WriteOnly);
-
-    ds << InspectorProtocol::CurrentObjectsChanged
-       << objects.length();
-
-    foreach (QObject *object, objects) {
-        int id = idForObject(object);
-        ds << id;
-    }
-
-    sendMessage(message);
-}
-
-void QDeclarativeInspectorService::setCurrentTool(QmlJSDebugger::Constants::DesignTool toolId)
-{
-    QByteArray message;
-    QDataStream ds(&message, QIODevice::WriteOnly);
-
-    ds << InspectorProtocol::ToolChanged
-       << toolId;
-
-    sendMessage(message);
-}
-
-void QDeclarativeInspectorService::setAnimationSpeed(qreal slowDownFactor)
-{
-    QByteArray message;
-    QDataStream ds(&message, QIODevice::WriteOnly);
-
-    ds << InspectorProtocol::AnimationSpeedChanged
-       << slowDownFactor;
-
-    sendMessage(message);
-}
-
-void QDeclarativeInspectorService::setAnimationPaused(bool paused)
-{
-    QByteArray message;
-    QDataStream ds(&message, QIODevice::WriteOnly);
-
-    ds << InspectorProtocol::AnimationPausedChanged
-       << paused;
-
-    sendMessage(message);
-}
-
-void QDeclarativeInspectorService::reloaded()
-{
-    QByteArray message;
-    QDataStream ds(&message, QIODevice::WriteOnly);
-
-    ds << InspectorProtocol::Reloaded;
-
-    sendMessage(message);
-}
-
-void QDeclarativeInspectorService::setShowAppOnTop(bool showAppOnTop)
-{
-    QByteArray message;
-    QDataStream ds(&message, QIODevice::WriteOnly);
-
-    ds << InspectorProtocol::ShowAppOnTop << showAppOnTop;
-
-    sendMessage(message);
-}
-
-void QDeclarativeInspectorService::selectedColorChanged(const QColor &color)
-{
-    QByteArray message;
-    QDataStream ds(&message, QIODevice::WriteOnly);
-
-    ds << InspectorProtocol::ColorChanged
-       << color;
-
-    sendMessage(message);
-}
-
-QString QDeclarativeInspectorService::idStringForObject(QObject *obj) const
-{
-    int id = idForObject(obj);
-    QString idString = m_stringIdForObjectId.value(id, QString());
-    return idString;
-}
-
-void QDeclarativeInspectorService::sendMessage(const QByteArray &message)
-{
-    if (status() != Enabled)
-        return;
-
-    QDeclarativeDebugService::sendMessage(message);
-}
-
-} // namespace QmlJSDebugger
diff --git a/share/qtcreator/qml/qmljsdebugger/qdeclarativeviewinspector.cpp b/share/qtcreator/qml/qmljsdebugger/qdeclarativeviewinspector.cpp
deleted file mode 100644
index 6b944bfd6fd..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/qdeclarativeviewinspector.cpp
+++ /dev/null
@@ -1,835 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "qdeclarativeviewinspector.h"
-#include "qdeclarativeviewinspector_p.h"
-#include "qdeclarativeinspectorservice.h"
-#include "editor/liveselectiontool.h"
-#include "editor/zoomtool.h"
-#include "editor/colorpickertool.h"
-#include "editor/livelayeritem.h"
-#include "editor/boundingrecthighlighter.h"
-
-#include "qt_private/qdeclarativedebughelper_p.h"
-
-#include <QDeclarativeItem>
-#include <QDeclarativeEngine>
-#include <QDeclarativeContext>
-#include <QDeclarativeExpression>
-#include <QWidget>
-#include <QVBoxLayout>
-#include <QMouseEvent>
-#include <QGraphicsObject>
-#include <QApplication>
-
-#include "qt_private/qdeclarativestate_p.h"
-
-namespace QmlJSDebugger {
-
-QDeclarativeViewInspectorPrivate::QDeclarativeViewInspectorPrivate(QDeclarativeViewInspector *q) :
-    q(q),
-    designModeBehavior(false),
-    showAppOnTop(false),
-    animationPaused(false),
-    slowDownFactor(1.0f)
-{
-}
-
-QDeclarativeViewInspectorPrivate::~QDeclarativeViewInspectorPrivate()
-{
-}
-
-QDeclarativeViewInspector::QDeclarativeViewInspector(QDeclarativeView *view, QObject *parent) :
-    QObject(parent), data(new QDeclarativeViewInspectorPrivate(this))
-{
-    data->view = view;
-    data->manipulatorLayer = new LiveLayerItem(view->scene());
-    data->selectionTool = new LiveSelectionTool(this);
-    data->zoomTool = new ZoomTool(this);
-    data->colorPickerTool = new ColorPickerTool(this);
-    data->boundingRectHighlighter = new BoundingRectHighlighter(this);
-    data->currentTool = data->selectionTool;
-
-    // to capture ChildRemoved event when viewport changes
-    data->view->installEventFilter(this);
-
-    data->setViewport(data->view->viewport());
-
-    data->debugService = QDeclarativeInspectorService::instance();
-
-    connect(data->debugService, SIGNAL(designModeBehaviorChanged(bool)),
-            SLOT(setDesignModeBehavior(bool)));
-    connect(data->debugService, SIGNAL(showAppOnTopChanged(bool)),
-            SLOT(setShowAppOnTop(bool)));
-    connect(data->debugService, SIGNAL(reloadRequested()), data.data(), SLOT(_q_reloadView()));
-    connect(data->debugService, SIGNAL(currentObjectsChanged(QList<QObject*>)),
-            data.data(), SLOT(_q_onCurrentObjectsChanged(QList<QObject*>)));
-    connect(data->debugService, SIGNAL(animationSpeedChangeRequested(qreal)),
-            SLOT(animationSpeedChangeRequested(qreal)));
-    connect(data->debugService, SIGNAL(executionPauseChangeRequested(bool)),
-            SLOT(animationPausedChangeRequested(bool)));
-    connect(data->debugService, SIGNAL(colorPickerToolRequested()),
-            data.data(), SLOT(_q_changeToColorPickerTool()));
-    connect(data->debugService, SIGNAL(selectMarqueeToolRequested()),
-            data.data(), SLOT(_q_changeToMarqueeSelectTool()));
-    connect(data->debugService, SIGNAL(selectToolRequested()), data.data(), SLOT(_q_changeToSingleSelectTool()));
-    connect(data->debugService, SIGNAL(zoomToolRequested()), data.data(), SLOT(_q_changeToZoomTool()));
-    connect(data->debugService,
-            SIGNAL(objectCreationRequested(QString,QObject*,QStringList,QString,int)),
-            data.data(), SLOT(_q_createQmlObject(QString,QObject*,QStringList,QString,int)));
-    connect(data->debugService,
-            SIGNAL(objectDeletionRequested(QObject*)), data.data(), SLOT(_q_deleteQmlObject(QObject*)));
-    connect(data->debugService,
-            SIGNAL(objectReparentRequested(QObject*,QObject*)),
-            data.data(), SLOT(_q_reparentQmlObject(QObject*,QObject*)));
-    connect(data->debugService, SIGNAL(clearComponentCacheRequested()),
-            data.data(), SLOT(_q_clearComponentCache()));
-    connect(data->view, SIGNAL(statusChanged(QDeclarativeView::Status)),
-            data.data(), SLOT(_q_onStatusChanged(QDeclarativeView::Status)));
-
-    connect(data->colorPickerTool, SIGNAL(selectedColorChanged(QColor)),
-            SIGNAL(selectedColorChanged(QColor)));
-    connect(data->colorPickerTool, SIGNAL(selectedColorChanged(QColor)),
-            data->debugService, SLOT(selectedColorChanged(QColor)));
-
-    data->_q_changeToSingleSelectTool();
-}
-
-QDeclarativeViewInspector::~QDeclarativeViewInspector()
-{
-}
-
-void QDeclarativeViewInspectorPrivate::_q_reloadView()
-{
-    clearHighlight();
-    emit q->reloadRequested();
-}
-
-void QDeclarativeViewInspectorPrivate::setViewport(QWidget *widget)
-{
-    if (viewport.data() == widget)
-        return;
-
-    if (viewport)
-        viewport.data()->removeEventFilter(q);
-
-    viewport = widget;
-    if (viewport) {
-        // make sure we get mouse move events
-        viewport.data()->setMouseTracking(true);
-        viewport.data()->installEventFilter(q);
-    }
-}
-
-void QDeclarativeViewInspectorPrivate::clearEditorItems()
-{
-    clearHighlight();
-    setSelectedItems(QList<QGraphicsItem*>());
-}
-
-bool QDeclarativeViewInspector::eventFilter(QObject *obj, QEvent *event)
-{
-    if (obj == data->view) {
-        // Event from view
-        if (event->type() == QEvent::ChildRemoved) {
-            // Might mean that viewport has changed
-            if (data->view->viewport() != data->viewport.data())
-                data->setViewport(data->view->viewport());
-        }
-        return QObject::eventFilter(obj, event);
-    }
-
-    // Event from viewport
-    switch (event->type()) {
-    case QEvent::Leave: {
-        if (leaveEvent(event))
-            return true;
-        break;
-    }
-    case QEvent::MouseButtonPress: {
-        if (mousePressEvent(static_cast<QMouseEvent*>(event)))
-            return true;
-        break;
-    }
-    case QEvent::MouseMove: {
-        if (mouseMoveEvent(static_cast<QMouseEvent*>(event)))
-            return true;
-        break;
-    }
-    case QEvent::MouseButtonRelease: {
-        if (mouseReleaseEvent(static_cast<QMouseEvent*>(event)))
-            return true;
-        break;
-    }
-    case QEvent::KeyPress: {
-        if (keyPressEvent(static_cast<QKeyEvent*>(event)))
-            return true;
-        break;
-    }
-    case QEvent::KeyRelease: {
-        if (keyReleaseEvent(static_cast<QKeyEvent*>(event)))
-            return true;
-        break;
-    }
-    case QEvent::MouseButtonDblClick: {
-        if (mouseDoubleClickEvent(static_cast<QMouseEvent*>(event)))
-            return true;
-        break;
-    }
-    case QEvent::Wheel: {
-        if (wheelEvent(static_cast<QWheelEvent*>(event)))
-            return true;
-        break;
-    }
-    default: {
-        break;
-    }
-    } //switch
-
-    // standard event processing
-    return QObject::eventFilter(obj, event);
-}
-
-bool QDeclarativeViewInspector::leaveEvent(QEvent * /*event*/)
-{
-    if (!data->designModeBehavior)
-        return false;
-    data->clearHighlight();
-    return true;
-}
-
-bool QDeclarativeViewInspector::mousePressEvent(QMouseEvent *event)
-{
-    if (!data->designModeBehavior)
-        return false;
-    data->cursorPos = event->pos();
-    data->currentTool->mousePressEvent(event);
-    return true;
-}
-
-bool QDeclarativeViewInspector::mouseMoveEvent(QMouseEvent *event)
-{
-    if (!data->designModeBehavior) {
-        data->clearEditorItems();
-        return false;
-    }
-    data->cursorPos = event->pos();
-
-    QList<QGraphicsItem*> selItems = data->selectableItems(event->pos());
-    if (!selItems.isEmpty()) {
-        declarativeView()->setToolTip(AbstractLiveEditTool::titleForItem(selItems.first()));
-    } else {
-        declarativeView()->setToolTip(QString());
-    }
-    if (event->buttons()) {
-        data->currentTool->mouseMoveEvent(event);
-    } else {
-        data->currentTool->hoverMoveEvent(event);
-    }
-    return true;
-}
-
-bool QDeclarativeViewInspector::mouseReleaseEvent(QMouseEvent *event)
-{
-    if (!data->designModeBehavior)
-        return false;
-
-    data->cursorPos = event->pos();
-    data->currentTool->mouseReleaseEvent(event);
-    return true;
-}
-
-bool QDeclarativeViewInspector::keyPressEvent(QKeyEvent *event)
-{
-    if (!data->designModeBehavior)
-        return false;
-
-    data->currentTool->keyPressEvent(event);
-    return true;
-}
-
-bool QDeclarativeViewInspector::keyReleaseEvent(QKeyEvent *event)
-{
-    if (!data->designModeBehavior)
-        return false;
-
-    switch(event->key()) {
-    case Qt::Key_V:
-        data->_q_changeToSingleSelectTool();
-        break;
-// disabled because multiselection does not do anything useful without design mode
-//    case Qt::Key_M:
-//        data->_q_changeToMarqueeSelectTool();
-//        break;
-    case Qt::Key_I:
-        data->_q_changeToColorPickerTool();
-        break;
-    case Qt::Key_Z:
-        data->_q_changeToZoomTool();
-        break;
-    case Qt::Key_Space:
-        setAnimationPaused(!data->animationPaused);
-        break;
-    default:
-        break;
-    }
-
-    data->currentTool->keyReleaseEvent(event);
-    return true;
-}
-
-bool insertObjectInListProperty(QDeclarativeListReference &fromList, int position, QObject *object)
-{
-    QList<QObject *> tmpList;
-    int i;
-
-    if (!(fromList.canCount() && fromList.canAt() && fromList.canAppend() && fromList.canClear()))
-        return false;
-
-    if (position == fromList.count()) {
-        fromList.append(object);
-        return true;
-    }
-
-    for (i=0; i<fromList.count(); ++i)
-        tmpList << fromList.at(i);
-
-    fromList.clear();
-    for (i=0; i<position; ++i)
-        fromList.append(tmpList.at(i));
-
-    fromList.append(object);
-    for (; i<tmpList.count(); ++i)
-        fromList.append(tmpList.at(i));
-
-    return true;
-}
-
-bool removeObjectFromListProperty(QDeclarativeListReference &fromList, QObject *object)
-{
-    QList<QObject *> tmpList;
-    int i;
-
-    if (!(fromList.canCount() && fromList.canAt() && fromList.canAppend() && fromList.canClear()))
-        return false;
-
-    for (i=0; i<fromList.count(); ++i)
-        if (object != fromList.at(i))
-            tmpList << fromList.at(i);
-
-    fromList.clear();
-
-    foreach (QObject *item, tmpList)
-        fromList.append(item);
-
-    return true;
-}
-
-void QDeclarativeViewInspectorPrivate::_q_createQmlObject(const QString &qml, QObject *parent,
-                                                         const QStringList &importList,
-                                                         const QString &filename, int order)
-{
-    if (!parent)
-        return;
-
-    QString imports;
-    foreach (const QString &s, importList) {
-        imports += s;
-        imports += QLatin1Char('\n');
-    }
-
-    QDeclarativeContext *parentContext = view->engine()->contextForObject(parent);
-    QDeclarativeComponent component(view->engine(), q);
-    QByteArray constructedQml = QString(imports + qml).toLatin1();
-
-    component.setData(constructedQml, filename);
-    QObject *newObject = component.create(parentContext);
-    if (newObject) {
-        newObject->setParent(parent);
-        do {
-            // add child item
-            QDeclarativeItem *parentItem = qobject_cast<QDeclarativeItem*>(parent);
-            QDeclarativeItem *newItem    = qobject_cast<QDeclarativeItem*>(newObject);
-            if (parentItem && newItem) {
-                newItem->setParentItem(parentItem);
-                break;
-            }
-
-            // add property change
-            QDeclarativeState *parentState = qobject_cast<QDeclarativeState*>(parent);
-            QDeclarativeStateOperation *newPropertyChanges = qobject_cast<QDeclarativeStateOperation *>(newObject);
-            if (parentState && newPropertyChanges) {
-                (*parentState) << newPropertyChanges;
-                break;
-            }
-
-            // add states
-            QDeclarativeState *newState = qobject_cast<QDeclarativeState*>(newObject);
-            if (parentItem && newState) {
-                QDeclarativeListReference statesList(parentItem, "states");
-                statesList.append(newObject);
-                break;
-            }
-
-            // add animation to transition
-            if (parent->inherits("QDeclarativeTransition") &&
-                    newObject->inherits("QDeclarativeAbstractAnimation")) {
-                QDeclarativeListReference animationsList(parent, "animations");
-                animationsList.append(newObject);
-                break;
-            }
-
-            // add animation to animation
-            if (parent->inherits("QDeclarativeAnimationGroup") &&
-                    newObject->inherits("QDeclarativeAbstractAnimation")) {
-                QDeclarativeListReference animationsList(parent, "animations");
-                if (order==-1) {
-                    animationsList.append(newObject);
-                } else {
-                    if (!insertObjectInListProperty(animationsList, order, newObject)) {
-                        animationsList.append(newObject);
-                    }
-                }
-                break;
-            }
-
-            // add transition
-            if (parentItem && newObject->inherits("QDeclarativeTransition")) {
-                QDeclarativeListReference transitionsList(parentItem,"transitions");
-                if (transitionsList.count() == 1 && transitionsList.at(0) == 0) {
-                    transitionsList.clear();
-                }
-                transitionsList.append(newObject);
-                break;
-            }
-
-        } while (false);
-    }
-}
-
-void QDeclarativeViewInspectorPrivate::_q_reparentQmlObject(QObject *object, QObject *newParent)
-{
-    if (!newParent)
-        return;
-
-    object->setParent(newParent);
-    QDeclarativeItem *newParentItem = qobject_cast<QDeclarativeItem*>(newParent);
-    QDeclarativeItem *item    = qobject_cast<QDeclarativeItem*>(object);
-    if (newParentItem && item)
-        item->setParentItem(newParentItem);
-}
-
-void QDeclarativeViewInspectorPrivate::_q_deleteQmlObject(QObject *object)
-{
-    // special cases for transitions/animations
-    if (object->inherits("QDeclarativeAbstractAnimation")) {
-        if (object->parent()) {
-            QDeclarativeListReference animationsList(object->parent(), "animations");
-            if (removeObjectFromListProperty(animationsList, object))
-                object->deleteLater();
-            return;
-        }
-    }
-
-    if (object->inherits("QDeclarativeTransition")) {
-        QDeclarativeListReference transitionsList(object->parent(), "transitions");
-        if (removeObjectFromListProperty(transitionsList, object))
-            object->deleteLater();
-        return;
-    }
-}
-
-void QDeclarativeViewInspectorPrivate::_q_clearComponentCache()
-{
-    view->engine()->clearComponentCache();
-}
-
-void QDeclarativeViewInspectorPrivate::_q_removeFromSelection(QObject *obj)
-{
-    QList<QGraphicsItem*> items = selectedItems();
-    if (QGraphicsItem *item = qobject_cast<QGraphicsObject*>(obj))
-        items.removeOne(item);
-    setSelectedItems(items);
-}
-
-bool QDeclarativeViewInspector::mouseDoubleClickEvent(QMouseEvent * /*event*/)
-{
-    if (!data->designModeBehavior)
-        return false;
-
-    return true;
-}
-
-bool QDeclarativeViewInspector::wheelEvent(QWheelEvent *event)
-{
-    if (!data->designModeBehavior)
-        return false;
-    data->currentTool->wheelEvent(event);
-    return true;
-}
-
-void QDeclarativeViewInspector::setDesignModeBehavior(bool value)
-{
-    emit designModeBehaviorChanged(value);
-
-    data->debugService->setDesignModeBehavior(value);
-
-    data->designModeBehavior = value;
-
-    if (!data->designModeBehavior)
-        data->clearEditorItems();
-}
-
-bool QDeclarativeViewInspector::designModeBehavior()
-{
-    return data->designModeBehavior;
-}
-
-bool QDeclarativeViewInspector::showAppOnTop() const
-{
-    return data->showAppOnTop;
-}
-
-void QDeclarativeViewInspector::setShowAppOnTop(bool appOnTop)
-{
-    if (data->view) {
-        QWidget *window = data->view->window();
-        Qt::WindowFlags flags = window->windowFlags();
-        if (appOnTop)
-            flags |= Qt::WindowStaysOnTopHint;
-        else
-            flags &= ~Qt::WindowStaysOnTopHint;
-
-        window->setWindowFlags(flags);
-        window->show();
-    }
-
-    data->showAppOnTop = appOnTop;
-    data->debugService->setShowAppOnTop(appOnTop);
-
-    emit showAppOnTopChanged(appOnTop);
-}
-
-void QDeclarativeViewInspectorPrivate::changeTool(Constants::DesignTool tool,
-                                                 Constants::ToolFlags /*flags*/)
-{
-    switch(tool) {
-    case Constants::SelectionToolMode:
-        _q_changeToSingleSelectTool();
-        break;
-    case Constants::NoTool:
-    default:
-        currentTool = 0;
-        break;
-    }
-}
-
-void QDeclarativeViewInspectorPrivate::setSelectedItemsForTools(QList<QGraphicsItem *> items)
-{
-    foreach (const QWeakPointer<QGraphicsObject> &obj, currentSelection) {
-        if (QGraphicsItem *item = obj.data()) {
-            if (!items.contains(item)) {
-                QObject::disconnect(obj.data(), SIGNAL(destroyed(QObject*)),
-                                    this, SLOT(_q_removeFromSelection(QObject*)));
-                currentSelection.removeOne(obj);
-            }
-        }
-    }
-
-    foreach (QGraphicsItem *item, items) {
-        if (QGraphicsObject *obj = item->toGraphicsObject()) {
-            if (!currentSelection.contains(obj)) {
-                QObject::connect(obj, SIGNAL(destroyed(QObject*)),
-                                 this, SLOT(_q_removeFromSelection(QObject*)));
-                currentSelection.append(obj);
-            }
-        }
-    }
-
-    currentTool->updateSelectedItems();
-}
-
-void QDeclarativeViewInspectorPrivate::setSelectedItems(QList<QGraphicsItem *> items)
-{
-    QList<QWeakPointer<QGraphicsObject> > oldList = currentSelection;
-    setSelectedItemsForTools(items);
-    if (oldList != currentSelection) {
-        QList<QObject*> objectList;
-        foreach (const QWeakPointer<QGraphicsObject> &graphicsObject, currentSelection) {
-            if (graphicsObject)
-                objectList << graphicsObject.data();
-        }
-
-        debugService->setCurrentObjects(objectList);
-    }
-}
-
-QList<QGraphicsItem *> QDeclarativeViewInspectorPrivate::selectedItems()
-{
-    QList<QGraphicsItem *> selection;
-    foreach (const QWeakPointer<QGraphicsObject> &selectedObject, currentSelection) {
-        if (selectedObject.data())
-            selection << selectedObject.data();
-    }
-
-    return selection;
-}
-
-void QDeclarativeViewInspector::setSelectedItems(QList<QGraphicsItem *> items)
-{
-    data->setSelectedItems(items);
-}
-
-QList<QGraphicsItem *> QDeclarativeViewInspector::selectedItems()
-{
-    return data->selectedItems();
-}
-
-QDeclarativeView *QDeclarativeViewInspector::declarativeView()
-{
-    return data->view;
-}
-
-void QDeclarativeViewInspectorPrivate::clearHighlight()
-{
-    boundingRectHighlighter->clear();
-}
-
-void QDeclarativeViewInspectorPrivate::highlight(const QList<QGraphicsObject *> &items)
-{
-    if (items.isEmpty())
-        return;
-
-    QList<QGraphicsObject*> objectList;
-    foreach (QGraphicsItem *item, items) {
-        QGraphicsItem *child = item;
-
-        if (child) {
-            QGraphicsObject *childObject = child->toGraphicsObject();
-            if (childObject)
-                objectList << childObject;
-        }
-    }
-
-    boundingRectHighlighter->highlight(objectList);
-}
-
-QList<QGraphicsItem*> QDeclarativeViewInspectorPrivate::selectableItems(
-    const QPointF &scenePos) const
-{
-    QList<QGraphicsItem*> itemlist = view->scene()->items(scenePos);
-    return filterForSelection(itemlist);
-}
-
-QList<QGraphicsItem*> QDeclarativeViewInspectorPrivate::selectableItems(const QPoint &pos) const
-{
-    QList<QGraphicsItem*> itemlist = view->items(pos);
-    return filterForSelection(itemlist);
-}
-
-QList<QGraphicsItem*> QDeclarativeViewInspectorPrivate::selectableItems(
-    const QRectF &sceneRect, Qt::ItemSelectionMode selectionMode) const
-{
-    QList<QGraphicsItem*> itemlist = view->scene()->items(sceneRect, selectionMode);
-    return filterForSelection(itemlist);
-}
-
-void QDeclarativeViewInspectorPrivate::_q_changeToSingleSelectTool()
-{
-    currentToolMode = Constants::SelectionToolMode;
-    selectionTool->setRubberbandSelectionMode(false);
-
-    changeToSelectTool();
-
-    emit q->selectToolActivated();
-    debugService->setCurrentTool(Constants::SelectionToolMode);
-}
-
-void QDeclarativeViewInspectorPrivate::changeToSelectTool()
-{
-    if (currentTool == selectionTool)
-        return;
-
-    currentTool->clear();
-    currentTool = selectionTool;
-    currentTool->clear();
-    currentTool->updateSelectedItems();
-}
-
-void QDeclarativeViewInspectorPrivate::_q_changeToMarqueeSelectTool()
-{
-    changeToSelectTool();
-    currentToolMode = Constants::MarqueeSelectionToolMode;
-    selectionTool->setRubberbandSelectionMode(true);
-
-    emit q->marqueeSelectToolActivated();
-    debugService->setCurrentTool(Constants::MarqueeSelectionToolMode);
-}
-
-void QDeclarativeViewInspectorPrivate::_q_changeToZoomTool()
-{
-    currentToolMode = Constants::ZoomMode;
-    currentTool->clear();
-    currentTool = zoomTool;
-    currentTool->clear();
-
-    emit q->zoomToolActivated();
-    debugService->setCurrentTool(Constants::ZoomMode);
-}
-
-void QDeclarativeViewInspectorPrivate::_q_changeToColorPickerTool()
-{
-    if (currentTool == colorPickerTool)
-        return;
-
-    currentToolMode = Constants::ColorPickerMode;
-    currentTool->clear();
-    currentTool = colorPickerTool;
-    currentTool->clear();
-
-    emit q->colorPickerActivated();
-    debugService->setCurrentTool(Constants::ColorPickerMode);
-}
-
-void QDeclarativeViewInspector::setAnimationSpeed(qreal slowDownFactor)
-{
-    Q_ASSERT(slowDownFactor > 0);
-    if (data->slowDownFactor == slowDownFactor)
-        return;
-
-    animationSpeedChangeRequested(slowDownFactor);
-    data->debugService->setAnimationSpeed(slowDownFactor);
-}
-
-void QDeclarativeViewInspector::setAnimationPaused(bool paused)
-{
-    if (data->animationPaused == paused)
-        return;
-
-    animationPausedChangeRequested(paused);
-    data->debugService->setAnimationPaused(paused);
-}
-
-void QDeclarativeViewInspector::animationSpeedChangeRequested(qreal factor)
-{
-    if (data->slowDownFactor != factor) {
-        data->slowDownFactor = factor;
-        emit animationSpeedChanged(factor);
-    }
-
-    const float effectiveFactor = data->animationPaused ? 0 : factor;
-    QDeclarativeDebugHelper::setAnimationSlowDownFactor(effectiveFactor);
-}
-
-void QDeclarativeViewInspector::animationPausedChangeRequested(bool paused)
-{
-    if (data->animationPaused != paused) {
-        data->animationPaused = paused;
-        emit animationPausedChanged(paused);
-    }
-
-    const float effectiveFactor = paused ? 0 : data->slowDownFactor;
-    QDeclarativeDebugHelper::setAnimationSlowDownFactor(effectiveFactor);
-}
-
-
-void QDeclarativeViewInspectorPrivate::_q_applyChangesFromClient()
-{
-}
-
-
-QList<QGraphicsItem*> QDeclarativeViewInspectorPrivate::filterForSelection(
-    QList<QGraphicsItem*> &itemlist) const
-{
-    foreach (QGraphicsItem *item, itemlist) {
-        if (isEditorItem(item))
-            itemlist.removeOne(item);
-    }
-
-    return itemlist;
-}
-
-bool QDeclarativeViewInspectorPrivate::isEditorItem(QGraphicsItem *item) const
-{
-    return (item->type() == Constants::EditorItemType
-            || item->type() == Constants::ResizeHandleItemType
-            || item->data(Constants::EditorItemDataKey).toBool());
-}
-
-void QDeclarativeViewInspectorPrivate::_q_onStatusChanged(QDeclarativeView::Status status)
-{
-    if (status == QDeclarativeView::Ready)
-        debugService->reloaded();
-}
-
-void QDeclarativeViewInspectorPrivate::_q_onCurrentObjectsChanged(QList<QObject*> objects)
-{
-    QList<QGraphicsItem*> items;
-    QList<QGraphicsObject*> gfxObjects;
-    foreach (QObject *obj, objects) {
-        if (QDeclarativeItem *declarativeItem = qobject_cast<QDeclarativeItem*>(obj)) {
-            items << declarativeItem;
-            gfxObjects << declarativeItem;
-        }
-    }
-    if (designModeBehavior) {
-        setSelectedItemsForTools(items);
-        clearHighlight();
-        highlight(gfxObjects);
-    }
-}
-
-QString QDeclarativeViewInspector::idStringForObject(QObject *obj)
-{
-    return QDeclarativeInspectorService::instance()->idStringForObject(obj);
-}
-
-// adjusts bounding boxes on edges of screen to be visible
-QRectF QDeclarativeViewInspector::adjustToScreenBoundaries(const QRectF &boundingRectInSceneSpace)
-{
-    int marginFromEdge = 1;
-    QRectF boundingRect(boundingRectInSceneSpace);
-    if (qAbs(boundingRect.left()) - 1 < 2)
-        boundingRect.setLeft(marginFromEdge);
-
-    QRect rect = data->view->rect();
-
-    if (boundingRect.right() >= rect.right())
-        boundingRect.setRight(rect.right() - marginFromEdge);
-
-    if (qAbs(boundingRect.top()) - 1 < 2)
-        boundingRect.setTop(marginFromEdge);
-
-    if (boundingRect.bottom() >= rect.bottom())
-        boundingRect.setBottom(rect.bottom() - marginFromEdge);
-
-    return boundingRect;
-}
-
-} // namespace QmlJSDebugger
diff --git a/share/qtcreator/qml/qmljsdebugger/qdeclarativeviewinspector_p.h b/share/qtcreator/qml/qmljsdebugger/qdeclarativeviewinspector_p.h
deleted file mode 100644
index e2a208cbd78..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/qdeclarativeviewinspector_p.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVEVIEWINSPECTOR_P_H
-#define QDECLARATIVEVIEWINSPECTOR_P_H
-
-#include <QWeakPointer>
-#include <QPointF>
-
-#include "qdeclarativeviewinspector.h"
-#include "qdeclarativeinspectorservice.h"
-
-namespace QmlJSDebugger {
-
-class JSDebuggerAgent;
-class QDeclarativeViewInspector;
-class LiveSelectionTool;
-class ZoomTool;
-class ColorPickerTool;
-class LiveLayerItem;
-class BoundingRectHighlighter;
-class CrumblePath;
-class AbstractLiveEditTool;
-
-class QDeclarativeViewInspectorPrivate : public QObject
-{
-    Q_OBJECT
-public:
-    QDeclarativeViewInspectorPrivate(QDeclarativeViewInspector *);
-    ~QDeclarativeViewInspectorPrivate();
-
-    QDeclarativeView *view;
-    QDeclarativeViewInspector *q;
-    QDeclarativeInspectorService *debugService;
-    QWeakPointer<QWidget> viewport;
-
-    QPointF cursorPos;
-    QList<QWeakPointer<QGraphicsObject> > currentSelection;
-
-    Constants::DesignTool currentToolMode;
-    AbstractLiveEditTool *currentTool;
-
-    LiveSelectionTool *selectionTool;
-    ZoomTool *zoomTool;
-    ColorPickerTool *colorPickerTool;
-    LiveLayerItem *manipulatorLayer;
-
-    BoundingRectHighlighter *boundingRectHighlighter;
-
-    bool designModeBehavior;
-    bool showAppOnTop;
-
-    bool animationPaused;
-    qreal slowDownFactor;
-
-    void setViewport(QWidget *widget);
-
-    void clearEditorItems();
-    void changeToSelectTool();
-    QList<QGraphicsItem*> filterForSelection(QList<QGraphicsItem*> &itemlist) const;
-
-    QList<QGraphicsItem*> selectableItems(const QPoint &pos) const;
-    QList<QGraphicsItem*> selectableItems(const QPointF &scenePos) const;
-    QList<QGraphicsItem*> selectableItems(const QRectF &sceneRect, Qt::ItemSelectionMode selectionMode) const;
-
-    void setSelectedItemsForTools(QList<QGraphicsItem *> items);
-    void setSelectedItems(QList<QGraphicsItem *> items);
-    QList<QGraphicsItem *> selectedItems();
-
-    void changeTool(Constants::DesignTool tool,
-                    Constants::ToolFlags flags = Constants::NoToolFlags);
-
-    void clearHighlight();
-    void highlight(const QList<QGraphicsObject *> &item);
-    inline void highlight(QGraphicsObject *item)
-    { highlight(QList<QGraphicsObject*>() << item); }
-
-    bool isEditorItem(QGraphicsItem *item) const;
-
-public slots:
-    void _q_reloadView();
-    void _q_onStatusChanged(QDeclarativeView::Status status);
-    void _q_onCurrentObjectsChanged(QList<QObject*> objects);
-    void _q_applyChangesFromClient();
-    void _q_createQmlObject(const QString &qml, QObject *parent,
-                            const QStringList &imports, const QString &filename = QString(), int order = 0);
-    void _q_reparentQmlObject(QObject *, QObject *);
-    void _q_deleteQmlObject(QObject *);
-
-    void _q_changeToSingleSelectTool();
-    void _q_changeToMarqueeSelectTool();
-    void _q_changeToZoomTool();
-    void _q_changeToColorPickerTool();
-    void _q_clearComponentCache();
-    void _q_removeFromSelection(QObject *);
-
-public:
-    static QDeclarativeViewInspectorPrivate *get(QDeclarativeViewInspector *v) { return v->d_func(); }
-};
-
-} // namespace QmlJSDebugger
-
-#endif // QDECLARATIVEVIEWINSPECTOR_P_H
diff --git a/share/qtcreator/qml/qmljsdebugger/qmljsdebugger-lib.pri b/share/qtcreator/qml/qmljsdebugger/qmljsdebugger-lib.pri
deleted file mode 100644
index 820267165fc..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/qmljsdebugger-lib.pri
+++ /dev/null
@@ -1,14 +0,0 @@
-# This file is part of Qt Creator
-# It enables debugging of Qt Quick applications
-
-QT += declarative script
-INCLUDEPATH += $$PWD/include
-
-windows:CONFIG(debug, debug|release) {
-    LIBNAME = QmlJSDebuggerd
-} else {
-    LIBNAME = QmlJSDebugger
-}
-LIBS += -L$$PWD -l$$LIBNAME
-
-DEFINES += QMLJSDEBUGGER
diff --git a/share/qtcreator/qml/qmljsdebugger/qmljsdebugger-src.pri b/share/qtcreator/qml/qmljsdebugger/qmljsdebugger-src.pri
deleted file mode 100644
index cb41d7169f8..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/qmljsdebugger-src.pri
+++ /dev/null
@@ -1,45 +0,0 @@
-INCLUDEPATH += $$PWD/include
-
-include($$PWD/protocol/protocol.pri)
-
-HEADERS += \
-    $$PWD/include/jsdebuggeragent.h \
-    $$PWD/include/qmljsdebugger_global.h
-
-SOURCES += \
-    $$PWD/jsdebuggeragent.cpp
-
-HEADERS += \
-    $$PWD/include/qdeclarativeviewinspector.h \
-    $$PWD/include/qdeclarativeviewobserver.h \
-    $$PWD/include/qdeclarativeinspectorservice.h \
-    $$PWD/include/qmlinspectorconstants.h \
-    $$PWD/editor/abstractliveedittool.h \
-    $$PWD/editor/liveselectiontool.h \
-    $$PWD/editor/livelayeritem.h \
-    $$PWD/editor/livesingleselectionmanipulator.h \
-    $$PWD/editor/liverubberbandselectionmanipulator.h \
-    $$PWD/editor/liveselectionrectangle.h \
-    $$PWD/editor/liveselectionindicator.h \
-    $$PWD/editor/boundingrecthighlighter.h \
-    $$PWD/editor/subcomponentmasklayeritem.h \
-    $$PWD/editor/zoomtool.h \
-    $$PWD/editor/colorpickertool.h \
-    $$PWD/qdeclarativeviewinspector_p.h
-
-SOURCES += \
-    $$PWD/qdeclarativeviewinspector.cpp \
-    $$PWD/qdeclarativeinspectorservice.cpp \
-    $$PWD/editor/abstractliveedittool.cpp \
-    $$PWD/editor/liveselectiontool.cpp \
-    $$PWD/editor/livelayeritem.cpp \
-    $$PWD/editor/livesingleselectionmanipulator.cpp \
-    $$PWD/editor/liverubberbandselectionmanipulator.cpp \
-    $$PWD/editor/liveselectionrectangle.cpp \
-    $$PWD/editor/liveselectionindicator.cpp \
-    $$PWD/editor/boundingrecthighlighter.cpp \
-    $$PWD/editor/subcomponentmasklayeritem.cpp \
-    $$PWD/editor/zoomtool.cpp \
-    $$PWD/editor/colorpickertool.cpp
-
-DEFINES += QMLJSDEBUGGER
diff --git a/share/qtcreator/qml/qmljsdebugger/qmljsdebugger.pro b/share/qtcreator/qml/qmljsdebugger/qmljsdebugger.pro
deleted file mode 100644
index f7585e1478b..00000000000
--- a/share/qtcreator/qml/qmljsdebugger/qmljsdebugger.pro
+++ /dev/null
@@ -1,18 +0,0 @@
-# This file is part of Qt Creator
-# It enables debugging of Qt Quick applications 
-
-TEMPLATE = lib
-CONFIG += staticlib create_prl
-QT += declarative script
-
-DEFINES += BUILD_QMLJSDEBUGGER_STATIC_LIB
-
-unix:QMAKE_CXXFLAGS_DEBUG += -O3
-
-DESTDIR = $$PWD
-TARGET=QmlJSDebugger
-CONFIG(debug, debug|release) {
-   windows:TARGET=QmlJSDebuggerd
-}
-
-include(qmljsdebugger-src.pri)
diff --git a/share/qtcreator/qml/qmlobserver/Info.plist.in b/share/qtcreator/qml/qmlobserver/Info.plist.in
deleted file mode 100644
index 924d1fc411f..00000000000
--- a/share/qtcreator/qml/qmlobserver/Info.plist.in
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version=\"1.0\" encoding=\"UTF-8\"?>
-<!DOCTYPE plist SYSTEM \"file://localhost/System/Library/DTDs/PropertyList.dtd\">
-<plist version=\"0.1\">
-<dict>
-        <key>NSHumanReadableCopyright</key>
-        <string>This file is part of Qt Creator
-
-Copyright (c) 2013 Digia Plc and/or its subsidiary(-ies).
-
-Contact: http://www.qt-project.org/
-
-GNU Lesser General Public License Usage
-
-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, Digia gives you certain additional
-rights. These rights are described in the Digia Qt LGPL Exception
-version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-
-Other Usage
-
-Alternatively, this file may be used in accordance with the terms and
-conditions contained in a signed written agreement between you and Digia.</string>
-	<key>CFBundleIconFile</key>
-	<string>@ICON@</string>
-	<key>CFBundleIdentifier</key>
-	<string>com.nokia.qt.qml</string>
-	<key>CFBundlePackageType</key>
-	<string>APPL</string>
-        <key>CFBundleGetInfoString</key>
-	<string>Created by Qt/QMake</string>
-	<key>CFBundleSignature</key>
-	<string>@TYPEINFO@</string>
-	<key>CFBundleExecutable</key>
-	<string>@EXECUTABLE@</string>
-        <key>CFBundleVersion</key>
-        <string>$$QTCREATOR_VERSION</string>
-        <key>CFBundleShortVersionString</key>
-        <string>$$QTCREATOR_VERSION</string>
-        <key>UTExportedTypeDeclarations</key>
-          <array>
-            <dict>
-              <key>UTTypeIdentifier</key>
-              <string>com.nokia.qt.qml</string>
-              <key>UTTypeDescription</key>
-              <string>Qt Markup Language</string>
-              <key>UTTypeConformsTo</key>
-              <array>
-                <string>public.plain-text</string>
-              </array>
-              <key>UTTypeTagSpecification</key>
-              <dict>
-                <key>public.filename-extension</key>
-                <array>
-                  <string>qml</string>
-                </array>
-              </dict>
-            </dict>
-          </array>
-        <key>CFBundleDocumentTypes</key>
-          <array>
-            <dict>
-              <key>LSItemContentTypes</key>
-                <array>
-                  <string>com.nokia.qt.qml</string>
-                </array>
-              <key>CFBundleTypeRole</key>
-              <string>Viewer</string>
-            </dict>
-          </array>
-</dict>
-</plist>
diff --git a/share/qtcreator/qml/qmlobserver/LGPL_EXCEPTION.TXT b/share/qtcreator/qml/qmlobserver/LGPL_EXCEPTION.TXT
deleted file mode 100644
index add80b93182..00000000000
--- a/share/qtcreator/qml/qmlobserver/LGPL_EXCEPTION.TXT
+++ /dev/null
@@ -1,22 +0,0 @@
-Digia Qt LGPL Exception version 1.1
-
-As an additional permission to the GNU Lesser General Public License version
-2.1, the object code form of a "work that uses the Library" may incorporate
-material from a header file that is part of the Library.  You may distribute
-such object code under terms of your choice, provided that:
-    (i)   the header files of the Library have not been modified; and
-    (ii)  the incorporated material is limited to numerical parameters, data
-          structure layouts, accessors, macros, inline functions and
-          templates; and
-    (iii) you comply with the terms of Section 6 of the GNU Lesser General
-          Public License version 2.1.
-
-Moreover, you may apply this exception to a modified version of the Library,
-provided that such modification does not involve copying material from the
-Library into the modified Library's header files unless such material is
-limited to (i) numerical parameters; (ii) data structure layouts;
-(iii) accessors; and (iv) small macros, templates and inline functions of
-five lines or less in length.
-
-Furthermore, you are not required to apply this additional permission to a
-modified version of the Library.
diff --git a/share/qtcreator/qml/qmlobserver/LICENSE.LGPL b/share/qtcreator/qml/qmlobserver/LICENSE.LGPL
deleted file mode 100644
index 602bfc94635..00000000000
--- a/share/qtcreator/qml/qmlobserver/LICENSE.LGPL
+++ /dev/null
@@ -1,504 +0,0 @@
-		  GNU LESSER GENERAL PUBLIC LICENSE
-		       Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL.  It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
-			    Preamble
-
-  The licenses for most software are designed to take away your
-freedom to share and change it.  By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
-  This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it.  You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
-  When we speak of free software, we are referring to freedom of use,
-not price.  Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
-  To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights.  These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
-  For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you.  You must make sure that they, too, receive or can get the source
-code.  If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it.  And you must show them these terms so they know their rights.
-
-  We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
-  To protect each distributor, we want to make it very clear that
-there is no warranty for the free library.  Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
-  Finally, software patents pose a constant threat to the existence of
-any free program.  We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder.  Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
-  Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License.  This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License.  We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
-  When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library.  The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom.  The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
-  We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License.  It also provides other free software developers Less
-of an advantage over competing non-free programs.  These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries.  However, the Lesser license provides advantages in certain
-special circumstances.
-
-  For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard.  To achieve this, non-free programs must be
-allowed to use the library.  A more frequent case is that a free
-library does the same job as widely used non-free libraries.  In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
-  In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software.  For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
-  Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
-  The precise terms and conditions for copying, distribution and
-modification follow.  Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library".  The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
-		  GNU LESSER GENERAL PUBLIC LICENSE
-   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
-  0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
-  A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
-  The "Library", below, refers to any such software library or work
-which has been distributed under these terms.  A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language.  (Hereinafter, translation is
-included without limitation in the term "modification".)
-
-  "Source code" for a work means the preferred form of the work for
-making modifications to it.  For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
-  Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope.  The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it).  Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
-  1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
-  You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
-  2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
-    a) The modified work must itself be a software library.
-
-    b) You must cause the files modified to carry prominent notices
-    stating that you changed the files and the date of any change.
-
-    c) You must cause the whole of the work to be licensed at no
-    charge to all third parties under the terms of this License.
-
-    d) If a facility in the modified Library refers to a function or a
-    table of data to be supplied by an application program that uses
-    the facility, other than as an argument passed when the facility
-    is invoked, then you must make a good faith effort to ensure that,
-    in the event an application does not supply such function or
-    table, the facility still operates, and performs whatever part of
-    its purpose remains meaningful.
-
-    (For example, a function in a library to compute square roots has
-    a purpose that is entirely well-defined independent of the
-    application.  Therefore, Subsection 2d requires that any
-    application-supplied function or table used by this function must
-    be optional: if the application does not supply it, the square
-    root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole.  If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works.  But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
-  3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library.  To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License.  (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.)  Do not make any other change in
-these notices.
-
-  Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
-  This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
-  4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
-  If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
-  5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library".  Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
-  However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library".  The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
-  When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library.  The
-threshold for this to be true is not precisely defined by law.
-
-  If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work.  (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
-  Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
-  6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
-  You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License.  You must supply a copy of this License.  If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License.  Also, you must do one
-of these things:
-
-    a) Accompany the work with the complete corresponding
-    machine-readable source code for the Library including whatever
-    changes were used in the work (which must be distributed under
-    Sections 1 and 2 above); and, if the work is an executable linked
-    with the Library, with the complete machine-readable "work that
-    uses the Library", as object code and/or source code, so that the
-    user can modify the Library and then relink to produce a modified
-    executable containing the modified Library.  (It is understood
-    that the user who changes the contents of definitions files in the
-    Library will not necessarily be able to recompile the application
-    to use the modified definitions.)
-
-    b) Use a suitable shared library mechanism for linking with the
-    Library.  A suitable mechanism is one that (1) uses at run time a
-    copy of the library already present on the user's computer system,
-    rather than copying library functions into the executable, and (2)
-    will operate properly with a modified version of the library, if
-    the user installs one, as long as the modified version is
-    interface-compatible with the version that the work was made with.
-
-    c) Accompany the work with a written offer, valid for at
-    least three years, to give the same user the materials
-    specified in Subsection 6a, above, for a charge no more
-    than the cost of performing this distribution.
-
-    d) If distribution of the work is made by offering access to copy
-    from a designated place, offer equivalent access to copy the above
-    specified materials from the same place.
-
-    e) Verify that the user has already received a copy of these
-    materials or that you have already sent this user a copy.
-
-  For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it.  However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
-  It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system.  Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
-  7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
-    a) Accompany the combined library with a copy of the same work
-    based on the Library, uncombined with any other library
-    facilities.  This must be distributed under the terms of the
-    Sections above.
-
-    b) Give prominent notice with the combined library of the fact
-    that part of it is a work based on the Library, and explaining
-    where to find the accompanying uncombined form of the same work.
-
-  8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License.  Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License.  However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
-  9. You are not required to accept this License, since you have not
-signed it.  However, nothing else grants you permission to modify or
-distribute the Library or its derivative works.  These actions are
-prohibited by law if you do not accept this License.  Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
-  10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions.  You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
-  11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License.  If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all.  For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices.  Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
-  12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded.  In such case, this License incorporates the limitation as if
-written in the body of this License.
-
-  13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number.  If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation.  If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
-  14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission.  For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this.  Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
-			    NO WARRANTY
-
-  15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE.  THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU.  SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
-  16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
-		     END OF TERMS AND CONDITIONS
-
-           How to Apply These Terms to Your New Libraries
-
-  If you develop a new library, and you want it to be of the greatest
-possible use to the public, we recommend making it free software that
-everyone can redistribute and change.  You can do so by permitting
-redistribution under these terms (or, alternatively, under the terms of the
-ordinary General Public License).
-
-  To apply these terms, attach the following notices to the library.  It is
-safest to attach them to the start of each source file to most effectively
-convey the exclusion of warranty; and each file should have at least the
-"copyright" line and a pointer to where the full notice is found.
-
-    <one line to give the library's name and a brief idea of what it does.>
-    Copyright (C) <year>  <name of author>
-
-    This library is free software; you can redistribute it and/or
-    modify it under the terms of the GNU Lesser General Public
-    License as published by the Free Software Foundation; either
-    version 2.1 of the License, or (at your option) any later version.
-
-    This library is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-    Lesser General Public License for more details.
-
-    You should have received a copy of the GNU Lesser General Public
-    License along with this library; if not, write to the Free Software
-    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-
-Also add information on how to contact you by electronic and paper mail.
-
-You should also get your employer (if you work as a programmer) or your
-school, if any, to sign a "copyright disclaimer" for the library, if
-necessary.  Here is a sample; alter the names:
-
-  Yoyodyne, Inc., hereby disclaims all copyright interest in the
-  library `Frob' (a library for tweaking knobs) written by James Random Hacker.
-
-  <signature of Ty Coon>, 1 April 1990
-  Ty Coon, President of Vice
-
-That's all there is to it!
-
-
diff --git a/share/qtcreator/qml/qmlobserver/browser/Browser.qml b/share/qtcreator/qml/qmlobserver/browser/Browser.qml
deleted file mode 100644
index 83d5c1aeb5b..00000000000
--- a/share/qtcreator/qml/qmlobserver/browser/Browser.qml
+++ /dev/null
@@ -1,306 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-import QtQuick 1.0
-import Qt.labs.folderlistmodel 1.0
-
-Rectangle {
-    id: root
-    property bool showFocusHighlight: false
-    property variant folders: folders1
-    property variant view: view1
-    width: 320
-    height: 480
-    color: palette.window
-
-    FolderListModel {
-        id: folders1
-        nameFilters: [ "*.qml" ]
-        folder: qmlViewerFolder
-    }
-    FolderListModel {
-        id: folders2
-        nameFilters: [ "*.qml" ]
-        folder: qmlViewerFolder
-    }
-
-    SystemPalette { id: palette }
-
-    function down(path) {
-        if (folders == folders1) {
-            view = view2
-            folders = folders2;
-            view1.state = "exitLeft";
-        } else {
-            view = view1
-            folders = folders1;
-            view2.state = "exitLeft";
-        }
-        view.x = root.width;
-        view.state = "current";
-        view.focus = true;
-        folders.folder = path;
-    }
-    function up() {
-        var path = folders.parentFolder;
-        if (folders == folders1) {
-            view = view2
-            folders = folders2;
-            view1.state = "exitRight";
-        } else {
-            view = view1
-            folders = folders1;
-            view2.state = "exitRight";
-        }
-        view.x = -root.width;
-        view.state = "current";
-        view.focus = true;
-        folders.folder = path;
-    }
-    function keyPressed(key) {
-        switch (key) {
-            case Qt.Key_Up:
-            case Qt.Key_Down:
-            case Qt.Key_Left:
-            case Qt.Key_Right:
-                root.showFocusHighlight = true;
-            break;
-            default:
-                // do nothing
-            break;
-        }
-    }
-
-    Component {
-        id: folderDelegate
-        Rectangle {
-            id: wrapper
-            function launch() {
-                if (folders.isFolder(index)) {
-                    down(filePath);
-                } else {
-                    qmlViewer.launch(filePath);
-                }
-            }
-            width: root.width
-            height: 52
-            color: "transparent"
-            Rectangle {
-                id: highlight; visible: false
-                anchors.fill: parent
-                color: palette.highlight
-                gradient: Gradient {
-                    GradientStop { id: t1; position: 0.0; color: palette.highlight }
-                    GradientStop { id: t2; position: 1.0; color: Qt.lighter(palette.highlight) }
-                }
-            }
-            Item {
-                width: 48; height: 48
-                Image { source: "images/folder.png"; anchors.centerIn: parent; visible: folders.isFolder(index)}
-            }
-            Text {
-                id: nameText
-                anchors.fill: parent; verticalAlignment: Text.AlignVCenter
-                text: fileName
-                anchors.leftMargin: 54
-                font.pixelSize: 32
-                color: (wrapper.ListView.isCurrentItem && root.showFocusHighlight) ? palette.highlightedText : palette.windowText
-                elide: Text.ElideRight
-            }
-            MouseArea {
-                id: mouseRegion
-                anchors.fill: parent
-                onPressed: {
-                    root.showFocusHighlight = false;
-                    wrapper.ListView.view.currentIndex = index;
-                }
-                onClicked: { if (folders == wrapper.ListView.view.model) launch() }
-            }
-            states: [
-                State {
-                    name: "pressed"
-                    when: mouseRegion.pressed
-                    PropertyChanges { target: highlight; visible: true }
-                    PropertyChanges { target: nameText; color: palette.highlightedText }
-                }
-            ]
-        }
-    }
-
-    ListView {
-        id: view1
-        anchors.top: titleBar.bottom
-        anchors.bottom: parent.bottom
-        x: 0
-        width: parent.width
-        model: folders1
-        delegate: folderDelegate
-        highlight: Rectangle {
-            color: palette.highlight
-            visible: root.showFocusHighlight && view1.count != 0
-            gradient: Gradient {
-                GradientStop { id: t1; position: 0.0; color: palette.highlight }
-                GradientStop { id: t2; position: 1.0; color: Qt.lighter(palette.highlight) }
-            }
-            width: view1.currentItem == null ? 0 : view1.currentItem.width
-        }
-        highlightMoveSpeed: 1000
-        pressDelay: 100
-        focus: true
-        state: "current"
-        states: [
-            State {
-                name: "current"
-                PropertyChanges { target: view1; x: 0 }
-            },
-            State {
-                name: "exitLeft"
-                PropertyChanges { target: view1; x: -root.width }
-            },
-            State {
-                name: "exitRight"
-                PropertyChanges { target: view1; x: root.width }
-            }
-        ]
-        transitions: [
-            Transition {
-                to: "current"
-                SequentialAnimation {
-                    NumberAnimation { properties: "x"; duration: 250 }
-                }
-            },
-            Transition {
-                NumberAnimation { properties: "x"; duration: 250 }
-                NumberAnimation { properties: "x"; duration: 250 }
-            }
-        ]
-        Keys.onPressed: root.keyPressed(event.key)
-    }
-
-    ListView {
-        id: view2
-        anchors.top: titleBar.bottom
-        anchors.bottom: parent.bottom
-        x: parent.width
-        width: parent.width
-        model: folders2
-        delegate: folderDelegate
-        highlight: Rectangle {
-            color: palette.highlight
-            visible: root.showFocusHighlight && view2.count != 0
-            gradient: Gradient {
-                GradientStop { id: t1; position: 0.0; color: palette.highlight }
-                GradientStop { id: t2; position: 1.0; color: Qt.lighter(palette.highlight) }
-            }
-            width: view1.currentItem == null ? 0 : view1.currentItem.width
-        }
-        highlightMoveSpeed: 1000
-        pressDelay: 100
-        states: [
-            State {
-                name: "current"
-                PropertyChanges { target: view2; x: 0 }
-            },
-            State {
-                name: "exitLeft"
-                PropertyChanges { target: view2; x: -root.width }
-            },
-            State {
-                name: "exitRight"
-                PropertyChanges { target: view2; x: root.width }
-            }
-        ]
-        transitions: [
-            Transition {
-                to: "current"
-                SequentialAnimation {
-                    NumberAnimation { properties: "x"; duration: 250 }
-                }
-            },
-            Transition {
-                NumberAnimation { properties: "x"; duration: 250 }
-            }
-        ]
-        Keys.onPressed: root.keyPressed(event.key)
-    }
-
-    Keys.onPressed: {
-        root.keyPressed(event.key);
-        if (event.key == Qt.Key_Return || event.key == Qt.Key_Select || event.key == Qt.Key_Right) {
-            view.currentItem.launch();
-            event.accepted = true;
-        } else if (event.key == Qt.Key_Left) {
-            up();
-        }
-    }
-
-    BorderImage {
-        source: "images/titlebar.sci";
-        width: parent.width;
-        height: 52
-        y: -7
-        id: titleBar
-
-        Rectangle {
-            id: upButton
-            width: 48
-            height: titleBar.height - 7
-            color: "transparent"
-
-            Image { anchors.centerIn: parent; source: "images/up.png" }
-            MouseArea { id: upRegion; anchors.centerIn: parent
-                width: 56
-                height: 56
-                onClicked: if (folders.parentFolder != "") up()
-            }
-            states: [
-                State {
-                    name: "pressed"
-                    when: upRegion.pressed
-                    PropertyChanges { target: upButton; color: palette.highlight }
-                }
-            ]
-        }
-        Rectangle {
-            color: "gray"
-            x: 48
-            width: 1
-            height: 44
-        }
-
-        Text {
-            anchors.left: upButton.right; anchors.right: parent.right; height: parent.height
-            anchors.leftMargin: 4; anchors.rightMargin: 4
-            text: folders.folder
-            color: "white"
-            elide: Text.ElideLeft; horizontalAlignment: Text.AlignRight; verticalAlignment: Text.AlignVCenter
-            font.pixelSize: 32
-        }
-    }
-}
diff --git a/share/qtcreator/qml/qmlobserver/browser/browser.qrc b/share/qtcreator/qml/qmlobserver/browser/browser.qrc
deleted file mode 100644
index 9c688e75215..00000000000
--- a/share/qtcreator/qml/qmlobserver/browser/browser.qrc
+++ /dev/null
@@ -1,9 +0,0 @@
-<RCC>
-    <qresource prefix="/browser">
-        <file>Browser.qml</file>
-        <file>images/up.png</file>
-        <file>images/folder.png</file>
-        <file>images/titlebar.sci</file>
-        <file>images/titlebar.png</file>
-    </qresource>
-</RCC>
diff --git a/share/qtcreator/qml/qmlobserver/browser/images/folder.png b/share/qtcreator/qml/qmlobserver/browser/images/folder.png
deleted file mode 100644
index e53e2ad464eb993256a6c3567fc940498e26fc8b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1841
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

diff --git a/share/qtcreator/qml/qmlobserver/browser/images/titlebar.png b/share/qtcreator/qml/qmlobserver/browser/images/titlebar.png
deleted file mode 100644
index 51c90082d052a94af34488ca9a13842122f7d7a4..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1436
zcmV;N1!MY&P)<h;3K|Lk000e1NJLTq001!n001lq1^@s6%+yd>00001b5ch_0Itp)
z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iXW1
z0xv7!9LBW(000?uMObu0Z*6U5Zgc=ca%Ew3Wn>_CX>@2HM@dakSAh-}000E{Nkl<Z
zXx`PDzit~x5XOJAx1{I@R?^xq6ay}j0504Ha9+XBk|J%IJY8xxR^!45+!zo9Ie|^y
z?arjw-MhWxk&>Liq!w7*fp`1oo9~;MC5Hkm0Ga8f)%S;LHn|^l4>W+QI@MK<0LU%?
zTCN^g=1tdNq`Dpph<f7&#N2xjKFg}9x;p|{O<B-t^AQL@@W6u%WSN2NlGq_Z=*0Q~
z=ztdJJa7uEfRo&p6_BO^a3~N3NDZLPeGRM&h;MR#kbx|6cL(&1sV`^+V3PrS0=x&#
zR;!a&=jY%5`s~>=PESv9&Y_yal)K%ETFKXCtR`vY67D3wB9@+&cbGgIArTN6+wSAX
zkGy^RmUr*o{T4#Fkk#tskC!ih`Tfb0Cxj5Vy1F8SK-YDE!#OZB%*L~eNSa)23&d?U
zSw1i0>gRr9IT1mtHP62Lmb0@nE-o&3^XAQ;^5Vq{d;a`6A3l8G`uZB@98Hs4A;w4}
zZZ8P$T;_Us-Wa3LiY3JoBbsA{322^IDj+WNr!^z_J?9)<*YWV-LmoYP#Ov3u@#p8~
zTwPspd3nidwF01RTNaB2BC@r4CKHDcwm?9#oSA`>USgwAW7e}#gkM0Yvk41^nr1^7
z&N;5HuQ@q6;px+-_|@_O@8ADLBaYYwR2A=iy0?Jz0cyTE=eGiSB!O3eXvr9oHkkl)
zJria&VhTXjdXO$lOS6-T2wfXkEEZf|Uh??yV|<K}&8EZqMAKriKvmhapII)KJ>9$6
z$kf}E2}3pUBO*h1vm}>TF;RnPvP?}ajZsZ(s`c^F`G#o9X1&4r25)A>7;$dUeu#sd
zH0nr`HO-^wWQOLC8t2no3_(Fez${xkBmh<z%pgTD17`~?R&tDKoS7j`2$`~`StJ6w
zZi88*Z6ne+HeH)HrHI&IfyxhR37Cb^xkN<hB<?(`7!b0hi!q9Q3ae)8!B7^fu}P05
zsAz}~I(!I$7-L>=yunfEn^?XuQ?3Ij+Zzn(@H!pav#Pqq_?!|nMq-S~Ct{2l-QZ~b
zHR{$P`zF6tD!u{4zWIxhQbJa`7!wn!ntVca%bFsRXx#Sb;tV@Ca^rcTGS~=!F~4Rd
zD^=}7d=H{l@KpDMcDE-M<BOS?g72+-!x2qHP%)xL+R!CAmBFTiWmJ=l%5~1#QaR{d
zTAj(~Kon!{@<ZnwS|X{&!Lg?qwBGz2?fn8X?A*n%=RnlM=X^s|QywDAscl=ju1n|`
zGf{HKF1?FLAHVMcq8vqb9c9GWV!w`t<pdB-S+^~I-ELU78=P~q*8Y;{^EFzLdiQya
zE6C>beynXOK|hy7X0?B$O;vFv(d|Qf^dRaKe_z@t5t}6@ZhHA%GI8viucfZ4DLUOJ
z%g-f2H+QV4licii=|7xc|4$k9K5-Z1_4nO<nfz-z`Hdi&rs<Eo{g<Z<$T@cu((<=K
zDk3yZ(`WW_wklsv4(;4Gf`~Ep091AK(@F82L(9oG;%J&Z)@*8Nxuc9!{)eA_<i0ln
zey)DjUojM0>T1!U>l1aAsH<udpMg&v_&Yz?FcerykwrLc-OeUp`VtqDBFjG+#F}y4
z?$9jkW1}$A0UMtw3EBG7Dk=wLVai7NLA?Mem7~sQ2D*v$kEQ%OCo7$@;xmBAaTem|
qKomxLW_+gPnEw(nC#%ulBK`%3l#FT?MBUf`0000<MNUMnLSTaHVxb-Y

diff --git a/share/qtcreator/qml/qmlobserver/browser/images/titlebar.sci b/share/qtcreator/qml/qmlobserver/browser/images/titlebar.sci
deleted file mode 100644
index 0418d94cd60..00000000000
--- a/share/qtcreator/qml/qmlobserver/browser/images/titlebar.sci
+++ /dev/null
@@ -1,5 +0,0 @@
-border.left: 10
-border.top: 12
-border.bottom: 12
-border.right: 10
-source: titlebar.png
diff --git a/share/qtcreator/qml/qmlobserver/browser/images/up.png b/share/qtcreator/qml/qmlobserver/browser/images/up.png
deleted file mode 100644
index b05f8025d0157a5e7b2792b058cdb4553b1d6bff..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 662
zcmV;H0%`q;P)<h;3K|Lk000e1NJLTq000sI000sQ1^@s6R?d!B00001b5ch_0Itp)
z=>Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iXS@
z05=qo0T_V*00I_CL_t(I%e|D(YZE~f$3JgoH`$m3@}o^mwTd1D5%pxX218XWdhp;M
zphw$_)RW%4D|qkCKfwP$5EMK}QN)v=2r5-cHEDiqlbY=8dgyK&(l+YF2ag$;na}&a
znfC_%qgkPkH2sJ5QY@}-Yg;ZEFX#X(fcaM?6REVlc=77N&h=Z9y~D@!Q=kIG{#KD_
zEd?iG-8nbA|7LkM?d-`_bvn~K;I=us*5re4_&%&`8%S#@WOB~KsY-Ef`a)9sdKu%p
zWb&x&7?W<36YU1?e8V@u-wjkurtG_?%7wYg<s@QP@r;X70a`;Y581qwnyVbCukaqW
zV1uB&skD8se7-b4J(JWrzJlkqP~u}L(4pt@kQ<kYW}QRzAAAD70%j0&<@8K!;p9{&
z8%s2R4odt@Km=QN!8fQ>O7?ZT<Qp~K0JT9-=gUX$*UM+#cy(D7&zwyFJ*)^KU@K^@
z!s7kFyj|i|qsAlPHPBZBpwGYq;F_%+l1>I&zzW?CftG*>O<*2)0;~i6V8sT22XsZi
zk^oBus4yj^Ktg5VUKdyc`am#T`ax75I*cAclmex}R)P>jK~3~(JNA$eAihC-5CH`U
z8*?qet_?YCeyi2~`Qmwd%yl;oiwc1P{XQ5&ElO!C_;z!E8^H0fuk;S-F9DB%c61do
w;_HY3aljr{4D`a++EgVYx?e`D2SX#j0sXq9GS=auNdN!<07*qoM6N<$g8bnhMgRZ+

diff --git a/share/qtcreator/qml/qmlobserver/deviceorientation.cpp b/share/qtcreator/qml/qmlobserver/deviceorientation.cpp
deleted file mode 100644
index ca26a935bf1..00000000000
--- a/share/qtcreator/qml/qmlobserver/deviceorientation.cpp
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "deviceorientation.h"
-
-QT_USE_NAMESPACE
-
-class DefaultDeviceOrientation : public DeviceOrientation
-{
-    Q_OBJECT
-public:
-    DefaultDeviceOrientation() : DeviceOrientation(), m_orientation(DeviceOrientation::Portrait) {}
-
-    Orientation orientation() const {
-        return m_orientation;
-    }
-
-    void pauseListening() {
-    }
-    void resumeListening() {
-    }
-
-    void setOrientation(Orientation o) {
-        if (o != m_orientation) {
-            m_orientation = o;
-            emit orientationChanged();
-        }
-    }
-
-    Orientation m_orientation;
-};
-
-DeviceOrientation* DeviceOrientation::instance()
-{
-    static DefaultDeviceOrientation *o = 0;
-    if (!o)
-        o = new DefaultDeviceOrientation;
-    return o;
-}
-
-#include "deviceorientation.moc"
-
diff --git a/share/qtcreator/qml/qmlobserver/deviceorientation.h b/share/qtcreator/qml/qmlobserver/deviceorientation.h
deleted file mode 100644
index feda6e946e6..00000000000
--- a/share/qtcreator/qml/qmlobserver/deviceorientation.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef ORIENTATION_H
-#define ORIENTATION_H
-
-#include <QObject>
-
-QT_BEGIN_NAMESPACE
-
-class DeviceOrientationPrivate;
-class DeviceOrientation : public QObject
-{
-    Q_OBJECT
-    Q_ENUMS(Orientation)
-public:
-    enum Orientation {
-        UnknownOrientation,
-        Portrait,
-        Landscape,
-        PortraitInverted,
-        LandscapeInverted
-    };
-
-    virtual Orientation orientation() const = 0;
-    virtual void setOrientation(Orientation) = 0;
-
-    virtual void pauseListening() = 0;
-    virtual void resumeListening() = 0;
-
-    static DeviceOrientation *instance();
-
-signals:
-    void orientationChanged();
-
-protected:
-    DeviceOrientation() {}
-
-private:
-    DeviceOrientationPrivate *d_ptr;
-    friend class DeviceOrientationPrivate;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/share/qtcreator/qml/qmlobserver/deviceorientation_symbian.cpp b/share/qtcreator/qml/qmlobserver/deviceorientation_symbian.cpp
deleted file mode 100644
index 7b5e2526533..00000000000
--- a/share/qtcreator/qml/qmlobserver/deviceorientation_symbian.cpp
+++ /dev/null
@@ -1,180 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "deviceorientation.h"
-
-#include <e32base.h>
-#include <sensrvchannelfinder.h>
-#include <sensrvdatalistener.h>
-#include <sensrvchannel.h>
-#include <sensrvorientationsensor.h>
-
-class SymbianOrientation : public DeviceOrientation, public MSensrvDataListener
-{
-    Q_OBJECT
-public:
-    SymbianOrientation()
-        : DeviceOrientation(), m_current(UnknownOrientation), m_sensorChannel(0), m_channelOpen(false)
-    {
-        TRAP_IGNORE(initL());
-        if (!m_sensorChannel)
-            qWarning("No valid sensors found.");
-    }
-
-    ~SymbianOrientation()
-    {
-        if (m_sensorChannel) {
-            m_sensorChannel->StopDataListening();
-            m_sensorChannel->CloseChannel();
-            delete m_sensorChannel;
-        }
-    }
-
-    void initL()
-    {
-        CSensrvChannelFinder *channelFinder = CSensrvChannelFinder::NewLC();
-        RSensrvChannelInfoList channelInfoList;
-        CleanupClosePushL(channelInfoList);
-
-        TSensrvChannelInfo searchConditions;
-        searchConditions.iChannelType = KSensrvChannelTypeIdOrientationData;
-        channelFinder->FindChannelsL(channelInfoList, searchConditions);
-
-        for (int i = 0; i < channelInfoList.Count(); ++i) {
-            TRAPD(error, m_sensorChannel = CSensrvChannel::NewL(channelInfoList[i]));
-            if (!error)
-                TRAP(error, m_sensorChannel->OpenChannelL());
-            if (!error) {
-                TRAP(error, m_sensorChannel->StartDataListeningL(this, 1, 1, 0));
-                m_channelOpen = true;
-                break;
-           }
-            if (error) {
-                delete m_sensorChannel;
-                m_sensorChannel = 0;
-            }
-        }
-
-        channelInfoList.Close();
-        CleanupStack::Pop(&channelInfoList);
-        CleanupStack::PopAndDestroy(channelFinder);
-    }
-
-    Orientation orientation() const
-    {
-        return m_current;
-    }
-
-   void setOrientation(Orientation) { }
-
-private:
-    DeviceOrientation::Orientation m_current;
-    CSensrvChannel *m_sensorChannel;
-    bool m_channelOpen;
-    void pauseListening() {
-        if (m_sensorChannel && m_channelOpen) {
-            m_sensorChannel->StopDataListening();
-            m_sensorChannel->CloseChannel();
-            m_channelOpen = false;
-        }
-    }
-
-    void resumeListening() {
-        if (m_sensorChannel && !m_channelOpen) {
-            TRAPD(error, m_sensorChannel->OpenChannelL());
-            if (!error) {
-                TRAP(error, m_sensorChannel->StartDataListeningL(this, 1, 1, 0));
-                if (!error) {
-                    m_channelOpen = true;
-                }
-            }
-            if (error) {
-                delete m_sensorChannel;
-                m_sensorChannel = 0;
-            }
-        }
-    }
-
-    void DataReceived(CSensrvChannel &channel, TInt count, TInt dataLost)
-    {
-        Q_UNUSED(dataLost)
-        if (channel.GetChannelInfo().iChannelType == KSensrvChannelTypeIdOrientationData) {
-            TSensrvOrientationData data;
-            for (int i = 0; i < count; ++i) {
-                TPckgBuf<TSensrvOrientationData> dataBuf;
-                channel.GetData(dataBuf);
-                data = dataBuf();
-                Orientation orientation = UnknownOrientation;
-                switch (data.iDeviceOrientation) {
-                case TSensrvOrientationData::EOrientationDisplayUp:
-                    orientation = Portrait;
-                    break;
-                case TSensrvOrientationData::EOrientationDisplayRightUp:
-                    orientation = Landscape;
-                    break;
-                case TSensrvOrientationData::EOrientationDisplayLeftUp:
-                    orientation = LandscapeInverted;
-                    break;
-                case TSensrvOrientationData::EOrientationDisplayDown:
-                    orientation = PortraitInverted;
-                    break;
-                case TSensrvOrientationData::EOrientationUndefined:
-                case TSensrvOrientationData::EOrientationDisplayUpwards:
-                case TSensrvOrientationData::EOrientationDisplayDownwards:
-                default:
-                    break;
-                }
-
-                if (m_current != orientation && orientation != UnknownOrientation) {
-                    m_current = orientation;
-                    emit orientationChanged();
-                }
-           }
-        }
-    }
-
-   void DataError(CSensrvChannel& /* channel */, TSensrvErrorSeverity /* error */)
-   {
-   }
-
-   void GetDataListenerInterfaceL(TUid /* interfaceUid */, TAny*& /* interface */)
-   {
-   }
-};
-
-
-DeviceOrientation* DeviceOrientation::instance()
-{
-    static SymbianOrientation *o = 0;
-    if (!o)
-        o = new SymbianOrientation;
-    return o;
-}
-
-#include "deviceorientation_symbian.moc"
diff --git a/share/qtcreator/qml/qmlobserver/loggerwidget.cpp b/share/qtcreator/qml/qmlobserver/loggerwidget.cpp
deleted file mode 100644
index 9700b45e879..00000000000
--- a/share/qtcreator/qml/qmlobserver/loggerwidget.cpp
+++ /dev/null
@@ -1,189 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include <qglobal.h>
-#include <QDebug>
-#include <QSettings>
-#include <QActionGroup>
-#include <QMenu>
-#include <QPlainTextEdit>
-#ifdef Q_WS_MAEMO_5
-#  include <QScrollArea>
-#  include <QVBoxLayout>
-#  include "texteditautoresizer_maemo5.h"
-#endif
-
-#include "loggerwidget.h"
-
-QT_BEGIN_NAMESPACE
-
-LoggerWidget::LoggerWidget(QWidget *parent) :
-    QMainWindow(parent),
-    m_visibilityOrigin(SettingsOrigin)
-{
-    setAttribute(Qt::WA_QuitOnClose, false);
-    setWindowTitle(tr("Warnings"));
-
-    m_plainTextEdit = new QPlainTextEdit();
-
-#ifdef Q_WS_MAEMO_5
-    new TextEditAutoResizer(m_plainTextEdit);
-    setAttribute(Qt::WA_Maemo5StackedWindow);
-    QScrollArea *area = new QScrollArea();
-    area->setWidget(m_plainTextEdit);
-    area->setWidgetResizable(true);
-    setCentralWidget(area);
-#else
-    setCentralWidget(m_plainTextEdit);
-#endif
-    readSettings();
-    setupPreferencesMenu();
-}
-
-void LoggerWidget::append(const QString &msg)
-{
-    m_plainTextEdit->appendPlainText(msg);
-
-    if (!isVisible() && (defaultVisibility() == AutoShowWarnings))
-        setVisible(true);
-}
-
-LoggerWidget::Visibility LoggerWidget::defaultVisibility() const
-{
-    return m_visibility;
-}
-
-void LoggerWidget::setDefaultVisibility(LoggerWidget::Visibility visibility)
-{
-    if (m_visibility == visibility)
-        return;
-
-    m_visibility = visibility;
-    m_visibilityOrigin = CommandLineOrigin;
-
-    m_preferencesMenu->setEnabled(m_visibilityOrigin == SettingsOrigin);
-}
-
-QMenu *LoggerWidget::preferencesMenu()
-{
-    return m_preferencesMenu;
-}
-
-QAction *LoggerWidget::showAction()
-{
-    return m_showWidgetAction;
-}
-
-void LoggerWidget::readSettings()
-{
-    QSettings settings;
-    QString warningsPreferences = settings.value("warnings", "hide").toString();
-    if (warningsPreferences == "show") {
-        m_visibility = ShowWarnings;
-    } else if (warningsPreferences == "hide") {
-        m_visibility = HideWarnings;
-    } else {
-        m_visibility = AutoShowWarnings;
-    }
-}
-
-void LoggerWidget::saveSettings()
-{
-    if (m_visibilityOrigin != SettingsOrigin)
-        return;
-
-    QString value = "autoShow";
-    if (defaultVisibility() == ShowWarnings) {
-        value = "show";
-    } else if (defaultVisibility() == HideWarnings) {
-        value = "hide";
-    }
-
-    QSettings settings;
-    settings.setValue("warnings", value);
-}
-
-void LoggerWidget::warningsPreferenceChanged(QAction *action)
-{
-    Visibility newSetting = static_cast<Visibility>(action->data().toInt());
-    m_visibility = newSetting;
-    saveSettings();
-}
-
-void LoggerWidget::showEvent(QShowEvent *event)
-{
-    QWidget::showEvent(event);
-    emit opened();
-}
-
-void LoggerWidget::closeEvent(QCloseEvent *event)
-{
-    QWidget::closeEvent(event);
-    emit closed();
-}
-
-void LoggerWidget::setupPreferencesMenu()
-{
-    m_preferencesMenu = new QMenu(tr("Warnings"));
-    QActionGroup *warnings = new QActionGroup(m_preferencesMenu);
-    warnings->setExclusive(true);
-
-    connect(warnings, SIGNAL(triggered(QAction*)), this, SLOT(warningsPreferenceChanged(QAction*)));
-
-    QAction *showWarningsPreference = new QAction(tr("Show by default"), m_preferencesMenu);
-    showWarningsPreference->setCheckable(true);
-    showWarningsPreference->setData(LoggerWidget::ShowWarnings);
-    warnings->addAction(showWarningsPreference);
-    m_preferencesMenu->addAction(showWarningsPreference);
-
-    QAction *hideWarningsPreference = new QAction(tr("Hide by default"), m_preferencesMenu);
-    hideWarningsPreference->setCheckable(true);
-    hideWarningsPreference->setData(LoggerWidget::HideWarnings);
-    warnings->addAction(hideWarningsPreference);
-    m_preferencesMenu->addAction(hideWarningsPreference);
-
-    QAction *autoWarningsPreference = new QAction(tr("Show for first warning"), m_preferencesMenu);
-    autoWarningsPreference->setCheckable(true);
-    autoWarningsPreference->setData(LoggerWidget::AutoShowWarnings);
-    warnings->addAction(autoWarningsPreference);
-    m_preferencesMenu->addAction(autoWarningsPreference);
-
-    switch (defaultVisibility()) {
-    case LoggerWidget::ShowWarnings:
-        showWarningsPreference->setChecked(true);
-        break;
-    case LoggerWidget::HideWarnings:
-        hideWarningsPreference->setChecked(true);
-        break;
-    default:
-        autoWarningsPreference->setChecked(true);
-    }
-}
-
-QT_END_NAMESPACE
diff --git a/share/qtcreator/qml/qmlobserver/loggerwidget.h b/share/qtcreator/qml/qmlobserver/loggerwidget.h
deleted file mode 100644
index 5461e20a085..00000000000
--- a/share/qtcreator/qml/qmlobserver/loggerwidget.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef LOGGERWIDGET_H
-#define LOGGERWIDGET_H
-
-#include <QMainWindow>
-#include <QMetaType>
-
-QT_BEGIN_NAMESPACE
-
-class QPlainTextEdit;
-class QMenu;
-class QAction;
-
-class LoggerWidget : public QMainWindow {
-    Q_OBJECT
-public:
-    LoggerWidget(QWidget *parent=0);
-
-    enum Visibility { ShowWarnings, HideWarnings, AutoShowWarnings };
-
-    Visibility defaultVisibility() const;
-    void setDefaultVisibility(Visibility visibility);
-
-    QMenu *preferencesMenu();
-    QAction *showAction();
-
-public slots:
-    void append(const QString &msg);
-
-private slots:
-    void warningsPreferenceChanged(QAction *action);
-    void readSettings();
-    void saveSettings();
-
-protected:
-    void showEvent(QShowEvent *event);
-    void closeEvent(QCloseEvent *event);
-
-signals:
-    void opened();
-    void closed();
-
-private:
-    void setupPreferencesMenu();
-
-    QMenu *m_preferencesMenu;
-    QAction *m_showWidgetAction;
-    QPlainTextEdit *m_plainTextEdit;
-
-    enum ConfigOrigin { CommandLineOrigin, SettingsOrigin };
-    ConfigOrigin m_visibilityOrigin;
-    Visibility m_visibility;
-};
-
-QT_END_NAMESPACE
-
-Q_DECLARE_METATYPE(LoggerWidget::Visibility)
-
-#endif // LOGGERWIDGET_H
diff --git a/share/qtcreator/qml/qmlobserver/main.cpp b/share/qtcreator/qml/qmlobserver/main.cpp
deleted file mode 100644
index 7f61c99ee3e..00000000000
--- a/share/qtcreator/qml/qmlobserver/main.cpp
+++ /dev/null
@@ -1,562 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "qdeclarative.h"
-#include "qmlruntime.h"
-#include "qdeclarativeengine.h"
-#include "loggerwidget.h"
-#include <QWidget>
-#include <QDir>
-#include <QApplication>
-#include <QTranslator>
-#include <QDebug>
-#include <QMessageBox>
-#include <QAtomicInt>
-#include "qdeclarativetester.h"
-#include "qt_private/qdeclarativedebughelper_p.h"
-
-QT_USE_NAMESPACE
-
-QtMsgHandler systemMsgOutput = 0;
-
-static QDeclarativeViewer *openFile(const QString &fileName);
-static void showViewer(QDeclarativeViewer *viewer);
-
-QWeakPointer<LoggerWidget> logger;
-
-QString warnings;
-void exitApp(int i)
-{
-#ifdef Q_OS_WIN
-    // Debugging output is not visible by default on Windows -
-    // therefore show modal dialog with errors instead.
-    if (!warnings.isEmpty()) {
-        QMessageBox::warning(0, QApplication::tr("Qt QML Viewer"), warnings);
-    }
-#endif
-    exit(i);
-}
-
-static QAtomicInt recursiveLock(0);
-
-void myMessageOutput(QtMsgType type, const char *msg)
-{
-    QString strMsg = QString::fromLatin1(msg);
-
-    if (!QCoreApplication::closingDown()) {
-        if (!logger.isNull()) {
-            if (recursiveLock.testAndSetOrdered(0, 1)) {
-                QMetaObject::invokeMethod(logger.data(), "append", Q_ARG(QString, strMsg));
-                recursiveLock = 0;
-            }
-        } else {
-            warnings += strMsg;
-            warnings += QLatin1Char('\n');
-        }
-    }
-    if (systemMsgOutput) { // Windows
-        systemMsgOutput(type, msg);
-    } else { // Unix
-        fprintf(stderr, "%s\n", msg);
-        fflush(stderr);
-    }
-}
-
-static QDeclarativeViewer* globalViewer = 0;
-
-// The qml file that is shown if the user didn't specify a QML file
-QString initialFile = "qrc:/startup/startup.qml";
-
-void usage()
-{
-    qWarning("Usage: qmlobserver [options] <filename>");
-    qWarning(" ");
-    qWarning(" options:");
-    qWarning("  -v, -version ............................. display version");
-    qWarning("  -frameless ............................... run with no window frame");
-    qWarning("  -maximized................................ run maximized");
-    qWarning("  -fullscreen............................... run fullscreen");
-    qWarning("  -stayontop................................ keep viewer window on top");
-    qWarning("  -sizeviewtorootobject .................... the view resizes to the changes in the content");
-    qWarning("  -sizerootobjecttoview .................... the content resizes to the changes in the view (default)");
-    qWarning("  -qmlbrowser .............................. use a QML-based file browser");
-    qWarning("  -warnings [show|hide]..................... show warnings in a separate log window");
-#ifndef NO_PRIVATE_HEADERS
-    qWarning("  -recordfile <output> ..................... set video recording file");
-    qWarning("                                              - ImageMagick 'convert' for GIF)");
-    qWarning("                                              - png file for raw frames");
-    qWarning("                                              - 'ffmpeg' for other formats");
-    qWarning("  -recorddither ordered|threshold|floyd .... set GIF dither recording mode");
-    qWarning("  -recordrate <fps> ........................ set recording frame rate");
-    qWarning("  -record arg .............................. add a recording process argument");
-    qWarning("  -autorecord [from-]<tomilliseconds> ...... set recording to start and stop");
-#endif
-    qWarning("  -devicekeys .............................. use numeric keys (see F1)");
-    qWarning("  -dragthreshold <size> .................... set mouse drag threshold size");
-    qWarning("  -netcache <size> ......................... set disk cache to size bytes");
-    qWarning("  -translation <translationfile> ........... set the language to run in");
-    qWarning("  -I <directory> ........................... prepend to the module import search path,");
-    qWarning("                                             display path if <directory> is empty");
-    qWarning("  -P <directory> ........................... prepend to the plugin search path");
-#if defined(Q_OS_MAC)
-    qWarning("  -no-opengl ............................... don't use a QGLWidget for the viewport");
-#else
-    qWarning("  -opengl .................................. use a QGLWidget for the viewport");
-#endif
-#ifndef NO_PRIVATE_HEADERS
-    qWarning("  -script <path> ........................... set the script to use");
-    qWarning("  -scriptopts <options>|help ............... set the script options to use");
-#endif
-
-    qWarning(" ");
-    qWarning(" Press F1 for interactive help");
-
-    exitApp(1);
-}
-
-void scriptOptsUsage()
-{
-    qWarning("Usage: qmlobserver -scriptopts <option>[,<option>...] ...");
-    qWarning(" options:");
-    qWarning("  record ................................... record a new script");
-    qWarning("  play ..................................... playback an existing script");
-    qWarning("  testimages ............................... record images or compare images on playback");
-    qWarning("  testerror ................................ test 'error' property of root item on playback");
-    qWarning("  testskip  ................................ test 'skip' property of root item on playback");
-    qWarning("  snapshot ................................. file being recorded is static,");
-    qWarning("                                             only one frame will be recorded or tested");
-    qWarning("  exitoncomplete ........................... cleanly exit the viewer on script completion");
-    qWarning("  exitonfailure ............................ immediately exit the viewer on script failure");
-    qWarning("  saveonexit ............................... save recording on viewer exit");
-    qWarning(" ");
-    qWarning(" One of record, play or both must be specified.");
-
-    exitApp(1);
-}
-
-enum WarningsConfig { ShowWarnings, HideWarnings, DefaultWarnings };
-
-struct ViewerOptions
-{
-    ViewerOptions()
-        : frameless(false),
-          fps(0.0),
-          autorecord_from(0),
-          autorecord_to(0),
-          dither("none"),
-          runScript(false),
-          devkeys(false),
-          cache(0),
-          useGL(false),
-          fullScreen(false),
-          stayOnTop(false),
-          maximized(false),
-          useNativeFileBrowser(true),
-          experimentalGestures(false),
-          warningsConfig(DefaultWarnings),
-          sizeToView(true)
-    {
-#if defined(Q_OS_MAC)
-        useGL = true;
-#endif
-    }
-
-    bool frameless;
-    double fps;
-    int autorecord_from;
-    int autorecord_to;
-    QString dither;
-    QString recordfile;
-    QStringList recordargs;
-    QStringList imports;
-    QStringList plugins;
-    QString script;
-    QString scriptopts;
-    bool runScript;
-    bool devkeys;
-    int cache;
-    QString translationFile;
-    bool useGL;
-    bool fullScreen;
-    bool stayOnTop;
-    bool maximized;
-    bool useNativeFileBrowser;
-    bool experimentalGestures;
-
-    WarningsConfig warningsConfig;
-    bool sizeToView;
-
-    QDeclarativeViewer::ScriptOptions scriptOptions;
-};
-
-static ViewerOptions opts;
-static QStringList fileNames;
-
-class Application : public QApplication
-{
-    Q_OBJECT
-public:
-    Application(int &argc, char **&argv)
-        : QApplication(argc, argv)
-    {}
-
-protected:
-    bool event(QEvent *ev)
-    {
-        if (ev->type() != QEvent::FileOpen)
-            return QApplication::event(ev);
-
-        QFileOpenEvent *fev = static_cast<QFileOpenEvent *>(ev);
-
-        globalViewer->open(fev->file());
-        if (!globalViewer->isVisible())
-            showViewer(globalViewer);
-
-        return true;
-    }
-
-private Q_SLOTS:
-    void showInitialViewer()
-    {
-        QApplication::processEvents();
-
-        QDeclarativeViewer *viewer = globalViewer;
-        if (!viewer)
-            return;
-        if (viewer->currentFile().isEmpty()) {
-            if(opts.useNativeFileBrowser)
-                viewer->open(initialFile);
-            else
-                viewer->openFile();
-        }
-        if (!viewer->isVisible())
-            showViewer(viewer);
-    }
-};
-
-static void parseScriptOptions()
-{
-    QStringList options =
-        opts.scriptopts.split(QLatin1Char(','), QString::SkipEmptyParts);
-
-    QDeclarativeViewer::ScriptOptions scriptOptions = 0;
-    for (int i = 0; i < options.count(); ++i) {
-        const QString &option = options.at(i);
-        if (option == QLatin1String("help")) {
-            scriptOptsUsage();
-        } else if (option == QLatin1String("play")) {
-            scriptOptions |= QDeclarativeViewer::Play;
-        } else if (option == QLatin1String("record")) {
-            scriptOptions |= QDeclarativeViewer::Record;
-        } else if (option == QLatin1String("testimages")) {
-            scriptOptions |= QDeclarativeViewer::TestImages;
-        } else if (option == QLatin1String("testerror")) {
-            scriptOptions |= QDeclarativeViewer::TestErrorProperty;
-        } else if (option == QLatin1String("testskip")) {
-            scriptOptions |= QDeclarativeViewer::TestSkipProperty;
-        } else if (option == QLatin1String("exitoncomplete")) {
-            scriptOptions |= QDeclarativeViewer::ExitOnComplete;
-        } else if (option == QLatin1String("exitonfailure")) {
-            scriptOptions |= QDeclarativeViewer::ExitOnFailure;
-        } else if (option == QLatin1String("saveonexit")) {
-            scriptOptions |= QDeclarativeViewer::SaveOnExit;
-        } else if (option == QLatin1String("snapshot")) {
-            scriptOptions |= QDeclarativeViewer::Snapshot;
-        } else {
-            scriptOptsUsage();
-        }
-    }
-
-    opts.scriptOptions = scriptOptions;
-}
-
-static void parseCommandLineOptions(const QStringList &arguments)
-{
-    for (int i = 1; i < arguments.count(); ++i) {
-        bool lastArg = (i == arguments.count() - 1);
-        QString arg = arguments.at(i);
-        if (arg == "-frameless") {
-            opts.frameless = true;
-        } else if (arg == "-maximized") {
-            opts.maximized = true;
-        } else if (arg == "-fullscreen") {
-            opts.fullScreen = true;
-        } else if (arg == "-stayontop") {
-            opts.stayOnTop = true;
-        } else if (arg == "-netcache") {
-            if (lastArg) usage();
-            opts.cache = arguments.at(++i).toInt();
-        } else if (arg == "-recordrate") {
-            if (lastArg) usage();
-            opts.fps = arguments.at(++i).toDouble();
-        } else if (arg == "-recordfile") {
-            if (lastArg) usage();
-            opts.recordfile = arguments.at(++i);
-        } else if (arg == "-record") {
-            if (lastArg) usage();
-            opts.recordargs << arguments.at(++i);
-        } else if (arg == "-recorddither") {
-            if (lastArg) usage();
-            opts.dither = arguments.at(++i);
-        } else if (arg == "-autorecord") {
-            if (lastArg) usage();
-            QString range = arguments.at(++i);
-            int dash = range.indexOf('-');
-            if (dash > 0)
-                opts.autorecord_from = range.left(dash).toInt();
-            opts.autorecord_to = range.mid(dash+1).toInt();
-        } else if (arg == "-devicekeys") {
-            opts.devkeys = true;
-        } else if (arg == "-dragthreshold") {
-            if (lastArg) usage();
-            qApp->setStartDragDistance(arguments.at(++i).toInt());
-        } else if (arg == QLatin1String("-v") || arg == QLatin1String("-version")) {
-            qWarning("Qt QML Viewer version %s", qVersion());
-            exitApp(0);
-        } else if (arg == "-translation") {
-            if (lastArg) usage();
-            opts.translationFile = arguments.at(++i);
-#if defined(Q_OS_MAC)
-        } else if (arg == "-no-opengl") {
-            opts.useGL = false;
-#else
-        } else if (arg == "-opengl") {
-            opts.useGL = true;
-#endif
-        } else if (arg == "-qmlbrowser") {
-            opts.useNativeFileBrowser = false;
-        } else if (arg == "-warnings") {
-            if (lastArg) usage();
-            QString warningsStr = arguments.at(++i);
-            if (warningsStr == QLatin1String("show")) {
-                opts.warningsConfig = ShowWarnings;
-            } else if (warningsStr == QLatin1String("hide")) {
-                opts.warningsConfig = HideWarnings;
-            } else {
-                usage();
-            }
-        } else if (arg == "-I" || arg == "-L") {
-            if (arg == "-L")
-                qWarning("-L option provided for compatibility only, use -I instead");
-            if (lastArg) {
-                QDeclarativeEngine tmpEngine;
-                QString paths = tmpEngine.importPathList().join(QLatin1String(":"));
-                qWarning("Current search path: %s", paths.toLocal8Bit().constData());
-                exitApp(0);
-            }
-            opts.imports << arguments.at(++i);
-        } else if (arg == "-P") {
-            if (lastArg) usage();
-            opts.plugins << arguments.at(++i);
-        } else if (arg == "-script") {
-            if (lastArg) usage();
-            opts.script = arguments.at(++i);
-        } else if (arg == "-scriptopts") {
-            if (lastArg) usage();
-            opts.scriptopts = arguments.at(++i);
-        } else if (arg == "-savescript") {
-            if (lastArg) usage();
-            opts.script = arguments.at(++i);
-            opts.runScript = false;
-        } else if (arg == "-playscript") {
-            if (lastArg) usage();
-            opts.script = arguments.at(++i);
-            opts.runScript = true;
-        } else if (arg == "-sizeviewtorootobject") {
-            opts.sizeToView = false;
-        } else if (arg == "-sizerootobjecttoview") {
-            opts.sizeToView = true;
-        } else if (arg == "-experimentalgestures") {
-            opts.experimentalGestures = true;
-        } else if (!arg.startsWith('-')) {
-            fileNames.append(arg);
-        } else if (true || arg == "-help") {
-            usage();
-        }
-    }
-
-    if (!opts.scriptopts.isEmpty()) {
-
-        parseScriptOptions();
-
-        if (opts.script.isEmpty())
-            usage();
-
-        if (!(opts.scriptOptions & QDeclarativeViewer::Record) && !(opts.scriptOptions & QDeclarativeViewer::Play))
-            scriptOptsUsage();
-    }  else if (!opts.script.isEmpty()) {
-        usage();
-    }
-
-}
-
-static QDeclarativeViewer *createViewer()
-{
-    Qt::WFlags wflags = (opts.frameless ? Qt::FramelessWindowHint : Qt::Widget);
-    if (opts.stayOnTop)
-        wflags |= Qt::WindowStaysOnTopHint;
-
-    QDeclarativeViewer *viewer = new QDeclarativeViewer(0, wflags);
-    viewer->setAttribute(Qt::WA_DeleteOnClose, true);
-    viewer->setUseGL(opts.useGL);
-
-    if (!opts.scriptopts.isEmpty()) {
-        viewer->setScriptOptions(opts.scriptOptions);
-        viewer->setScript(opts.script);
-    }
-
-    logger = viewer->warningsWidget();
-    if (opts.warningsConfig == ShowWarnings) {
-        logger.data()->setDefaultVisibility(LoggerWidget::ShowWarnings);
-        logger.data()->show();
-    } else if (opts.warningsConfig == HideWarnings){
-        logger.data()->setDefaultVisibility(LoggerWidget::HideWarnings);
-    }
-
-    if (opts.experimentalGestures)
-        viewer->enableExperimentalGestures();
-
-    foreach (const QString &lib, opts.imports)
-        viewer->addLibraryPath(lib);
-
-    foreach (const QString &plugin, opts.plugins)
-        viewer->addPluginPath(plugin);
-
-    viewer->setNetworkCacheSize(opts.cache);
-    viewer->setRecordFile(opts.recordfile);
-    viewer->setSizeToView(opts.sizeToView);
-    if (opts.fps > 0)
-        viewer->setRecordRate(opts.fps);
-    if (opts.autorecord_to)
-        viewer->setAutoRecord(opts.autorecord_from, opts.autorecord_to);
-    if (opts.devkeys)
-        viewer->setDeviceKeys(true);
-    viewer->setRecordDither(opts.dither);
-    if (opts.recordargs.count())
-        viewer->setRecordArgs(opts.recordargs);
-
-    viewer->setUseNativeFileBrowser(opts.useNativeFileBrowser);
-
-    return viewer;
-}
-
-void showViewer(QDeclarativeViewer *viewer)
-{
-    if (opts.fullScreen)
-        viewer->showFullScreen();
-    else if (opts.maximized)
-        viewer->showMaximized();
-    else
-        viewer->show();
-    viewer->raise();
-}
-
-QDeclarativeViewer *openFile(const QString &fileName)
-{
-    QDeclarativeViewer *viewer = globalViewer;
-
-    viewer->open(fileName);
-    showViewer(viewer);
-
-    return viewer;
-}
-
-int main(int argc, char ** argv)
-{
-    systemMsgOutput = qInstallMsgHandler(myMessageOutput);
-
-#if defined (Q_WS_X11) || defined (Q_OS_MAC)
-    //### default to using raster graphics backend for now
-    bool gsSpecified = false;
-    for (int i = 0; i < argc; ++i) {
-        QString arg = argv[i];
-        if (arg == "-graphicssystem") {
-            gsSpecified = true;
-            break;
-        }
-    }
-
-    if (!gsSpecified)
-        QApplication::setGraphicsSystem("raster");
-#endif
-
-    Application app(argc, argv);
-    app.setApplicationName("QtQmlViewer");
-    app.setOrganizationName("QtProject");
-    app.setOrganizationDomain("qt-project.org");
-
-    QDeclarativeViewer::registerTypes();
-    QDeclarativeTester::registerTypes();
-
-    parseCommandLineOptions(app.arguments());
-
-    QTranslator qmlTranslator;
-    if (!opts.translationFile.isEmpty()) {
-        qmlTranslator.load(opts.translationFile);
-        app.installTranslator(&qmlTranslator);
-    }
-
-    if (opts.fullScreen && opts.maximized)
-        qWarning() << "Both -fullscreen and -maximized specified. Using -fullscreen.";
-
-    if (fileNames.isEmpty()) {
-        QFile qmlapp(QLatin1String("qmlapp"));
-        if (qmlapp.exists() && qmlapp.open(QFile::ReadOnly)) {
-            QString content = QString::fromUtf8(qmlapp.readAll());
-            qmlapp.close();
-
-            int newline = content.indexOf(QLatin1Char('\n'));
-            if (newline >= 0)
-                fileNames += content.left(newline);
-            else
-                fileNames += content;
-        }
-    }
-
-    //enable remote debugging
-    QDeclarativeDebugHelper::enableDebugging();
-
-    globalViewer = createViewer();
-
-    if (fileNames.isEmpty()) {
-        // show the initial viewer delayed.
-        // This prevents an initial viewer popping up while there
-        // are FileOpen events coming through the event queue
-        QTimer::singleShot(1, &app, SLOT(showInitialViewer()));
-    } else {
-        foreach (const QString &fileName, fileNames)
-            openFile(fileName);
-    }
-
-    QObject::connect(&app, SIGNAL(lastWindowClosed()), &app, SLOT(quit()));
-
-    return app.exec();
-}
-
-#include "main.moc"
diff --git a/share/qtcreator/qml/qmlobserver/proxysettings.cpp b/share/qtcreator/qml/qmlobserver/proxysettings.cpp
deleted file mode 100644
index 473ec01c2b3..00000000000
--- a/share/qtcreator/qml/qmlobserver/proxysettings.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include <QIntValidator>
-#include <QSettings>
-
-#include "proxysettings.h"
-
-QT_BEGIN_NAMESPACE
-
-ProxySettings::ProxySettings (QWidget * parent)
-    : QDialog (parent), Ui::ProxySettings()
-{
-    setupUi (this);
-
-#if !defined Q_WS_MAEMO_5
-    // the onscreen keyboard can't cope with masks
-    proxyServerEdit->setInputMask ("000.000.000.000;_");
-#endif
-    QIntValidator *validator = new QIntValidator (0, 9999, this);
-    proxyPortEdit->setValidator (validator);
-
-    QSettings settings;
-    proxyCheckBox->setChecked (settings.value ("http_proxy/use", 0).toBool ());
-    proxyServerEdit->insert (settings.value ("http_proxy/hostname", "").toString ());
-    proxyPortEdit->insert (settings.value ("http_proxy/port", "80").toString ());
-    usernameEdit->insert (settings.value ("http_proxy/username", "").toString ());
-    passwordEdit->insert (settings.value ("http_proxy/password", "").toString ());
-}
-
-ProxySettings::~ProxySettings()
-{
-}
-
-void ProxySettings::accept ()
-{
-    QSettings settings;
-
-    settings.setValue ("http_proxy/use", proxyCheckBox->isChecked ());
-    settings.setValue ("http_proxy/hostname", proxyServerEdit->text ());
-    settings.setValue ("http_proxy/port", proxyPortEdit->text ());
-    settings.setValue ("http_proxy/username", usernameEdit->text ());
-    settings.setValue ("http_proxy/password", passwordEdit->text ());
-
-    QDialog::accept ();
-}
-
-QNetworkProxy ProxySettings::httpProxy ()
-{
-    QSettings settings;
-    QNetworkProxy proxy;
-
-    bool proxyInUse = settings.value ("http_proxy/use", 0).toBool ();
-    if (proxyInUse) {
-        proxy.setType (QNetworkProxy::HttpProxy);
-        proxy.setHostName (settings.value ("http_proxy/hostname", "").toString ());// "192.168.220.5"
-        proxy.setPort (settings.value ("http_proxy/port", 80).toInt ());  // 8080
-        proxy.setUser (settings.value ("http_proxy/username", "").toString ());
-        proxy.setPassword (settings.value ("http_proxy/password", "").toString ());
-        //QNetworkProxy::setApplicationProxy (proxy);
-    } else {
-        proxy.setType (QNetworkProxy::NoProxy);
-    }
-    return proxy;
-}
-
-bool ProxySettings::httpProxyInUse()
-{
-    QSettings settings;
-    return settings.value ("http_proxy/use", 0).toBool ();
-}
-
-QT_END_NAMESPACE
diff --git a/share/qtcreator/qml/qmlobserver/proxysettings.h b/share/qtcreator/qml/qmlobserver/proxysettings.h
deleted file mode 100644
index 95f224df41a..00000000000
--- a/share/qtcreator/qml/qmlobserver/proxysettings.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef PROXYSETTINGS_H
-#define PROXYSETTINGS_H
-
-#include <QDialog>
-#include <QNetworkProxy>
-#ifdef Q_WS_MAEMO_5
-#include "ui_proxysettings_maemo5.h"
-#else
-#include "ui_proxysettings.h"
-#endif
-
-QT_BEGIN_NAMESPACE
-/**
-*/
-class ProxySettings : public QDialog, public Ui::ProxySettings
-{
-
-Q_OBJECT
-
-public:
-    ProxySettings(QWidget * parent = 0);
-
-    ~ProxySettings();
-
-    static QNetworkProxy httpProxy ();
-    static bool httpProxyInUse ();
-
-public slots:
-    virtual void accept ();
-};
-
-QT_END_NAMESPACE
-
-#endif // PROXYSETTINGS_H
diff --git a/share/qtcreator/qml/qmlobserver/proxysettings.ui b/share/qtcreator/qml/qmlobserver/proxysettings.ui
deleted file mode 100644
index 84e39fe03db..00000000000
--- a/share/qtcreator/qml/qmlobserver/proxysettings.ui
+++ /dev/null
@@ -1,115 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ProxySettings</class>
- <widget class="QDialog" name="ProxySettings">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>318</width>
-    <height>199</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Dialog</string>
-  </property>
-  <layout class="QGridLayout" name="gridLayout">
-   <item row="0" column="0" colspan="2">
-    <widget class="QCheckBox" name="proxyCheckBox">
-     <property name="text">
-      <string>Use http proxy</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="0">
-    <widget class="QLabel" name="serverAddressLabel">
-     <property name="text">
-      <string>Server Address:</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="1">
-    <widget class="QLineEdit" name="proxyServerEdit"/>
-   </item>
-   <item row="2" column="0">
-    <widget class="QLabel" name="label">
-     <property name="text">
-      <string>Port:</string>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="1">
-    <widget class="QLineEdit" name="proxyPortEdit"/>
-   </item>
-   <item row="3" column="0">
-    <widget class="QLabel" name="usernameLabel">
-     <property name="text">
-      <string>Username:</string>
-     </property>
-    </widget>
-   </item>
-   <item row="3" column="1">
-    <widget class="QLineEdit" name="usernameEdit"/>
-   </item>
-   <item row="4" column="0">
-    <widget class="QLabel" name="passwordLabel">
-     <property name="text">
-      <string>Password:</string>
-     </property>
-    </widget>
-   </item>
-   <item row="4" column="1">
-    <widget class="QLineEdit" name="passwordEdit">
-     <property name="echoMode">
-      <enum>QLineEdit::Password</enum>
-     </property>
-    </widget>
-   </item>
-   <item row="5" column="0" colspan="2">
-    <widget class="QDialogButtonBox" name="buttonBox">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="standardButtons">
-      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections>
-  <connection>
-   <sender>buttonBox</sender>
-   <signal>accepted()</signal>
-   <receiver>ProxySettings</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>248</x>
-     <y>254</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>157</x>
-     <y>274</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>buttonBox</sender>
-   <signal>rejected()</signal>
-   <receiver>ProxySettings</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>316</x>
-     <y>260</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>286</x>
-     <y>274</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/share/qtcreator/qml/qmlobserver/proxysettings_maemo5.ui b/share/qtcreator/qml/qmlobserver/proxysettings_maemo5.ui
deleted file mode 100644
index 83f0c2a9de2..00000000000
--- a/share/qtcreator/qml/qmlobserver/proxysettings_maemo5.ui
+++ /dev/null
@@ -1,177 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>ProxySettings</class>
- <widget class="QDialog" name="ProxySettings">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>449</width>
-    <height>164</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>HTTP Proxy</string>
-  </property>
-  <layout class="QGridLayout" name="gridLayout_2">
-   <property name="leftMargin">
-    <number>16</number>
-   </property>
-   <property name="topMargin">
-    <number>0</number>
-   </property>
-   <property name="rightMargin">
-    <number>16</number>
-   </property>
-   <property name="bottomMargin">
-    <number>8</number>
-   </property>
-   <property name="horizontalSpacing">
-    <number>16</number>
-   </property>
-   <property name="verticalSpacing">
-    <number>0</number>
-   </property>
-   <item row="0" column="0">
-    <widget class="QCheckBox" name="proxyCheckBox">
-     <property name="text">
-      <string>Use HTTP Proxy</string>
-     </property>
-    </widget>
-   </item>
-   <item row="0" column="1" rowspan="2">
-    <spacer name="verticalSpacer">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>20</width>
-       <height>40</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item row="1" column="0" rowspan="2">
-    <widget class="QWidget" name="widget" native="true">
-     <layout class="QGridLayout" name="gridLayout">
-      <property name="horizontalSpacing">
-       <number>16</number>
-      </property>
-      <property name="verticalSpacing">
-       <number>0</number>
-      </property>
-      <property name="margin">
-       <number>0</number>
-      </property>
-      <item row="0" column="0">
-       <widget class="QLabel" name="serverAddressLabel">
-        <property name="text">
-         <string>Server</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="1">
-       <widget class="QLineEdit" name="proxyServerEdit">
-        <property name="placeholderText">
-         <string>Name or IP</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QLabel" name="label">
-        <property name="text">
-         <string>Port</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="1">
-       <widget class="QLineEdit" name="proxyPortEdit">
-        <property name="text">
-         <string>8080</string>
-        </property>
-       </widget>
-      </item>
-      <item row="2" column="0">
-       <widget class="QLabel" name="usernameLabel">
-        <property name="text">
-         <string>Username</string>
-        </property>
-       </widget>
-      </item>
-      <item row="2" column="1">
-       <widget class="QLineEdit" name="usernameEdit"/>
-      </item>
-      <item row="3" column="0">
-       <widget class="QLabel" name="passwordLabel">
-        <property name="text">
-         <string>Password</string>
-        </property>
-       </widget>
-      </item>
-      <item row="3" column="1">
-       <widget class="QLineEdit" name="passwordEdit">
-        <property name="echoMode">
-         <enum>QLineEdit::Password</enum>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item row="2" column="1">
-    <widget class="QDialogButtonBox" name="buttonBox">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="standardButtons">
-      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <tabstops>
-  <tabstop>proxyCheckBox</tabstop>
-  <tabstop>proxyServerEdit</tabstop>
-  <tabstop>proxyPortEdit</tabstop>
-  <tabstop>usernameEdit</tabstop>
-  <tabstop>passwordEdit</tabstop>
-  <tabstop>buttonBox</tabstop>
- </tabstops>
- <resources/>
- <connections>
-  <connection>
-   <sender>buttonBox</sender>
-   <signal>accepted()</signal>
-   <receiver>ProxySettings</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>318</x>
-     <y>100</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>157</x>
-     <y>116</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>buttonBox</sender>
-   <signal>rejected()</signal>
-   <receiver>ProxySettings</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>318</x>
-     <y>100</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>286</x>
-     <y>116</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
-</ui>
diff --git a/share/qtcreator/qml/qmlobserver/qdeclarativetester.cpp b/share/qtcreator/qml/qmlobserver/qdeclarativetester.cpp
deleted file mode 100644
index adcbaf76154..00000000000
--- a/share/qtcreator/qml/qmlobserver/qdeclarativetester.cpp
+++ /dev/null
@@ -1,445 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include <qdeclarativetester.h>
-#include <qdeclarativeview.h>
-#include <QDeclarativeComponent>
-#include <QGraphicsObject>
-#include <QApplication>
-#include <QDebug>
-#include <QFile>
-#include <QDir>
-#include <QCryptographicHash>
-
-#ifndef NO_PRIVATE_HEADERS
-#include <private/qabstractanimation_p.h>
-#include <private/qdeclarativeitem_p.h>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-extern Q_GUI_EXPORT bool qt_applefontsmoothing_enabled;
-
-QDeclarativeTester::QDeclarativeTester(const QString &script, QDeclarativeViewer::ScriptOptions opts,
-                     QDeclarativeView *parent)
-: QAbstractAnimation(parent), m_script(script), m_view(parent), filterEvents(true), options(opts),
-  testscript(0), hasCompleted(false), hasFailed(false)
-{
-    parent->viewport()->installEventFilter(this);
-    parent->installEventFilter(this);
-#ifndef NO_PRIVATE_HEADERS
-    QUnifiedTimer::instance()->setConsistentTiming(true);
-#endif
-
-    //Font antialiasing makes tests system-specific, so disable it
-    QFont noAA = QApplication::font();
-    noAA.setStyleStrategy(QFont::NoAntialias);
-    QApplication::setFont(noAA);
-
-    if (options & QDeclarativeViewer::Play)
-        this->run();
-    start();
-}
-
-QDeclarativeTester::~QDeclarativeTester()
-{
-    if (!hasFailed &&
-        options & QDeclarativeViewer::Record &&
-        options & QDeclarativeViewer::SaveOnExit)
-        save();
-}
-
-int QDeclarativeTester::duration() const
-{
-    return -1;
-}
-
-void QDeclarativeTester::addMouseEvent(Destination dest, QMouseEvent *me)
-{
-    MouseEvent e(me);
-    e.destination = dest;
-    m_mouseEvents << e;
-}
-
-void QDeclarativeTester::addKeyEvent(Destination dest, QKeyEvent *ke)
-{
-    KeyEvent e(ke);
-    e.destination = dest;
-    m_keyEvents << e;
-}
-
-bool QDeclarativeTester::eventFilter(QObject *o, QEvent *e)
-{
-    if (!filterEvents)
-        return false;
-
-    Destination destination;
-    if (o == m_view) {
-        destination = View;
-    } else if (o == m_view->viewport()) {
-        destination = ViewPort;
-    } else {
-        return false;
-    }
-
-    switch (e->type()) {
-        case QEvent::KeyPress:
-        case QEvent::KeyRelease:
-            addKeyEvent(destination, (QKeyEvent *)e);
-            return true;
-        case QEvent::MouseButtonPress:
-        case QEvent::MouseButtonRelease:
-        case QEvent::MouseMove:
-        case QEvent::MouseButtonDblClick:
-            addMouseEvent(destination, (QMouseEvent *)e);
-            return true;
-        default:
-            break;
-    }
-    return false;
-}
-
-void QDeclarativeTester::executefailure()
-{
-    hasFailed = true;
-
-    if (options & QDeclarativeViewer::ExitOnFailure)
-        exit(-1);
-}
-
-void QDeclarativeTester::imagefailure()
-{
-    hasFailed = true;
-
-    if (options & QDeclarativeViewer::ExitOnFailure){
-        testSkip();
-        exit(hasFailed?-1:0);
-    }
-}
-
-void QDeclarativeTester::testSkip()
-{
-    if (options & QDeclarativeViewer::TestSkipProperty){
-        QString e = m_view->rootObject()->property("skip").toString();
-        if (!e.isEmpty()) {
-            if(hasFailed){
-                qWarning() << "Test failed, but skipping it: " << e;
-            }else{
-                qWarning() << "Test skipped: " << e;
-            }
-            hasFailed = 0;
-        }
-    }
-}
-
-void QDeclarativeTester::complete()
-{
-    if ((options & QDeclarativeViewer::TestErrorProperty) && !hasFailed) {
-        QString e = m_view->rootObject()->property("error").toString();
-        if (!e.isEmpty()) {
-            qWarning() << "Test failed:" << e;
-            hasFailed = true;
-        }
-    }
-
-
-    testSkip();
-    if (options & QDeclarativeViewer::ExitOnComplete)
-        QApplication::exit(hasFailed?-1:0);
-
-    if (hasCompleted)
-        return;
-    hasCompleted = true;
-
-    if (options & QDeclarativeViewer::Play)
-        qWarning("Script playback complete");
-}
-
-void QDeclarativeTester::run()
-{
-    QDeclarativeComponent c(m_view->engine(), m_script + QLatin1String(".qml"));
-
-    testscript = qobject_cast<QDeclarativeVisualTest *>(c.create());
-    if (testscript) testscript->setParent(this);
-    else { executefailure(); exit(-1); }
-    testscriptidx = 0;
-}
-
-void QDeclarativeTester::save()
-{
-    QString filename = m_script + QLatin1String(".qml");
-    QFileInfo filenameInfo(filename);
-    QDir saveDir = filenameInfo.absoluteDir();
-    saveDir.mkpath(".");
-
-    QFile file(filename);
-    file.open(QIODevice::WriteOnly);
-    QTextStream ts(&file);
-
-    ts << "import Qt.VisualTest 4.7\n\n";
-    ts << "VisualTest {\n";
-
-    int imgCount = 0;
-    QList<KeyEvent> keyevents = m_savedKeyEvents;
-    QList<MouseEvent> mouseevents = m_savedMouseEvents;
-    for (int ii = 0; ii < m_savedFrameEvents.count(); ++ii) {
-        const FrameEvent &fe = m_savedFrameEvents.at(ii);
-        ts << "    Frame {\n";
-        ts << "        msec: " << fe.msec << "\n";
-        if (!fe.hash.isEmpty()) {
-            ts << "        hash: \"" << fe.hash.toHex() << "\"\n";
-        } else if (!fe.image.isNull()) {
-            QString filename = filenameInfo.baseName() + QLatin1Char('.')
-                               + QString::number(imgCount) + ".png";
-            fe.image.save(m_script + QLatin1Char('.') + QString::number(imgCount) + ".png");
-            imgCount++;
-            ts << "        image: \"" << filename << "\"\n";
-        }
-        ts << "    }\n";
-
-        while (!mouseevents.isEmpty() &&
-               mouseevents.first().msec == fe.msec) {
-            MouseEvent me = mouseevents.takeFirst();
-
-            ts << "    Mouse {\n";
-            ts << "        type: " << me.type << "\n";
-            ts << "        button: " << me.button << "\n";
-            ts << "        buttons: " << me.buttons << "\n";
-            ts << "        x: " << me.pos.x() << "; y: " << me.pos.y() << "\n";
-            ts << "        modifiers: " << me.modifiers << "\n";
-            if (me.destination == ViewPort)
-                ts << "        sendToViewport: true\n";
-            ts << "    }\n";
-        }
-
-        while (!keyevents.isEmpty() &&
-               keyevents.first().msec == fe.msec) {
-            KeyEvent ke = keyevents.takeFirst();
-
-            ts << "    Key {\n";
-            ts << "        type: " << ke.type << "\n";
-            ts << "        key: " << ke.key << "\n";
-            ts << "        modifiers: " << ke.modifiers << "\n";
-            ts << "        text: \"" << ke.text.toUtf8().toHex() << "\"\n";
-            ts << "        autorep: " << (ke.autorep?"true":"false") << "\n";
-            ts << "        count: " << ke.count << "\n";
-            if (ke.destination == ViewPort)
-                ts << "        sendToViewport: true\n";
-            ts << "    }\n";
-        }
-    }
-
-    ts << "}\n";
-    file.close();
-}
-
-void QDeclarativeTester::updateCurrentTime(int msec)
-{
-#ifndef NO_PRIVATE_HEADERS
-    QDeclarativeItemPrivate::setConsistentTime(msec);
-#endif
-    if (!testscript && msec > 16 && options & QDeclarativeViewer::Snapshot)
-        return;
-
-    QImage img(m_view->width(), m_view->height(), QImage::Format_RGB32);
-
-    if (options & QDeclarativeViewer::TestImages) {
-        img.fill(qRgb(255,255,255));
-
-#ifdef Q_OS_MAC
-        bool oldSmooth = qt_applefontsmoothing_enabled;
-        qt_applefontsmoothing_enabled = false;
-#endif
-        QPainter p(&img);
-#ifdef Q_OS_MAC
-        qt_applefontsmoothing_enabled = oldSmooth;
-#endif
-
-        m_view->render(&p);
-    }
-
-    bool snapshot = msec == 16 && (options & QDeclarativeViewer::Snapshot
-                                   || (testscript && testscript->count() == 2));
-
-    FrameEvent fe;
-    fe.msec = msec;
-    if (msec == 0 || !(options & QDeclarativeViewer::TestImages)) {
-        // Skip first frame, skip if not doing images
-    } else if (0 == ((m_savedFrameEvents.count()-1) % 60) || snapshot) {
-        fe.image = img;
-    } else {
-        QCryptographicHash hash(QCryptographicHash::Md5);
-        hash.addData((const char *)img.bits(), img.bytesPerLine() * img.height());
-        fe.hash = hash.result();
-    }
-    m_savedFrameEvents.append(fe);
-
-    // Deliver mouse events
-    filterEvents = false;
-
-    if (!testscript) {
-        for (int ii = 0; ii < m_mouseEvents.count(); ++ii) {
-            MouseEvent &me = m_mouseEvents[ii];
-            me.msec = msec;
-            QMouseEvent event(me.type, me.pos, me.button, me.buttons, me.modifiers);
-
-            if (me.destination == View) {
-                QCoreApplication::sendEvent(m_view, &event);
-            } else {
-                QCoreApplication::sendEvent(m_view->viewport(), &event);
-            }
-        }
-
-        for (int ii = 0; ii < m_keyEvents.count(); ++ii) {
-            KeyEvent &ke = m_keyEvents[ii];
-            ke.msec = msec;
-            QKeyEvent event(ke.type, ke.key, ke.modifiers, ke.text, ke.autorep, ke.count);
-
-            if (ke.destination == View) {
-                QCoreApplication::sendEvent(m_view, &event);
-            } else {
-                QCoreApplication::sendEvent(m_view->viewport(), &event);
-            }
-        }
-        m_savedMouseEvents.append(m_mouseEvents);
-        m_savedKeyEvents.append(m_keyEvents);
-    }
-
-    m_mouseEvents.clear();
-    m_keyEvents.clear();
-
-    // Advance test script
-    while (testscript && testscript->count() > testscriptidx) {
-
-        QObject *event = testscript->event(testscriptidx);
-
-        if (QDeclarativeVisualTestFrame *frame = qobject_cast<QDeclarativeVisualTestFrame *>(event)) {
-            if (frame->msec() < msec) {
-                if (options & QDeclarativeViewer::TestImages && !(options & QDeclarativeViewer::Record)) {
-                    qWarning() << "QDeclarativeTester(" << m_script << "): Extra frame.  Seen:"
-                               << msec << "Expected:" << frame->msec();
-                    imagefailure();
-                }
-            } else if (frame->msec() == msec) {
-                if (!frame->hash().isEmpty() && frame->hash().toUtf8() != fe.hash.toHex()) {
-                    if (options & QDeclarativeViewer::TestImages && !(options & QDeclarativeViewer::Record)) {
-                        qWarning() << "QDeclarativeTester(" << m_script << "): Mismatched frame hash at" << msec
-                                   << ".  Seen:" << fe.hash.toHex()
-                                   << "Expected:" << frame->hash().toUtf8();
-                        imagefailure();
-                    }
-                }
-            } else if (frame->msec() > msec) {
-                break;
-            }
-
-            if (options & QDeclarativeViewer::TestImages && !(options & QDeclarativeViewer::Record) && !frame->image().isEmpty()) {
-                QImage goodImage(frame->image().toLocalFile());
-                if (frame->msec() == 16 && goodImage.size() != img.size()){
-                    //Also an image mismatch, but this warning is more informative. Only checked at start though.
-                    qWarning() << "QDeclarativeTester(" << m_script << "): Size mismatch. This test must be run at " << goodImage.size();
-                    imagefailure();
-                }
-                if (goodImage != img) {
-                    QString reject(frame->image().toLocalFile() + ".reject.png");
-                    qWarning() << "QDeclarativeTester(" << m_script << "): Image mismatch.  Reject saved to:"
-                               << reject;
-                    img.save(reject);
-                    bool doDiff = (goodImage.size() == img.size());
-                    if (doDiff) {
-                        QImage diffimg(m_view->width(), m_view->height(), QImage::Format_RGB32);
-                        diffimg.fill(qRgb(255,255,255));
-                        QPainter p(&diffimg);
-                        int diffCount = 0;
-                        for (int x = 0; x < img.width(); ++x) {
-                            for (int y = 0; y < img.height(); ++y) {
-                                if (goodImage.pixel(x,y) != img.pixel(x,y)) {
-                                    ++diffCount;
-                                    p.drawPoint(x,y);
-                                }
-                            }
-                        }
-                        QString diff(frame->image().toLocalFile() + ".diff.png");
-                        diffimg.save(diff);
-                        qWarning().nospace() << "                    Diff (" << diffCount << " pixels differed) saved to: " << diff;
-                    }
-                    imagefailure();
-                }
-            }
-        } else if (QDeclarativeVisualTestMouse *mouse = qobject_cast<QDeclarativeVisualTestMouse *>(event)) {
-            QPoint pos(mouse->x(), mouse->y());
-            QPoint globalPos = m_view->mapToGlobal(QPoint(0, 0)) + pos;
-            QMouseEvent event((QEvent::Type)mouse->type(), pos, globalPos, (Qt::MouseButton)mouse->button(), (Qt::MouseButtons)mouse->buttons(), (Qt::KeyboardModifiers)mouse->modifiers());
-
-            MouseEvent me(&event);
-            me.msec = msec;
-            if (!mouse->sendToViewport()) {
-                QCoreApplication::sendEvent(m_view, &event);
-                me.destination = View;
-            } else {
-                QCoreApplication::sendEvent(m_view->viewport(), &event);
-                me.destination = ViewPort;
-            }
-            m_savedMouseEvents.append(me);
-        } else if (QDeclarativeVisualTestKey *key = qobject_cast<QDeclarativeVisualTestKey *>(event)) {
-
-            QKeyEvent event((QEvent::Type)key->type(), key->key(), (Qt::KeyboardModifiers)key->modifiers(), QString::fromUtf8(QByteArray::fromHex(key->text().toUtf8())), key->autorep(), key->count());
-
-            KeyEvent ke(&event);
-            ke.msec = msec;
-            if (!key->sendToViewport()) {
-                QCoreApplication::sendEvent(m_view, &event);
-                ke.destination = View;
-            } else {
-                QCoreApplication::sendEvent(m_view->viewport(), &event);
-                ke.destination = ViewPort;
-            }
-            m_savedKeyEvents.append(ke);
-        }
-        testscriptidx++;
-    }
-
-    filterEvents = true;
-
-    if (testscript && testscript->count() <= testscriptidx) {
-        //if (msec == 16) //for a snapshot, leave it up long enough to see
-        //    (void)::sleep(1);
-        complete();
-    }
-}
-
-void QDeclarativeTester::registerTypes()
-{
-    qmlRegisterType<QDeclarativeVisualTest>("Qt.VisualTest", 4,7, "VisualTest");
-    qmlRegisterType<QDeclarativeVisualTestFrame>("Qt.VisualTest", 4,7, "Frame");
-    qmlRegisterType<QDeclarativeVisualTestMouse>("Qt.VisualTest", 4,7, "Mouse");
-    qmlRegisterType<QDeclarativeVisualTestKey>("Qt.VisualTest", 4,7, "Key");
-}
-
-QT_END_NAMESPACE
diff --git a/share/qtcreator/qml/qmlobserver/qdeclarativetester.h b/share/qtcreator/qml/qmlobserver/qdeclarativetester.h
deleted file mode 100644
index d370a102090..00000000000
--- a/share/qtcreator/qml/qmlobserver/qdeclarativetester.h
+++ /dev/null
@@ -1,280 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QDECLARATIVETESTER_H
-#define QDECLARATIVETESTER_H
-
-#include <qmlruntime.h>
-
-#include <qdeclarativelist.h>
-#include <qdeclarative.h>
-
-#include <QMouseEvent>
-#include <QKeyEvent>
-#include <QImage>
-#include <QUrl>
-#include <QEvent>
-#include <QAbstractAnimation>
-
-QT_BEGIN_NAMESPACE
-
-class QDeclarativeVisualTest : public QObject
-{
-    Q_OBJECT
-    Q_PROPERTY(QDeclarativeListProperty<QObject> events READ events CONSTANT)
-    Q_CLASSINFO("DefaultProperty", "events")
-public:
-    QDeclarativeVisualTest() {}
-
-    QDeclarativeListProperty<QObject> events() { return QDeclarativeListProperty<QObject>(this, m_events); }
-
-    int count() const { return m_events.count(); }
-    QObject *event(int idx) { return m_events.at(idx); }
-
-private:
-    QList<QObject *> m_events;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QDeclarativeVisualTest)
-
-QT_BEGIN_NAMESPACE
-
-class QDeclarativeVisualTestFrame : public QObject
-{
-    Q_OBJECT
-    Q_PROPERTY(int msec READ msec WRITE setMsec)
-    Q_PROPERTY(QString hash READ hash WRITE setHash)
-    Q_PROPERTY(QUrl image READ image WRITE setImage)
-public:
-    QDeclarativeVisualTestFrame() : m_msec(-1) {}
-
-    int msec() const { return m_msec; }
-    void setMsec(int m) { m_msec = m; }
-
-    QString hash() const { return m_hash; }
-    void setHash(const QString &hash) { m_hash = hash; }
-
-    QUrl image() const { return m_image; }
-    void setImage(const QUrl &image) { m_image = image; }
-
-private:
-    int m_msec;
-    QString m_hash;
-    QUrl m_image;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QDeclarativeVisualTestFrame)
-
-QT_BEGIN_NAMESPACE
-
-class QDeclarativeVisualTestMouse : public QObject
-{
-    Q_OBJECT
-    Q_PROPERTY(int type READ type WRITE setType)
-    Q_PROPERTY(int button READ button WRITE setButton)
-    Q_PROPERTY(int buttons READ buttons WRITE setButtons)
-    Q_PROPERTY(int x READ x WRITE setX)
-    Q_PROPERTY(int y READ y WRITE setY)
-    Q_PROPERTY(int modifiers READ modifiers WRITE setModifiers)
-    Q_PROPERTY(bool sendToViewport READ sendToViewport WRITE setSendToViewport)
-public:
-    QDeclarativeVisualTestMouse() : m_type(0), m_button(0), m_buttons(0), m_x(0), m_y(0), m_modifiers(0), m_viewport(false) {}
-
-    int type() const { return m_type; }
-    void setType(int t) { m_type = t; }
-
-    int button() const { return m_button; }
-    void setButton(int b) { m_button = b; }
-
-    int buttons() const { return m_buttons; }
-    void setButtons(int b) { m_buttons = b; }
-
-    int x() const { return m_x; }
-    void setX(int x) { m_x = x; }
-
-    int y() const { return m_y; }
-    void setY(int y) { m_y = y; }
-
-    int modifiers() const { return m_modifiers; }
-    void setModifiers(int modifiers) { m_modifiers = modifiers; }
-
-    bool sendToViewport() const { return m_viewport; }
-    void setSendToViewport(bool v) { m_viewport = v; }
-private:
-    int m_type;
-    int m_button;
-    int m_buttons;
-    int m_x;
-    int m_y;
-    int m_modifiers;
-    bool m_viewport;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QDeclarativeVisualTestMouse)
-
-QT_BEGIN_NAMESPACE
-
-class QDeclarativeVisualTestKey : public QObject
-{
-    Q_OBJECT
-    Q_PROPERTY(int type READ type WRITE setType)
-    Q_PROPERTY(int key READ key WRITE setKey)
-    Q_PROPERTY(int modifiers READ modifiers WRITE setModifiers)
-    Q_PROPERTY(QString text READ text WRITE setText)
-    Q_PROPERTY(bool autorep READ autorep WRITE setAutorep)
-    Q_PROPERTY(int count READ count WRITE setCount)
-    Q_PROPERTY(bool sendToViewport READ sendToViewport WRITE setSendToViewport)
-public:
-    QDeclarativeVisualTestKey() : m_type(0), m_key(0), m_modifiers(0), m_autorep(false), m_count(0), m_viewport(false) {}
-
-    int type() const { return m_type; }
-    void setType(int t) { m_type = t; }
-
-    int key() const { return m_key; }
-    void setKey(int k) { m_key = k; }
-
-    int modifiers() const { return m_modifiers; }
-    void setModifiers(int m) { m_modifiers = m; }
-
-    QString text() const { return m_text; }
-    void setText(const QString &t) { m_text = t; }
-
-    bool autorep() const { return m_autorep; }
-    void setAutorep(bool a) { m_autorep = a; }
-
-    int count() const { return m_count; }
-    void setCount(int c) { m_count = c; }
-
-    bool sendToViewport() const { return m_viewport; }
-    void setSendToViewport(bool v) { m_viewport = v; }
-private:
-    int m_type;
-    int m_key;
-    int m_modifiers;
-    QString m_text;
-    bool m_autorep;
-    int m_count;
-    bool m_viewport;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QDeclarativeVisualTestKey)
-
-QT_BEGIN_NAMESPACE
-
-class QDeclarativeTester : public QAbstractAnimation
-{
-public:
-    QDeclarativeTester(const QString &script, QDeclarativeViewer::ScriptOptions options, QDeclarativeView *parent);
-    ~QDeclarativeTester();
-
-    static void registerTypes();
-
-    virtual int duration() const;
-
-    void run();
-    void save();
-
-    void executefailure();
-protected:
-    virtual void updateCurrentTime(int msecs);
-    virtual bool eventFilter(QObject *, QEvent *);
-
-private:
-    QString m_script;
-
-    void imagefailure();
-    void complete();
-    void testSkip();
-
-    enum Destination { View, ViewPort };
-    void addKeyEvent(Destination, QKeyEvent *);
-    void addMouseEvent(Destination, QMouseEvent *);
-    QDeclarativeView *m_view;
-
-    struct MouseEvent {
-        MouseEvent(QMouseEvent *e)
-            : type(e->type()), button(e->button()), buttons(e->buttons()),
-              pos(e->pos()), modifiers(e->modifiers()), destination(View) {}
-
-        QEvent::Type type;
-        Qt::MouseButton button;
-        Qt::MouseButtons buttons;
-        QPoint pos;
-        Qt::KeyboardModifiers modifiers;
-        Destination destination;
-
-        int msec;
-    };
-    struct KeyEvent {
-        KeyEvent(QKeyEvent *e)
-            : type(e->type()), key(e->key()), modifiers(e->modifiers()), text(e->text()),
-              autorep(e->isAutoRepeat()), count(e->count()), destination(View) {}
-        QEvent::Type type;
-        int key;
-        Qt::KeyboardModifiers modifiers;
-        QString text;
-        bool autorep;
-        ushort count;
-        Destination destination;
-
-        int msec;
-    };
-    struct FrameEvent {
-        QImage image;
-        QByteArray hash;
-        int msec;
-    };
-    QList<MouseEvent> m_mouseEvents;
-    QList<KeyEvent> m_keyEvents;
-
-    QList<MouseEvent> m_savedMouseEvents;
-    QList<KeyEvent> m_savedKeyEvents;
-    QList<FrameEvent> m_savedFrameEvents;
-    bool filterEvents;
-
-    QDeclarativeViewer::ScriptOptions options;
-    int testscriptidx;
-    QDeclarativeVisualTest *testscript;
-
-    bool hasCompleted;
-    bool hasFailed;
-};
-
-
-QT_END_NAMESPACE
-
-#endif // QDECLARATIVETESTER_H
diff --git a/share/qtcreator/qml/qmlobserver/qml.icns b/share/qtcreator/qml/qmlobserver/qml.icns
deleted file mode 100644
index c76051626a1cc12076136ba4dd816f5e82c563cf..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 196156
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%0AbTg)2p8Oj9<Aex9DSe&bouaHAweQ|8ux%o|Vc
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

diff --git a/share/qtcreator/qml/qmlobserver/qml.pri b/share/qtcreator/qml/qmlobserver/qml.pri
deleted file mode 100644
index 827a273249f..00000000000
--- a/share/qtcreator/qml/qmlobserver/qml.pri
+++ /dev/null
@@ -1,37 +0,0 @@
-QT += declarative script network sql
-contains(QT_CONFIG, opengl) {
-    QT += opengl
-    DEFINES += GL_SUPPORTED
-}
-
-INCLUDEPATH += $$PWD
-
-HEADERS += $$PWD/qmlruntime.h \
-           $$PWD/proxysettings.h \
-           $$PWD/qdeclarativetester.h \
-           $$PWD/deviceorientation.h \
-           $$PWD/loggerwidget.h
-SOURCES += $$PWD/qmlruntime.cpp \
-           $$PWD/proxysettings.cpp \
-           $$PWD/qdeclarativetester.cpp \
-           $$PWD/loggerwidget.cpp
-
-RESOURCES = $$PWD/browser/browser.qrc \
-            $$PWD/startup/startup.qrc
-
-maemo5 {
-    QT += dbus
-    HEADERS += $$PWD/texteditautoresizer_maemo5.h
-    SOURCES += $$PWD/deviceorientation_maemo5.cpp
-    FORMS = $$PWD/recopts_maemo5.ui \
-            $$PWD/proxysettings_maemo5.ui
-} else:linux-g++-maemo {
-    QT += dbus
-    SOURCES += $$PWD/deviceorientation_harmattan.cpp
-    FORMS = $$PWD/recopts.ui \
-            $$PWD/proxysettings.ui
-} else {
-    SOURCES += $$PWD/deviceorientation.cpp
-    FORMS = $$PWD/recopts.ui \
-            $$PWD/proxysettings.ui
-}
diff --git a/share/qtcreator/qml/qmlobserver/qmlobserver.pro b/share/qtcreator/qml/qmlobserver/qmlobserver.pro
deleted file mode 100644
index 503a375dc5d..00000000000
--- a/share/qtcreator/qml/qmlobserver/qmlobserver.pro
+++ /dev/null
@@ -1,73 +0,0 @@
-TEMPLATE = app
-
-CONFIG += qt uic
-
-include(qml.pri)
-
-SOURCES += main.cpp
-
-exists($$PWD/../qmljsdebugger/qmljsdebugger-src.pri) {
-    # directly compile in debugger files
-    include($$PWD/../qmljsdebugger/qmljsdebugger-src.pri)
-} else {
-    # INCLUDEPATH and library path has to be extended by qmake call
-    DEBUGLIB=QmlJSDebugger
-    CONFIG(debug, debug|release) {
-        windows:DEBUGLIB = QmlJSDebuggerd
-    }
-    LIBS+=-l$$DEBUGLIB
-}
-
-#INCLUDEPATH += ../../include/QtDeclarative
-#INCLUDEPATH += ../../src/declarative/util
-#INCLUDEPATH += ../../src/declarative/graphicsitems
-
-!exists($$[QT_INSTALL_HEADERS]/QtCore/private/qabstractanimation_p.h) {
-    DEFINES += NO_PRIVATE_HEADERS
-}
-
-target.path = $$[QT_INSTALL_BINS]
-INSTALLS += target
-
-wince* {
-    QT += xml
-
-    contains(QT_CONFIG, scripttools) {
-        QT += scripttools
-    }
-    contains(QT_CONFIG, phonon) {
-        QT += phonon
-    }
-    contains(QT_CONFIG, xmlpatterns) {
-        QT += xmlpatterns
-    }
-    contains(QT_CONFIG, webkit) {
-        QT += webkit
-    }
-}
-maemo5 {
-    QT += maemo5
-}
-symbian {
-    TARGET.UID3 = 0x20021317
-    include($$QT_SOURCE_TREE/demos/symbianpkgrules.pri)
-    TARGET.EPOCHEAPSIZE = 0x20000 0x4000000
-    TARGET.CAPABILITY = NetworkServices ReadUserData
-    !contains(S60_VERSION, 3.1):!contains(S60_VERSION, 3.2) {
-        LIBS += -lsensrvclient -lsensrvutil
-    }
-    contains(QT_CONFIG, s60): {
-        LIBS += -lavkon -lcone
-    }
-}
-
-# generation of Info.plist from Info.plist.in is handled by static.pro
-# compiling this project directly from the Qt Creator source tree does not work
-OTHER_FILES+=Info.plist
-mac {
-    QMAKE_INFO_PLIST=Info.plist
-    TARGET=QMLObserver
-    ICON=qml.icns
-} else {
-    TARGET=qmlobserver
-}
diff --git a/share/qtcreator/qml/qmlobserver/qmlruntime.cpp b/share/qtcreator/qml/qmlobserver/qmlruntime.cpp
deleted file mode 100644
index 39c39046b6d..00000000000
--- a/share/qtcreator/qml/qmlobserver/qmlruntime.cpp
+++ /dev/null
@@ -1,1633 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include <qdeclarativeview.h>
-
-#ifdef hz
-#undef hz
-#endif
-#ifdef Q_WS_MAEMO_5
-#  include <QMaemo5ValueButton>
-#  include <QMaemo5ListPickSelector>
-#  include <QWidgetAction>
-#  include <QStringListModel>
-#  include "ui_recopts_maemo5.h"
-#else
-#  include "ui_recopts.h"
-#endif
-
-#include "qmlruntime.h"
-#include <qdeclarativecontext.h>
-#include <qdeclarativeengine.h>
-#include <qdeclarativenetworkaccessmanagerfactory.h>
-#include "qdeclarative.h"
-#include <QAbstractAnimation>
-#ifndef NO_PRIVATE_HEADERS
-#include <private/qabstractanimation_p.h>
-#endif
-
-#include <qdeclarativeviewinspector.h>
-#include <qdeclarativeinspectorservice.h>
-
-#include <QNetworkReply>
-#include <QNetworkCookieJar>
-#include <QNetworkDiskCache>
-#include <QNetworkAccessManager>
-#include <QNetworkProxyFactory>
-
-#include <QDeclarativeComponent>
-
-#include <QWidget>
-#include <QApplication>
-#include <QTextBrowser>
-#include <QVBoxLayout>
-#include <QProgressDialog>
-#include <QMenuBar>
-#include <QMenu>
-#include <QAction>
-#include <QFileDialog>
-#include <QInputDialog>
-#include <QGraphicsObject>
-#include <QKeyEvent>
-
-#include <QSignalMapper>
-#include <QSettings>
-#include <QXmlStreamReader>
-#include <QBuffer>
-#include <QTranslator>
-#include <QDir>
-#include <QFile>
-#include <QFileInfo>
-#include <QProcess>
-#include <QTimer>
-#include <QMutex>
-#include <QMutexLocker>
-
-#include "proxysettings.h"
-#include "deviceorientation.h"
-
-#ifdef GL_SUPPORTED
-#include <QGLWidget>
-#endif
-
-#if defined(Q_WS_S60)
-#include <aknappui.h> // For locking app orientation
-#endif
-
-#include <qdeclarativetester.h>
-
-#include "jsdebuggeragent.h"
-
-QT_BEGIN_NAMESPACE
-
-class DragAndDropView : public QDeclarativeView
-{
-    Q_OBJECT
-public:
-    DragAndDropView(QDeclarativeViewer *parent = 0)
-    : QDeclarativeView(parent)
-    {
-        setAcceptDrops(true);
-    }
-
-    void dragEnterEvent(QDragEnterEvent *event)
-    {
-        const QMimeData *mimeData = event->mimeData();
-        if (mimeData->hasUrls())
-            event->acceptProposedAction();
-    }
-
-    void dragMoveEvent(QDragMoveEvent *event)
-    {
-        event->acceptProposedAction();
-    }
-
-    void dragLeaveEvent(QDragLeaveEvent *event)
-    {
-        event->accept();
-    }
-
-    void dropEvent(QDropEvent *event)
-    {
-        const QMimeData *mimeData = event->mimeData();
-        if (!mimeData->hasUrls())
-            return;
-        const QList<QUrl> urlList = mimeData->urls();
-        foreach (const QUrl &url, urlList) {
-            if (url.scheme() == QLatin1String("file")) {
-                static_cast<QDeclarativeViewer *>(parent())->open(url.toLocalFile());
-                event->accept();
-                return;
-            }
-        }
-    }
-};
-
-class Runtime : public QObject
-{
-    Q_OBJECT
-
-    Q_PROPERTY(bool isActiveWindow READ isActiveWindow NOTIFY isActiveWindowChanged)
-    Q_PROPERTY(DeviceOrientation::Orientation orientation READ orientation NOTIFY orientationChanged)
-
-public:
-    static Runtime* instance()
-    {
-        static Runtime *instance = 0;
-        if (!instance)
-            instance = new Runtime;
-        return instance;
-    }
-
-    bool isActiveWindow() const { return activeWindow; }
-    void setActiveWindow(bool active)
-    {
-        if (active == activeWindow)
-            return;
-        activeWindow = active;
-        emit isActiveWindowChanged();
-    }
-
-    DeviceOrientation::Orientation orientation() const { return DeviceOrientation::instance()->orientation(); }
-
-Q_SIGNALS:
-    void isActiveWindowChanged();
-    void orientationChanged();
-
-private:
-    Runtime(QObject *parent=0) : QObject(parent), activeWindow(false)
-    {
-        connect(DeviceOrientation::instance(), SIGNAL(orientationChanged()),
-                this, SIGNAL(orientationChanged()));
-    }
-
-    bool activeWindow;
-};
-
-
-
-#if defined(Q_WS_MAEMO_5)
-
-class Maemo5PickerAction : public QWidgetAction {
-    Q_OBJECT
-public:
-    Maemo5PickerAction(const QString &text, QActionGroup *actions, QObject *parent)
-        : QWidgetAction(parent), m_text(text), m_actions(actions)
-    { }
-
-    QWidget *createWidget(QWidget *parent)
-    {
-        QMaemo5ValueButton *button = new QMaemo5ValueButton(m_text, parent);
-        button->setValueLayout(QMaemo5ValueButton::ValueUnderTextCentered);
-        QMaemo5ListPickSelector *pick = new QMaemo5ListPickSelector(button);
-        button->setPickSelector(pick);
-        if (m_actions) {
-            QStringList sl;
-            int curIdx = -1, idx = 0;
-            foreach (QAction *a, m_actions->actions()) {
-                sl << a->text();
-                if (a->isChecked())
-                    curIdx = idx;
-                idx++;
-            }
-            pick->setModel(new QStringListModel(sl));
-            pick->setCurrentIndex(curIdx);
-        } else {
-            button->setEnabled(false);
-        }
-        connect(pick, SIGNAL(selected(QString)), this, SLOT(emitTriggered()));
-        return button;
-    }
-
-private slots:
-    void emitTriggered()
-    {
-        QMaemo5ListPickSelector *pick = qobject_cast<QMaemo5ListPickSelector *>(sender());
-        if (!pick)
-            return;
-        int idx = pick->currentIndex();
-
-        if (m_actions && idx >= 0 && idx < m_actions->actions().count())
-            m_actions->actions().at(idx)->trigger();
-    }
-
-private:
-    QString m_text;
-    QPointer<QActionGroup> m_actions;
-};
-
-#endif // Q_WS_MAEMO_5
-
-static struct { const char *name, *args; } ffmpegprofiles[] = {
-    {"Maximum Quality", "-sameq"},
-    {"High Quality", "-qmax 2"},
-    {"Medium Quality", "-qmax 6"},
-    {"Low Quality", "-qmax 16"},
-    {"Custom ffmpeg arguments", ""},
-    {0,0}
-};
-
-class RecordingDialog : public QDialog, public Ui::RecordingOptions {
-    Q_OBJECT
-
-public:
-    RecordingDialog(QWidget *parent) : QDialog(parent)
-    {
-        setupUi(this);
-#ifndef Q_WS_MAEMO_5
-        hz->setValidator(new QDoubleValidator(hz));
-#endif
-        for (int i=0; ffmpegprofiles[i].name; ++i) {
-            profile->addItem(ffmpegprofiles[i].name);
-        }
-    }
-
-    void setArguments(QString a)
-    {
-        int i;
-        for (i=0; ffmpegprofiles[i].args[0]; ++i) {
-            if (ffmpegprofiles[i].args == a) {
-                profile->setCurrentIndex(i);
-                args->setText(QLatin1String(ffmpegprofiles[i].args));
-                return;
-            }
-        }
-        customargs = a;
-        args->setText(a);
-        profile->setCurrentIndex(i);
-    }
-
-    QString arguments() const
-    {
-        int i = profile->currentIndex();
-        return ffmpegprofiles[i].args[0] ? QLatin1String(ffmpegprofiles[i].args) : customargs;
-    }
-
-    void setOriginalSize(const QSize &s)
-    {
-        QString str = tr("Original (%1x%2)").arg(s.width()).arg(s.height());
-
-#ifdef Q_WS_MAEMO_5
-        sizeCombo->setItemText(0, str);
-#else
-        sizeOriginal->setText(str);
-        if (sizeWidth->value()<=1) {
-            sizeWidth->setValue(s.width());
-            sizeHeight->setValue(s.height());
-        }
-#endif
-    }
-
-    void showffmpegOptions(bool b)
-    {
-#ifdef Q_WS_MAEMO_5
-        profileLabel->setVisible(b);
-        profile->setVisible(b);
-        ffmpegHelp->setVisible(b);
-        args->setVisible(b);
-#else
-        ffmpegOptions->setVisible(b);
-#endif
-    }
-
-    void showRateOptions(bool b)
-    {
-#ifdef Q_WS_MAEMO_5
-        rateLabel->setVisible(b);
-        rateCombo->setVisible(b);
-#else
-        rateOptions->setVisible(b);
-#endif
-    }
-
-    void setVideoRate(int rate)
-    {
-#ifdef Q_WS_MAEMO_5
-        int idx;
-        if (rate >= 60)
-            idx = 0;
-        else if (rate >= 50)
-            idx = 2;
-        else if (rate >= 25)
-            idx = 3;
-        else if (rate >= 24)
-            idx = 4;
-        else if (rate >= 20)
-            idx = 5;
-        else if (rate >= 15)
-            idx = 6;
-        else
-            idx = 7;
-        rateCombo->setCurrentIndex(idx);
-#else
-        if (rate == 24)
-            hz24->setChecked(true);
-        else if (rate == 25)
-            hz25->setChecked(true);
-        else if (rate == 50)
-            hz50->setChecked(true);
-        else if (rate == 60)
-            hz60->setChecked(true);
-        else {
-            hzCustom->setChecked(true);
-            hz->setText(QString::number(rate));
-        }
-#endif
-    }
-
-    int videoRate() const
-    {
-#ifdef Q_WS_MAEMO_5
-        switch (rateCombo->currentIndex()) {
-            case 0: return 60;
-            case 1: return 50;
-            case 2: return 25;
-            case 3: return 24;
-            case 4: return 20;
-            case 5: return 15;
-            case 7: return 10;
-            default: return 60;
-        }
-#else
-        if (hz24->isChecked())
-            return 24;
-        else if (hz25->isChecked())
-            return 25;
-        else if (hz50->isChecked())
-            return 50;
-        else if (hz60->isChecked())
-            return 60;
-        else {
-            return hz->text().toInt();
-        }
-#endif
-    }
-
-    QSize videoSize() const
-    {
-#ifdef Q_WS_MAEMO_5
-        switch (sizeCombo->currentIndex()) {
-            case 0: return QSize();
-            case 1: return QSize(640,480);
-            case 2: return QSize(320,240);
-            case 3: return QSize(1280,720);
-            default: return QSize();
-        }
-#else
-        if (sizeOriginal->isChecked())
-            return QSize();
-        else if (size720p->isChecked())
-            return QSize(1280,720);
-        else if (sizeVGA->isChecked())
-            return QSize(640,480);
-        else if (sizeQVGA->isChecked())
-            return QSize(320,240);
-        else
-            return QSize(sizeWidth->value(), sizeHeight->value());
-#endif
-    }
-
-
-
-private slots:
-    void pickProfile(int i)
-    {
-        if (ffmpegprofiles[i].args[0]) {
-            args->setText(QLatin1String(ffmpegprofiles[i].args));
-        } else {
-            args->setText(customargs);
-        }
-    }
-
-    void storeCustomArgs(QString s)
-    {
-        setArguments(s);
-    }
-
-private:
-    QString customargs;
-};
-
-class PersistentCookieJar : public QNetworkCookieJar {
-public:
-    PersistentCookieJar(QObject *parent) : QNetworkCookieJar(parent) { load(); }
-    ~PersistentCookieJar() { save(); }
-
-    virtual QList<QNetworkCookie> cookiesForUrl(const QUrl &url) const
-    {
-        QMutexLocker lock(&mutex);
-        return QNetworkCookieJar::cookiesForUrl(url);
-    }
-
-    virtual bool setCookiesFromUrl(const QList<QNetworkCookie> &cookieList, const QUrl &url)
-    {
-        QMutexLocker lock(&mutex);
-        return QNetworkCookieJar::setCookiesFromUrl(cookieList, url);
-    }
-
-private:
-    void save()
-    {
-        QMutexLocker lock(&mutex);
-        QList<QNetworkCookie> list = allCookies();
-        QByteArray data;
-        foreach (const QNetworkCookie &cookie, list) {
-            if (!cookie.isSessionCookie()) {
-                data.append(cookie.toRawForm());
-                data.append('\n');
-            }
-        }
-        QSettings settings;
-        settings.setValue("Cookies",data);
-    }
-
-    void load()
-    {
-        QMutexLocker lock(&mutex);
-        QSettings settings;
-        QByteArray data = settings.value("Cookies").toByteArray();
-        setAllCookies(QNetworkCookie::parseCookies(data));
-    }
-
-    mutable QMutex mutex;
-};
-
-class SystemProxyFactory : public QNetworkProxyFactory
-{
-public:
-    SystemProxyFactory() : proxyDirty(true), httpProxyInUse(false) {
-    }
-
-    virtual QList<QNetworkProxy> queryProxy(const QNetworkProxyQuery &query)
-    {
-        if (proxyDirty)
-            setupProxy();
-        QString protocolTag = query.protocolTag();
-        if (httpProxyInUse && (protocolTag == "http" || protocolTag == "https")) {
-            QList<QNetworkProxy> ret;
-            ret << httpProxy;
-            return ret;
-        }
-#ifdef Q_OS_WIN
-        // systemProxyForQuery can take insanely long on Windows (QTBUG-10106)
-        return QNetworkProxyFactory::proxyForQuery(query);
-#else
-        return QNetworkProxyFactory::systemProxyForQuery(query);
-#endif
-    }
-
-    void setupProxy() {
-        // Don't bother locking because we know that the proxy only
-        // changes in response to the settings dialog and that
-        // the view will be reloaded.
-        proxyDirty = false;
-        httpProxyInUse = ProxySettings::httpProxyInUse();
-        if (httpProxyInUse)
-            httpProxy = ProxySettings::httpProxy();
-    }
-
-    void proxyChanged() {
-        proxyDirty = true;
-    }
-
-private:
-    volatile bool proxyDirty;
-    bool httpProxyInUse;
-    QNetworkProxy httpProxy;
-};
-
-class NetworkAccessManagerFactory : public QObject, public QDeclarativeNetworkAccessManagerFactory
-{
-    Q_OBJECT
-public:
-    NetworkAccessManagerFactory() : cacheSize(0) {}
-    ~NetworkAccessManagerFactory() {}
-
-    QNetworkAccessManager *create(QObject *parent);
-
-    void setCacheSize(int size) {
-        if (size != cacheSize) {
-            cacheSize = size;
-        }
-    }
-
-    void proxyChanged() {
-        foreach (QNetworkAccessManager *nam, namList) {
-            static_cast<SystemProxyFactory*>(nam->proxyFactory())->proxyChanged();
-        }
-    }
-
-    static PersistentCookieJar *cookieJar;
-
-private slots:
-    void managerDestroyed(QObject *obj) {
-        namList.removeOne(static_cast<QNetworkAccessManager*>(obj));
-    }
-
-private:
-    QMutex mutex;
-    int cacheSize;
-    QList<QNetworkAccessManager*> namList;
-};
-
-PersistentCookieJar *NetworkAccessManagerFactory::cookieJar = 0;
-
-static void cleanup_cookieJar()
-{
-    delete NetworkAccessManagerFactory::cookieJar;
-    NetworkAccessManagerFactory::cookieJar = 0;
-}
-
-QNetworkAccessManager *NetworkAccessManagerFactory::create(QObject *parent)
-{
-    QMutexLocker lock(&mutex);
-    QNetworkAccessManager *manager = new QNetworkAccessManager(parent);
-    if (!cookieJar) {
-        qAddPostRoutine(cleanup_cookieJar);
-        cookieJar = new PersistentCookieJar(0);
-    }
-    manager->setCookieJar(cookieJar);
-    cookieJar->setParent(0);
-    manager->setProxyFactory(new SystemProxyFactory);
-    if (cacheSize > 0) {
-        QNetworkDiskCache *cache = new QNetworkDiskCache;
-        cache->setCacheDirectory(QDir::tempPath()+QLatin1String("/qml-viewer-network-cache"));
-        cache->setMaximumCacheSize(cacheSize);
-        manager->setCache(cache);
-    } else {
-        manager->setCache(0);
-    }
-    connect(manager, SIGNAL(destroyed(QObject*)), this, SLOT(managerDestroyed(QObject*)));
-    namList.append(manager);
-    qDebug() << "created new network access manager for" << parent;
-    return manager;
-}
-
-QString QDeclarativeViewer::getVideoFileName()
-{
-    QString title = convertAvailable || ffmpegAvailable ? tr("Save Video File") : tr("Save PNG Frames");
-    QStringList types;
-    if (ffmpegAvailable) types += tr("Common Video files")+QLatin1String(" (*.avi *.mpeg *.mov)");
-    if (convertAvailable) types += tr("GIF Animation")+QLatin1String(" (*.gif)");
-    types += tr("Individual PNG frames")+QLatin1String(" (*.png)");
-    if (ffmpegAvailable) types += tr("All ffmpeg formats (*.*)");
-    return QFileDialog::getSaveFileName(this, title, "", types.join(";; "));
-}
-
-QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags)
-    : QMainWindow(parent, flags)
-      , loggerWindow(new LoggerWidget(this))
-      , frame_stream(0)
-      , rotateAction(0)
-      , orientation(0)
-      , showWarningsWindow(0)
-      , designModeBehaviorAction(0)
-      , m_scriptOptions(0)
-      , tester(0)
-      , useQmlFileBrowser(true)
-      , translator(0)
-{
-    QDeclarativeViewer::registerTypes();
-    setWindowTitle(tr("Qt QML Viewer"));
-#ifdef Q_WS_MAEMO_5
-    setAttribute(Qt::WA_Maemo5StackedWindow);
-//    setPalette(QApplication::palette("QLabel"));
-#endif
-
-    devicemode = false;
-    canvas = 0;
-    record_autotime = 0;
-    record_rate = 50;
-    record_args += QLatin1String("-sameq");
-
-    recdlg = new RecordingDialog(this);
-    connect(recdlg->pickfile, SIGNAL(clicked()), this, SLOT(pickRecordingFile()));
-    senseFfmpeg();
-    senseImageMagick();
-    if (!ffmpegAvailable)
-        recdlg->showffmpegOptions(false);
-    if (!ffmpegAvailable && !convertAvailable)
-        recdlg->showRateOptions(false);
-    QString warn;
-    if (!ffmpegAvailable) {
-        if (!convertAvailable)
-            warn = tr("ffmpeg and ImageMagick not available - no video output");
-        else
-            warn = tr("ffmpeg not available - GIF and PNG outputs only");
-        recdlg->warning->setText(warn);
-    } else {
-        recdlg->warning->hide();
-    }
-
-    canvas = new DragAndDropView(this);
-    inspector = new QmlJSDebugger::QDeclarativeViewInspector(canvas, this);
-    new QmlJSDebugger::JSDebuggerAgent(canvas->engine());
-
-    canvas->setAttribute(Qt::WA_OpaquePaintEvent);
-    canvas->setAttribute(Qt::WA_NoSystemBackground);
-
-    canvas->setFocus();
-
-    QObject::connect(canvas, SIGNAL(sceneResized(QSize)), this, SLOT(sceneResized(QSize)));
-    QObject::connect(canvas, SIGNAL(statusChanged(QDeclarativeView::Status)), this, SLOT(statusChanged()));
-    QObject::connect(canvas->engine(), SIGNAL(quit()), this, SLOT(close()));
-
-    QObject::connect(warningsWidget(), SIGNAL(opened()), this, SLOT(warningsWidgetOpened()));
-    QObject::connect(warningsWidget(), SIGNAL(closed()), this, SLOT(warningsWidgetClosed()));
-
-    if (!(flags & Qt::FramelessWindowHint)) {
-        createMenu();
-        changeOrientation(orientation->actions().value(0));
-    } else {
-        setMenuBar(0);
-    }
-
-    setCentralWidget(canvas);
-
-    namFactory = new NetworkAccessManagerFactory;
-    canvas->engine()->setNetworkAccessManagerFactory(namFactory);
-
-    connect(&autoStartTimer, SIGNAL(timeout()), this, SLOT(autoStartRecording()));
-    connect(&autoStopTimer, SIGNAL(timeout()), this, SLOT(autoStopRecording()));
-    connect(&recordTimer, SIGNAL(timeout()), this, SLOT(recordFrame()));
-    connect(DeviceOrientation::instance(), SIGNAL(orientationChanged()),
-            this, SLOT(orientationChanged()), Qt::QueuedConnection);
-    autoStartTimer.setSingleShot(true);
-    autoStopTimer.setSingleShot(true);
-    recordTimer.setSingleShot(false);
-
-    QObject::connect(qApp, SIGNAL(aboutToQuit()), this, SLOT(appAboutToQuit()));
-}
-
-QDeclarativeViewer::~QDeclarativeViewer()
-{
-    delete loggerWindow;
-    canvas->engine()->setNetworkAccessManagerFactory(0);
-    delete namFactory;
-}
-
-void QDeclarativeViewer::setDesignModeBehavior(bool value)
-{
-    if (designModeBehaviorAction)
-        designModeBehaviorAction->setChecked(value);
-    inspector->setDesignModeBehavior(value);
-}
-
-void QDeclarativeViewer::enableExperimentalGestures()
-{
-#ifndef QT_NO_GESTURES
-    canvas->viewport()->grabGesture(Qt::TapGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent);
-    canvas->viewport()->grabGesture(Qt::TapAndHoldGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent);
-    canvas->viewport()->grabGesture(Qt::PanGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent);
-    canvas->viewport()->grabGesture(Qt::PinchGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent);
-    canvas->viewport()->grabGesture(Qt::SwipeGesture,Qt::DontStartGestureOnChildren|Qt::ReceivePartialGestures|Qt::IgnoredGesturesPropagateToParent);
-    canvas->viewport()->setAttribute(Qt::WA_AcceptTouchEvents);
-#endif
-}
-
-QDeclarativeView *QDeclarativeViewer::view() const
-{
-    return canvas;
-}
-
-LoggerWidget *QDeclarativeViewer::warningsWidget() const
-{
-    return loggerWindow;
-}
-
-void QDeclarativeViewer::createMenu()
-{
-    QAction *openAction = new QAction(tr("&Open..."), this);
-    openAction->setShortcuts(QKeySequence::Open);
-    connect(openAction, SIGNAL(triggered()), this, SLOT(openFile()));
-
-    QAction *openUrlAction = new QAction(tr("Open &URL..."), this);
-    connect(openUrlAction, SIGNAL(triggered()), this, SLOT(openUrl()));
-
-    QAction *reloadAction = new QAction(tr("&Reload"), this);
-    reloadAction->setShortcuts(QKeySequence::Refresh);
-    connect(reloadAction, SIGNAL(triggered()), this, SLOT(reload()));
-
-    QAction *snapshotAction = new QAction(tr("&Take Snapshot"), this);
-    snapshotAction->setShortcut(QKeySequence("F3"));
-    connect(snapshotAction, SIGNAL(triggered()), this, SLOT(takeSnapShot()));
-
-    recordAction = new QAction(tr("Start Recording &Video"), this);
-    recordAction->setShortcut(QKeySequence("F9"));
-    connect(recordAction, SIGNAL(triggered()), this, SLOT(toggleRecordingWithSelection()));
-
-    QAction *recordOptions = new QAction(tr("Video &Options..."), this);
-    connect(recordOptions, SIGNAL(triggered()), this, SLOT(chooseRecordingOptions()));
-
-    QMenu *playSpeedMenu = new QMenu(tr("Animation Speed"), this);
-    playSpeedMenuActions = new QActionGroup(this);
-    playSpeedMenuActions->setExclusive(true);
-
-    QAction *speedAction = playSpeedMenu->addAction(tr("1x"), this, SLOT(changeAnimationSpeed()));
-    speedAction->setCheckable(true);
-    speedAction->setChecked(true);
-    speedAction->setData(1.0f);
-    playSpeedMenuActions->addAction(speedAction);
-
-    speedAction = playSpeedMenu->addAction(tr("0.5x"), this, SLOT(changeAnimationSpeed()));
-    speedAction->setCheckable(true);
-    speedAction->setData(2.0f);
-    playSpeedMenuActions->addAction(speedAction);
-
-    speedAction = playSpeedMenu->addAction(tr("0.25x"), this, SLOT(changeAnimationSpeed()));
-    speedAction->setCheckable(true);
-    speedAction->setData(4.0f);
-    playSpeedMenuActions->addAction(speedAction);
-
-    speedAction = playSpeedMenu->addAction(tr("0.125x"), this, SLOT(changeAnimationSpeed()));
-    speedAction->setCheckable(true);
-    speedAction->setData(8.0f);
-    playSpeedMenuActions->addAction(speedAction);
-
-    speedAction = playSpeedMenu->addAction(tr("0.1x"), this, SLOT(changeAnimationSpeed()));
-    speedAction->setCheckable(true);
-    speedAction->setData(10.0f);
-    playSpeedMenuActions->addAction(speedAction);
-
-    pauseAnimationsAction = playSpeedMenu->addAction(tr("Pause"), inspector, SLOT(setAnimationPaused(bool)));
-    pauseAnimationsAction->setCheckable(true);
-    pauseAnimationsAction->setShortcut(QKeySequence("Ctrl+."));
-
-    animationStepAction = playSpeedMenu->addAction(tr("Pause and step"), this, SLOT(stepAnimations()));
-    animationStepAction->setShortcut(QKeySequence("Ctrl+,"));
-
-    animationSetStepAction = playSpeedMenu->addAction(tr("Set step"), this, SLOT(setAnimationStep()));
-    m_stepSize = 40;
-
-    QAction *playSpeedAction = new QAction(tr("Animations"), this);
-    playSpeedAction->setMenu(playSpeedMenu);
-
-    connect(inspector, SIGNAL(animationSpeedChanged(qreal)), SLOT(animationSpeedChanged(qreal)));
-    connect(inspector, SIGNAL(animationPausedChanged(bool)), pauseAnimationsAction, SLOT(setChecked(bool)));
-
-    showWarningsWindow = new QAction(tr("Show Warnings"), this);
-    showWarningsWindow->setCheckable((true));
-    showWarningsWindow->setChecked(loggerWindow->isVisible());
-    connect(showWarningsWindow, SIGNAL(triggered(bool)), this, SLOT(showWarnings(bool)));
-
-    designModeBehaviorAction = new QAction(tr("&Inspector Mode"), this);
-    designModeBehaviorAction->setShortcut(QKeySequence("Ctrl+D"));
-    designModeBehaviorAction->setCheckable(true);
-    designModeBehaviorAction->setChecked(inspector->designModeBehavior());
-    designModeBehaviorAction->setEnabled(QmlJSDebugger::QDeclarativeInspectorService::hasDebuggingClient());
-    connect(designModeBehaviorAction, SIGNAL(triggered(bool)), this, SLOT(setDesignModeBehavior(bool)));
-    connect(inspector, SIGNAL(designModeBehaviorChanged(bool)), designModeBehaviorAction, SLOT(setChecked(bool)));
-    connect(QmlJSDebugger::QDeclarativeInspectorService::instance(), SIGNAL(debuggingClientChanged(bool)),
-            designModeBehaviorAction, SLOT(setEnabled(bool)));
-
-    appOnTopAction = new QAction(tr("Keep Window on Top"), this);
-    appOnTopAction->setCheckable(true);
-    appOnTopAction->setChecked(inspector->showAppOnTop());
-
-    connect(appOnTopAction, SIGNAL(triggered(bool)), inspector, SLOT(setShowAppOnTop(bool)));
-    connect(inspector, SIGNAL(showAppOnTopChanged(bool)), appOnTopAction, SLOT(setChecked(bool)));
-
-    QAction *proxyAction = new QAction(tr("HTTP &Proxy..."), this);
-    connect(proxyAction, SIGNAL(triggered()), this, SLOT(showProxySettings()));
-
-    QAction *fullscreenAction = new QAction(tr("Full Screen"), this);
-    fullscreenAction->setCheckable(true);
-    connect(fullscreenAction, SIGNAL(triggered()), this, SLOT(toggleFullScreen()));
-
-    rotateAction = new QAction(tr("Rotate orientation"), this);
-    rotateAction->setShortcut(QKeySequence("Ctrl+T"));
-    connect(rotateAction, SIGNAL(triggered()), this, SLOT(rotateOrientation()));
-
-    orientation = new QActionGroup(this);
-    orientation->setExclusive(true);
-    connect(orientation, SIGNAL(triggered(QAction*)), this, SLOT(changeOrientation(QAction*)));
-
-    QAction *portraitAction = new QAction(tr("Portrait"), this);
-    portraitAction->setCheckable(true);
-    QAction *landscapeAction = new QAction(tr("Landscape"), this);
-    landscapeAction->setCheckable(true);
-    QAction *portraitInvAction = new QAction(tr("Portrait (inverted)"), this);
-    portraitInvAction->setCheckable(true);
-    QAction *landscapeInvAction = new QAction(tr("Landscape (inverted)"), this);
-    landscapeInvAction->setCheckable(true);
-
-    QAction *aboutAction = new QAction(tr("&About Qt..."), this);
-    aboutAction->setMenuRole(QAction::AboutQtRole);
-    connect(aboutAction, SIGNAL(triggered()), qApp, SLOT(aboutQt()));
-
-    QAction *closeAction = new QAction(tr("&Close"), this);
-    closeAction->setShortcuts(QKeySequence::Close);
-    connect(closeAction, SIGNAL(triggered()), this, SLOT(close()));
-
-    QAction *quitAction = new QAction(tr("&Quit"), this);
-    quitAction->setMenuRole(QAction::QuitRole);
-    quitAction->setShortcuts(QKeySequence::Quit);
-    connect(quitAction, SIGNAL(triggered()), qApp, SLOT(quit()));
-
-    QMenuBar *menu = menuBar();
-    if (!menu)
-        return;
-
-#if defined(Q_WS_MAEMO_5)
-    menu->addAction(openAction);
-    menu->addAction(openUrlAction);
-    menu->addAction(reloadAction);
-
-    menu->addAction(snapshotAction);
-    menu->addAction(recordAction);
-
-    menu->addAction(recordOptions);
-    menu->addAction(proxyAction);
-
-    menu->addAction(playSpeedMenu);
-    menu->addAction(showWarningsWindow);
-
-    orientation->addAction(landscapeAction);
-    orientation->addAction(portraitAction);
-    menu->addAction(new Maemo5PickerAction(tr("Set orientation"), orientation, this));
-    menu->addAction(fullscreenAction);
-    return;
-#endif // Q_WS_MAEMO_5
-
-    QMenu *fileMenu = menu->addMenu(tr("&File"));
-    fileMenu->addAction(openAction);
-    fileMenu->addAction(openUrlAction);
-    fileMenu->addAction(reloadAction);
-    fileMenu->addSeparator();
-    fileMenu->addAction(closeAction);
-    fileMenu->addAction(quitAction);
-
-    QMenu *recordMenu = menu->addMenu(tr("&Recording"));
-    recordMenu->addAction(snapshotAction);
-    recordMenu->addAction(recordAction);
-
-    QMenu *debugMenu = menu->addMenu(tr("&Debugging"));
-    debugMenu->addMenu(playSpeedMenu);
-    debugMenu->addAction(showWarningsWindow);
-    debugMenu->addAction(designModeBehaviorAction);
-    debugMenu->addAction(appOnTopAction);
-
-    QMenu *settingsMenu = menu->addMenu(tr("&Settings"));
-    settingsMenu->addAction(proxyAction);
-    settingsMenu->addAction(recordOptions);
-    settingsMenu->addMenu(loggerWindow->preferencesMenu());
-    settingsMenu->addAction(rotateAction);
-
-    QMenu *propertiesMenu = settingsMenu->addMenu(tr("Properties"));
-
-    orientation->addAction(portraitAction);
-    orientation->addAction(landscapeAction);
-    orientation->addAction(portraitInvAction);
-    orientation->addAction(landscapeInvAction);
-    propertiesMenu->addActions(orientation->actions());
-
-    QMenu *helpMenu = menu->addMenu(tr("&Help"));
-    helpMenu->addAction(aboutAction);
-}
-
-void QDeclarativeViewer::showProxySettings()
-{
-    ProxySettings settingsDlg (this);
-
-    connect(&settingsDlg, SIGNAL(accepted()), this, SLOT(proxySettingsChanged()));
-
-    settingsDlg.exec();
-}
-
-void QDeclarativeViewer::proxySettingsChanged()
-{
-    namFactory->proxyChanged();
-    reload ();
-}
-
-void QDeclarativeViewer::rotateOrientation()
-{
-#if defined(Q_WS_S60)
-    CAknAppUi *appUi = static_cast<CAknAppUi *>(CEikonEnv::Static()->AppUi());
-    if (appUi) {
-        CAknAppUi::TAppUiOrientation oldOrientation = appUi->Orientation();
-        QString newOrientation;
-        if (oldOrientation == CAknAppUi::EAppUiOrientationPortrait) {
-            newOrientation = QLatin1String("Landscape");
-        } else {
-            newOrientation = QLatin1String("Portrait");
-        }
-        foreach (QAction *action, orientation->actions()) {
-            if (action->text() == newOrientation) {
-                changeOrientation(action);
-            }
-        }
-    }
-#else
-    QAction *current = orientation->checkedAction();
-    QList<QAction *> actions = orientation->actions();
-    int index = actions.indexOf(current);
-    if (index < 0)
-        return;
-
-    QAction *newOrientation = actions[(index + 1) % actions.count()];
-    changeOrientation(newOrientation);
-#endif
-}
-
-void QDeclarativeViewer::toggleFullScreen()
-{
-    if (isFullScreen())
-        showMaximized();
-    else
-        showFullScreen();
-}
-
-void QDeclarativeViewer::showWarnings(bool show)
-{
-    loggerWindow->setVisible(show);
-}
-
-void QDeclarativeViewer::warningsWidgetOpened()
-{
-    showWarningsWindow->setChecked(true);
-}
-
-void QDeclarativeViewer::warningsWidgetClosed()
-{
-    showWarningsWindow->setChecked(false);
-}
-
-void QDeclarativeViewer::takeSnapShot()
-{
-    static int snapshotcount = 1;
-    QString snapFileName = QString(QLatin1String("snapshot%1.png")).arg(snapshotcount);
-    QPixmap::grabWidget(canvas).save(snapFileName);
-    qDebug() << "Wrote" << snapFileName;
-    ++snapshotcount;
-}
-
-void QDeclarativeViewer::pickRecordingFile()
-{
-    QString fileName = getVideoFileName();
-    if (!fileName.isEmpty())
-        recdlg->file->setText(fileName);
-}
-
-void QDeclarativeViewer::chooseRecordingOptions()
-{
-    // File
-    recdlg->file->setText(record_file);
-
-    // Size
-    recdlg->setOriginalSize(canvas->size());
-
-    // Rate
-    recdlg->setVideoRate(record_rate);
-
-
-    // Profile
-    recdlg->setArguments(record_args.join(" "));
-    if (recdlg->exec()) {
-        // File
-        record_file = recdlg->file->text();
-        // Size
-        record_outsize = recdlg->videoSize();
-        // Rate
-        record_rate = recdlg->videoRate();
-        // Profile
-        record_args = recdlg->arguments().split(QLatin1Char(' '),QString::SkipEmptyParts);
-    }
-}
-
-void QDeclarativeViewer::toggleRecordingWithSelection()
-{
-    if (!recordTimer.isActive()) {
-        if (record_file.isEmpty()) {
-            QString fileName = getVideoFileName();
-            if (fileName.isEmpty())
-                return;
-            if (!fileName.contains(QRegExp(".[^\\/]*$")))
-                fileName += ".avi";
-            setRecordFile(fileName);
-        }
-    }
-    toggleRecording();
-}
-
-void QDeclarativeViewer::toggleRecording()
-{
-#ifndef NO_PRIVATE_HEADERS
-    if (record_file.isEmpty()) {
-        toggleRecordingWithSelection();
-        return;
-    }
-    bool recording = !recordTimer.isActive();
-    recordAction->setText(recording ? tr("&Stop Recording Video\tF9") : tr("&Start Recording Video\tF9"));
-    setRecording(recording);
-#endif
-}
-
-void QDeclarativeViewer::pauseAnimations()
-{
-    inspector->setAnimationPaused(true);
-}
-
-void QDeclarativeViewer::stepAnimations()
-{
-    inspector->setAnimationPaused(false);
-    QTimer::singleShot(m_stepSize, this, SLOT(pauseAnimations()));
- }
-
-void QDeclarativeViewer::setAnimationStep()
-{
-   bool ok;
-   int stepSize = QInputDialog::getInt(this, tr("Set animation step duration"),
-                                             tr("Step duration (ms):"), m_stepSize, 20, 10000, 1, &ok);
-   if (ok) m_stepSize = stepSize;
-}
-
-void QDeclarativeViewer::changeAnimationSpeed()
-{
-   if (QAction *action = qobject_cast<QAction*>(sender()))
-       inspector->setAnimationSpeed(action->data().toFloat());
-}
-
-void QDeclarativeViewer::addLibraryPath(const QString& lib)
-{
-    canvas->engine()->addImportPath(lib);
-}
-
-void QDeclarativeViewer::addPluginPath(const QString& plugin)
-{
-    canvas->engine()->addPluginPath(plugin);
-}
-
-void QDeclarativeViewer::reload()
-{
-    launch(currentFileOrUrl);
-}
-
-void QDeclarativeViewer::openFile()
-{
-    QString cur = canvas->source().toLocalFile();
-    if (useQmlFileBrowser) {
-        open("qrc:/browser/Browser.qml");
-    } else {
-        QString fileName = QFileDialog::getOpenFileName(this, tr("Open QML file"), cur, tr("QML Files (*.qml)"));
-        if (!fileName.isEmpty()) {
-            QFileInfo fi(fileName);
-            open(fi.absoluteFilePath());
-        }
-    }
-}
-
-void QDeclarativeViewer::openUrl()
-{
-    QString cur = canvas->source().toLocalFile();
-    QString url= QInputDialog::getText(this, tr("Open QML file"), tr("URL of main QML file:"), QLineEdit::Normal, cur);
-    if (!url.isEmpty())
-        open(url);
-}
-
-void QDeclarativeViewer::statusChanged()
-{
-    if (canvas->status() == QDeclarativeView::Error && tester)
-        tester->executefailure();
-
-    if (canvas->status() == QDeclarativeView::Ready) {
-        initialSize = canvas->initialSize();
-        updateSizeHints(true);
-    }
-}
-
-void QDeclarativeViewer::launch(const QString& file_or_url)
-{
-    QMetaObject::invokeMethod(this, "open", Qt::QueuedConnection, Q_ARG(QString, file_or_url));
-}
-
-void QDeclarativeViewer::loadTranslationFile(const QString& directory)
-{
-    if (!translator) {
-        translator = new QTranslator(this);
-        QApplication::installTranslator(translator);
-    }
-
-    translator->load(QLatin1String("qml_" )+QLocale::system().name(), directory + QLatin1String("/i18n"));
-}
-
-void QDeclarativeViewer::loadDummyDataFiles(const QString& directory)
-{
-    QDir dir(directory+"/dummydata", "*.qml");
-    QStringList list = dir.entryList();
-    for (int i = 0; i < list.size(); ++i) {
-        QString qml = list.at(i);
-        QDeclarativeComponent comp(canvas->engine(), dir.filePath(qml));
-        QObject *dummyData = comp.create();
-
-        if(comp.isError()) {
-            QList<QDeclarativeError> errors = comp.errors();
-            foreach (const QDeclarativeError &error, errors) {
-                qWarning() << error;
-            }
-            if (tester) tester->executefailure();
-        }
-
-        if (dummyData) {
-            qWarning() << "Loaded dummy data:" << dir.filePath(qml);
-            qml.truncate(qml.length()-4);
-            canvas->rootContext()->setContextProperty(qml, dummyData);
-            dummyData->setParent(this);
-        }
-    }
-}
-
-bool QDeclarativeViewer::open(const QString& file_or_url)
-{
-    currentFileOrUrl = file_or_url;
-
-    QUrl url;
-    QFileInfo fi(file_or_url);
-    if (fi.exists())
-        url = QUrl::fromLocalFile(fi.absoluteFilePath());
-    else
-        url = QUrl(file_or_url);
-    setWindowTitle(tr("%1 - Qt QML Viewer").arg(file_or_url));
-
-#ifndef NO_PRIVATE_HEADERS
-    if (!m_script.isEmpty())
-        tester = new QDeclarativeTester(m_script, m_scriptOptions, canvas);
-#endif
-
-    delete canvas->rootObject();
-    canvas->engine()->clearComponentCache();
-    QDeclarativeContext *ctxt = canvas->rootContext();
-    ctxt->setContextProperty("qmlViewer", this);
-    ctxt->setContextProperty("qmlViewerFolder", QDir::currentPath());
-    ctxt->setContextProperty("runtime", Runtime::instance());
-
-    QString fileName = url.toLocalFile();
-    if (!fileName.isEmpty()) {
-        fi.setFile(fileName);
-        if (fi.exists()) {
-            if (fi.suffix().toLower() != QLatin1String("qml")) {
-                qWarning() << "qml cannot open non-QML file" << fileName;
-                return false;
-            }
-
-            QFileInfo fi(fileName);
-            loadTranslationFile(fi.path());
-            loadDummyDataFiles(fi.path());
-        } else {
-            qWarning() << "qml cannot find file:" << fileName;
-            return false;
-        }
-    }
-
-    QTime t;
-    t.start();
-
-    canvas->setSource(url);
-
-    return true;
-}
-
-void QDeclarativeViewer::setAutoRecord(int from, int to)
-{
-    if (from==0) from=1; // ensure resized
-    record_autotime = to-from;
-    autoStartTimer.setInterval(from);
-    autoStartTimer.start();
-}
-
-void QDeclarativeViewer::setRecordArgs(const QStringList& a)
-{
-    record_args = a;
-}
-
-void QDeclarativeViewer::setRecordFile(const QString& f)
-{
-    record_file = f;
-}
-
-void QDeclarativeViewer::setRecordRate(int fps)
-{
-    record_rate = fps;
-}
-
-void QDeclarativeViewer::sceneResized(QSize)
-{
-    updateSizeHints();
-}
-
-void QDeclarativeViewer::keyPressEvent(QKeyEvent *event)
-{
-    if (event->key() == Qt::Key_0 && devicemode)
-        exit(0);
-    else if (event->key() == Qt::Key_F1 || (event->key() == Qt::Key_1 && devicemode)) {
-        qDebug() << "F1 - help\n"
-                 << "F2 - save test script\n"
-                 << "F3 - take PNG snapshot\n"
-                 << "F4 - show items and state\n"
-                 << "F5 - reload QML\n"
-                 << "F6 - show object tree\n"
-                 << "F7 - show timing\n"
-                 << "F9 - toggle video recording\n"
-                 << "F10 - toggle orientation\n"
-                 << "device keys: 0=quit, 1..8=F1..F8"
-                ;
-    } else if (event->key() == Qt::Key_F2 || (event->key() == Qt::Key_2 && devicemode)) {
-        if (tester && m_scriptOptions & Record)
-            tester->save();
-    } else if (event->key() == Qt::Key_F3 || (event->key() == Qt::Key_3 && devicemode)) {
-        takeSnapShot();
-    } else if (event->key() == Qt::Key_F5 || (event->key() == Qt::Key_5 && devicemode)) {
-        reload();
-    } else if (event->key() == Qt::Key_F9 || (event->key() == Qt::Key_9 && devicemode)) {
-        toggleRecording();
-    } else if (event->key() == Qt::Key_F10) {
-        rotateOrientation();
-    }
-
-    QWidget::keyPressEvent(event);
-}
-
-bool QDeclarativeViewer::event(QEvent *event)
-{
-    if (event->type() == QEvent::WindowActivate) {
-        Runtime::instance()->setActiveWindow(true);
-        DeviceOrientation::instance()->resumeListening();
-    } else if (event->type() == QEvent::WindowDeactivate) {
-        Runtime::instance()->setActiveWindow(false);
-        DeviceOrientation::instance()->pauseListening();
-    }
-    return QWidget::event(event);
-}
-
-void QDeclarativeViewer::senseImageMagick()
-{
-    QProcess proc;
-    proc.start("convert", QStringList() << "-h");
-    proc.waitForFinished(2000);
-    QString help = proc.readAllStandardOutput();
-    convertAvailable = help.contains("ImageMagick");
-}
-
-void QDeclarativeViewer::senseFfmpeg()
-{
-    QProcess proc;
-    proc.start("ffmpeg", QStringList() << "-h");
-    proc.waitForFinished(2000);
-    QString ffmpegHelp = proc.readAllStandardOutput();
-    ffmpegAvailable = ffmpegHelp.contains("-s ");
-    ffmpegHelp = tr("Video recording uses ffmpeg:")+"\n\n"+ffmpegHelp;
-
-    QDialog *d = new QDialog(recdlg);
-    QVBoxLayout *l = new QVBoxLayout(d);
-    QTextBrowser *b = new QTextBrowser(d);
-    QFont f = b->font();
-    f.setFamily("courier");
-    b->setFont(f);
-    b->setText(ffmpegHelp);
-    l->addWidget(b);
-    d->setLayout(l);
-    ffmpegHelpWindow = d;
-    connect(recdlg->ffmpegHelp,SIGNAL(clicked()), ffmpegHelpWindow, SLOT(show()));
-}
-
-void QDeclarativeViewer::setRecording(bool on)
-{
-    if (on == recordTimer.isActive())
-        return;
-
-    int period = int(1000/record_rate+0.5);
-#ifndef NO_PRIVATE_HEADERS
-    QUnifiedTimer::instance()->setTimingInterval(on ? period:16);
-    QUnifiedTimer::instance()->setConsistentTiming(on);
-#endif
-    if (on) {
-        canvas->setViewportUpdateMode(QGraphicsView::FullViewportUpdate);
-        recordTimer.setInterval(period);
-        recordTimer.start();
-        frame_fmt = record_file.right(4).toLower();
-        frame = QImage(canvas->width(),canvas->height(),QImage::Format_RGB32);
-        if (frame_fmt != ".png" && (!convertAvailable || frame_fmt != ".gif")) {
-            // Stream video to ffmpeg
-
-            QProcess *proc = new QProcess(this);
-            connect(proc, SIGNAL(finished(int)), this, SLOT(ffmpegFinished(int)));
-            frame_stream = proc;
-
-            QStringList args;
-            args << "-y";
-            args << "-r" << QString::number(record_rate);
-            args << "-f" << "rawvideo";
-            args << "-pix_fmt" << (frame_fmt == ".gif" ? "rgb24" : "rgb32");
-            args << "-s" << QString("%1x%2").arg(canvas->width()).arg(canvas->height());
-            args << "-i" << "-";
-            if (record_outsize.isValid()) {
-                args << "-s" << QString("%1x%2").arg(record_outsize.width()).arg(record_outsize.height());
-                args << "-aspect" << QString::number(double(canvas->width())/canvas->height());
-            }
-            args += record_args;
-            args << record_file;
-            proc->start("ffmpeg",args);
-
-        } else {
-            // Store frames, save to GIF/PNG
-            frame_stream = 0;
-        }
-    } else {
-        canvas->setViewportUpdateMode(QGraphicsView::MinimalViewportUpdate);
-        recordTimer.stop();
-        if (frame_stream) {
-            qDebug() << "Saving video...";
-            frame_stream->close();
-            qDebug() << "Wrote" << record_file;
-        } else {
-            QProgressDialog progress(tr("Saving frames..."), tr("Cancel"), 0, frames.count()+10, this);
-            progress.setWindowModality(Qt::WindowModal);
-
-            int frame=0;
-            QStringList inputs;
-            qDebug() << "Saving frames...";
-
-            QString framename;
-            bool png_output = false;
-            if (record_file.right(4).toLower()==".png") {
-                if (record_file.contains('%'))
-                    framename = record_file;
-                else
-                    framename = record_file.left(record_file.length()-4)+"%04d"+record_file.right(4);
-                png_output = true;
-            } else {
-                framename = "tmp-frame%04d.png";
-                png_output = false;
-            }
-            foreach (QImage* img, frames) {
-                progress.setValue(progress.value()+1);
-                if (progress.wasCanceled())
-                    break;
-                QString name;
-                name.sprintf(framename.toLocal8Bit(),frame++);
-                if (record_outsize.isValid())
-                    *img = img->scaled(record_outsize,Qt::IgnoreAspectRatio,Qt::SmoothTransformation);
-                if (record_dither=="ordered")
-                    img->convertToFormat(QImage::Format_Indexed8,Qt::PreferDither|Qt::OrderedDither).save(name);
-                else if (record_dither=="threshold")
-                    img->convertToFormat(QImage::Format_Indexed8,Qt::PreferDither|Qt::ThresholdDither).save(name);
-                else if (record_dither=="floyd")
-                    img->convertToFormat(QImage::Format_Indexed8,Qt::PreferDither).save(name);
-                else
-                    img->save(name);
-                inputs << name;
-                delete img;
-            }
-
-            if (!progress.wasCanceled()) {
-                if (png_output) {
-                    framename.replace(QRegExp("%\\d*."),"*");
-                    qDebug() << "Wrote frames" << framename;
-                    inputs.clear(); // don't remove them
-                } else {
-                    // ImageMagick and gifsicle for GIF encoding
-                    progress.setLabelText(tr("Converting frames to GIF file..."));
-                    QStringList args;
-                    args << "-delay" << QString::number(period/10);
-                    args << inputs;
-                    args << record_file;
-                    qDebug() << "Converting..." << record_file << "(this may take a while)";
-                    if (0!=QProcess::execute("convert", args)) {
-                        qWarning() << "Cannot run ImageMagick 'convert' - recorded frames not converted";
-                        inputs.clear(); // don't remove them
-                        qDebug() << "Wrote frames tmp-frame*.png";
-                    } else {
-                        if (record_file.right(4).toLower() == ".gif") {
-                            qDebug() << "Compressing..." << record_file;
-                            if (0!=QProcess::execute("gifsicle", QStringList() << "-O2" << "-o" << record_file << record_file))
-                                qWarning() << "Cannot run 'gifsicle' - not compressed";
-                        }
-                        qDebug() << "Wrote" << record_file;
-                    }
-                }
-            }
-
-            progress.setValue(progress.maximum()-1);
-            foreach (const QString &name, inputs)
-                QFile::remove(name);
-
-            frames.clear();
-        }
-    }
-    qDebug() << "Recording: " << (recordTimer.isActive()?"ON":"OFF");
-}
-
-void QDeclarativeViewer::ffmpegFinished(int code)
-{
-    qDebug() << "ffmpeg returned" << code << frame_stream->readAllStandardError();
-}
-
-void QDeclarativeViewer::appAboutToQuit()
-{
-    // avoid QGLContext errors about invalid contexts on exit
-    canvas->setViewport(0);
-
-    // avoid crashes if messages are received after app has closed
-    delete loggerWindow;
-    loggerWindow = 0;
-    delete tester;
-    tester = 0;
-}
-
-void QDeclarativeViewer::autoStartRecording()
-{
-    setRecording(true);
-    autoStopTimer.setInterval(record_autotime);
-    autoStopTimer.start();
-}
-
-void QDeclarativeViewer::autoStopRecording()
-{
-    setRecording(false);
-}
-
-void QDeclarativeViewer::recordFrame()
-{
-    canvas->QWidget::render(&frame);
-    if (frame_stream) {
-        if (frame_fmt == ".gif") {
-            // ffmpeg can't do 32bpp with gif
-            QImage rgb24 = frame.convertToFormat(QImage::Format_RGB888);
-            frame_stream->write((char*)rgb24.bits(),rgb24.numBytes());
-        } else {
-            frame_stream->write((char*)frame.bits(),frame.numBytes());
-        }
-    } else {
-        frames.append(new QImage(frame));
-    }
-}
-
-void QDeclarativeViewer::changeOrientation(QAction *action)
-{
-    if (!action)
-        return;
-    QString o = action->text();
-    action->setChecked(true);
-#if defined(Q_WS_S60)
-    CAknAppUi *appUi = static_cast<CAknAppUi *>(CEikonEnv::Static()->AppUi());
-    if (appUi) {
-        CAknAppUi::TAppUiOrientation orientation = appUi->Orientation();
-        if (o == QLatin1String("Auto-orientation")) {
-            appUi->SetOrientationL(CAknAppUi::EAppUiOrientationAutomatic);
-            rotateAction->setVisible(false);
-        } else if (o == QLatin1String("Portrait")) {
-            appUi->SetOrientationL(CAknAppUi::EAppUiOrientationPortrait);
-            rotateAction->setVisible(true);
-        } else if (o == QLatin1String("Landscape")) {
-            appUi->SetOrientationL(CAknAppUi::EAppUiOrientationLandscape);
-            rotateAction->setVisible(true);
-        }
-    }
-#else
-    if (o == QLatin1String("Portrait"))
-        DeviceOrientation::instance()->setOrientation(DeviceOrientation::Portrait);
-    else if (o == QLatin1String("Landscape"))
-        DeviceOrientation::instance()->setOrientation(DeviceOrientation::Landscape);
-    else if (o == QLatin1String("Portrait (inverted)"))
-        DeviceOrientation::instance()->setOrientation(DeviceOrientation::PortraitInverted);
-    else if (o == QLatin1String("Landscape (inverted)"))
-        DeviceOrientation::instance()->setOrientation(DeviceOrientation::LandscapeInverted);
-#endif
-}
-
-void QDeclarativeViewer::orientationChanged()
-{
-    updateSizeHints();
-}
-
-void QDeclarativeViewer::animationSpeedChanged(qreal factor)
-{
-    foreach (QAction *action, playSpeedMenuActions->actions()) {
-        if (action->data().toFloat() == factor) {
-            action->setChecked(true);
-            break;
-        }
-    }
-}
-
-void QDeclarativeViewer::setDeviceKeys(bool on)
-{
-    devicemode = on;
-}
-
-void QDeclarativeViewer::setNetworkCacheSize(int size)
-{
-    namFactory->setCacheSize(size);
-}
-
-void QDeclarativeViewer::setUseGL(bool useGL)
-{
-#ifdef GL_SUPPORTED
-    if (useGL) {
-        QGLFormat format = QGLFormat::defaultFormat();
-#ifdef Q_OS_MAC
-        format.setSampleBuffers(true);
-#else
-        format.setSampleBuffers(false);
-#endif
-
-        QGLWidget *glWidget = new QGLWidget(format);
-        //### potentially faster, but causes junk to appear if top-level is Item, not Rectangle
-        //glWidget->setAutoFillBackground(false);
-
-        canvas->setViewport(glWidget);
-    }
-#else
-    Q_UNUSED(useGL)
-#endif
-}
-
-void QDeclarativeViewer::setUseNativeFileBrowser(bool use)
-{
-    useQmlFileBrowser = !use;
-}
-
-void QDeclarativeViewer::setSizeToView(bool sizeToView)
-{
-    QDeclarativeView::ResizeMode resizeMode = sizeToView ? QDeclarativeView::SizeRootObjectToView : QDeclarativeView::SizeViewToRootObject;
-    if (resizeMode != canvas->resizeMode()) {
-        canvas->setResizeMode(resizeMode);
-        updateSizeHints();
-    }
-}
-
-void QDeclarativeViewer::setStayOnTop(bool stayOnTop)
-{
-    appOnTopAction->setChecked(stayOnTop);
-}
-
-void QDeclarativeViewer::updateSizeHints(bool initial)
-{
-    static bool isRecursive = false;
-
-    if (isRecursive)
-        return;
-    isRecursive = true;
-
-    if (initial || (canvas->resizeMode() == QDeclarativeView::SizeViewToRootObject)) {
-        QSize newWindowSize = initial ? initialSize : canvas->sizeHint();
-        //qWarning() << "USH:" << (initial ? "INIT:" : "V2R:") << "setting fixed size " << newWindowSize;
-        if (!isFullScreen() && !isMaximized()) {
-            canvas->setFixedSize(newWindowSize);
-            resize(1, 1);
-            layout()->setSizeConstraint(QLayout::SetFixedSize);
-            layout()->activate();
-        }
-    }
-    //qWarning() << "USH: R2V: setting free size ";
-    layout()->setSizeConstraint(QLayout::SetNoConstraint);
-    layout()->activate();
-    setMinimumSize(minimumSizeHint());
-    setMaximumSize(QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX));
-    canvas->setMinimumSize(QSize(0,0));
-    canvas->setMaximumSize(QSize(QWIDGETSIZE_MAX, QWIDGETSIZE_MAX));
-
-    isRecursive = false;
-}
-
-void QDeclarativeViewer::registerTypes()
-{
-    static bool registered = false;
-
-    if (!registered) {
-        // registering only for exposing the DeviceOrientation::Orientation enum
-        qmlRegisterUncreatableType<DeviceOrientation>("Qt",4,7,"Orientation","");
-        qmlRegisterUncreatableType<DeviceOrientation>("QtQuick",1,0,"Orientation","");
-        registered = true;
-    }
-}
-
-QT_END_NAMESPACE
-
-#include "qmlruntime.moc"
diff --git a/share/qtcreator/qml/qmlobserver/qmlruntime.h b/share/qtcreator/qml/qmlobserver/qmlruntime.h
deleted file mode 100644
index 7486373ac05..00000000000
--- a/share/qtcreator/qml/qmlobserver/qmlruntime.h
+++ /dev/null
@@ -1,214 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QMLRUNTIME_H
-#define QMLRUNTIME_H
-
-#include <QMainWindow>
-#include <QTimer>
-#include <QTime>
-#include <QList>
-
-#include "loggerwidget.h"
-
-namespace QmlJSDebugger {
-    class QDeclarativeViewInspector;
-}
-
-QT_BEGIN_NAMESPACE
-
-class QDeclarativeView;
-class PreviewDeviceSkin;
-class QDeclarativeTestEngine;
-class QProcess;
-class RecordingDialog;
-class QDeclarativeTester;
-class QNetworkReply;
-class QNetworkCookieJar;
-class NetworkAccessManagerFactory;
-class QTranslator;
-class QActionGroup;
-class QMenuBar;
-
-class QDeclarativeViewer
-    : public QMainWindow
-{
-    Q_OBJECT
-
-public:
-    QDeclarativeViewer(QWidget *parent = 0, Qt::WindowFlags flags = 0);
-    ~QDeclarativeViewer();
-
-    static void registerTypes();
-
-    enum ScriptOption {
-        Play = 0x00000001,
-        Record = 0x00000002,
-        TestImages = 0x00000004,
-        TestErrorProperty = 0x00000008,
-        SaveOnExit = 0x00000010,
-        ExitOnComplete = 0x00000020,
-        ExitOnFailure = 0x00000040,
-        Snapshot = 0x00000080,
-        TestSkipProperty = 0x00000100
-    };
-    Q_DECLARE_FLAGS(ScriptOptions, ScriptOption)
-    void setScript(const QString &s) { m_script = s; }
-    void setScriptOptions(ScriptOptions opt) { m_scriptOptions = opt; }
-    void setRecordDither(const QString& s) { record_dither = s; }
-    void setRecordRate(int fps);
-    void setRecordFile(const QString&);
-    void setRecordArgs(const QStringList&);
-    void setRecording(bool on);
-    bool isRecording() const { return recordTimer.isActive(); }
-    void setAutoRecord(int from, int to);
-    void setDeviceKeys(bool);
-    void setNetworkCacheSize(int size);
-    void addLibraryPath(const QString& lib);
-    void addPluginPath(const QString& plugin);
-    void setUseGL(bool use);
-    void setUseNativeFileBrowser(bool);
-    void setSizeToView(bool sizeToView);
-    void setStayOnTop(bool stayOnTop);
-
-    QDeclarativeView *view() const;
-    LoggerWidget *warningsWidget() const;
-    QString currentFile() const { return currentFileOrUrl; }
-
-    void enableExperimentalGestures();
-
-public slots:
-    void setDesignModeBehavior(bool value);
-    void sceneResized(QSize size);
-    bool open(const QString&);
-    void openFile();
-    void openUrl();
-    void reload();
-    void takeSnapShot();
-    void toggleRecording();
-    void toggleRecordingWithSelection();
-    void ffmpegFinished(int code);
-    void showProxySettings ();
-    void proxySettingsChanged ();
-    void rotateOrientation();
-    void statusChanged();
-    void pauseAnimations();
-    void stepAnimations();
-    void setAnimationStep();
-    void changeAnimationSpeed();
-    void launch(const QString &);
-
-protected:
-    virtual void keyPressEvent(QKeyEvent *);
-    virtual bool event(QEvent *);
-    void createMenu();
-
-private slots:
-    void appAboutToQuit();
-
-    void autoStartRecording();
-    void autoStopRecording();
-    void recordFrame();
-    void chooseRecordingOptions();
-    void pickRecordingFile();
-    void toggleFullScreen();
-    void changeOrientation(QAction*);
-    void orientationChanged();
-
-    void animationSpeedChanged(qreal factor);
-
-    void showWarnings(bool show);
-    void warningsWidgetOpened();
-    void warningsWidgetClosed();
-
-private:
-    void updateSizeHints(bool initial = false);
-
-    QString getVideoFileName();
-
-    LoggerWidget *loggerWindow;
-    QDeclarativeView *canvas;
-    QmlJSDebugger::QDeclarativeViewInspector *inspector;
-    QSize initialSize;
-    QString currentFileOrUrl;
-    QTimer recordTimer;
-    QString frame_fmt;
-    QImage frame;
-    QList<QImage*> frames;
-    QProcess* frame_stream;
-    QTimer autoStartTimer;
-    QTimer autoStopTimer;
-    QString record_dither;
-    QString record_file;
-    QSize record_outsize;
-    QStringList record_args;
-    int record_rate;
-    int record_autotime;
-    bool devicemode;
-    QAction *recordAction;
-    RecordingDialog *recdlg;
-
-    void senseImageMagick();
-    void senseFfmpeg();
-    QWidget *ffmpegHelpWindow;
-    bool ffmpegAvailable;
-    bool convertAvailable;
-
-    int m_stepSize;
-    QActionGroup *playSpeedMenuActions;
-    QAction *pauseAnimationsAction;
-    QAction *animationStepAction;
-    QAction *animationSetStepAction;
-
-    QAction *rotateAction;
-    QActionGroup *orientation;
-    QAction *showWarningsWindow;
-    QAction *designModeBehaviorAction;
-    QAction *appOnTopAction;
-
-    QString m_script;
-    ScriptOptions m_scriptOptions;
-    QDeclarativeTester *tester;
-
-    QNetworkReply *wgtreply;
-    QString wgtdir;
-    NetworkAccessManagerFactory *namFactory;
-
-    bool useQmlFileBrowser;
-
-    QTranslator *translator;
-    void loadTranslationFile(const QString& directory);
-
-    void loadDummyDataFiles(const QString& directory);
-};
-Q_DECLARE_OPERATORS_FOR_FLAGS(QDeclarativeViewer::ScriptOptions)
-
-QT_END_NAMESPACE
-
-#endif // QMLRUNTIME_H
diff --git a/share/qtcreator/qml/qmlobserver/recopts.ui b/share/qtcreator/qml/qmlobserver/recopts.ui
deleted file mode 100644
index ce2da307673..00000000000
--- a/share/qtcreator/qml/qmlobserver/recopts.ui
+++ /dev/null
@@ -1,513 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>RecordingOptions</class>
- <widget class="QDialog" name="RecordingOptions">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>316</width>
-    <height>436</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Video options</string>
-  </property>
-  <layout class="QVBoxLayout" name="verticalLayout">
-   <item>
-    <layout class="QHBoxLayout" name="horizontalLayout_3">
-     <item>
-      <widget class="QLabel" name="label">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-         <horstretch>0</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="text">
-        <string>File:</string>
-       </property>
-      </widget>
-     </item>
-     <item>
-      <widget class="QLineEdit" name="file"/>
-     </item>
-     <item>
-      <widget class="QToolButton" name="pickfile">
-       <property name="text">
-        <string>...</string>
-       </property>
-      </widget>
-     </item>
-    </layout>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="groupBox">
-     <property name="title">
-      <string>Size</string>
-     </property>
-     <layout class="QGridLayout" name="gridLayout_2">
-      <item row="0" column="0">
-       <widget class="QRadioButton" name="sizeOriginal">
-        <property name="text">
-         <string/>
-        </property>
-        <property name="checked">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="1">
-       <widget class="QRadioButton" name="sizeVGA">
-        <property name="text">
-         <string>VGA</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QRadioButton" name="size720p">
-        <property name="text">
-         <string>720p</string>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="1">
-       <widget class="QRadioButton" name="sizeQVGA">
-        <property name="text">
-         <string>QVGA</string>
-        </property>
-       </widget>
-      </item>
-      <item row="2" column="0" colspan="3">
-       <layout class="QHBoxLayout" name="horizontalLayout_2">
-        <item>
-         <widget class="QRadioButton" name="sizeCustom">
-          <property name="text">
-           <string>Width:</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QSpinBox" name="sizeWidth">
-          <property name="minimum">
-           <number>1</number>
-          </property>
-          <property name="maximum">
-           <number>9999</number>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_2">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Minimum" vsizetype="Preferred">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="text">
-           <string>Height:</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QSpinBox" name="sizeHeight">
-          <property name="minimum">
-           <number>1</number>
-          </property>
-          <property name="maximum">
-           <number>9999</number>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer_3">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeType">
-           <enum>QSizePolicy::MinimumExpanding</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-       </layout>
-      </item>
-      <item row="0" column="2">
-       <spacer name="horizontalSpacer_4">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::MinimumExpanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>40</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="rateOptions">
-     <property name="title">
-      <string>Rate</string>
-     </property>
-     <layout class="QGridLayout" name="gridLayout_4">
-      <item row="0" column="0">
-       <widget class="QRadioButton" name="hz60">
-        <property name="sizePolicy">
-         <sizepolicy hsizetype="Minimum" vsizetype="Fixed">
-          <horstretch>0</horstretch>
-          <verstretch>0</verstretch>
-         </sizepolicy>
-        </property>
-        <property name="text">
-         <string>60Hz</string>
-        </property>
-        <property name="checked">
-         <bool>true</bool>
-        </property>
-       </widget>
-      </item>
-      <item row="1" column="0">
-       <widget class="QRadioButton" name="hz50">
-        <property name="text">
-         <string>50Hz</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="2">
-       <widget class="QRadioButton" name="hz25">
-        <property name="text">
-         <string>25Hz</string>
-        </property>
-       </widget>
-      </item>
-      <item row="2" column="0" colspan="4">
-       <layout class="QHBoxLayout" name="horizontalLayout">
-        <property name="spacing">
-         <number>0</number>
-        </property>
-        <item>
-         <widget class="QRadioButton" name="hzCustom">
-          <property name="text">
-           <string/>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLineEdit" name="hz">
-          <property name="sizePolicy">
-           <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
-            <horstretch>0</horstretch>
-            <verstretch>0</verstretch>
-           </sizepolicy>
-          </property>
-          <property name="minimumSize">
-           <size>
-            <width>60</width>
-            <height>0</height>
-           </size>
-          </property>
-          <property name="maximumSize">
-           <size>
-            <width>100</width>
-            <height>16777215</height>
-           </size>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <widget class="QLabel" name="label_3">
-          <property name="text">
-           <string>Hz</string>
-          </property>
-         </widget>
-        </item>
-        <item>
-         <spacer name="horizontalSpacer_2">
-          <property name="orientation">
-           <enum>Qt::Horizontal</enum>
-          </property>
-          <property name="sizeType">
-           <enum>QSizePolicy::MinimumExpanding</enum>
-          </property>
-          <property name="sizeHint" stdset="0">
-           <size>
-            <width>40</width>
-            <height>20</height>
-           </size>
-          </property>
-         </spacer>
-        </item>
-       </layout>
-      </item>
-      <item row="1" column="2">
-       <widget class="QRadioButton" name="hz24">
-        <property name="text">
-         <string>24Hz</string>
-        </property>
-       </widget>
-      </item>
-      <item row="0" column="3">
-       <spacer name="horizontalSpacer">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::MinimumExpanding</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>40</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-      <item row="0" column="1">
-       <spacer name="horizontalSpacer_5">
-        <property name="orientation">
-         <enum>Qt::Horizontal</enum>
-        </property>
-        <property name="sizeType">
-         <enum>QSizePolicy::Fixed</enum>
-        </property>
-        <property name="sizeHint" stdset="0">
-         <size>
-          <width>20</width>
-          <height>20</height>
-         </size>
-        </property>
-       </spacer>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QGroupBox" name="ffmpegOptions">
-     <property name="title">
-      <string>Profile</string>
-     </property>
-     <layout class="QGridLayout" name="gridLayout_3">
-      <item row="0" column="0" colspan="3">
-       <widget class="QComboBox" name="profile"/>
-      </item>
-      <item row="1" column="0" colspan="2">
-       <widget class="QLineEdit" name="args"/>
-      </item>
-      <item row="1" column="2">
-       <widget class="QToolButton" name="ffmpegHelp">
-        <property name="text">
-         <string>Help</string>
-        </property>
-       </widget>
-      </item>
-     </layout>
-    </widget>
-   </item>
-   <item>
-    <widget class="QLabel" name="warning">
-     <property name="text">
-      <string/>
-     </property>
-    </widget>
-   </item>
-   <item>
-    <widget class="QDialogButtonBox" name="buttonBox">
-     <property name="orientation">
-      <enum>Qt::Horizontal</enum>
-     </property>
-     <property name="standardButtons">
-      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <tabstops>
-  <tabstop>file</tabstop>
-  <tabstop>pickfile</tabstop>
-  <tabstop>sizeOriginal</tabstop>
-  <tabstop>sizeVGA</tabstop>
-  <tabstop>size720p</tabstop>
-  <tabstop>sizeQVGA</tabstop>
-  <tabstop>sizeCustom</tabstop>
-  <tabstop>sizeWidth</tabstop>
-  <tabstop>sizeHeight</tabstop>
-  <tabstop>hz60</tabstop>
-  <tabstop>hz25</tabstop>
-  <tabstop>hz50</tabstop>
-  <tabstop>hz24</tabstop>
-  <tabstop>hzCustom</tabstop>
-  <tabstop>hz</tabstop>
-  <tabstop>profile</tabstop>
-  <tabstop>args</tabstop>
-  <tabstop>ffmpegHelp</tabstop>
-  <tabstop>buttonBox</tabstop>
- </tabstops>
- <resources/>
- <connections>
-  <connection>
-   <sender>hzCustom</sender>
-   <signal>clicked()</signal>
-   <receiver>hz</receiver>
-   <slot>setFocus()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>43</x>
-     <y>257</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>129</x>
-     <y>262</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>hz</sender>
-   <signal>textChanged(QString)</signal>
-   <receiver>hzCustom</receiver>
-   <slot>toggle()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>143</x>
-     <y>262</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>43</x>
-     <y>257</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>hz</sender>
-   <signal>selectionChanged()</signal>
-   <receiver>hzCustom</receiver>
-   <slot>toggle()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>143</x>
-     <y>262</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>43</x>
-     <y>257</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>buttonBox</sender>
-   <signal>accepted()</signal>
-   <receiver>RecordingOptions</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>258</x>
-     <y>424</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>60</x>
-     <y>219</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>buttonBox</sender>
-   <signal>rejected()</signal>
-   <receiver>RecordingOptions</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>258</x>
-     <y>424</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>92</x>
-     <y>219</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>profile</sender>
-   <signal>activated(int)</signal>
-   <receiver>RecordingOptions</receiver>
-   <slot>pickProfile(int)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>92</x>
-     <y>329</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>48</x>
-     <y>194</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>args</sender>
-   <signal>textEdited(QString)</signal>
-   <receiver>RecordingOptions</receiver>
-   <slot>storeCustomArgs(QString)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>128</x>
-     <y>357</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>102</x>
-     <y>189</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>sizeWidth</sender>
-   <signal>valueChanged(int)</signal>
-   <receiver>sizeCustom</receiver>
-   <slot>toggle()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>108</x>
-     <y>133</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>48</x>
-     <y>133</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>sizeHeight</sender>
-   <signal>valueChanged(int)</signal>
-   <receiver>sizeCustom</receiver>
-   <slot>toggle()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>212</x>
-     <y>133</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>64</x>
-     <y>129</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
- <slots>
-  <signal>filePicked(QString)</signal>
-  <signal>argumentsPicked(QString)</signal>
-  <slot>pickFile()</slot>
-  <slot>pickProfile(int)</slot>
-  <slot>storeCustomArgs(QString)</slot>
- </slots>
-</ui>
diff --git a/share/qtcreator/qml/qmlobserver/recopts_maemo5.ui b/share/qtcreator/qml/qmlobserver/recopts_maemo5.ui
deleted file mode 100644
index 3bb5ecabd91..00000000000
--- a/share/qtcreator/qml/qmlobserver/recopts_maemo5.ui
+++ /dev/null
@@ -1,254 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>RecordingOptions</class>
- <widget class="QDialog" name="RecordingOptions">
-  <property name="geometry">
-   <rect>
-    <x>0</x>
-    <y>0</y>
-    <width>469</width>
-    <height>142</height>
-   </rect>
-  </property>
-  <property name="windowTitle">
-   <string>Video options</string>
-  </property>
-  <layout class="QGridLayout" name="gridLayout" columnstretch="0,2,0">
-   <property name="sizeConstraint">
-    <enum>QLayout::SetMinAndMaxSize</enum>
-   </property>
-   <property name="leftMargin">
-    <number>16</number>
-   </property>
-   <property name="topMargin">
-    <number>0</number>
-   </property>
-   <property name="rightMargin">
-    <number>16</number>
-   </property>
-   <property name="bottomMargin">
-    <number>8</number>
-   </property>
-   <property name="horizontalSpacing">
-    <number>16</number>
-   </property>
-   <property name="verticalSpacing">
-    <number>0</number>
-   </property>
-   <item row="0" column="1">
-    <widget class="QLineEdit" name="file"/>
-   </item>
-   <item row="0" column="2" rowspan="3">
-    <spacer name="verticalSpacer">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="sizeHint" stdset="0">
-      <size>
-       <width>72</width>
-       <height>56</height>
-      </size>
-     </property>
-    </spacer>
-   </item>
-   <item row="1" column="0">
-    <widget class="QLabel" name="label_4">
-     <property name="text">
-      <string>Size</string>
-     </property>
-    </widget>
-   </item>
-   <item row="1" column="1">
-    <widget class="QComboBox" name="sizeCombo">
-     <item>
-      <property name="text">
-       <string/>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>VGA</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>QVGA</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>720p</string>
-      </property>
-     </item>
-    </widget>
-   </item>
-   <item row="2" column="0" rowspan="2">
-    <widget class="QLabel" name="rateLabel">
-     <property name="text">
-      <string>Rate</string>
-     </property>
-    </widget>
-   </item>
-   <item row="2" column="1" rowspan="2">
-    <widget class="QComboBox" name="rateCombo">
-     <item>
-      <property name="text">
-       <string>60 Hz</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>50 Hz</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>25 Hz</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>24 Hz</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>20 Hz</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>15 Hz</string>
-      </property>
-     </item>
-     <item>
-      <property name="text">
-       <string>10 Hz</string>
-      </property>
-     </item>
-    </widget>
-   </item>
-   <item row="5" column="1">
-    <widget class="QLineEdit" name="args"/>
-   </item>
-   <item row="4" column="1">
-    <widget class="QComboBox" name="profile"/>
-   </item>
-   <item row="4" column="0">
-    <widget class="QLabel" name="profileLabel">
-     <property name="text">
-      <string>Profile</string>
-     </property>
-    </widget>
-   </item>
-   <item row="6" column="0" colspan="2">
-    <widget class="QLabel" name="warning">
-     <property name="text">
-      <string notr="true">warning</string>
-     </property>
-     <property name="wordWrap">
-      <bool>true</bool>
-     </property>
-    </widget>
-   </item>
-   <item row="4" column="2" rowspan="3">
-    <widget class="QDialogButtonBox" name="buttonBox">
-     <property name="orientation">
-      <enum>Qt::Vertical</enum>
-     </property>
-     <property name="standardButtons">
-      <set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
-     </property>
-    </widget>
-   </item>
-   <item row="0" column="0">
-    <widget class="QPushButton" name="pickfile">
-     <property name="text">
-      <string>File</string>
-     </property>
-    </widget>
-   </item>
-   <item row="5" column="0">
-    <widget class="QPushButton" name="ffmpegHelp">
-     <property name="text">
-      <string>Options</string>
-     </property>
-    </widget>
-   </item>
-  </layout>
- </widget>
- <resources/>
- <connections>
-  <connection>
-   <sender>buttonBox</sender>
-   <signal>accepted()</signal>
-   <receiver>RecordingOptions</receiver>
-   <slot>accept()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>258</x>
-     <y>424</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>60</x>
-     <y>219</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>buttonBox</sender>
-   <signal>rejected()</signal>
-   <receiver>RecordingOptions</receiver>
-   <slot>reject()</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>258</x>
-     <y>424</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>92</x>
-     <y>219</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>profile</sender>
-   <signal>activated(int)</signal>
-   <receiver>RecordingOptions</receiver>
-   <slot>pickProfile(int)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>92</x>
-     <y>329</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>48</x>
-     <y>194</y>
-    </hint>
-   </hints>
-  </connection>
-  <connection>
-   <sender>args</sender>
-   <signal>textEdited(QString)</signal>
-   <receiver>RecordingOptions</receiver>
-   <slot>storeCustomArgs(QString)</slot>
-   <hints>
-    <hint type="sourcelabel">
-     <x>128</x>
-     <y>357</y>
-    </hint>
-    <hint type="destinationlabel">
-     <x>102</x>
-     <y>189</y>
-    </hint>
-   </hints>
-  </connection>
- </connections>
- <slots>
-  <signal>filePicked(QString)</signal>
-  <signal>argumentsPicked(QString)</signal>
-  <slot>pickFile()</slot>
-  <slot>pickProfile(int)</slot>
-  <slot>storeCustomArgs(QString)</slot>
- </slots>
-</ui>
diff --git a/share/qtcreator/qml/qmlobserver/startup/Logo.qml b/share/qtcreator/qml/qmlobserver/startup/Logo.qml
deleted file mode 100644
index 2bd7051e110..00000000000
--- a/share/qtcreator/qml/qmlobserver/startup/Logo.qml
+++ /dev/null
@@ -1,167 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-import QtQuick 2.1
-
-Rectangle {
-    id: myApp
-    width: 411
-    height: 411
-    color: "transparent"
-    property alias logoState : myApp.state
-    signal animationFinished
-
-    Item {
-        id: sketchBlueHolder
-        width: sketchLogo.width
-        height: sketchLogo.height
-        Image {
-            id: image1
-            x: -44
-            y: -45
-            smooth: true
-            source: "shadow.png"
-        }
-        Item {
-            clip: true
-            width: sketchLogo.width
-            height: sketchLogo.height
-            Image {
-                id: sketchLogo
-                smooth: true
-                source: "qt-sketch.jpg"
-            }
-            Image {
-                id: blueLogo
-                y: -420
-                smooth: true
-                source: "qt-blue.jpg"
-            }
-        }
-    }
-
-    states: [
-        State {
-            name: "showBlueprint"
-            PropertyChanges {
-                target: blueLogo
-                y: 0
-            }
-            PropertyChanges {
-                target: sketchLogo
-                opacity: 0
-            }
-        },
-        State {
-            extend: "showBlueprint"
-            name: "finale"
-            PropertyChanges {
-                target: fullLogo
-                opacity: 1
-            }
-            PropertyChanges {
-                target: backLogo
-                opacity: 1
-                scale: 1
-            }
-            PropertyChanges {
-                target: frontLogo
-                opacity: 1
-                scale: 1
-            }
-            PropertyChanges {
-                target: qtText
-                opacity: 1
-                scale: 1
-            }
-            PropertyChanges {
-                target: sketchBlueHolder
-                opacity: 0
-                scale: 1.4
-            }
-        }
-    ]
-
-    transitions: [
-        Transition {
-            to: "showBlueprint"
-            SequentialAnimation {
-                NumberAnimation { property: "y"; duration: 600; easing.type: "OutBounce" }
-                PropertyAction { target: sketchLogo; property: "opacity" }
-            }
-        },
-        Transition {
-            to: "finale"
-            PropertyAction { target: fullLogo; property: "opacity" }
-            SequentialAnimation {
-                NumberAnimation { target: backLogo; properties: "scale, opacity"; duration: 300 }
-                NumberAnimation { target: frontLogo; properties: "scale, opacity"; duration: 300 }
-                ParallelAnimation {
-                    NumberAnimation { target: qtText; properties: "opacity, scale"; duration: 400; easing.type: "OutQuad" }
-                    NumberAnimation { target: sketchBlueHolder; property: "opacity"; duration: 300; easing.type: "OutQuad" }
-                    NumberAnimation { target: sketchBlueHolder; property: "scale"; duration: 320; easing.type: "OutQuad" }
-                }
-                PauseAnimation { duration: 1000 }
-                ScriptAction { script: myApp.animationFinished() }
-            }
-        }
-    ]
-
-    Item {
-        id: fullLogo
-        opacity: 0
-        Image {
-            id: backLogo
-            x: -16
-            y: -41
-            opacity: 0
-            scale: 0.7
-            smooth: true
-            source: "qt-back.png"
-        }
-        Image {
-            id: frontLogo
-            x: -17
-            y: -41
-            opacity: 0
-            scale: 1.2
-            smooth: true
-            source: "qt-front.png"
-        }
-        Image {
-            id: qtText
-            x: -10
-            y: -41
-            opacity: 0
-            scale: 1.2
-            smooth: true
-            source: "qt-text.png"
-        }
-    }
-}
diff --git a/share/qtcreator/qml/qmlobserver/startup/qt-back.png b/share/qtcreator/qml/qmlobserver/startup/qt-back.png
deleted file mode 100644
index 077215f882f67b610bffdda72029ee8c2d7dd485..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3549
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
Mj-hs$rhVw&00(;n>i_@%

diff --git a/share/qtcreator/qml/qmlobserver/startup/qt-blue.jpg b/share/qtcreator/qml/qmlobserver/startup/qt-blue.jpg
deleted file mode 100644
index b2048964836a6ef5056b6caaef326212d9b65ecc..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 20900
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
ADF6Tf

diff --git a/share/qtcreator/qml/qmlobserver/startup/qt-front.png b/share/qtcreator/qml/qmlobserver/startup/qt-front.png
deleted file mode 100644
index dbfb43e374bb55847bb209fa60db200d197f3bef..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 3318
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
Bie&%*

diff --git a/share/qtcreator/qml/qmlobserver/startup/qt-sketch.jpg b/share/qtcreator/qml/qmlobserver/startup/qt-sketch.jpg
deleted file mode 100644
index 1ede6f079b534e6ea55c3fbbb1c4f01721054649..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 17048
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
MezF7YK@flc+2^Q6cmMzZ

diff --git a/share/qtcreator/qml/qmlobserver/startup/qt-text.png b/share/qtcreator/qml/qmlobserver/startup/qt-text.png
deleted file mode 100644
index d44995c9b34ed3a9ff263becd861268e8a1b9441..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 14565
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
Q#RIyx3~rWQ|2yoz0ruY#x&QzG

diff --git a/share/qtcreator/qml/qmlobserver/startup/quick-blur.png b/share/qtcreator/qml/qmlobserver/startup/quick-blur.png
deleted file mode 100644
index 29ec2433874bc2da07776332cdca881e7a9c73c3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2826
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
PX9R$@#30HpT)+DtH|&3(

diff --git a/share/qtcreator/qml/qmlobserver/startup/quick-regular.png b/share/qtcreator/qml/qmlobserver/startup/quick-regular.png
deleted file mode 100644
index 38321cbf19366635ad6f183a43a5ecda30304117..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1399
zcmV--1&I2IP)<h;3K|Lk000e1NJLTq006!K002P*0{{R3ot^_?0000PbVXQnQ*UN;
zcVTj606}DLVr3vnZDD6+Qe|Oed2z{QJOBUyFi=cXMgRZ*|NsC0|NsC0|NsC0|NsC0
z|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|NsC0|4y&CKmY&$4|GyaQveYnGelKpcZiv)
zyUgA0Mk@80000ESNkl<ZSi`kgy-piJ5MG19*npu+kso-02)Y!Jf;*Z>rcM#lrSuh%
zh!iFG4UF;vcBJ(94UQB^N|GmlBt=R?FxdES<J;Z&*}Xjl#Cfap?d~_bGxL2jXCZDq
zvUS<r6w@2~Qp&D(rZSn4{X4?XMIds=H&vI3rf)t93cux>I*ev6?})#w@K1eH?P%t2
zD)?ufnM|_fTl?oIF*2=G;=Aja$*GxI8u{5vzS-_w@hAN1m3$LR3V(XkTT}ScBlcDV
zKb)>`$m{9h|3@C4Oy;|{j{aUl%F*6x^mrWMcaj#qSJ4?y3{-XgWf@)IXgbA-Ub#^J
z9t9u|=j#1q^|s02Uz(i*k!fp@;&f3*yAWc*tUAz}=G*3XWP4UUd{;_w;)bFC3uP;(
zp+uh11&+3476t0<>@n`T0Ae?Z2}~(6w6eQlM2gX67MxNvi!{F~xG6gJ0$C2VCtT|3
z5gPxl5MA(STV{=l=RDg~0~hSz%|A1IRT<=0j9<;B3m(m!c%<G|)pI`(GjAhUeYbTW
z!f=(~^+|ek<p8!{v*_#~N&Doqp>p8URU;2$MEk*x{|FDgDADVTE=6)m72iH|f>;5k
ztB27#!*8G~a^&BT=z>QxRxj~s=*UA4?)8ho&qyqs=F-BZ3u`<=SUTgvs2E-e@k||t
z%XFSNqj&Z3>Bu@7SUtr}0ihTU&M0pEjtloD;dg~a7uI-?)eUt_N|KDJ`wtjFxaS7U
zRU{9AB@bY==22tdphxA7jpwXTu$*L#2U$Hqo4mRoc#5#b)RD|0)H3DdEQO)~u4HP)
zgBaB5thVJAV_M73Nv5P|HP(!1iP?6ej%NxSs50dwQ?4~g--6rbYPs6?)UajNSCA;P
zoMcLhRvD#Pbszg$INnzfRD+sfhK1*gH492O2EG=TFD;@i%1OQet;W73v|QCaJp>a<
z2F04;3N1K>^TiykgyV7pMcScPSJ+T2C%KZM)mR>C&n$X+T)wn!%R`Oip+ih)+2LU%
zI@SF7Y2h~*KC+wTBvaCPwAyfF0Gj`kc!JXLj1ru4qFPj4!1Q(TfjCu1_UuA3hfpjh
zbEKq;cKUW)lJ1&P7$o2q5NeHba*4K3`nvuHlIC1pvhc||lZP@%!3J7&n^_>Kj`LMQ
zeD@KmLh=w&P7@QDe9$3=5Y166Kh@Gq8=<IA&@mZ1R4Mza`!(Kn*X8e!(qoJ-d(?*v
zoI<(gd~7wqa;*0>P2W0pR|CZFlY6u)PLK%&rvpdgXo_@V&1Vxlp`p;|eMu2xg;KB8
zqV%F<gyS69IEdA+!DjZ5LFxN{5xF)t;7~oAbQSqch<o)(x4<~K?=}#bwzS5D{XrmQ
z8UAqKMX}5ll#ExJn8WY|!Wv;5XCw;Rmqk$0JS&Ph3!lkVUb-~~zIx=y?b%d1m6qW=
z))#u6<1dostc=wdSo(@x4UK+On**%jV^GXC!!NSB62@vwRtM{Y)l)v#dq3$Lmqe`S
zqK95Xx5(XX)tKx%DgOlK{?K%6hw5eW$i9gju_takR@|l|<*~*6JB3kon~s!6-4Wfi
zN9Yu#v`5?N=~Eu*{DGM~=B)o-(jO`Pftff8o{x_^j(;a72=SYzx`6-y002ovPDHLk
FV1jOozfS-F

diff --git a/share/qtcreator/qml/qmlobserver/startup/shadow.png b/share/qtcreator/qml/qmlobserver/startup/shadow.png
deleted file mode 100644
index 44f92fee736f67843f88a74da87c109878d231ee..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1592
zcmeAS@N?(olHy`uVBq!ia0y~yVEh8Y9LzwGKOFiyfRtp3YeY$Kep*R+Vo@rCV@iHf
zs)A>3VtQ&&YGO)d;mK4RprZ2uJ|V6^`v3p`KyrA1M_*6e2l~XdB*-rq7${84EUawo
z9GqO-JiL7T0)j%qViJ;4(lQE)O3G^L8k$-<x<;lJmR8m_PR{OLzW#xs(J=|hDQTIx
zMJ44GHO=jvZd+E%GBB{L^K@|xskrs_j$_^vGXaN-T3)hGm@Hl2)o;8hskD023~mo*
z-nNeW@zQZ0c6ObO`*G$%`Rfvv3#_r&(L(NB3$P+*@e;@D<u30#1O+Dw{^Pz`R_fyJ
z5_0F^PWzY2O2)>@3*WcjyLk7m@~fv`?TVgAC=372dvZ7Q>ebTM&(HsEwkwi3UYPc5
z!^7{l-d??1ymm$4;(K$xoGG05yztq?!z<pKzPP&j_$*89-&eoRdu(C<yt2-y*x^3s
z-d(??j2ADCcRT;Mo%!C@`r|)EV@tE8<b8K-zPs)GjzzB{zG_uH``~)++>5~Ut9!m?
zzGhs~U6cN0g@3H&z1mH!*MFXqjWzC{?Z$u2`pevl+V0PMm$1M7`|RC?`5MJ3eY4F!
z2$#6;HvDx$Msoe);QLjVKL2BVBl(TDnGZ+su*%{H9&W1=M_>qHLob^2up{g-0E!v9
z*n%^vsp=P;wtx~84un0pfWe3}#7MWL9Y>^4)t0|PRo3frU(es$cMg~;U#;7h`GsZg
zoVUj&$K4IpUwl7a?icggSG)E;JkMV5eZkyq{_5(xCRH2masS#En;jc|e@~<Qn(wpz
z|M~j;d9jS8k?iNV??1P$Gkv~h`}OLzru!G!6{~zXJ1_g{^<T5HubzIrxB6_4owhMM
zNUZj(<@2iFe($?_*6mvJo%j0hS395m;hh|}`Spr3GK{tAUsk-Em%X;C@>2Gd6)Q~L
zcU}6v`^xTByLK&#oBO5X)VWg*`;@EyOnZM%+pXNC?e4zEZU296{eAlVm)rXTZ<kBo
kt*Cd#9((wr?*He1%qq`BvMN~bJq8u(p00i_>zopr0Q;ePmH+?%

diff --git a/share/qtcreator/qml/qmlobserver/startup/startup.qml b/share/qtcreator/qml/qmlobserver/startup/startup.qml
deleted file mode 100644
index cc33425e40c..00000000000
--- a/share/qtcreator/qml/qmlobserver/startup/startup.qml
+++ /dev/null
@@ -1,161 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-import QtQuick 1.0
-
-Rectangle {
-    id: treatsApp
-    width: 800
-    height: 480
-    color: "darkgrey"
-    Component.onCompleted: treatsApp.state = "part1"
-    signal animationFinished
-
-    Item {
-        width: 800
-        height: 480
-        anchors.centerIn: parent
-        clip: true
-
-        Logo {
-            id: logo
-            x: 165
-            y: 35
-            rotation: -15
-            scale: 0.6
-            opacity: 0
-            onAnimationFinished: treatsApp.animationFinished();
-        }
-
-        Item {
-            id: quickblur
-            x: 800//325
-            y: 344
-            Image {
-                id: blurText
-                source: "quick-blur.png"
-            }
-            Image {
-                id: quickregular
-                x: -1
-                y: 0
-                opacity: 0
-                source: "quick-regular.png"
-            }
-            Image {
-                id: star
-                x: -1
-                y: 0
-                opacity: 0
-                source: "white-star.png"
-                smooth: true
-                NumberAnimation on rotation {
-                    from: 0
-                    to: 360
-                    loops: NumberAnimation.Infinite
-                    running: true
-                    duration: 2000
-                }
-            }
-        }
-    }
-
-    states: [
-        State {
-            name: "part1"
-            PropertyChanges {
-                target: logo
-                scale: 0.8
-                opacity: 1
-                rotation: 0
-            }
-            PropertyChanges {
-                target: treatsApp
-                color: "black"
-            }
-            PropertyChanges {
-                target: logo
-                y: 10
-            }
-            PropertyChanges {
-                target: quickblur
-                x: logo.x + 145
-            }
-            PropertyChanges {
-                target: blurText
-                opacity: 0
-            }
-            PropertyChanges {
-                target: quickregular
-                opacity: 1
-            }
-            PropertyChanges {
-                target: star
-                x: -7
-                y: -37
-            }
-        }
-    ]
-
-    transitions: [
-        Transition {
-            ParallelAnimation {
-                NumberAnimation { target: logo; property: "opacity"; duration: 500 }
-                NumberAnimation { target: logo; property: "scale"; duration: 4000; }
-                NumberAnimation { target: logo; property: "rotation"; duration: 2000; easing.type: "OutBack"}
-                ColorAnimation { duration: 3000}
-                SequentialAnimation {
-                    PauseAnimation { duration: 1000 }
-                    ScriptAction { script: logo.logoState = "showBlueprint" }
-                    PauseAnimation { duration: 800 }
-                    ScriptAction { script: logo.logoState = "finale" }
-                    PauseAnimation { duration: 800 }
-                    ParallelAnimation {
-                        NumberAnimation { target: quickblur; property: "x"; duration: 200;}
-                        SequentialAnimation {
-                            PauseAnimation { duration: 200}
-                            ParallelAnimation {
-                                NumberAnimation { target: blurText; property: "opacity"; duration: 300;}
-                                NumberAnimation { target: quickregular; property: "opacity"; duration: 300;}
-                            }
-                            NumberAnimation { target: star; property: "opacity"; from: 0; to: 1; duration: 500 }
-                            PauseAnimation { duration: 200 }
-                            NumberAnimation { target: star; property: "opacity"; from: 1; to: 0; duration: 500 }
-                        }
-                        SequentialAnimation {
-                            PauseAnimation { duration: 150}
-                            NumberAnimation { target: logo; property: "y"; duration: 300; easing.type: "OutBounce" }
-                        }
-                    }
-                }
-            }
-        }
-    ]
-
-} // treatsApp
diff --git a/share/qtcreator/qml/qmlobserver/startup/startup.qrc b/share/qtcreator/qml/qmlobserver/startup/startup.qrc
deleted file mode 100644
index 52e67050d94..00000000000
--- a/share/qtcreator/qml/qmlobserver/startup/startup.qrc
+++ /dev/null
@@ -1,16 +0,0 @@
-<RCC>
-    <qresource prefix="/startup">
-        <file>Logo.qml</file>
-        <file>qt-back.png</file>
-        <file>qt-blue.jpg</file>
-        <file>qt-front.png</file>
-        <file>qt-sketch.jpg</file>
-        <file>qt-text.png</file>
-        <file>quick-blur.png</file>
-        <file>quick-regular.png</file>
-        <file>shadow.png</file>
-        <file>startup.qml</file>
-        <file>startup.qrc</file>
-        <file>white-star.png</file>
-    </qresource>
-</RCC>
diff --git a/share/qtcreator/qml/qmlobserver/startup/white-star.png b/share/qtcreator/qml/qmlobserver/startup/white-star.png
deleted file mode 100644
index f467c9480e4fa553ea46c153ed8deec9b43394b7..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 2651
zcmeHJ`8yMi1KwOYqG4nxbKmDASIro<-1ppfCT0;iK5|s#h$v^dBe&{f$l^<qqs;h7
zbJXOBkYii!*vI$Z_&(qFdEWQ^;r;D>-XGp{TWfP(Zc%Ok0KkhzA?;5+=)dG-JyoUh
zrcb8^i8RGTI^eHIM*Btt0uTXszd$G&=NlAgALttp8$KLp2mk=T+gduBGXIbN=>~$f
zYEY+xsED+;b^ribSlQS)&Tw*Z^PJ`7I|t$y5CjVepBI6MiiuyiC;^p}l9rK`lUGnw
zQdUt_Q`gYcf@xpUxvZ<FZ(w-kD%=QRY=Sg3Ge@DXSy)<G+t}LKJ2<*vT-`i8y}W(=
z`~!lp!J%RJn-RC7Zb!$&#@|UuOiI3cFEuSaGb{T^UVg!|((>okwT;b$whm&?#}N{F
z@*8!2;pZxivAcKl=fv6j%nAT-CJ>E8IAW<Jw-Ef&8~$H6>|yQEdtv-+g-|AQkiBy$
z#~=t7B6Ir(tAy00xKXtn&TXGErKqUa#A&Ui-sH9VJ_}B8K}XCIcvB{uxVgYr_V()U
z09`2-g;#%Qhx0Z`q46njsWOT1{npn2OpL@|aoa19_tL+QU&g*S>Fd3LJWTqS#3(;_
zP#u5u1>*pi#5fptIL`xQTh$e6hF7|2Ljd=cgS~Cvzy~I0+`pR;2SnXF*<@yBUNVwI
zckh6kIkW>G<R|l-ub8owV6es)O88`HRiP?}RB1wRH^R6aw1?dx+?l|E=+6ZG2-xTA
zF=Kx~)NpKrh7|4jwN&mHuB<DA&n&!~SshFG;)ZDcl_F!MNS~!VbQNPsF$;95MOJba
zDRu!41Vzn)=ac-u4PL-w?0SE5J#JxKBR#dw<4-YEV<${VXva7hl2Y1Gx9-S8uWSHp
zn|Ly3yL?^W6k(Ay?Ps+Yvx`|Ty4My>7VCQ^r4i9S{1(GXmoOi5ygj^1j6Ze`;p-ZV
z^M@HlFc*Xha5b0kDqE;Q7eAdaK54s@iVi^$Z(9r90A+xh)Hp0vzSR!Ry}VFmWu1&{
zh`ic|T6`|RUntBULl*n;R*^rsL4U<@(sx?LIrhDoL5{d!XRoQNffHcVukHE<hbGuh
zj{WAOx$=vMvZS<XYbZ#lks{X+)L+I2WqY=BkMINGSZv%KZJUuMjpkNuwp#|z&nJM#
z`YIZ}PJTI(@N=iU*(<H5rP-9YkP>(wE5dzB^EXa-mA{1%uxWs`_?6G&NTW)H;85%C
zsa)|Hib<<eqXQ+1D(iqzPI+)hHDFl(a4?<k>M``xx5@o_zfS}5?go7AJk|uQSw);U
zwA0;syS@|Go%RzeT*Gepf$;Y|-jcQ!C~GwJXmfQnVuKCnt1X962OE~m7Uun6?LBH?
z*pO`~<gIQ#Da41~f5cjGHtsPli%OqbOrD%qKwffYU3qJ<N2l);*5Y4OPc5+>Wj!(v
z2@ReB=6y8+3f0AJ9Wz$Q-ep8}fBEWMDH+9U$+*5T7hGuIjjG&ik!*#2y}2kGb?^V2
z&_5iTGOa|jSo|M8tUzLN_Zyb8mK#$ltcv-8NdE)JWa4H-?8)y5Z|3i+HPV2cf(A@7
zSWY;)ar{H^#a0>AR=ieX74<f@-@X@UTX&1HzQeGACmu(p(8*@q9*2@exz&(huog!@
zxB#h<A>!5I76(CD5{;ea9i2+IN*JCLPjxc+RLjasrnZ~6;MBRp1d%Xt6Oln5;Soy}
z7FcQ_H~3(=>k|dkQ7kjzGJ+C?sN5e{nZju!R!T5T+R4e`3AJahV_t{vJ!k-Q7ed0W
zo{fsp+SjoBU`Y=XO-Iz#DOD_d_I^nzREINpdp9;Hb6(!?Lw9`cYa`8pKLHEKe!8$F
z3eQ@-p_jC3C%fwQIl6Fj0%SCS?>Rmk+?u-@_CCi|sd2c9s>HO2gN<HG`biKJ>JMy?
zvSy>t1Dy6AB_7ib6U0(|33cm3PT;4Y{Igm)%IcV(CDp^hi|Awk!46K_V*Vk|4&D?S
z$oVY%J_BB*At8A7PN3-b&~<Z8;5~b;%DRj!GM+-2J4z5A)GW&F+sE)15TC^5c^xT4
zjfbTZzVs;&w!bWH;JUJWwdva;qhyj{lyXV?g#!Ud|438M@Zf18i5bBOv94Q(hz0HD
z)zhR=T;SIUIVU=N??xi@g;xyZS5Q)ZG&MFZ$dEhvL?>I1rpiGcG10ZshjKtq(rrKY
zO}T@Ow0`EvjvmZp$d`9@r5&4w$4YB|mBG9c=Mwa((fCL;%(d`TmUPxv=2^62;R(48
z<0|}g2TOhS7a~LB;RL(bxy`O_6%X|E6{pz&u)r|jxvWL|u%|BY`zt<7(iEqOr7HAk
zEv5zfxD>a1qjsfR6I~DF6HN~-Sf*y__l&5zoy{l$$e5}^?}L=qZR#7tXHzWr;m=_`
zq4tg>Zc?9ub0_Ver>@^O74Sa<u>PGtV@HBw8Y3<;c#=i@VjMFtzgTB(`ZNkFc|4TY
z8411Jt}vcM7+aFf#7XOM1(of-&>Cr<sD?B}V1*5I;V#R|pObZt=)dTfm;L(vAbv12
z;|LNultfff3$i#_yu1^2Sv7Tx#Z_oLDwDc5Ub;4<q$$6}RI!jW@YKgijruq|fGvjd
z#lz*xYp{Q_>o`O|eu0C2)xJBp#T?6?XscL{H9~#?h@PwVT^=u)8J%o8yaHFwGB)+z
z(DQILhtc+TR1=?0<<mgdX2-SPOwV@K+o?Yi?<x=8-tUTj7q&Jc)9A5g)Y-ALyXXr`
zkqk~1y*_D7-tFEywrFk3_3udjGpd*A)%dJ$Hd599==r7OovD~Xz1X@FkXX<4X_1Rg
zi~dBanXZdXC+x!<LVx0sfE3(^J+aXH)1w7kt<b!FxM5and5s{Ho=9i<WiHXuN=rTA
z7EAoKc6^6e7-??r-bUxqyO$=VY>U&(`+wAzT^ivL4g~?H=Kz2<wMMoW``rB(uIlo(

diff --git a/share/qtcreator/qml/qmlobserver/texteditautoresizer_maemo5.h b/share/qtcreator/qml/qmlobserver/texteditautoresizer_maemo5.h
deleted file mode 100644
index 579390a695d..00000000000
--- a/share/qtcreator/qml/qmlobserver/texteditautoresizer_maemo5.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include <qplaintextedit.h>
-#include <qtextedit.h>
-#include <qabstractkineticscroller.h>
-#include <qscrollarea.h>
-#include <QDebug>
-
-#ifndef TEXTEDITAUTORESIZER_H
-#define TEXTEDITAUTORESIZER_H
-
-class TextEditAutoResizer : public QObject
-{
-    Q_OBJECT
-public:
-    TextEditAutoResizer(QWidget *parent)
-        : QObject(parent), plainTextEdit(qobject_cast<QPlainTextEdit *>(parent)),
-          textEdit(qobject_cast<QTextEdit *>(parent)), edit(qobject_cast<QFrame *>(parent))
-    {
-        // parent must either inherit QPlainTextEdit or  QTextEdit!
-        Q_ASSERT(plainTextEdit || textEdit);
-
-        connect(parent, SIGNAL(textChanged()), this, SLOT(textEditChanged()));
-        connect(parent, SIGNAL(cursorPositionChanged()), this, SLOT(textEditChanged()));
-
-        textEditChanged();
-    }
-
-private Q_SLOTS:
-    inline void textEditChanged();
-
-private:
-    QPlainTextEdit *plainTextEdit;
-    QTextEdit *textEdit;
-    QFrame *edit;
-};
-
-void TextEditAutoResizer::textEditChanged()
-{
-    QTextDocument *doc = textEdit ? textEdit->document() : plainTextEdit->document();
-    QRect cursor = textEdit ? textEdit->cursorRect() : plainTextEdit->cursorRect();
-
-    QSize s = doc->size().toSize();
-    if (plainTextEdit)
-        s.setHeight((s.height() + 2) * edit->fontMetrics().lineSpacing());
-
-    const QRect fr = edit->frameRect();
-    const QRect cr = edit->contentsRect();
-
-    edit->setMinimumHeight(qMax(70, s.height() + (fr.height() - cr.height() - 1)));
-
-    // make sure the cursor is visible in case we have a QAbstractScrollArea parent
-    QPoint pos = edit->pos();
-    QWidget *pw = edit->parentWidget();
-    while (pw) {
-        if (qobject_cast<QScrollArea *>(pw))
-            break;
-        pw = pw->parentWidget();
-    }
-
-    if (pw) {
-        QScrollArea *area = static_cast<QScrollArea *>(pw);
-        QPoint scrollto = area->widget()->mapFrom(edit, cursor.center());
-        QPoint margin(10 + cursor.width(), 2 * cursor.height());
-
-        if (QAbstractKineticScroller *scroller = area->property("kineticScroller").value<QAbstractKineticScroller *>()) {
-            scroller->ensureVisible(scrollto, margin.x(), margin.y());
-        } else {
-            area->ensureVisible(scrollto.x(), scrollto.y(), margin.x(), margin.y());
-        }
-    }
-}
-
-#endif
diff --git a/share/qtcreator/static.pro b/share/qtcreator/static.pro
index 956659f6059..7795d9cec3a 100644
--- a/share/qtcreator/static.pro
+++ b/share/qtcreator/static.pro
@@ -72,9 +72,6 @@ OTHER_FILES += $$FILES
    dumpinfo.input = qml/qmldump/Info.plist.in
    dumpinfo.output = $$IDE_DATA_PATH/qml/qmldump/Info.plist
    QMAKE_SUBSTITUTES += dumpinfo
-   observerinfo.input = qml/qmlobserver/Info.plist.in
-   observerinfo.output = $$IDE_DATA_PATH/qml/qmlobserver/Info.plist
-   QMAKE_SUBSTITUTES += observerinfo
    puppetinfo.input = qml/qmlpuppet/qmlpuppet/Info.plist.in
    puppetinfo.output = $$IDE_DATA_PATH/qml/qmlpuppet/qmlpuppet/Info.plist
    QMAKE_SUBSTITUES += puppetinfo
diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp
index 6321d7a0dab..e7a1d5de2d5 100644
--- a/src/plugins/projectexplorer/projectexplorer.cpp
+++ b/src/plugins/projectexplorer/projectexplorer.cpp
@@ -1663,9 +1663,6 @@ void ProjectExplorerPlugin::showRunErrorMessage(const QString &errorMessage)
     if (errorMessage.isNull()) {
         // a error occured, but message was not set
         QMessageBox::critical(ICore::mainWindow(), tr("Unknown error"), errorMessage);
-    } else if (errorMessage.isEmpty()) {
-        // a error, but the message was set to empty
-        // hack for qml observer warning, show nothing at all
     } else {
         QMessageBox::critical(ICore::mainWindow(), tr("Could Not Run"), errorMessage);
     }
diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
index 76f5bd808c7..66e7802111e 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
+++ b/src/plugins/qbsprojectmanager/qbsbuildstep.cpp
@@ -366,8 +366,6 @@ QbsBuildStepConfigWidget::QbsBuildStepConfigWidget(QbsBuildStep *step) :
     connect(m_ui->propertyEdit, SIGNAL(propertiesChanged()), this, SLOT(changeProperties()));
     connect(m_ui->qmlDebuggingLibraryCheckBox, SIGNAL(toggled(bool)),
             this, SLOT(linkQmlDebuggingLibraryChecked(bool)));
-    connect(m_ui->qmlDebuggingWarningText, SIGNAL(linkActivated(QString)),
-            this, SLOT(buildQmlDebuggingHelper()));
     connect(QtSupport::QtVersionManager::instance(), SIGNAL(dumpUpdatedFor(Utils::FileName)),
             this, SLOT(updateQmlDebuggingOption()));
     updateState();
@@ -531,12 +529,6 @@ void QbsBuildStepConfigWidget::linkQmlDebuggingLibraryChecked(bool checked)
     m_ignoreChange = false;
 }
 
-void QbsBuildStepConfigWidget::buildQmlDebuggingHelper()
-{
-    QtSupport::BaseQtVersion::buildDebuggingHelper(m_step->target()->kit(),
-                                                   static_cast<int>(QtSupport::DebuggingHelperBuildTask::QmlDebugging));
-}
-
 // --------------------------------------------------------------------
 // QbsBuildStepFactory:
 // --------------------------------------------------------------------
diff --git a/src/plugins/qbsprojectmanager/qbsbuildstep.h b/src/plugins/qbsprojectmanager/qbsbuildstep.h
index a6e6827da94..f1ec50f67ba 100644
--- a/src/plugins/qbsprojectmanager/qbsbuildstep.h
+++ b/src/plugins/qbsprojectmanager/qbsbuildstep.h
@@ -134,7 +134,6 @@ private slots:
 
     // QML debugging:
     void linkQmlDebuggingLibraryChecked(bool checked);
-    void buildQmlDebuggingHelper();
 
 private:
     Ui::QbsBuildStepConfigWidget *m_ui;
diff --git a/src/plugins/qmakeprojectmanager/qmakestep.cpp b/src/plugins/qmakeprojectmanager/qmakestep.cpp
index 81efeff72a3..5a128fe711c 100644
--- a/src/plugins/qmakeprojectmanager/qmakestep.cpp
+++ b/src/plugins/qmakeprojectmanager/qmakestep.cpp
@@ -193,25 +193,9 @@ QStringList QMakeStep::deducedArguments()
 
     QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit());
     if (linkQmlDebuggingLibrary() && version) {
-        if (!version->needsQmlDebuggingLibrary()) {
-            // This Qt version has the QML debugging services built in, however
-            // they still need to be enabled at compile time
-            // TODO: For Qt5, we can pass both arguments as there can be Qt Quick 1/2 projects.
-            // Currently there is no support for debugging multiple engines.
-            arguments << QLatin1String(Constants::QMAKEVAR_QUICK1_DEBUG);
-            if (version->qtVersion().majorVersion >= 5)
-                arguments << QLatin1String(Constants::QMAKEVAR_QUICK2_DEBUG);
-        } else {
-            const QString qmlDebuggingHelperLibrary = version->qmlDebuggingHelperLibrary(true);
-            if (!qmlDebuggingHelperLibrary.isEmpty()) {
-                // Do not turn debugger path into native path separators: Qmake does not like that!
-                const QString debuggingHelperPath
-                        = QFileInfo(qmlDebuggingHelperLibrary).dir().path();
-
-                arguments << QLatin1String(Constants::QMAKEVAR_QMLJSDEBUGGER_PATH)
-                             + QLatin1Char('=') + debuggingHelperPath;
-            }
-        }
+        arguments << QLatin1String(Constants::QMAKEVAR_QUICK1_DEBUG);
+        if (version->qtVersion().majorVersion >= 5)
+            arguments << QLatin1String(Constants::QMAKEVAR_QUICK2_DEBUG);
     }
 
 
@@ -478,8 +462,6 @@ QMakeStepConfigWidget::QMakeStepConfigWidget(QMakeStep *step)
             this, SLOT(buildConfigurationSelected()));
     connect(m_ui->qmlDebuggingLibraryCheckBox, SIGNAL(toggled(bool)),
             this, SLOT(linkQmlDebuggingLibraryChecked(bool)));
-    connect(m_ui->qmlDebuggingWarningText, SIGNAL(linkActivated(QString)),
-            this, SLOT(buildQmlDebuggingHelper()));
     connect(step, SIGNAL(userArgumentsChanged()),
             this, SLOT(userArgumentsChanged()));
     connect(step, SIGNAL(linkQmlDebuggingLibraryChanged()),
@@ -600,12 +582,6 @@ void QMakeStepConfigWidget::linkQmlDebuggingLibraryChecked(bool checked)
     question->show();
 }
 
-void QMakeStepConfigWidget::buildQmlDebuggingHelper()
-{
-    QtSupport::BaseQtVersion::buildDebuggingHelper(m_step->target()->kit(),
-                                                   static_cast<int>(QtSupport::DebuggingHelperBuildTask::QmlDebugging));
-}
-
 void QMakeStepConfigWidget::updateSummaryLabel()
 {
     QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(m_step->target()->kit());
diff --git a/src/plugins/qmakeprojectmanager/qmakestep.h b/src/plugins/qmakeprojectmanager/qmakestep.h
index 1e1ab8fbc4b..9eb537e146e 100644
--- a/src/plugins/qmakeprojectmanager/qmakestep.h
+++ b/src/plugins/qmakeprojectmanager/qmakestep.h
@@ -157,9 +157,6 @@ private slots:
     void buildConfigurationSelected();
     void linkQmlDebuggingLibraryChecked(bool checked);
 
-    // other
-    void buildQmlDebuggingHelper();
-
 private slots:
     void recompileMessageBoxFinished(int button);
 
diff --git a/src/plugins/qmakeprojectmanager/qmakestep.ui b/src/plugins/qmakeprojectmanager/qmakestep.ui
index 43c5828044b..0b6315c8788 100644
--- a/src/plugins/qmakeprojectmanager/qmakestep.ui
+++ b/src/plugins/qmakeprojectmanager/qmakestep.ui
@@ -14,7 +14,16 @@
    <property name="fieldGrowthPolicy">
     <enum>QFormLayout::ExpandingFieldsGrow</enum>
    </property>
-   <property name="margin">
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
     <number>0</number>
    </property>
    <item row="0" column="0">
@@ -27,7 +36,16 @@
    <item row="0" column="1">
     <widget class="QWidget" name="buildConfigurrationWidget" native="true">
      <layout class="QHBoxLayout" name="horizontalLayout_2">
-      <property name="margin">
+      <property name="leftMargin">
+       <number>0</number>
+      </property>
+      <property name="topMargin">
+       <number>0</number>
+      </property>
+      <property name="rightMargin">
+       <number>0</number>
+      </property>
+      <property name="bottomMargin">
        <number>0</number>
       </property>
       <item>
@@ -86,7 +104,16 @@
    <item row="2" column="1">
     <widget class="QWidget" name="widget" native="true">
      <layout class="QHBoxLayout" name="horizontalLayout">
-      <property name="margin">
+      <property name="leftMargin">
+       <number>0</number>
+      </property>
+      <property name="topMargin">
+       <number>0</number>
+      </property>
+      <property name="rightMargin">
+       <number>0</number>
+      </property>
+      <property name="bottomMargin">
        <number>0</number>
       </property>
       <item>
diff --git a/src/plugins/qmlprofiler/qmlprofilerengine.cpp b/src/plugins/qmlprofiler/qmlprofilerengine.cpp
index de05868abfd..c66a8f81e73 100644
--- a/src/plugins/qmlprofiler/qmlprofilerengine.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilerengine.cpp
@@ -113,16 +113,6 @@ bool QmlProfilerRunControl::startEngine()
 
     d->m_profilerState->setCurrentState(QmlProfilerStateManager::AppStarting);
 
-    if (ProjectExplorer::LocalApplicationRunConfiguration *rc =
-            qobject_cast<ProjectExplorer::LocalApplicationRunConfiguration *>(runConfiguration())) {
-        if (rc->executable().isEmpty()) {
-            showQmlObserverToolWarning();
-            d->m_profilerState->setCurrentState(QmlProfilerStateManager::Idle);
-            AnalyzerManager::stopTool();
-            return false;
-        }
-    }
-
     if (startParameters().startMode == StartLocal) {
         d->m_noDebugOutputTimer.start();
     } else {
@@ -317,28 +307,5 @@ void QmlProfilerRunControl::profilerStateChanged()
     }
 }
 
-void QmlProfilerRunControl::showQmlObserverToolWarning()
-{
-    QMessageBox dialog(QApplication::activeWindow());
-    QPushButton *qtPref = dialog.addButton(tr("Open Qt Versions"),
-                                           QMessageBox::ActionRole);
-    dialog.addButton(QMessageBox::Cancel);
-    dialog.setDefaultButton(qtPref);
-    dialog.setWindowTitle(tr("QML Observer Missing"));
-    dialog.setText(tr("QML Observer could not be found for this Qt version."));
-    dialog.setInformativeText(tr(
-                                  "QML Observer is used to offer debugging features for "
-                                  "Qt Quick UI projects in the Qt 4.7 series.\n\n"
-                                  "To compile QML Observer, go to the Qt Versions page, "
-                                  "select the current Qt version, "
-                                  "and click Build in the Helpers section."));
-    dialog.exec();
-    if (dialog.clickedButton() == qtPref) {
-        Core::ICore::showOptionsDialog(
-                    ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY,
-                    QtSupport::Constants::QTVERSION_SETTINGS_PAGE_ID);
-    }
-}
-
 } // namespace Internal
 } // namespace QmlProfiler
diff --git a/src/plugins/qmlprofiler/qmlprofilerengine.h b/src/plugins/qmlprofiler/qmlprofilerengine.h
index cfacd6f8a8b..cf0b476f9f9 100644
--- a/src/plugins/qmlprofiler/qmlprofilerengine.h
+++ b/src/plugins/qmlprofiler/qmlprofilerengine.h
@@ -75,9 +75,6 @@ private slots:
 private slots:
     void profilerStateChanged();
 
-private:
-    void showQmlObserverToolWarning();
-
 private:
     class QmlProfilerEnginePrivate;
     QmlProfilerEnginePrivate *d;
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
index 067a9035a50..b871be07954 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.cpp
@@ -77,29 +77,6 @@ void QmlProjectPlugin::extensionsInitialized()
 {
 }
 
-void QmlProjectPlugin::showQmlObserverToolWarning()
-{
-    QMessageBox dialog(QApplication::activeWindow());
-    QPushButton *qtPref = dialog.addButton(tr("Open Qt Versions"),
-                                           QMessageBox::ActionRole);
-    dialog.addButton(QMessageBox::Cancel);
-    dialog.setDefaultButton(qtPref);
-    dialog.setWindowTitle(tr("QML Observer Missing"));
-    dialog.setText(tr("QML Observer could not be found for this Qt version."));
-    dialog.setInformativeText(tr(
-                                  "QML Observer is used to offer debugging features for "
-                                  "Qt Quick UI projects in the Qt 4.7 series.\n\n"
-                                  "To compile QML Observer, go to the Qt Versions page, "
-                                  "select the current Qt version, "
-                                  "and click Build in the Helpers section."));
-    dialog.exec();
-    if (dialog.clickedButton() == qtPref) {
-        Core::ICore::showOptionsDialog(
-                    ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY,
-                    QtSupport::Constants::QTVERSION_SETTINGS_PAGE_ID);
-    }
-}
-
 } // namespace QmlProjectManager
 
 Q_EXPORT_PLUGIN(QmlProjectManager::QmlProjectPlugin)
diff --git a/src/plugins/qmlprojectmanager/qmlprojectplugin.h b/src/plugins/qmlprojectmanager/qmlprojectplugin.h
index 6cd6ae7016c..9ea0e83506b 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectplugin.h
+++ b/src/plugins/qmlprojectmanager/qmlprojectplugin.h
@@ -47,8 +47,6 @@ public:
 
     virtual bool initialize(const QStringList &arguments, QString *errorString);
     virtual void extensionsInitialized();
-
-    static void showQmlObserverToolWarning();
 };
 
 } // namespace QmlProject
diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
index 8ce33831b77..024a4bf5af1 100644
--- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
+++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp
@@ -110,10 +110,7 @@ QString QmlProjectRunConfiguration::executable() const
 
     if (id() == Constants::QML_SCENE_RC_ID)
         return version->qmlsceneCommand();
-    if (!version->needsQmlDebuggingLibrary())
-        return version->qmlviewerCommand();
-    return version->qmlObserverTool();
-
+    return version->qmlviewerCommand();
 }
 
 ProjectExplorer::LocalApplicationRunConfiguration::RunMode QmlProjectRunConfiguration::runMode() const
diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp
index c8c0d942365..626e9415267 100644
--- a/src/plugins/qtsupport/baseqtversion.cpp
+++ b/src/plugins/qtsupport/baseqtversion.cpp
@@ -29,9 +29,7 @@
 
 #include "baseqtversion.h"
 #include "qtconfigwidget.h"
-#include "qmlobservertool.h"
 #include "qmldumptool.h"
-#include "qmldebugginglibrary.h"
 #include "qtkitinformation.h"
 
 #include "qtversionmanager.h"
@@ -141,8 +139,6 @@ BaseQtVersion::BaseQtVersion(const FileName &qmakeCommand, bool isAutodetected,
       m_isAutodetected(isAutodetected),
       m_hasDebuggingHelper(false),
       m_hasQmlDump(false),
-      m_hasQmlDebuggingLibrary(false),
-      m_hasQmlObserver(false),
       m_mkspecUpToDate(false),
       m_mkspecReadUpToDate(false),
       m_defaultConfigIsDebug(true),
@@ -164,8 +160,6 @@ BaseQtVersion::BaseQtVersion()
     :  m_id(-1), m_isAutodetected(false),
     m_hasDebuggingHelper(false),
     m_hasQmlDump(false),
-    m_hasQmlDebuggingLibrary(false),
-    m_hasQmlObserver(false),
     m_mkspecUpToDate(false),
     m_mkspecReadUpToDate(false),
     m_defaultConfigIsDebug(true),
@@ -918,8 +912,6 @@ void BaseQtVersion::updateVersionInfo() const
     m_hasDocumentation = false;
     m_hasDebuggingHelper = false;
     m_hasQmlDump = false;
-    m_hasQmlDebuggingLibrary = false;
-    m_hasQmlObserver = false;
 
     if (!queryQMakeVariables(qmakeCommand(), qmakeRunEnvironment(), &m_versionInfo)) {
         m_qmakeIsExecutable = false;
@@ -938,10 +930,6 @@ void BaseQtVersion::updateVersionInfo() const
             m_hasQmlDump
                     = !QmlDumpTool::toolForQtPaths(qtInstallData, qtInstallBins, qtHeaderData, false).isEmpty()
                     || !QmlDumpTool::toolForQtPaths(qtInstallData, qtInstallBins, qtHeaderData, true).isEmpty();
-            m_hasQmlDebuggingLibrary
-                    = !QmlDebuggingLibrary::libraryByInstallData(qtInstallData, false).isEmpty()
-                || !QmlDebuggingLibrary::libraryByInstallData(qtInstallData, true).isEmpty();
-            m_hasQmlObserver = !QmlObserverTool::toolByInstallData(qtInstallData).isEmpty();
         }
     }
 
@@ -1107,23 +1095,6 @@ bool BaseQtVersion::needsQmlDump() const
     return qtVersion() < QtVersionNumber(4, 8, 0);
 }
 
-bool BaseQtVersion::hasQmlDebuggingLibrary() const
-{
-    updateVersionInfo();
-    return m_hasQmlDebuggingLibrary;
-}
-
-bool BaseQtVersion::needsQmlDebuggingLibrary() const
-{
-    return qtVersion() < QtVersionNumber(4, 8, 0);
-}
-
-bool BaseQtVersion::hasQmlObserver() const
-{
-    updateVersionInfo();
-    return m_hasQmlObserver;
-}
-
 Environment BaseQtVersion::qmlToolsEnvironment() const
 {
     // FIXME: This seems broken!
@@ -1160,22 +1131,6 @@ QString BaseQtVersion::qmlDumpTool(bool debugVersion) const
     return QmlDumpTool::toolForQtPaths(qtInstallData, qtInstallBins, qtHeaderData, debugVersion);
 }
 
-QString BaseQtVersion::qmlDebuggingHelperLibrary(bool debugVersion) const
-{
-    QString qtInstallData = qmakeProperty("QT_INSTALL_DATA");
-    if (qtInstallData.isEmpty())
-        return QString();
-    return QmlDebuggingLibrary::libraryByInstallData(qtInstallData, debugVersion);
-}
-
-QString BaseQtVersion::qmlObserverTool() const
-{
-    QString qtInstallData = qmakeProperty("QT_INSTALL_DATA");
-    if (qtInstallData.isEmpty())
-        return QString();
-    return QmlObserverTool::toolByInstallData(qtInstallData);
-}
-
 QStringList BaseQtVersion::debuggingHelperLibraryLocations() const
 {
     QString qtInstallData = qmakeProperty("QT_INSTALL_DATA");
@@ -1472,25 +1427,19 @@ bool BaseQtVersion::isQmlDebuggingSupported(Kit *k, QString *reason)
 
 bool BaseQtVersion::isQmlDebuggingSupported(QString *reason) const
 {
-    if (!needsQmlDebuggingLibrary() || hasQmlDebuggingLibrary())
-        return true;
-
     if (!isValid()) {
         if (reason)
             *reason = QCoreApplication::translate("BaseQtVersion", "Invalid Qt version.");
         return false;
     }
 
-    if (qtVersion() < QtVersionNumber(4, 7, 1)) {
+    if (qtVersion() < QtVersionNumber(4, 8, 0)) {
         if (reason)
-            *reason = QCoreApplication::translate("BaseQtVersion", "Requires Qt 4.7.1 or newer.");
+            *reason = QCoreApplication::translate("BaseQtVersion", "Requires Qt 4.8.0 or newer.");
         return false;
     }
 
-    if (reason)
-        *reason = QCoreApplication::translate("BaseQtVersion", "Library not available. <a href='compile'>Compile...</a>");
-
-    return false;
+    return true;
 }
 
 void BaseQtVersion::buildDebuggingHelper(Kit *k, int tools)
diff --git a/src/plugins/qtsupport/baseqtversion.h b/src/plugins/qtsupport/baseqtversion.h
index 40bb5908128..5b382c2d696 100644
--- a/src/plugins/qtsupport/baseqtversion.h
+++ b/src/plugins/qtsupport/baseqtversion.h
@@ -193,18 +193,13 @@ public:
 
     virtual bool supportsBinaryDebuggingHelper() const;
     virtual QString gdbDebuggingHelperLibrary() const;
-    virtual QString qmlDebuggingHelperLibrary(bool debugVersion) const;
     virtual QString qmlDumpTool(bool debugVersion) const;
-    virtual QString qmlObserverTool() const;
     virtual QStringList debuggingHelperLibraryLocations() const;
 
     virtual bool hasGdbDebuggingHelper() const;
     virtual bool hasQmlDump() const;
     virtual bool hasQmlDumpWithRelocatableFlag() const;
     virtual bool needsQmlDump() const;
-    virtual bool hasQmlDebuggingLibrary() const;
-    virtual bool needsQmlDebuggingLibrary() const;
-    virtual bool hasQmlObserver() const;
     Utils::Environment qmlToolsEnvironment() const;
 
     virtual QtConfigWidget *createConfigurationWidget() const;
@@ -270,8 +265,6 @@ private:
     bool m_isAutodetected;
     mutable bool m_hasDebuggingHelper; // controlled by m_versionInfoUpToDate
     mutable bool m_hasQmlDump;         // controlled by m_versionInfoUpToDate
-    mutable bool m_hasQmlDebuggingLibrary; // controlled by m_versionInfoUpdate
-    mutable bool m_hasQmlObserver;     // controlled by m_versionInfoUpToDate
     mutable bool m_mkspecUpToDate;
     mutable bool m_mkspecReadUpToDate;
     mutable bool m_defaultConfigIsDebug;
diff --git a/src/plugins/qtsupport/debugginghelper.ui b/src/plugins/qtsupport/debugginghelper.ui
index 56c484de5c5..cd7dba4e4b4 100644
--- a/src/plugins/qtsupport/debugginghelper.ui
+++ b/src/plugins/qtsupport/debugginghelper.ui
@@ -6,16 +6,32 @@
    <rect>
     <x>0</x>
     <y>0</y>
-    <width>404</width>
-    <height>176</height>
+    <width>330</width>
+    <height>85</height>
    </rect>
   </property>
   <layout class="QVBoxLayout" name="verticalLayout">
-   <property name="margin">
+   <property name="leftMargin">
+    <number>0</number>
+   </property>
+   <property name="topMargin">
+    <number>0</number>
+   </property>
+   <property name="rightMargin">
+    <number>0</number>
+   </property>
+   <property name="bottomMargin">
     <number>0</number>
    </property>
    <item>
     <layout class="QGridLayout" name="gridLayout">
+     <item row="1" column="2">
+      <widget class="QPushButton" name="qmlDumpBuildButton">
+       <property name="text">
+        <string>Build</string>
+       </property>
+      </widget>
+     </item>
      <item row="1" column="0">
       <widget class="QLabel" name="qmlDumpLabel">
        <property name="toolTip">
@@ -26,31 +42,15 @@
        </property>
       </widget>
      </item>
-     <item row="1" column="1">
-      <widget class="QLabel" name="qmlDumpStatus">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-         <horstretch>2</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="text">
-        <string notr="true">TextLabel</string>
-       </property>
-      </widget>
-     </item>
-     <item row="3" column="0">
-      <widget class="QLabel" name="qmlObserverLabel">
-       <property name="toolTip">
-        <string>A modified version of qmlviewer with support for QML/JS debugging.</string>
-       </property>
+     <item row="2" column="2">
+      <widget class="QPushButton" name="gdbHelperBuildButton">
        <property name="text">
-        <string>QML Observer:</string>
+        <string>Build</string>
        </property>
       </widget>
      </item>
-     <item row="3" column="1">
-      <widget class="QLabel" name="qmlObserverStatus">
+     <item row="1" column="1">
+      <widget class="QLabel" name="qmlDumpStatus">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
          <horstretch>2</horstretch>
@@ -63,26 +63,6 @@
       </widget>
      </item>
      <item row="2" column="0">
-      <widget class="QLabel" name="qmlDebuggingLibLabel">
-       <property name="text">
-        <string>QML Debugging Library:</string>
-       </property>
-      </widget>
-     </item>
-     <item row="2" column="1">
-      <widget class="QLabel" name="qmlDebuggingLibStatus">
-       <property name="sizePolicy">
-        <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
-         <horstretch>2</horstretch>
-         <verstretch>0</verstretch>
-        </sizepolicy>
-       </property>
-       <property name="text">
-        <string notr="true">TextLabel</string>
-       </property>
-      </widget>
-     </item>
-     <item row="4" column="0">
       <widget class="QLabel" name="gdbHelperLabel">
        <property name="toolTip">
         <string>Helps showing content of Qt types. Only used in older versions of GDB.</string>
@@ -92,7 +72,7 @@
        </property>
       </widget>
      </item>
-     <item row="4" column="1">
+     <item row="2" column="1">
       <widget class="QLabel" name="gdbHelperStatus">
        <property name="sizePolicy">
         <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
@@ -105,34 +85,6 @@
        </property>
       </widget>
      </item>
-     <item row="1" column="2">
-      <widget class="QPushButton" name="qmlDumpBuildButton">
-       <property name="text">
-        <string>Build</string>
-       </property>
-      </widget>
-     </item>
-     <item row="2" column="2">
-      <widget class="QPushButton" name="qmlDebuggingLibBuildButton">
-       <property name="text">
-        <string>Build</string>
-       </property>
-      </widget>
-     </item>
-     <item row="3" column="2">
-      <widget class="QPushButton" name="qmlObserverBuildButton">
-       <property name="text">
-        <string>Build</string>
-       </property>
-      </widget>
-     </item>
-     <item row="4" column="2">
-      <widget class="QPushButton" name="gdbHelperBuildButton">
-       <property name="text">
-        <string>Build</string>
-       </property>
-      </widget>
-     </item>
     </layout>
    </item>
    <item>
diff --git a/src/plugins/qtsupport/debugginghelperbuildtask.cpp b/src/plugins/qtsupport/debugginghelperbuildtask.cpp
index 9886945f7ec..090806562c4 100644
--- a/src/plugins/qtsupport/debugginghelperbuildtask.cpp
+++ b/src/plugins/qtsupport/debugginghelperbuildtask.cpp
@@ -30,8 +30,6 @@
 #include "debugginghelperbuildtask.h"
 #include "debugginghelper.h"
 #include "qmldumptool.h"
-#include "qmlobservertool.h"
-#include "qmldebugginglibrary.h"
 #include "baseqtversion.h"
 #include "qtversionmanager.h"
 #include <utils/qtcassert.h>
@@ -128,11 +126,6 @@ DebuggingHelperBuildTask::Tools DebuggingHelperBuildTask::availableTools(const B
     }
     if (QmlDumpTool::canBuild(version))
         tools |= QmlDump;
-    if (QmlDebuggingLibrary::canBuild(version)) {
-        tools |= QmlDebugging;
-        if (QmlObserverTool::canBuild(version))
-            tools |= QmlObserver; // requires QML debugging.
-    }
     return tools;
 }
 
@@ -143,7 +136,7 @@ void DebuggingHelperBuildTask::showOutputOnError(bool show)
 
 void DebuggingHelperBuildTask::run(QFutureInterface<void> &future)
 {
-    future.setProgressRange(0, 5);
+    future.setProgressRange(0, 3);
     future.setProgressValue(1);
 
     if (m_invalidQt || !buildDebuggingHelper(future)) {
@@ -203,47 +196,6 @@ bool DebuggingHelperBuildTask::buildDebuggingHelper(QFutureInterface<void> &futu
             return false;
     }
     future.setProgressValue(3);
-
-    QString qmlDebuggingDirectory;
-    if (m_tools & QmlDebugging) {
-        QString output, error;
-
-        qmlDebuggingDirectory = QmlDebuggingLibrary::copy(m_qtInstallData, &error);
-
-        bool success = true;
-        arguments.directory = qmlDebuggingDirectory;
-        if (arguments.directory.isEmpty()
-                || !QmlDebuggingLibrary::build(arguments, &output, &error)) {
-            success = false;
-        }
-
-        log(output, error);
-        if (!success)
-            return false;
-    }
-    future.setProgressValue(4);
-
-    if (m_tools & QmlObserver) {
-        QString output, error;
-        bool success = true;
-
-        arguments.directory = QmlObserverTool::copy(m_qtInstallData, &error);
-        arguments.qmakeArguments << QLatin1String("INCLUDEPATH+=\"\\\"")
-                                    + qmlDebuggingDirectory
-                                    + QLatin1String("include\\\"\"");
-        arguments.qmakeArguments << QLatin1String("LIBS+=-L\"\\\"")
-                                    + qmlDebuggingDirectory
-                                    + QLatin1String("\\\"\"");
-
-        if (arguments.directory.isEmpty()
-                || !QmlObserverTool::build(arguments, &output, &error)) {
-            success = false;
-        }
-        log(output, error);
-        if (!success)
-            return false;
-    }
-    future.setProgressValue(5);
     return true;
 }
 
diff --git a/src/plugins/qtsupport/debugginghelperbuildtask.h b/src/plugins/qtsupport/debugginghelperbuildtask.h
index 6d8cd7efcaf..dc767cf0cf9 100644
--- a/src/plugins/qtsupport/debugginghelperbuildtask.h
+++ b/src/plugins/qtsupport/debugginghelperbuildtask.h
@@ -51,10 +51,8 @@ class QTSUPPORT_EXPORT DebuggingHelperBuildTask : public QObject
 public:
     enum DebuggingHelper {
         GdbDebugging = 0x01,
-        QmlDebugging = 0x02,
-        QmlObserver = 0x04,
-        QmlDump = 0x08,
-        AllTools = GdbDebugging | QmlDebugging | QmlObserver | QmlDump
+        QmlDump = 0x02,
+        AllTools = GdbDebugging | QmlDump
     };
     Q_DECLARE_FLAGS(Tools, DebuggingHelper)
 
diff --git a/src/plugins/qtsupport/qmldebugginglibrary.cpp b/src/plugins/qtsupport/qmldebugginglibrary.cpp
deleted file mode 100644
index f2a90a45ad5..00000000000
--- a/src/plugins/qtsupport/qmldebugginglibrary.cpp
+++ /dev/null
@@ -1,157 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "qmldebugginglibrary.h"
-
-#include "baseqtversion.h"
-#include <coreplugin/icore.h>
-
-#include <QDesktopServices>
-#include <QCoreApplication>
-#include <QDir>
-#include <QDebug>
-
-namespace QtSupport {
-
-
-QString QmlDebuggingLibrary::libraryByInstallData(const QString &qtInstallData, bool debugBuild)
-{
-    if (!Core::ICore::instance())
-        return QString();
-
-    const QStringList directories = installDirectories(qtInstallData);
-
-    QStringList binFilenames;
-    if (debugBuild) {
-        binFilenames << QLatin1String("QmlJSDebuggerd.lib");
-        binFilenames << QLatin1String("libQmlJSDebuggerd.a"); // mingw
-    } else {
-        binFilenames << QLatin1String("QmlJSDebugger.lib");
-    }
-    binFilenames << QLatin1String("libQmlJSDebugger.a");
-    binFilenames << QLatin1String("QmlJSDebugger.prl"); // Symbian. Note that the actual lib is in EPOCROOT
-
-    return byInstallDataHelper(sourcePath(), sourceFileNames(), directories, binFilenames, false);
-}
-
-bool QmlDebuggingLibrary::canBuild(const BaseQtVersion *qtVersion, QString *reason)
-{
-    if (qtVersion->qtVersion() < QtVersionNumber(4, 7, 1)) {
-        if (reason)
-            *reason = QCoreApplication::translate("QmakeProjectManager::QmlDebuggingLibrary", "Only available for Qt 4.7.1 or newer.");
-        return false;
-    }
-    if (qtVersion->qtVersion() >= QtVersionNumber(4, 8, 0)) {
-        if (reason)
-            *reason = QCoreApplication::translate("QmakeProjectManager::QmlDebuggingLibrary", "Not needed.");
-        return false;
-    }
-    return true;
-}
-
-bool  QmlDebuggingLibrary::build(BuildHelperArguments arguments, QString *log, QString *errorMessage)
-{
-    arguments.helperName = QCoreApplication::translate("QmakeProjectManager::QmlDebuggingLibrary", "QML Debugging");
-    arguments.proFilename = QLatin1String("qmljsdebugger.pro");
-    return buildHelper(arguments, log, errorMessage);
-}
-
-static inline bool mkpath(const QString &targetDirectory, QString *errorMessage)
-{
-    if (!QDir().mkpath(targetDirectory)) {
-        *errorMessage = QCoreApplication::translate("QmakeProjectManager::QmlDebuggingLibrary", "The target directory %1 could not be created.").arg(targetDirectory);
-        return false;
-    }
-    return true;
-}
-
-QString QmlDebuggingLibrary::copy(const QString &qtInstallData, QString *errorMessage)
-{
-    const QStringList directories = QmlDebuggingLibrary::installDirectories(qtInstallData);
-
-    // Try to find a writeable directory.
-    foreach (const QString &directory, directories) {
-        if (!mkpath(directory, errorMessage))
-            continue;
-        else
-            errorMessage->clear();
-
-        if (copyFiles(sourcePath(), sourceFileNames(),
-                      directory, errorMessage))
-        {
-            errorMessage->clear();
-            return directory;
-        }
-    }
-    *errorMessage = QCoreApplication::translate("QmakeProjectManager::QmlDebuggingLibrary",
-                                                "QML Debugging library could not be built in any of the directories:\n- %1\n\nReason: %2")
-                    .arg(directories.join(QLatin1String("\n- ")), *errorMessage);
-    return QString();
-}
-
-QStringList QmlDebuggingLibrary::recursiveFileList(const QDir &dir, const QString &prefix)
-{
-    QStringList files;
-
-    QString _prefix = prefix;
-    if (!_prefix.isEmpty() && !_prefix.endsWith(QLatin1Char('/')))
-        _prefix = _prefix + QLatin1Char('/');
-    foreach (const QString &fileName, dir.entryList(QDir::Files)) {
-        files << _prefix + fileName;
-    }
-
-    foreach (const QString &subDir, dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot)) {
-        files += recursiveFileList(QDir(dir.absoluteFilePath(subDir)), _prefix + subDir);
-    }
-    return files;
-}
-
-QStringList QmlDebuggingLibrary::installDirectories(const QString &qtInstallData)
-{
-    const QChar slash = QLatin1Char('/');
-    const uint hash = qHash(qtInstallData);
-    QStringList directories;
-    directories
-            << (qtInstallData + QLatin1String("/qtc-qmldbg/"))
-            << QDir::cleanPath((QCoreApplication::applicationDirPath() + QLatin1String("/../qtc-qmldbg/") + QString::number(hash))) + slash
-            << (QDesktopServices::storageLocation(QDesktopServices::DataLocation) + QLatin1String("/qtc-qmldbg/") + QString::number(hash)) + slash;
-    return directories;
-}
-
-QString QmlDebuggingLibrary::sourcePath()
-{
-    return Core::ICore::resourcePath() + QLatin1String("/qml/qmljsdebugger/");
-}
-
-QStringList QmlDebuggingLibrary::sourceFileNames()
-{
-    return recursiveFileList(QDir(sourcePath()));
-}
-
-} // namespace
diff --git a/src/plugins/qtsupport/qmldebugginglibrary.h b/src/plugins/qtsupport/qmldebugginglibrary.h
deleted file mode 100644
index 64a16a1e874..00000000000
--- a/src/plugins/qtsupport/qmldebugginglibrary.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QMLDEBUGGINGLIBRARY_H
-#define QMLDEBUGGINGLIBRARY_H
-
-#include <utils/buildablehelperlibrary.h>
-
-QT_FORWARD_DECLARE_CLASS(QDir)
-
-namespace Utils {
-    class Environment;
-}
-
-namespace ProjectExplorer {
-    class Project;
-}
-
-namespace QtSupport {
-
-class BaseQtVersion;
-
-class QmlDebuggingLibrary : public Utils::BuildableHelperLibrary
-{
-public:
-    static QString libraryByInstallData(const QString &qtInstallData, bool debugBuild);
-
-    static bool canBuild(const BaseQtVersion *qtVersion, QString *reason = 0);
-    static bool build(BuildHelperArguments arguments, QString *log, QString *errorMessage);
-
-    static QString copy(const QString &qtInstallData, QString *errorMessage);
-
-private:
-    static QStringList recursiveFileList(const QDir &dir, const QString &prefix = QString());
-    static QStringList installDirectories(const QString &qtInstallData);
-    static QString sourcePath();
-    static QStringList sourceFileNames();
-};
-
-} // namespace
-
-#endif // QMLDEBUGGINGLIBRARY_H
diff --git a/src/plugins/qtsupport/qmlobservertool.cpp b/src/plugins/qtsupport/qmlobservertool.cpp
deleted file mode 100644
index 9479645293f..00000000000
--- a/src/plugins/qtsupport/qmlobservertool.cpp
+++ /dev/null
@@ -1,175 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#include "qmlobservertool.h"
-
-#include "qtsupportconstants.h"
-#include "baseqtversion.h"
-#include <coreplugin/icore.h>
-
-#include <QDesktopServices>
-#include <QCoreApplication>
-#include <QDir>
-#include <QDebug>
-
-namespace QtSupport {
-
-static QStringList recursiveFileList(const QDir &dir, const QString &prefix)
-{
-    QStringList files;
-
-    QString _prefix = prefix;
-    if (!_prefix.isEmpty() && !_prefix.endsWith(QLatin1Char('/')))
-        _prefix.append(QLatin1Char('/'));
-
-    foreach (const QString &fileName, dir.entryList(QDir::Files))
-        files << _prefix + fileName;
-
-    foreach (const QString &subDir, dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot))
-        files += recursiveFileList(QDir(dir.absoluteFilePath(subDir)), _prefix + subDir);
-
-    return files;
-}
-
-static QStringList installDirectories(const QString &qtInstallData)
-{
-    const QChar slash = QLatin1Char('/');
-    const uint hash = qHash(qtInstallData);
-    QStringList directories;
-    directories
-            << (qtInstallData + QLatin1String("/qtc-qmlobserver/"))
-            << QDir::cleanPath((QCoreApplication::applicationDirPath() + QLatin1String("/../qtc-qmlobserver/") + QString::number(hash))) + slash
-            << (QDesktopServices::storageLocation(QDesktopServices::DataLocation) + QLatin1String("/qtc-qmlobserver/") + QString::number(hash)) + slash;
-    return directories;
-}
-
-static QString sourcePath()
-{
-    return Core::ICore::resourcePath() + QLatin1String("/qml/qmlobserver/");
-}
-
-static QStringList sourceFileNames()
-{
-    return recursiveFileList(QDir(sourcePath()), QString());
-}
-
-static QStringList validBinaryFilenames()
-{
-    return QStringList()
-            << QLatin1String("debug/qmlobserver.exe")
-            << QLatin1String("qmlobserver.exe")
-            << QLatin1String("qmlobserver")
-            << QLatin1String("QMLObserver.app/Contents/MacOS/QMLObserver");
-}
-
-bool QmlObserverTool::canBuild(const BaseQtVersion *qtVersion, QString *reason)
-{
-    if (qtVersion->type() != QLatin1String(Constants::DESKTOPQT)
-            && qtVersion->type() != QLatin1String(Constants::SIMULATORQT)) {
-        if (reason)
-            *reason = QCoreApplication::translate("QmakeProjectManager::QmlObserverTool", "Only available for Qt for Desktop or Qt for Qt Simulator.");
-        return false;
-    }
-
-    if (qtVersion->qtVersion() < QtVersionNumber(4, 7, 1)) {
-        if (reason)
-            *reason = QCoreApplication::translate("QmakeProjectManager::QmlObserverTool", "Only available for Qt 4.7.1 or newer.");
-        return false;
-    }
-    if (qtVersion->qtVersion() >= QtVersionNumber(4, 8, 0)) {
-        if (reason)
-            *reason = QCoreApplication::translate("QmakeProjectManager::QmlObserverTool", "Not needed.");
-        return false;
-    }
-    return true;
-}
-
-QString QmlObserverTool::toolByInstallData(const QString &qtInstallData)
-{
-    if (!Core::ICore::instance())
-        return QString();
-
-    const QStringList directories = installDirectories(qtInstallData);
-    const QStringList binFilenames = validBinaryFilenames();
-
-    return byInstallDataHelper(sourcePath(), sourceFileNames(), directories, binFilenames, false);
-}
-
-QStringList QmlObserverTool::locationsByInstallData(const QString &qtInstallData)
-{
-    QStringList result;
-    QFileInfo fileInfo;
-    const QStringList binFilenames = validBinaryFilenames();
-    foreach (const QString &directory, installDirectories(qtInstallData)) {
-        if (getHelperFileInfoFor(binFilenames, directory, &fileInfo))
-            result << fileInfo.filePath();
-    }
-    return result;
-}
-
-bool  QmlObserverTool::build(BuildHelperArguments arguments, QString *log, QString *errorMessage)
-{
-    arguments.helperName = QCoreApplication::translate("QmakeProjectManager::QmlObserverTool", "QMLObserver");
-    arguments.proFilename = QLatin1String("qmlobserver.pro");
-
-    return buildHelper(arguments, log, errorMessage);
-}
-
-static inline bool mkpath(const QString &targetDirectory, QString *errorMessage)
-{
-    if (!QDir().mkpath(targetDirectory)) {
-        *errorMessage = QCoreApplication::translate("ProjectExplorer::QmlObserverTool", "The target directory %1 could not be created.").arg(targetDirectory);
-        return false;
-    }
-    return true;
-}
-
-QString QmlObserverTool::copy(const QString &qtInstallData, QString *errorMessage)
-{
-    const QStringList directories = installDirectories(qtInstallData);
-
-    // Try to find a writable directory.
-    foreach (const QString &directory, directories) {
-        if (!mkpath(directory, errorMessage))
-            continue;
-
-        errorMessage->clear();
-
-        if (copyFiles(sourcePath(), sourceFileNames(), directory, errorMessage)) {
-            errorMessage->clear();
-            return directory;
-        }
-    }
-    *errorMessage = QCoreApplication::translate("ProjectExplorer::QmlObserverTool",
-                                                "QMLObserver could not be built in any of the directories:\n- %1\n\nReason: %2")
-                    .arg(directories.join(QLatin1String("\n- ")), *errorMessage);
-    return QString();
-}
-
-} // namespace
diff --git a/src/plugins/qtsupport/qmlobservertool.h b/src/plugins/qtsupport/qmlobservertool.h
deleted file mode 100644
index ab7985853a4..00000000000
--- a/src/plugins/qtsupport/qmlobservertool.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2013 Digia Plc and/or its subsidiary(-ies).
-** Contact: http://www.qt-project.org/legal
-**
-** This file is part of Qt Creator.
-**
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and Digia.  For licensing terms and
-** conditions see http://qt.digia.com/licensing.  For further information
-** use the contact form at http://qt.digia.com/contact-us.
-**
-** 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, Digia gives you certain additional
-** rights.  These rights are described in the Digia Qt LGPL Exception
-** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
-**
-****************************************************************************/
-
-#ifndef QMLOBSERVERTOOL_H
-#define QMLOBSERVERTOOL_H
-
-#include "qtsupport_global.h"
-#include <utils/buildablehelperlibrary.h>
-
-namespace QtSupport {
-
-class BaseQtVersion;
-
-class QTSUPPORT_EXPORT QmlObserverTool : public Utils::BuildableHelperLibrary
-{
-public:
-    static bool canBuild(const BaseQtVersion *qtVersion, QString *reason = 0);
-    static QString toolByInstallData(const QString &qtInstallData);
-    static QStringList locationsByInstallData(const QString &qtInstallData);
-
-    // Build the helpers and return the output log/errormessage.
-    static bool build(BuildHelperArguments arguments, QString *out, QString *err);
-
-    // Copy the source files to a target location and return the chosen target location.
-    static QString copy(const QString &qtInstallData, QString *errorMessage);
-};
-
-} // namespace QtSupport
-
-#endif // QMLOBSERVERTOOL_H
diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp
index e3047d39c1b..8ac4570e4f9 100644
--- a/src/plugins/qtsupport/qtoptionspage.cpp
+++ b/src/plugins/qtsupport/qtoptionspage.cpp
@@ -37,8 +37,6 @@
 #include "qtversionmanager.h"
 #include "qtversionfactory.h"
 #include "qmldumptool.h"
-#include "qmldebugginglibrary.h"
-#include "qmlobservertool.h"
 
 #include <coreplugin/progressmanager/progressmanager.h>
 #include <projectexplorer/toolchainmanager.h>
@@ -179,10 +177,6 @@ QtOptionsPageWidget::QtOptionsPageWidget(QWidget *parent)
             this, SLOT(buildGdbHelper()));
     connect(m_debuggingHelperUi->qmlDumpBuildButton, SIGNAL(clicked()),
             this, SLOT(buildQmlDump()));
-    connect(m_debuggingHelperUi->qmlDebuggingLibBuildButton, SIGNAL(clicked()),
-            this, SLOT(buildQmlDebuggingLibrary()));
-    connect(m_debuggingHelperUi->qmlObserverBuildButton, SIGNAL(clicked()),
-            this, SLOT(buildQmlObserver()));
 
     connect(m_debuggingHelperUi->showLogButton, SIGNAL(clicked()),
             this, SLOT(slotShowDebuggingBuildLog()));
@@ -248,12 +242,8 @@ void QtOptionsPageWidget::debuggingHelperBuildFinished(int qtVersionId, const QS
     bool success = true;
     if (tools & DebuggingHelperBuildTask::GdbDebugging)
         success &= version->hasGdbDebuggingHelper();
-    if (tools & DebuggingHelperBuildTask::QmlDebugging)
-        success &= version->hasQmlDebuggingLibrary();
     if (tools & DebuggingHelperBuildTask::QmlDump)
         success &= version->hasQmlDump();
-    if (tools & DebuggingHelperBuildTask::QmlObserver)
-        success &= version->hasQmlObserver();
 
     if (!success)
         showDebuggingBuildLog(item);
@@ -470,19 +460,6 @@ void QtOptionsPageWidget::buildQmlDump()
     buildDebuggingHelper(DebuggingHelperBuildTask::QmlDump);
 }
 
-void QtOptionsPageWidget::buildQmlDebuggingLibrary()
-{
-    buildDebuggingHelper(DebuggingHelperBuildTask::QmlDebugging);
-}
-
-void QtOptionsPageWidget::buildQmlObserver()
-{
-    DebuggingHelperBuildTask::Tools qmlDbgTools =
-            DebuggingHelperBuildTask::QmlObserver;
-    qmlDbgTools |= DebuggingHelperBuildTask::QmlDebugging;
-    buildDebuggingHelper(qmlDbgTools);
-}
-
 // Non-modal dialog
 class BuildLogDialog : public QDialog {
 public:
@@ -741,28 +718,19 @@ void QtOptionsPageWidget::updateDebuggingHelperUi()
         const DebuggingHelperBuildTask::Tools availableTools = DebuggingHelperBuildTask::availableTools(version);
         const bool canBuildGdbHelper = availableTools & DebuggingHelperBuildTask::GdbDebugging;
         const bool canBuildQmlDumper = availableTools & DebuggingHelperBuildTask::QmlDump;
-        const bool canBuildQmlDebuggingLib = availableTools & DebuggingHelperBuildTask::QmlDebugging;
-        const bool canBuildQmlObserver = availableTools & DebuggingHelperBuildTask::QmlObserver;
 
         const bool hasGdbHelper = !version->gdbDebuggingHelperLibrary().isEmpty();
         const bool hasQmlDumper = version->hasQmlDump();
         const bool needsQmlDumper = version->needsQmlDump();
-        const bool hasQmlDebuggingLib = version->hasQmlDebuggingLibrary();
-        const bool needsQmlDebuggingLib = version->needsQmlDebuggingLibrary();
-        const bool hasQmlObserver = !version->qmlObserverTool().isEmpty();
 
         bool isBuildingGdbHelper = false;
         bool isBuildingQmlDumper = false;
-        bool isBuildingQmlDebuggingLib = false;
-        bool isBuildingQmlObserver = false;
 
         if (currentItem) {
             DebuggingHelperBuildTask::Tools buildingTools
                     = currentItem->data(0, BuildRunningRole).value<DebuggingHelperBuildTask::Tools>();
             isBuildingGdbHelper = buildingTools & DebuggingHelperBuildTask::GdbDebugging;
             isBuildingQmlDumper = buildingTools & DebuggingHelperBuildTask::QmlDump;
-            isBuildingQmlDebuggingLib = buildingTools & DebuggingHelperBuildTask::QmlDebugging;
-            isBuildingQmlObserver = buildingTools & DebuggingHelperBuildTask::QmlObserver;
         }
 
         // get names of tools from labels
@@ -772,10 +740,6 @@ void QtOptionsPageWidget::updateDebuggingHelperUi()
             helperNames << m_debuggingHelperUi->gdbHelperLabel->text().remove(colon);
         if (hasQmlDumper)
             helperNames << m_debuggingHelperUi->qmlDumpLabel->text().remove(colon);
-        if (hasQmlDebuggingLib)
-            helperNames << m_debuggingHelperUi->qmlDebuggingLibLabel->text().remove(colon);
-        if (hasQmlObserver)
-            helperNames << m_debuggingHelperUi->qmlObserverLabel->text().remove(colon);
 
         QString status;
         if (helperNames.isEmpty()) {
@@ -829,60 +793,6 @@ void QtOptionsPageWidget::updateDebuggingHelperUi()
         m_debuggingHelperUi->qmlDumpStatus->setToolTip(qmlDumpStatusToolTip);
         m_debuggingHelperUi->qmlDumpBuildButton->setEnabled(canBuildQmlDumper & !isBuildingQmlDumper);
 
-        QString qmlDebuggingLibStatusText, qmlDebuggingLibToolTip;
-        Qt::TextInteractionFlags qmlDebuggingLibStatusTextFlags = Qt::NoTextInteraction;
-        if (hasQmlDebuggingLib) {
-            qmlDebuggingLibStatusText = QDir::toNativeSeparators(
-                        version->qmlDebuggingHelperLibrary(false));
-            const QString debugPath = QDir::toNativeSeparators(
-                        version->qmlDebuggingHelperLibrary(true));
-
-            if (qmlDebuggingLibStatusText != debugPath) {
-                if (!qmlDebuggingLibStatusText.isEmpty()
-                        && !debugPath.isEmpty()) {
-                    qmlDebuggingLibStatusText += QLatin1Char('\n');
-                }
-                qmlDebuggingLibStatusText += debugPath;
-            }
-            qmlDebuggingLibStatusTextFlags = Qt::TextSelectableByMouse;
-        } else {
-            if (!needsQmlDebuggingLib) {
-                qmlDebuggingLibStatusText = tr("<i>Not needed.</i>");
-            } else if (canBuildQmlDebuggingLib) {
-                qmlDebuggingLibStatusText = tr("<i>Not yet built.</i>");
-            } else {
-                qmlDebuggingLibStatusText = tr("<i>Cannot be compiled.</i>");
-                QmlDebuggingLibrary::canBuild(version, &qmlDebuggingLibToolTip);
-            }
-        }
-        m_debuggingHelperUi->qmlDebuggingLibStatus->setText(qmlDebuggingLibStatusText);
-        m_debuggingHelperUi->qmlDebuggingLibStatus->setTextInteractionFlags(qmlDebuggingLibStatusTextFlags);
-        m_debuggingHelperUi->qmlDebuggingLibStatus->setToolTip(qmlDebuggingLibToolTip);
-        m_debuggingHelperUi->qmlDebuggingLibBuildButton->setEnabled(needsQmlDebuggingLib
-                                                                    && canBuildQmlDebuggingLib
-                                                                    && !isBuildingQmlDebuggingLib);
-
-        QString qmlObserverStatusText, qmlObserverToolTip;
-        Qt::TextInteractionFlags qmlObserverStatusTextFlags = Qt::NoTextInteraction;
-        if (hasQmlObserver) {
-            qmlObserverStatusText = QDir::toNativeSeparators(version->qmlObserverTool());
-            qmlObserverStatusTextFlags = Qt::TextSelectableByMouse;
-        }  else {
-            if (!needsQmlDebuggingLib) {
-                qmlObserverStatusText = tr("<i>Not needed.</i>");
-            } else if (canBuildQmlObserver) {
-                qmlObserverStatusText = tr("<i>Not yet built.</i>");
-            } else {
-                qmlObserverStatusText = tr("<i>Cannot be compiled.</i>");
-                QmlObserverTool::canBuild(version, &qmlObserverToolTip);
-            }
-        }
-        m_debuggingHelperUi->qmlObserverStatus->setText(qmlObserverStatusText);
-        m_debuggingHelperUi->qmlObserverStatus->setTextInteractionFlags(qmlObserverStatusTextFlags);
-        m_debuggingHelperUi->qmlObserverStatus->setToolTip(qmlObserverToolTip);
-        m_debuggingHelperUi->qmlObserverBuildButton->setEnabled(canBuildQmlObserver
-                                                                & !isBuildingQmlObserver);
-
         QList<ToolChain*> toolchains = toolChains(currentVersion());
         QString selectedToolChainId = currentItem->data(0, ToolChainIdRole).toString();
         m_debuggingHelperUi->toolChainComboBox->clear();
@@ -901,13 +811,9 @@ void QtOptionsPageWidget::updateDebuggingHelperUi()
         m_debuggingHelperUi->showLogButton->setEnabled(hasLog);
 
         const bool canBuild = canBuildGdbHelper
-                               || canBuildQmlDumper
-                               || (canBuildQmlDebuggingLib && needsQmlDebuggingLib)
-                               || canBuildQmlObserver;
+                               || canBuildQmlDumper;
         const bool isBuilding = isBuildingGdbHelper
-                                 || isBuildingQmlDumper
-                                 || isBuildingQmlDebuggingLib
-                                 || isBuildingQmlObserver;
+                                 || isBuildingQmlDumper;
 
         m_debuggingHelperUi->rebuildButton->setEnabled(canBuild && !isBuilding);
         m_debuggingHelperUi->toolChainComboBox->setEnabled(canBuild && !isBuilding);
@@ -1112,8 +1018,7 @@ QString QtOptionsPageWidget::searchKeywords() const
     ts << sep << m_versionUi->versionNameLabel->text()
        << sep << m_versionUi->pathLabel->text()
        << sep << m_debuggingHelperUi->gdbHelperLabel->text()
-       << sep << m_debuggingHelperUi->qmlDumpLabel->text()
-       << sep << m_debuggingHelperUi->qmlObserverLabel->text();
+       << sep << m_debuggingHelperUi->qmlDumpLabel->text();
 
     rc.remove(QLatin1Char('&'));
     return rc;
diff --git a/src/plugins/qtsupport/qtoptionspage.h b/src/plugins/qtsupport/qtoptionspage.h
index 2e68d391f7c..5d506c3bbe9 100644
--- a/src/plugins/qtsupport/qtoptionspage.h
+++ b/src/plugins/qtsupport/qtoptionspage.h
@@ -108,8 +108,6 @@ private slots:
                               = DebuggingHelperBuildTask::AllTools);
     void buildGdbHelper();
     void buildQmlDump();
-    void buildQmlDebuggingLibrary();
-    void buildQmlObserver();
     void slotShowDebuggingBuildLog();
     void debuggingHelperBuildFinished(int qtVersionId, const QString &output,
                                       DebuggingHelperBuildTask::Tools tools);
diff --git a/src/plugins/qtsupport/qtsupport.pro b/src/plugins/qtsupport/qtsupport.pro
index b6c5cd40c8c..df7fe51a81b 100644
--- a/src/plugins/qtsupport/qtsupport.pro
+++ b/src/plugins/qtsupport/qtsupport.pro
@@ -17,8 +17,6 @@ HEADERS += \
     uicodemodelsupport.h \
     baseqtversion.h \
     qmldumptool.h \
-    qmlobservertool.h \
-    qmldebugginglibrary.h \
     qtoptionspage.h \
     customexecutablerunconfiguration.h \
     customexecutableconfigurationwidget.h \
@@ -48,8 +46,6 @@ SOURCES += \
     uicodemodelsupport.cpp \
     baseqtversion.cpp \
     qmldumptool.cpp \
-    qmlobservertool.cpp \
-    qmldebugginglibrary.cpp \
     qtoptionspage.cpp \
     customexecutablerunconfiguration.cpp \
     customexecutableconfigurationwidget.cpp \
diff --git a/src/plugins/qtsupport/qtsupport.qbs b/src/plugins/qtsupport/qtsupport.qbs
index e764c190cb5..72f0597a6ad 100644
--- a/src/plugins/qtsupport/qtsupport.qbs
+++ b/src/plugins/qtsupport/qtsupport.qbs
@@ -74,12 +74,8 @@ QtcPlugin {
         "exampleslistmodel.h",
         "profilereader.cpp",
         "profilereader.h",
-        "qmldebugginglibrary.cpp",
-        "qmldebugginglibrary.h",
         "qmldumptool.cpp",
         "qmldumptool.h",
-        "qmlobservertool.cpp",
-        "qmlobservertool.h",
         "qtkitconfigwidget.cpp",
         "qtkitconfigwidget.h",
         "qtkitinformation.cpp",
-- 
GitLab