From 96d991bbdc34b00b4ba1c3b4f5690f04edfb4cf0 Mon Sep 17 00:00:00 2001 From: Lasse Holmstedt <lasse.holmstedt@nokia.com> Date: Mon, 27 Sep 2010 17:22:57 +0200 Subject: [PATCH] QML Observer: Build together on runtime with debugging tools Moved qmljsdebugger to a dir under qml/, made qmlobserver compile without creator dependencies and made it compile with debugging helpers. Reviewed-by: hjk --- .../editor/abstractformeditortool.cpp | 0 .../editor/abstractformeditortool.h | 0 .../editor/boundingrecthighlighter.cpp | 0 .../editor/boundingrecthighlighter.h | 0 .../qmljsdebugger/editor/colorpickertool.cpp | 0 .../qmljsdebugger/editor/colorpickertool.h | 0 .../{ => qml}/qmljsdebugger/editor/editor.pri | 0 .../{ => qml}/qmljsdebugger/editor/editor.qrc | 0 .../editor/images/color-picker-24.png | Bin .../editor/images/color-picker-hicontrast.png | Bin .../editor/images/color-picker.png | Bin .../editor/images/from-qml-24.png | Bin .../qmljsdebugger/editor/images/from-qml.png | Bin .../editor/images/observermode-24.png | Bin .../editor/images/observermode.png | Bin .../qmljsdebugger/editor/images/pause-24.png | Bin .../qmljsdebugger/editor/images/pause.png | Bin .../qmljsdebugger/editor/images/play-24.png | Bin .../qmljsdebugger/editor/images/play.png | Bin .../qmljsdebugger/editor/images/reload.png | Bin .../editor/images/resize_handle.png | Bin .../qmljsdebugger/editor/images/select-24.png | Bin .../editor/images/select-marquee-24.png | Bin .../editor/images/select-marquee.png | Bin .../qmljsdebugger/editor/images/select.png | Bin .../qmljsdebugger/editor/images/to-qml-24.png | Bin .../qmljsdebugger/editor/images/to-qml.png | Bin .../qmljsdebugger/editor/images/zoom-24.png | Bin .../qmljsdebugger/editor/images/zoom.png | Bin .../qmljsdebugger/editor/layeritem.cpp | 0 .../qmljsdebugger/editor/layeritem.h | 0 .../qmljsdebugger/editor/qmltoolbar.cpp | 0 .../qmljsdebugger/editor/qmltoolbar.h | 0 .../editor/rubberbandselectionmanipulator.cpp | 0 .../editor/rubberbandselectionmanipulator.h | 0 .../editor/selectionindicator.cpp | 0 .../qmljsdebugger/editor/selectionindicator.h | 0 .../editor/selectionrectangle.cpp | 0 .../qmljsdebugger/editor/selectionrectangle.h | 0 .../qmljsdebugger/editor/selectiontool.cpp | 0 .../qmljsdebugger/editor/selectiontool.h | 0 .../editor/singleselectionmanipulator.cpp | 0 .../editor/singleselectionmanipulator.h | 0 .../editor/subcomponenteditortool.cpp | 0 .../editor/subcomponenteditortool.h | 0 .../editor/subcomponentmasklayeritem.cpp | 0 .../editor/subcomponentmasklayeritem.h | 0 .../qmljsdebugger/editor/toolbarcolorbox.cpp | 0 .../qmljsdebugger/editor/toolbarcolorbox.h | 0 .../qmljsdebugger/editor/zoomtool.cpp | 0 .../{ => qml}/qmljsdebugger/editor/zoomtool.h | 0 .../qmljsdebugger/include/jsdebuggeragent.h | 0 .../include/qdeclarativeobserverservice.h | 0 .../include/qdeclarativeviewobserver.h | 0 .../include/qmljsdebugger_global.h | 0 .../include/qmlobserverconstants.h | 0 .../qmljsdebugger/jsdebuggeragent.cpp | 0 .../qmljsdebugger/private_headers.pri | 0 .../qdeclarativeobserverservice.cpp | 0 .../qdeclarativeviewobserver.cpp | 0 .../qdeclarativeviewobserver_p.h | 0 .../qml/qmljsdebugger/qmljsdebugger-lib.pri | 35 ++ .../{ => qml}/qmljsdebugger/qmljsdebugger.pri | 0 .../{ => qml}/qmljsdebugger/qmljsdebugger.pro | 0 .../qtcreator}/qml/qmlobserver/Info_mac.plist | 0 .../qml/qmlobserver/LGPL_EXCEPTION.TXT | 3 + share/qtcreator/qml/qmlobserver/LICENSE.LGPL | 504 ++++++++++++++++++ .../qml/qmlobserver/content/Browser.qml | 0 .../qml/qmlobserver/content/images/folder.png | Bin .../qmlobserver/content/images/titlebar.png | Bin .../qmlobserver/content/images/titlebar.sci | 0 .../qml/qmlobserver/content/images/up.png | Bin .../qml/qmlobserver/deviceorientation.cpp | 0 .../qml/qmlobserver/deviceorientation.h | 4 +- .../qmlobserver/deviceorientation_maemo5.cpp | 0 .../qml/qmlobserver/loggerwidget.cpp | 0 .../qtcreator}/qml/qmlobserver/loggerwidget.h | 0 .../qtcreator}/qml/qmlobserver/main.cpp | 0 .../qml/qmlobserver/proxysettings.cpp | 0 .../qml/qmlobserver/proxysettings.h | 0 .../qml/qmlobserver/proxysettings.ui | 0 .../qml/qmlobserver/proxysettings_maemo5.ui | 0 .../qml/qmlobserver/qdeclarativetester.cpp | 6 +- .../qml/qmlobserver/qdeclarativetester.h | 0 .../qtcreator}/qml/qmlobserver/qml.icns | Bin .../qtcreator}/qml/qmlobserver/qml.pri | 6 +- .../qtcreator/qml/qmlobserver/qmlobserver.pro | 24 + .../qtcreator}/qml/qmlobserver/qmlruntime.cpp | 6 +- .../qtcreator}/qml/qmlobserver/qmlruntime.h | 7 +- .../qtcreator}/qml/qmlobserver/qmlruntime.qrc | 0 .../qtcreator}/qml/qmlobserver/recopts.ui | 0 .../qml/qmlobserver/recopts_maemo5.ui | 0 .../qmlobserver/texteditautoresizer_maemo5.h | 0 .../qmljsdebugger/qmljsdebugger-lib.pri | 35 -- src/libs/qmljs/qmljsmodelmanagerinterface.h | 1 + src/plugins/debugger/debuggerrunner.cpp | 8 +- .../projectexplorer/debugginghelper.cpp | 3 +- src/plugins/qmljseditor/qmljsmodelmanager.cpp | 27 +- .../qmlprojectrunconfiguration.cpp | 50 +- src/plugins/qt4projectmanager/qmldumptool.cpp | 14 +- src/plugins/qt4projectmanager/qmldumptool.h | 4 +- .../qt4projectmanager/qmlobservertool.cpp | 219 ++++++++ .../qt4projectmanager/qmlobservertool.h | 69 +++ src/plugins/qt4projectmanager/qt4project.cpp | 32 ++ .../qt4projectmanager/qt4projectmanager.pro | 6 +- .../qt4projectmanager/qtoptionspage.cpp | 76 ++- src/plugins/qt4projectmanager/qtoptionspage.h | 4 + .../qt4projectmanager/qtversionmanager.cpp | 62 ++- .../qt4projectmanager/qtversionmanager.h | 7 +- src/tools/qml/qmlobserver/qmlobserver.pro | 30 -- 110 files changed, 1062 insertions(+), 180 deletions(-) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/abstractformeditortool.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/abstractformeditortool.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/boundingrecthighlighter.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/boundingrecthighlighter.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/colorpickertool.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/colorpickertool.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/editor.pri (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/editor.qrc (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/color-picker-24.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/color-picker-hicontrast.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/color-picker.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/from-qml-24.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/from-qml.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/observermode-24.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/observermode.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/pause-24.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/pause.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/play-24.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/play.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/reload.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/resize_handle.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/select-24.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/select-marquee-24.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/select-marquee.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/select.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/to-qml-24.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/to-qml.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/zoom-24.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/images/zoom.png (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/layeritem.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/layeritem.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/qmltoolbar.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/qmltoolbar.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/rubberbandselectionmanipulator.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/rubberbandselectionmanipulator.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/selectionindicator.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/selectionindicator.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/selectionrectangle.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/selectionrectangle.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/selectiontool.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/selectiontool.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/singleselectionmanipulator.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/singleselectionmanipulator.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/subcomponenteditortool.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/subcomponenteditortool.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/subcomponentmasklayeritem.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/subcomponentmasklayeritem.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/toolbarcolorbox.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/toolbarcolorbox.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/zoomtool.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/editor/zoomtool.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/include/jsdebuggeragent.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/include/qdeclarativeobserverservice.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/include/qdeclarativeviewobserver.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/include/qmljsdebugger_global.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/include/qmlobserverconstants.h (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/jsdebuggeragent.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/private_headers.pri (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/qdeclarativeobserverservice.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/qdeclarativeviewobserver.cpp (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/qdeclarativeviewobserver_p.h (100%) create mode 100644 share/qtcreator/qml/qmljsdebugger/qmljsdebugger-lib.pri rename share/qtcreator/{ => qml}/qmljsdebugger/qmljsdebugger.pri (100%) rename share/qtcreator/{ => qml}/qmljsdebugger/qmljsdebugger.pro (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/Info_mac.plist (100%) create mode 100644 share/qtcreator/qml/qmlobserver/LGPL_EXCEPTION.TXT create mode 100644 share/qtcreator/qml/qmlobserver/LICENSE.LGPL rename {src/tools => share/qtcreator}/qml/qmlobserver/content/Browser.qml (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/content/images/folder.png (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/content/images/titlebar.png (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/content/images/titlebar.sci (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/content/images/up.png (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/deviceorientation.cpp (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/deviceorientation.h (97%) rename {src/tools => share/qtcreator}/qml/qmlobserver/deviceorientation_maemo5.cpp (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/loggerwidget.cpp (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/loggerwidget.h (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/main.cpp (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/proxysettings.cpp (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/proxysettings.h (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/proxysettings.ui (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/proxysettings_maemo5.ui (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/qdeclarativetester.cpp (99%) rename {src/tools => share/qtcreator}/qml/qmlobserver/qdeclarativetester.h (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/qml.icns (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/qml.pri (85%) create mode 100644 share/qtcreator/qml/qmlobserver/qmlobserver.pro rename {src/tools => share/qtcreator}/qml/qmlobserver/qmlruntime.cpp (99%) rename {src/tools => share/qtcreator}/qml/qmlobserver/qmlruntime.h (98%) rename {src/tools => share/qtcreator}/qml/qmlobserver/qmlruntime.qrc (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/recopts.ui (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/recopts_maemo5.ui (100%) rename {src/tools => share/qtcreator}/qml/qmlobserver/texteditautoresizer_maemo5.h (100%) delete mode 100644 share/qtcreator/qmljsdebugger/qmljsdebugger-lib.pri create mode 100644 src/plugins/qt4projectmanager/qmlobservertool.cpp create mode 100644 src/plugins/qt4projectmanager/qmlobservertool.h delete mode 100644 src/tools/qml/qmlobserver/qmlobserver.pro diff --git a/share/qtcreator/qmljsdebugger/editor/abstractformeditortool.cpp b/share/qtcreator/qml/qmljsdebugger/editor/abstractformeditortool.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/abstractformeditortool.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/abstractformeditortool.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/abstractformeditortool.h b/share/qtcreator/qml/qmljsdebugger/editor/abstractformeditortool.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/abstractformeditortool.h rename to share/qtcreator/qml/qmljsdebugger/editor/abstractformeditortool.h diff --git a/share/qtcreator/qmljsdebugger/editor/boundingrecthighlighter.cpp b/share/qtcreator/qml/qmljsdebugger/editor/boundingrecthighlighter.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/boundingrecthighlighter.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/boundingrecthighlighter.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/boundingrecthighlighter.h b/share/qtcreator/qml/qmljsdebugger/editor/boundingrecthighlighter.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/boundingrecthighlighter.h rename to share/qtcreator/qml/qmljsdebugger/editor/boundingrecthighlighter.h diff --git a/share/qtcreator/qmljsdebugger/editor/colorpickertool.cpp b/share/qtcreator/qml/qmljsdebugger/editor/colorpickertool.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/colorpickertool.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/colorpickertool.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/colorpickertool.h b/share/qtcreator/qml/qmljsdebugger/editor/colorpickertool.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/colorpickertool.h rename to share/qtcreator/qml/qmljsdebugger/editor/colorpickertool.h diff --git a/share/qtcreator/qmljsdebugger/editor/editor.pri b/share/qtcreator/qml/qmljsdebugger/editor/editor.pri similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/editor.pri rename to share/qtcreator/qml/qmljsdebugger/editor/editor.pri diff --git a/share/qtcreator/qmljsdebugger/editor/editor.qrc b/share/qtcreator/qml/qmljsdebugger/editor/editor.qrc similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/editor.qrc rename to share/qtcreator/qml/qmljsdebugger/editor/editor.qrc diff --git a/share/qtcreator/qmljsdebugger/editor/images/color-picker-24.png b/share/qtcreator/qml/qmljsdebugger/editor/images/color-picker-24.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/color-picker-24.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/color-picker-24.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/color-picker-hicontrast.png b/share/qtcreator/qml/qmljsdebugger/editor/images/color-picker-hicontrast.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/color-picker-hicontrast.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/color-picker-hicontrast.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/color-picker.png b/share/qtcreator/qml/qmljsdebugger/editor/images/color-picker.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/color-picker.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/color-picker.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/from-qml-24.png b/share/qtcreator/qml/qmljsdebugger/editor/images/from-qml-24.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/from-qml-24.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/from-qml-24.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/from-qml.png b/share/qtcreator/qml/qmljsdebugger/editor/images/from-qml.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/from-qml.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/from-qml.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/observermode-24.png b/share/qtcreator/qml/qmljsdebugger/editor/images/observermode-24.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/observermode-24.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/observermode-24.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/observermode.png b/share/qtcreator/qml/qmljsdebugger/editor/images/observermode.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/observermode.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/observermode.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/pause-24.png b/share/qtcreator/qml/qmljsdebugger/editor/images/pause-24.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/pause-24.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/pause-24.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/pause.png b/share/qtcreator/qml/qmljsdebugger/editor/images/pause.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/pause.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/pause.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/play-24.png b/share/qtcreator/qml/qmljsdebugger/editor/images/play-24.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/play-24.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/play-24.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/play.png b/share/qtcreator/qml/qmljsdebugger/editor/images/play.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/play.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/play.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/reload.png b/share/qtcreator/qml/qmljsdebugger/editor/images/reload.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/reload.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/reload.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/resize_handle.png b/share/qtcreator/qml/qmljsdebugger/editor/images/resize_handle.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/resize_handle.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/resize_handle.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/select-24.png b/share/qtcreator/qml/qmljsdebugger/editor/images/select-24.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/select-24.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/select-24.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/select-marquee-24.png b/share/qtcreator/qml/qmljsdebugger/editor/images/select-marquee-24.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/select-marquee-24.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/select-marquee-24.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/select-marquee.png b/share/qtcreator/qml/qmljsdebugger/editor/images/select-marquee.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/select-marquee.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/select-marquee.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/select.png b/share/qtcreator/qml/qmljsdebugger/editor/images/select.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/select.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/select.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/to-qml-24.png b/share/qtcreator/qml/qmljsdebugger/editor/images/to-qml-24.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/to-qml-24.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/to-qml-24.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/to-qml.png b/share/qtcreator/qml/qmljsdebugger/editor/images/to-qml.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/to-qml.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/to-qml.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/zoom-24.png b/share/qtcreator/qml/qmljsdebugger/editor/images/zoom-24.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/zoom-24.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/zoom-24.png diff --git a/share/qtcreator/qmljsdebugger/editor/images/zoom.png b/share/qtcreator/qml/qmljsdebugger/editor/images/zoom.png similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/images/zoom.png rename to share/qtcreator/qml/qmljsdebugger/editor/images/zoom.png diff --git a/share/qtcreator/qmljsdebugger/editor/layeritem.cpp b/share/qtcreator/qml/qmljsdebugger/editor/layeritem.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/layeritem.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/layeritem.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/layeritem.h b/share/qtcreator/qml/qmljsdebugger/editor/layeritem.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/layeritem.h rename to share/qtcreator/qml/qmljsdebugger/editor/layeritem.h diff --git a/share/qtcreator/qmljsdebugger/editor/qmltoolbar.cpp b/share/qtcreator/qml/qmljsdebugger/editor/qmltoolbar.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/qmltoolbar.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/qmltoolbar.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/qmltoolbar.h b/share/qtcreator/qml/qmljsdebugger/editor/qmltoolbar.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/qmltoolbar.h rename to share/qtcreator/qml/qmljsdebugger/editor/qmltoolbar.h diff --git a/share/qtcreator/qmljsdebugger/editor/rubberbandselectionmanipulator.cpp b/share/qtcreator/qml/qmljsdebugger/editor/rubberbandselectionmanipulator.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/rubberbandselectionmanipulator.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/rubberbandselectionmanipulator.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/rubberbandselectionmanipulator.h b/share/qtcreator/qml/qmljsdebugger/editor/rubberbandselectionmanipulator.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/rubberbandselectionmanipulator.h rename to share/qtcreator/qml/qmljsdebugger/editor/rubberbandselectionmanipulator.h diff --git a/share/qtcreator/qmljsdebugger/editor/selectionindicator.cpp b/share/qtcreator/qml/qmljsdebugger/editor/selectionindicator.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/selectionindicator.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/selectionindicator.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/selectionindicator.h b/share/qtcreator/qml/qmljsdebugger/editor/selectionindicator.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/selectionindicator.h rename to share/qtcreator/qml/qmljsdebugger/editor/selectionindicator.h diff --git a/share/qtcreator/qmljsdebugger/editor/selectionrectangle.cpp b/share/qtcreator/qml/qmljsdebugger/editor/selectionrectangle.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/selectionrectangle.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/selectionrectangle.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/selectionrectangle.h b/share/qtcreator/qml/qmljsdebugger/editor/selectionrectangle.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/selectionrectangle.h rename to share/qtcreator/qml/qmljsdebugger/editor/selectionrectangle.h diff --git a/share/qtcreator/qmljsdebugger/editor/selectiontool.cpp b/share/qtcreator/qml/qmljsdebugger/editor/selectiontool.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/selectiontool.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/selectiontool.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/selectiontool.h b/share/qtcreator/qml/qmljsdebugger/editor/selectiontool.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/selectiontool.h rename to share/qtcreator/qml/qmljsdebugger/editor/selectiontool.h diff --git a/share/qtcreator/qmljsdebugger/editor/singleselectionmanipulator.cpp b/share/qtcreator/qml/qmljsdebugger/editor/singleselectionmanipulator.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/singleselectionmanipulator.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/singleselectionmanipulator.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/singleselectionmanipulator.h b/share/qtcreator/qml/qmljsdebugger/editor/singleselectionmanipulator.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/singleselectionmanipulator.h rename to share/qtcreator/qml/qmljsdebugger/editor/singleselectionmanipulator.h diff --git a/share/qtcreator/qmljsdebugger/editor/subcomponenteditortool.cpp b/share/qtcreator/qml/qmljsdebugger/editor/subcomponenteditortool.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/subcomponenteditortool.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/subcomponenteditortool.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/subcomponenteditortool.h b/share/qtcreator/qml/qmljsdebugger/editor/subcomponenteditortool.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/subcomponenteditortool.h rename to share/qtcreator/qml/qmljsdebugger/editor/subcomponenteditortool.h diff --git a/share/qtcreator/qmljsdebugger/editor/subcomponentmasklayeritem.cpp b/share/qtcreator/qml/qmljsdebugger/editor/subcomponentmasklayeritem.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/subcomponentmasklayeritem.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/subcomponentmasklayeritem.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/subcomponentmasklayeritem.h b/share/qtcreator/qml/qmljsdebugger/editor/subcomponentmasklayeritem.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/subcomponentmasklayeritem.h rename to share/qtcreator/qml/qmljsdebugger/editor/subcomponentmasklayeritem.h diff --git a/share/qtcreator/qmljsdebugger/editor/toolbarcolorbox.cpp b/share/qtcreator/qml/qmljsdebugger/editor/toolbarcolorbox.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/toolbarcolorbox.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/toolbarcolorbox.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/toolbarcolorbox.h b/share/qtcreator/qml/qmljsdebugger/editor/toolbarcolorbox.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/toolbarcolorbox.h rename to share/qtcreator/qml/qmljsdebugger/editor/toolbarcolorbox.h diff --git a/share/qtcreator/qmljsdebugger/editor/zoomtool.cpp b/share/qtcreator/qml/qmljsdebugger/editor/zoomtool.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/zoomtool.cpp rename to share/qtcreator/qml/qmljsdebugger/editor/zoomtool.cpp diff --git a/share/qtcreator/qmljsdebugger/editor/zoomtool.h b/share/qtcreator/qml/qmljsdebugger/editor/zoomtool.h similarity index 100% rename from share/qtcreator/qmljsdebugger/editor/zoomtool.h rename to share/qtcreator/qml/qmljsdebugger/editor/zoomtool.h diff --git a/share/qtcreator/qmljsdebugger/include/jsdebuggeragent.h b/share/qtcreator/qml/qmljsdebugger/include/jsdebuggeragent.h similarity index 100% rename from share/qtcreator/qmljsdebugger/include/jsdebuggeragent.h rename to share/qtcreator/qml/qmljsdebugger/include/jsdebuggeragent.h diff --git a/share/qtcreator/qmljsdebugger/include/qdeclarativeobserverservice.h b/share/qtcreator/qml/qmljsdebugger/include/qdeclarativeobserverservice.h similarity index 100% rename from share/qtcreator/qmljsdebugger/include/qdeclarativeobserverservice.h rename to share/qtcreator/qml/qmljsdebugger/include/qdeclarativeobserverservice.h diff --git a/share/qtcreator/qmljsdebugger/include/qdeclarativeviewobserver.h b/share/qtcreator/qml/qmljsdebugger/include/qdeclarativeviewobserver.h similarity index 100% rename from share/qtcreator/qmljsdebugger/include/qdeclarativeviewobserver.h rename to share/qtcreator/qml/qmljsdebugger/include/qdeclarativeviewobserver.h diff --git a/share/qtcreator/qmljsdebugger/include/qmljsdebugger_global.h b/share/qtcreator/qml/qmljsdebugger/include/qmljsdebugger_global.h similarity index 100% rename from share/qtcreator/qmljsdebugger/include/qmljsdebugger_global.h rename to share/qtcreator/qml/qmljsdebugger/include/qmljsdebugger_global.h diff --git a/share/qtcreator/qmljsdebugger/include/qmlobserverconstants.h b/share/qtcreator/qml/qmljsdebugger/include/qmlobserverconstants.h similarity index 100% rename from share/qtcreator/qmljsdebugger/include/qmlobserverconstants.h rename to share/qtcreator/qml/qmljsdebugger/include/qmlobserverconstants.h diff --git a/share/qtcreator/qmljsdebugger/jsdebuggeragent.cpp b/share/qtcreator/qml/qmljsdebugger/jsdebuggeragent.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/jsdebuggeragent.cpp rename to share/qtcreator/qml/qmljsdebugger/jsdebuggeragent.cpp diff --git a/share/qtcreator/qmljsdebugger/private_headers.pri b/share/qtcreator/qml/qmljsdebugger/private_headers.pri similarity index 100% rename from share/qtcreator/qmljsdebugger/private_headers.pri rename to share/qtcreator/qml/qmljsdebugger/private_headers.pri diff --git a/share/qtcreator/qmljsdebugger/qdeclarativeobserverservice.cpp b/share/qtcreator/qml/qmljsdebugger/qdeclarativeobserverservice.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/qdeclarativeobserverservice.cpp rename to share/qtcreator/qml/qmljsdebugger/qdeclarativeobserverservice.cpp diff --git a/share/qtcreator/qmljsdebugger/qdeclarativeviewobserver.cpp b/share/qtcreator/qml/qmljsdebugger/qdeclarativeviewobserver.cpp similarity index 100% rename from share/qtcreator/qmljsdebugger/qdeclarativeviewobserver.cpp rename to share/qtcreator/qml/qmljsdebugger/qdeclarativeviewobserver.cpp diff --git a/share/qtcreator/qmljsdebugger/qdeclarativeviewobserver_p.h b/share/qtcreator/qml/qmljsdebugger/qdeclarativeviewobserver_p.h similarity index 100% rename from share/qtcreator/qmljsdebugger/qdeclarativeviewobserver_p.h rename to share/qtcreator/qml/qmljsdebugger/qdeclarativeviewobserver_p.h diff --git a/share/qtcreator/qml/qmljsdebugger/qmljsdebugger-lib.pri b/share/qtcreator/qml/qmljsdebugger/qmljsdebugger-lib.pri new file mode 100644 index 00000000000..f8e482e38c7 --- /dev/null +++ b/share/qtcreator/qml/qmljsdebugger/qmljsdebugger-lib.pri @@ -0,0 +1,35 @@ +QT += declarative script +INCLUDEPATH += $$PWD $$PWD/include editor +DEPENDPATH += $$PWD $$PWD/include editor + +contains(CONFIG, dll) { + DEFINES += BUILD_QMLJSDEBUGGER_LIB +} else { + DEFINES += BUILD_QMLJSDEBUGGER_STATIC_LIB +} + +include($$PWD/private_headers.pri) + +## Input +HEADERS += \ + $$PWD/include/jsdebuggeragent.h \ + $$PWD/include/qmljsdebugger_global.h + +SOURCES += \ + $$PWD/jsdebuggeragent.cpp + +contains(DEFINES, QMLOBSERVER) { + include($$PWD/editor/editor.pri) + + HEADERS += \ + $$PWD/include/qdeclarativeviewobserver.h \ + $$PWD/include/qdeclarativeobserverservice.h \ + $$PWD/include/qmlobserverconstants.h \ + $$PWD/qdeclarativeviewobserver_p.h + + SOURCES += \ + $$PWD/qdeclarativeviewobserver.cpp \ + $$PWD/qdeclarativeobserverservice.cpp +} + +OTHER_FILES += $$PWD/qmljsdebugger.pri diff --git a/share/qtcreator/qmljsdebugger/qmljsdebugger.pri b/share/qtcreator/qml/qmljsdebugger/qmljsdebugger.pri similarity index 100% rename from share/qtcreator/qmljsdebugger/qmljsdebugger.pri rename to share/qtcreator/qml/qmljsdebugger/qmljsdebugger.pri diff --git a/share/qtcreator/qmljsdebugger/qmljsdebugger.pro b/share/qtcreator/qml/qmljsdebugger/qmljsdebugger.pro similarity index 100% rename from share/qtcreator/qmljsdebugger/qmljsdebugger.pro rename to share/qtcreator/qml/qmljsdebugger/qmljsdebugger.pro diff --git a/src/tools/qml/qmlobserver/Info_mac.plist b/share/qtcreator/qml/qmlobserver/Info_mac.plist similarity index 100% rename from src/tools/qml/qmlobserver/Info_mac.plist rename to share/qtcreator/qml/qmlobserver/Info_mac.plist diff --git a/share/qtcreator/qml/qmlobserver/LGPL_EXCEPTION.TXT b/share/qtcreator/qml/qmlobserver/LGPL_EXCEPTION.TXT new file mode 100644 index 00000000000..8d0f85eba40 --- /dev/null +++ b/share/qtcreator/qml/qmlobserver/LGPL_EXCEPTION.TXT @@ -0,0 +1,3 @@ +Nokia Qt LGPL Exception version 1.0 + +As a special exception 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 the incorporated material (i) does not exceed more than 5% of the total size of the Library; and (ii) is limited to numerical parameters, data structure layouts, accessors, macros, inline functions and templates. \ No newline at end of file diff --git a/share/qtcreator/qml/qmlobserver/LICENSE.LGPL b/share/qtcreator/qml/qmlobserver/LICENSE.LGPL new file mode 100644 index 00000000000..602bfc94635 --- /dev/null +++ b/share/qtcreator/qml/qmlobserver/LICENSE.LGPL @@ -0,0 +1,504 @@ + 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/src/tools/qml/qmlobserver/content/Browser.qml b/share/qtcreator/qml/qmlobserver/content/Browser.qml similarity index 100% rename from src/tools/qml/qmlobserver/content/Browser.qml rename to share/qtcreator/qml/qmlobserver/content/Browser.qml diff --git a/src/tools/qml/qmlobserver/content/images/folder.png b/share/qtcreator/qml/qmlobserver/content/images/folder.png similarity index 100% rename from src/tools/qml/qmlobserver/content/images/folder.png rename to share/qtcreator/qml/qmlobserver/content/images/folder.png diff --git a/src/tools/qml/qmlobserver/content/images/titlebar.png b/share/qtcreator/qml/qmlobserver/content/images/titlebar.png similarity index 100% rename from src/tools/qml/qmlobserver/content/images/titlebar.png rename to share/qtcreator/qml/qmlobserver/content/images/titlebar.png diff --git a/src/tools/qml/qmlobserver/content/images/titlebar.sci b/share/qtcreator/qml/qmlobserver/content/images/titlebar.sci similarity index 100% rename from src/tools/qml/qmlobserver/content/images/titlebar.sci rename to share/qtcreator/qml/qmlobserver/content/images/titlebar.sci diff --git a/src/tools/qml/qmlobserver/content/images/up.png b/share/qtcreator/qml/qmlobserver/content/images/up.png similarity index 100% rename from src/tools/qml/qmlobserver/content/images/up.png rename to share/qtcreator/qml/qmlobserver/content/images/up.png diff --git a/src/tools/qml/qmlobserver/deviceorientation.cpp b/share/qtcreator/qml/qmlobserver/deviceorientation.cpp similarity index 100% rename from src/tools/qml/qmlobserver/deviceorientation.cpp rename to share/qtcreator/qml/qmlobserver/deviceorientation.cpp diff --git a/src/tools/qml/qmlobserver/deviceorientation.h b/share/qtcreator/qml/qmlobserver/deviceorientation.h similarity index 97% rename from src/tools/qml/qmlobserver/deviceorientation.h rename to share/qtcreator/qml/qmlobserver/deviceorientation.h index 817bfc8528c..3bad5bec012 100644 --- a/src/tools/qml/qmlobserver/deviceorientation.h +++ b/share/qtcreator/qml/qmlobserver/deviceorientation.h @@ -52,8 +52,8 @@ class DeviceOrientation : public QObject Q_OBJECT Q_ENUMS(Orientation) public: - enum Orientation { - UnknownOrientation, + enum Orientation { + UnknownOrientation, Portrait, Landscape, PortraitInverted, diff --git a/src/tools/qml/qmlobserver/deviceorientation_maemo5.cpp b/share/qtcreator/qml/qmlobserver/deviceorientation_maemo5.cpp similarity index 100% rename from src/tools/qml/qmlobserver/deviceorientation_maemo5.cpp rename to share/qtcreator/qml/qmlobserver/deviceorientation_maemo5.cpp diff --git a/src/tools/qml/qmlobserver/loggerwidget.cpp b/share/qtcreator/qml/qmlobserver/loggerwidget.cpp similarity index 100% rename from src/tools/qml/qmlobserver/loggerwidget.cpp rename to share/qtcreator/qml/qmlobserver/loggerwidget.cpp diff --git a/src/tools/qml/qmlobserver/loggerwidget.h b/share/qtcreator/qml/qmlobserver/loggerwidget.h similarity index 100% rename from src/tools/qml/qmlobserver/loggerwidget.h rename to share/qtcreator/qml/qmlobserver/loggerwidget.h diff --git a/src/tools/qml/qmlobserver/main.cpp b/share/qtcreator/qml/qmlobserver/main.cpp similarity index 100% rename from src/tools/qml/qmlobserver/main.cpp rename to share/qtcreator/qml/qmlobserver/main.cpp diff --git a/src/tools/qml/qmlobserver/proxysettings.cpp b/share/qtcreator/qml/qmlobserver/proxysettings.cpp similarity index 100% rename from src/tools/qml/qmlobserver/proxysettings.cpp rename to share/qtcreator/qml/qmlobserver/proxysettings.cpp diff --git a/src/tools/qml/qmlobserver/proxysettings.h b/share/qtcreator/qml/qmlobserver/proxysettings.h similarity index 100% rename from src/tools/qml/qmlobserver/proxysettings.h rename to share/qtcreator/qml/qmlobserver/proxysettings.h diff --git a/src/tools/qml/qmlobserver/proxysettings.ui b/share/qtcreator/qml/qmlobserver/proxysettings.ui similarity index 100% rename from src/tools/qml/qmlobserver/proxysettings.ui rename to share/qtcreator/qml/qmlobserver/proxysettings.ui diff --git a/src/tools/qml/qmlobserver/proxysettings_maemo5.ui b/share/qtcreator/qml/qmlobserver/proxysettings_maemo5.ui similarity index 100% rename from src/tools/qml/qmlobserver/proxysettings_maemo5.ui rename to share/qtcreator/qml/qmlobserver/proxysettings_maemo5.ui diff --git a/src/tools/qml/qmlobserver/qdeclarativetester.cpp b/share/qtcreator/qml/qmlobserver/qdeclarativetester.cpp similarity index 99% rename from src/tools/qml/qmlobserver/qdeclarativetester.cpp rename to share/qtcreator/qml/qmlobserver/qdeclarativetester.cpp index 9864df63cec..14918b23809 100644 --- a/src/tools/qml/qmlobserver/qdeclarativetester.cpp +++ b/share/qtcreator/qml/qmlobserver/qdeclarativetester.cpp @@ -53,9 +53,9 @@ QT_BEGIN_NAMESPACE -QDeclarativeTester::QDeclarativeTester(const QString &script, QDeclarativeViewer::ScriptOptions opts, +QDeclarativeTester::QDeclarativeTester(const QString &script, QDeclarativeViewer::ScriptOptions opts, QDeclarativeView *parent) -: QAbstractAnimation(parent), m_script(script), m_view(parent), filterEvents(true), options(opts), +: QAbstractAnimation(parent), m_script(script), m_view(parent), filterEvents(true), options(opts), testscript(0), hasCompleted(false), hasFailed(false) { parent->viewport()->installEventFilter(this); @@ -68,7 +68,7 @@ QDeclarativeTester::QDeclarativeTester(const QString &script, QDeclarativeViewer QDeclarativeTester::~QDeclarativeTester() { - if (!hasFailed && + if (!hasFailed && options & QDeclarativeViewer::Record && options & QDeclarativeViewer::SaveOnExit) save(); diff --git a/src/tools/qml/qmlobserver/qdeclarativetester.h b/share/qtcreator/qml/qmlobserver/qdeclarativetester.h similarity index 100% rename from src/tools/qml/qmlobserver/qdeclarativetester.h rename to share/qtcreator/qml/qmlobserver/qdeclarativetester.h diff --git a/src/tools/qml/qmlobserver/qml.icns b/share/qtcreator/qml/qmlobserver/qml.icns similarity index 100% rename from src/tools/qml/qmlobserver/qml.icns rename to share/qtcreator/qml/qmlobserver/qml.icns diff --git a/src/tools/qml/qmlobserver/qml.pri b/share/qtcreator/qml/qmlobserver/qml.pri similarity index 85% rename from src/tools/qml/qmlobserver/qml.pri rename to share/qtcreator/qml/qmlobserver/qml.pri index 7d9a503fb69..2016513f4e4 100644 --- a/src/tools/qml/qmlobserver/qml.pri +++ b/share/qtcreator/qml/qmlobserver/qml.pri @@ -11,13 +11,15 @@ HEADERS += $$PWD/qmlruntime.h \ $$PWD/proxysettings.h \ $$PWD/qdeclarativetester.h \ $$PWD/deviceorientation.h \ - $$PWD/loggerwidget.h + $$PWD/loggerwidget.h \ + $$PWD/crumblepath.h SOURCES += $$PWD/qmlruntime.cpp \ $$PWD/proxysettings.cpp \ $$PWD/qdeclarativetester.cpp \ - $$PWD/loggerwidget.cpp + $$PWD/loggerwidget.cpp \ + $$PWD/crumblepath.cpp RESOURCES += $$PWD/qmlruntime.qrc diff --git a/share/qtcreator/qml/qmlobserver/qmlobserver.pro b/share/qtcreator/qml/qmlobserver/qmlobserver.pro new file mode 100644 index 00000000000..e4f765c21d6 --- /dev/null +++ b/share/qtcreator/qml/qmlobserver/qmlobserver.pro @@ -0,0 +1,24 @@ +TEMPLATE = app +DEFINES += QMLOBSERVER + +include(qml.pri) + +SOURCES += main.cpp + +exists($$PWD/qmljsdebugger/qmljsdebugger-lib.pri) { +# for building helpers within QT_INSTALL_DATA, we deploy the lib inside the observer directory. + include($$PWD/qmljsdebugger/qmljsdebugger-lib.pri) +} else { + include($$PWD/../qmljsdebugger/qmljsdebugger-lib.pri) +} + +DESTDIR = $$IDE_BIN_PATH + +mac { + QMAKE_INFO_PLIST=Info_mac.plist + TARGET=QMLObserver + ICON=qml.icns +} else { + TARGET=qmlobserver +} + diff --git a/src/tools/qml/qmlobserver/qmlruntime.cpp b/share/qtcreator/qml/qmlobserver/qmlruntime.cpp similarity index 99% rename from src/tools/qml/qmlobserver/qmlruntime.cpp rename to share/qtcreator/qml/qmlobserver/qmlruntime.cpp index 0fbacbe3648..140aee7084c 100644 --- a/src/tools/qml/qmlobserver/qmlruntime.cpp +++ b/share/qtcreator/qml/qmlobserver/qmlruntime.cpp @@ -56,8 +56,8 @@ #include <qdeclarativeviewobserver.h> #include <qdeclarativeobserverservice.h> -#include <utils/crumblepath.h> +#include "crumblepath.h" #include "qmlruntime.h" #include <qdeclarativecontext.h> #include <qdeclarativeengine.h> @@ -537,7 +537,7 @@ class CrumblePathResizer : public QObject { Q_OBJECT public: - CrumblePathResizer(Utils::CrumblePath *crumblePathWidget, QObject *parent = 0) : + CrumblePathResizer(CrumblePath *crumblePathWidget, QObject *parent = 0) : QObject(parent), m_crumblePathWidget(crumblePathWidget) { @@ -616,7 +616,7 @@ QDeclarativeViewer::QDeclarativeViewer(QWidget *parent, Qt::WindowFlags flags) canvas = new QDeclarativeView(this); observer = new QmlJSDebugger::QDeclarativeViewObserver(canvas, this); if (!(flags & Qt::FramelessWindowHint)) { - m_crumblePathWidget = new Utils::CrumblePath(canvas); + m_crumblePathWidget = new CrumblePath(canvas); #ifndef Q_WS_MAC m_crumblePathWidget->setStyleSheet("QWidget { border-bottom: 1px solid black; }"); #endif diff --git a/src/tools/qml/qmlobserver/qmlruntime.h b/share/qtcreator/qml/qmlobserver/qmlruntime.h similarity index 98% rename from src/tools/qml/qmlobserver/qmlruntime.h rename to share/qtcreator/qml/qmlobserver/qmlruntime.h index a0a07f1888c..eb435796593 100644 --- a/src/tools/qml/qmlobserver/qmlruntime.h +++ b/share/qtcreator/qml/qmlobserver/qmlruntime.h @@ -52,9 +52,8 @@ namespace QmlJSDebugger { class QDeclarativeViewObserver; } -namespace Utils { - class CrumblePath; -} + +class CrumblePath; QT_BEGIN_NAMESPACE @@ -217,7 +216,7 @@ private: bool useQmlFileBrowser; QWidget *m_centralWidget; - Utils::CrumblePath *m_crumblePathWidget; + CrumblePath *m_crumblePathWidget; QTranslator *translator; void loadTranslationFile(const QString& directory); diff --git a/src/tools/qml/qmlobserver/qmlruntime.qrc b/share/qtcreator/qml/qmlobserver/qmlruntime.qrc similarity index 100% rename from src/tools/qml/qmlobserver/qmlruntime.qrc rename to share/qtcreator/qml/qmlobserver/qmlruntime.qrc diff --git a/src/tools/qml/qmlobserver/recopts.ui b/share/qtcreator/qml/qmlobserver/recopts.ui similarity index 100% rename from src/tools/qml/qmlobserver/recopts.ui rename to share/qtcreator/qml/qmlobserver/recopts.ui diff --git a/src/tools/qml/qmlobserver/recopts_maemo5.ui b/share/qtcreator/qml/qmlobserver/recopts_maemo5.ui similarity index 100% rename from src/tools/qml/qmlobserver/recopts_maemo5.ui rename to share/qtcreator/qml/qmlobserver/recopts_maemo5.ui diff --git a/src/tools/qml/qmlobserver/texteditautoresizer_maemo5.h b/share/qtcreator/qml/qmlobserver/texteditautoresizer_maemo5.h similarity index 100% rename from src/tools/qml/qmlobserver/texteditautoresizer_maemo5.h rename to share/qtcreator/qml/qmlobserver/texteditautoresizer_maemo5.h diff --git a/share/qtcreator/qmljsdebugger/qmljsdebugger-lib.pri b/share/qtcreator/qmljsdebugger/qmljsdebugger-lib.pri deleted file mode 100644 index f4918263780..00000000000 --- a/share/qtcreator/qmljsdebugger/qmljsdebugger-lib.pri +++ /dev/null @@ -1,35 +0,0 @@ -QT += declarative script -INCLUDEPATH += $$PWD $$PWD/include editor -DEPENDPATH += $$PWD $$PWD/include editor - -contains(CONFIG, dll) { - DEFINES += BUILD_QMLJSDEBUGGER_LIB -} else { - DEFINES += BUILD_QMLJSDEBUGGER_STATIC_LIB -} - -include($$PWD/private_headers.pri) - -## Input -HEADERS += \ - include/jsdebuggeragent.h \ - include/qmljsdebugger_global.h - -SOURCES += \ - jsdebuggeragent.cpp - -contains(DEFINES, QMLOBSERVER) { - include($$PWD/editor/editor.pri) - - HEADERS += \ - include/qdeclarativeviewobserver.h \ - include/qdeclarativeobserverservice.h \ - include/qmlobserverconstants.h \ - qdeclarativeviewobserver_p.h - - SOURCES += \ - qdeclarativeviewobserver.cpp \ - qdeclarativeobserverservice.cpp -} - -OTHER_FILES += qmljsdebugger.pri diff --git a/src/libs/qmljs/qmljsmodelmanagerinterface.h b/src/libs/qmljs/qmljsmodelmanagerinterface.h index 938087f4540..642e2a06521 100644 --- a/src/libs/qmljs/qmljsmodelmanagerinterface.h +++ b/src/libs/qmljs/qmljsmodelmanagerinterface.h @@ -76,6 +76,7 @@ public: QPointer<ProjectExplorer::Project> project; QStringList sourceFiles; QStringList importPaths; + QString qmlDumpPath; }; class WorkingCopy diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index 69f739b8500..3260775ddc6 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -380,13 +380,7 @@ void DebuggerRunControl::createEngine(const DebuggerStartParameters &startParams // Figure out engine according to toolchain, executable, attach or default. DebuggerEngineType engineType = NoEngineType; DebuggerLanguages activeLangs = DebuggerPlugin::instance()->activeLanguages(); - /*bool isQmlExecutable = sp.executable.endsWith(_("qmlviewer")) || sp.executable.endsWith(_("qmlobserver")); -#ifdef Q_OS_MAC - isQmlExecutable = sp.executable.endsWith(_("QMLViewer.app")) || sp.executable.endsWith(_("QMLObserver.app")); -#endif - if (isQmlExecutable && sp.startMode != AttachCore) - engineType = QmlEngineType; - else */if (sp.executable.endsWith(_(".js"))) + if (sp.executable.endsWith(_(".js"))) engineType = ScriptEngineType; else if (sp.executable.endsWith(_(".py"))) engineType = PdbEngineType; diff --git a/src/plugins/projectexplorer/debugginghelper.cpp b/src/plugins/projectexplorer/debugginghelper.cpp index 5d65d177077..b006691cae0 100644 --- a/src/plugins/projectexplorer/debugginghelper.cpp +++ b/src/plugins/projectexplorer/debugginghelper.cpp @@ -110,7 +110,8 @@ QString DebuggingHelperLibrary::copy(const QString &qtInstallData, errorMessage->clear(); return directory; } - *errorMessage = QCoreApplication::translate("ProjectExplorer::DebuggingHelperLibrary", "The debugger helpers could not be built in any of the directories:\n- %1\n\nReason: %2") + *errorMessage = QCoreApplication::translate("ProjectExplorer::DebuggingHelperLibrary", + "The debugger helpers could not be built in any of the directories:\n- %1\n\nReason: %2") .arg(directories.join(QLatin1String("\n- ")), *errorMessage); return QString(); } diff --git a/src/plugins/qmljseditor/qmljsmodelmanager.cpp b/src/plugins/qmljseditor/qmljsmodelmanager.cpp index 2f3d14387b4..f30357ff64c 100644 --- a/src/plugins/qmljseditor/qmljsmodelmanager.cpp +++ b/src/plugins/qmljseditor/qmljsmodelmanager.cpp @@ -42,7 +42,6 @@ #include <texteditor/itexteditor.h> #include <projectexplorer/project.h> #include <projectexplorer/projectexplorer.h> -#include <qt4projectmanager/qmldumptool.h> #include <QDir> #include <QFile> @@ -474,25 +473,13 @@ void ModelManager::onLoadPluginTypes(const QString &libraryPath, const QString & if (m_runningQmldumps.values().contains(canonicalLibraryPath)) return; - // TODO shouldn't be static - instead, if project changes, qmldump should probably change too. - static QString qmldumpPath; - if (qmldumpPath.isNull()) { - - ProjectExplorer::Project *activeProject = ProjectExplorer::ProjectExplorerPlugin::instance()->startupProject(); - qmldumpPath = Qt4ProjectManager::QmlDumpTool::qmlDumpToolForProject(activeProject); - // ### no support for .qmlproject projects or cmake projects. - - QFileInfo qmldumpFileInfo(qmldumpPath); - if (!qmldumpFileInfo.exists()) { - qWarning() << "ModelManager::loadQmlPluginTypes: qmldump executable does not exist at" << qmldumpPath; - qmldumpPath.clear(); - } else if (!qmldumpFileInfo.isFile()) { - qWarning() << "ModelManager::loadQmlPluginTypes: " << qmldumpPath << " is not a file"; - qmldumpPath.clear(); - } + ProjectExplorer::Project *activeProject = ProjectExplorer::ProjectExplorerPlugin::instance()->startupProject(); + if (!activeProject) + return; - } - if (qmldumpPath.isEmpty()) + ProjectInfo info = projectInfo(activeProject); + + if (info.qmlDumpPath.isEmpty()) return; QProcess *process = new QProcess(this); @@ -501,7 +488,7 @@ void ModelManager::onLoadPluginTypes(const QString &libraryPath, const QString & QStringList args; args << importPath; args << importUri; - process->start(qmldumpPath, args); + process->start(info.qmlDumpPath, args); m_runningQmldumps.insert(process, canonicalLibraryPath); } diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index 3cd103a42d5..34c86df6998 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -32,7 +32,6 @@ #include "qmlprojectmanagerconstants.h" #include "qmlprojecttarget.h" #include "projectexplorer/projectexplorer.h" - #include <coreplugin/mimedatabase.h> #include <projectexplorer/buildconfiguration.h> #include <coreplugin/editormanager/editormanager.h> @@ -45,6 +44,7 @@ #include <utils/detailswidget.h> #include <qt4projectmanager/qtversionmanager.h> #include <qt4projectmanager/qt4projectmanagerconstants.h> +#include <qt4projectmanager/qmlobservertool.h> #include <QFormLayout> #include <QComboBox> @@ -371,47 +371,19 @@ QString QmlProjectRunConfiguration::viewerDefaultPath() const { QString path; - // Search for QmlObserver -#ifdef Q_OS_MAC - const QString qmlObserverName = QLatin1String("QMLObserver.app"); -#else - const QString qmlObserverName = QLatin1String("qmlobserver"); -#endif - - QDir appDir(QCoreApplication::applicationDirPath()); - QString qmlObserverPath; -#ifdef Q_OS_WIN - qmlObserverPath = appDir.absoluteFilePath(qmlObserverName + QLatin1String(".exe")); -#else - qmlObserverPath = appDir.absoluteFilePath(qmlObserverName); -#endif - if (QFileInfo(qmlObserverPath).exists()) { - return qmlObserverPath; - } - - // Search for QmlViewer - - // prepend creator/bin dir to search path (only useful for special creator-qml package) - const QString searchPath = QCoreApplication::applicationDirPath() - + Utils::SynchronousProcess::pathSeparator() - + QString::fromLocal8Bit(qgetenv("PATH")); - -#ifdef Q_OS_MAC - const QString qmlViewerName = QLatin1String("QMLViewer"); -#else - const QString qmlViewerName = QLatin1String("qmlviewer"); -#endif - - path = Utils::SynchronousProcess::locateBinary(searchPath, qmlViewerName); - if (!path.isEmpty()) - return path; - // Try to locate default path in Qt Versions Qt4ProjectManager::QtVersionManager *qtVersions = Qt4ProjectManager::QtVersionManager::instance(); foreach (Qt4ProjectManager::QtVersion *version, qtVersions->validVersions()) { - if (!version->qmlviewerCommand().isEmpty() - && version->supportsTargetId(Qt4ProjectManager::Constants::DESKTOP_TARGET_ID)) { - return version->qmlviewerCommand(); + if (version->supportsTargetId(Qt4ProjectManager::Constants::DESKTOP_TARGET_ID)) { + // Search for QmlObserver + + const QString qtInstallData = version->versionInfo().value("QT_INSTALL_DATA"); + path = Qt4ProjectManager::QmlObserverTool::toolByInstallData(qtInstallData); + + if (path.isEmpty() && !version->qmlviewerCommand().isEmpty()) { + path = version->qmlviewerCommand(); + break; + } } } diff --git a/src/plugins/qt4projectmanager/qmldumptool.cpp b/src/plugins/qt4projectmanager/qmldumptool.cpp index 51d340282e7..cf60f055f0f 100644 --- a/src/plugins/qt4projectmanager/qmldumptool.cpp +++ b/src/plugins/qt4projectmanager/qmldumptool.cpp @@ -55,9 +55,8 @@ bool QmlDumpTool::canBuild(const QString &installHeadersDir) return QFile::exists(qDeclHeader); } -QString QmlDumpTool::qmlDumpToolForProject(ProjectExplorer::Project *project) +QString QmlDumpTool::toolForProject(ProjectExplorer::Project *project) { - qDebug() << "current project:" << project; if (project->id() == Qt4ProjectManager::Constants::QT4PROJECT_ID) { Qt4Project *qt4Project = static_cast<Qt4Project*>(project); if (qt4Project && qt4Project->activeTarget() @@ -65,16 +64,15 @@ QString QmlDumpTool::qmlDumpToolForProject(ProjectExplorer::Project *project) QtVersion *version = qt4Project->activeTarget()->activeBuildConfiguration()->qtVersion(); if (version->isValid()) { QString qtInstallData = version->versionInfo().value("QT_INSTALL_DATA"); - QString toolByInstallData = qmlDumpToolByInstallData(qtInstallData); - qDebug () << toolByInstallData; - return toolByInstallData; + QString toolPath = toolByInstallData(qtInstallData); + return toolPath; } } } return QString(); } -QString QmlDumpTool::qmlDumpToolByInstallData(const QString &qtInstallData) +QString QmlDumpTool::toolByInstallData(const QString &qtInstallData) { if (!Core::ICore::instance()) return QString(); @@ -123,8 +121,8 @@ QString QmlDumpTool::copy(const QString &qtInstallData, QString *errorMessage) errorMessage->clear(); return directory; } - *errorMessage = QCoreApplication::tr("ProjectExplorer::QmlDumpTool", - "The debugger helpers could not be built in any of the directories:\n- %1\n\nReason: %2") + *errorMessage = QCoreApplication::translate("ProjectExplorer::QmlDumpTool", + "qmldump could not be built in any of the directories:\n- %1\n\nReason: %2") .arg(directories.join(QLatin1String("\n- ")), *errorMessage); return QString(); } diff --git a/src/plugins/qt4projectmanager/qmldumptool.h b/src/plugins/qt4projectmanager/qmldumptool.h index d8804c8b4bc..5ec3355659c 100644 --- a/src/plugins/qt4projectmanager/qmldumptool.h +++ b/src/plugins/qt4projectmanager/qmldumptool.h @@ -47,8 +47,8 @@ class QT4PROJECTMANAGER_EXPORT QmlDumpTool : public Utils::BuildableHelperLibrar { public: static bool canBuild(const QString &installHeadersDir); - static QString qmlDumpToolForProject(ProjectExplorer::Project *project); - static QString qmlDumpToolByInstallData(const QString &qtInstallData); + static QString toolForProject(ProjectExplorer::Project *project); + static QString toolByInstallData(const QString &qtInstallData); static QStringList locationsByInstallData(const QString &qtInstallData); // Build the helpers and return the output log/errormessage. diff --git a/src/plugins/qt4projectmanager/qmlobservertool.cpp b/src/plugins/qt4projectmanager/qmlobservertool.cpp new file mode 100644 index 00000000000..3a64da2ed7a --- /dev/null +++ b/src/plugins/qt4projectmanager/qmlobservertool.cpp @@ -0,0 +1,219 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** Commercial Usage +** +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Nokia. +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at http://qt.nokia.com/contact. +** +**************************************************************************/ + +#include "qmlobservertool.h" + +#include "qt4project.h" +#include "qt4projectmanagerconstants.h" +#include <coreplugin/icore.h> + +#include <projectexplorer/project.h> +#include <QDesktopServices> +#include <QCoreApplication> +#include <QDir> +#include <QDebug> + +namespace Qt4ProjectManager { + +static inline QStringList validBinaryFilenames() +{ + return QStringList() + << QLatin1String("debug/qmlobserver.exe") + << QLatin1String("qmlobserver.exe") + << QLatin1String("qmlobserver") + << QLatin1String("QMLObserver.app/Contents/MacOS/QMLObserver"); +} + +bool QmlObserverTool::canBuild(const QString &installHeadersDir) +{ + QString qDeclHeader = installHeadersDir + QLatin1String("/QtDeclarative/private/qdeclarativemetatype_p.h"); + return QFile::exists(qDeclHeader); +} + +QString QmlObserverTool::toolForProject(ProjectExplorer::Project *project) +{ + if (project->id() == Qt4ProjectManager::Constants::QT4PROJECT_ID) { + Qt4Project *qt4Project = static_cast<Qt4Project*>(project); + if (qt4Project && qt4Project->activeTarget() + && qt4Project->activeTarget()->activeBuildConfiguration()) { + QtVersion *version = qt4Project->activeTarget()->activeBuildConfiguration()->qtVersion(); + if (version->isValid()) { + QString qtInstallData = version->versionInfo().value("QT_INSTALL_DATA"); + QString toolPath = toolByInstallData(qtInstallData); + return toolPath; + } + } + } + return QString(); +} + +QString QmlObserverTool::toolByInstallData(const QString &qtInstallData) +{ + if (!Core::ICore::instance()) + return QString(); + + const QString mainFilename = Core::ICore::instance()->resourcePath() + + QLatin1String("/qml/qmlobserver/main.cpp"); + const QStringList directories = installDirectories(qtInstallData); + const QStringList binFilenames = validBinaryFilenames(); + + return byInstallDataHelper(mainFilename, directories, binFilenames); +} + +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; +} + +QString QmlObserverTool::build(const QString &directory, const QString &makeCommand, + const QString &qmakeCommand, const QString &mkspec, + const Utils::Environment &env, const QString &targetMode) +{ + return buildHelper(QCoreApplication::tr("QMLObserver"), QLatin1String("qmlobserver.pro"), + directory, makeCommand, qmakeCommand, mkspec, env, targetMode); +} + +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 = QmlObserverTool::installDirectories(qtInstallData); + + QStringList files; + files << QLatin1String("main.cpp") << QLatin1String("qmlobserver.pro") + << QLatin1String("crumblepath.cpp") << QLatin1String("crumblepath.h") + << QLatin1String("deviceorientation.cpp") << QLatin1String("deviceorientation.h") + << QLatin1String("deviceorientation_maemo5.cpp") << QLatin1String("Info_mac.plist") + << QLatin1String("loggerwidget.cpp") << QLatin1String("loggerwidget.h") + << QLatin1String("proxysettings.cpp") << QLatin1String("proxysettings.h") + << QLatin1String("proxysettings.ui") << QLatin1String("proxysettings_maemo5.ui") + << QLatin1String("qdeclarativetester.cpp") << QLatin1String("qdeclarativetester.h") + << QLatin1String("qml.icns") << QLatin1String("qml.pri") + << QLatin1String("qmlruntime.cpp") << QLatin1String("qmlruntime.h") + << QLatin1String("qmlruntime.qrc") << QLatin1String("recopts.ui") + << QLatin1String("recopts_maemo5.ui") + << QLatin1String("texteditautoresizer_maemo5.h") + << QLatin1String("content/Browser.qml") << QLatin1String("content/images/folder.png") + << QLatin1String("content/images/titlebar.png") << QLatin1String("content/images/titlebar.sci") + << QLatin1String("content/images/up.png") + << QLatin1String("LICENSE.LGPL") << QLatin1String("LGPL_EXCEPTION.TXT"); + + QStringList debuggerLibFiles; + debuggerLibFiles << QLatin1String("jsdebuggeragent.cpp") << QLatin1String("private_headers.pri") + << QLatin1String("qdeclarativeobserverservice.cpp") << QLatin1String("qdeclarativeviewobserver.cpp") + << QLatin1String("qdeclarativeviewobserver_p.h") << QLatin1String("qmljsdebugger.pri") + << QLatin1String("qmljsdebugger.pro") << QLatin1String("qmljsdebugger-lib.pri") + << QLatin1String("include/jsdebuggeragent.h") << QLatin1String("include/qdeclarativeobserverservice.h") + << QLatin1String("include/qdeclarativeviewobserver.h") << QLatin1String("include/qmljsdebugger_global.h") + << QLatin1String("include/qmlobserverconstants.h"); + + QStringList debuggerLibEditorFiles; + debuggerLibEditorFiles << QLatin1String("abstractformeditortool.cpp") << QLatin1String("abstractformeditortool.h") + << QLatin1String("boundingrecthighlighter.cpp") << QLatin1String("boundingrecthighlighter.h") + << QLatin1String("colorpickertool.cpp") << QLatin1String("colorpickertool.h") + << QLatin1String("editor.pri") << QLatin1String("editor.qrc") + << QLatin1String("layeritem.cpp") << QLatin1String("layeritem.h") + << QLatin1String("qmltoolbar.cpp") << QLatin1String("qmltoolbar.h") + << QLatin1String("rubberbandselectionmanipulator.cpp") + << QLatin1String("rubberbandselectionmanipulator.h") << QLatin1String("selectionindicator.cpp") + << QLatin1String("selectionindicator.h") << QLatin1String("selectionrectangle.cpp") + << QLatin1String("selectionrectangle.h") << QLatin1String("selectiontool.cpp") + << QLatin1String("selectiontool.h") << QLatin1String("singleselectionmanipulator.cpp") + << QLatin1String("singleselectionmanipulator.h") << QLatin1String("subcomponenteditortool.cpp") + << QLatin1String("subcomponenteditortool.h") << QLatin1String("subcomponentmasklayeritem.cpp") + << QLatin1String("subcomponentmasklayeritem.h") << QLatin1String("toolbarcolorbox.cpp") + << QLatin1String("toolbarcolorbox.h") << QLatin1String("zoomtool.cpp") + << QLatin1String("zoomtool.h") << QLatin1String("images/color-picker.png") + << QLatin1String("images/color-picker-24.png") << QLatin1String("images/color-picker-hicontrast.png") + << QLatin1String("images/from-qml.png") << QLatin1String("images/from-qml-24.png") + << QLatin1String("images/observermode.png") << QLatin1String("images/observermode-24.png") + << QLatin1String("images/pause.png") << QLatin1String("images/pause-24.png") + << QLatin1String("images/play.png") << QLatin1String("images/play-24.png") + << QLatin1String("images/reload.png") << QLatin1String("images/resize_handle.png") + << QLatin1String("images/select.png") << QLatin1String("images/select-24.png") + << QLatin1String("images/select-marquee.png") << QLatin1String("images/select-marquee-24.png") + << QLatin1String("images/to-qml.png") << QLatin1String("images/to-qml-24.png") + << QLatin1String("images/zoom.png") << QLatin1String("images/zoom-24.png"); + + QString sourcePath = Core::ICore::instance()->resourcePath() + QLatin1String("/qml/qmlobserver/"); + QString libSourcePath = Core::ICore::instance()->resourcePath() + QLatin1String("/qml/qmljsdebugger/"); + QString libEditorSourcePath = Core::ICore::instance()->resourcePath() + QLatin1String("/qml/qmljsdebugger/editor/"); + + // Try to find a writeable directory. + foreach(const QString &directory, directories) { + if (!mkpath(directory + QLatin1String("/content/images"), errorMessage) + || !mkpath(directory + QLatin1String("/qmljsdebugger/editor/images"), errorMessage) + || !mkpath(directory + QLatin1String("/qmljsdebugger/include"), errorMessage)) + { + continue; + } else { + errorMessage->clear(); + } + + if (copyFiles(sourcePath, files, directory, errorMessage) + && copyFiles(libSourcePath, debuggerLibFiles, directory + QLatin1String("/qmljsdebugger/"), errorMessage) + && copyFiles(libEditorSourcePath, debuggerLibEditorFiles, directory + QLatin1String("/qmljsdebugger/editor/"), 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(); +} + +QStringList QmlObserverTool::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; +} + +} // namespace diff --git a/src/plugins/qt4projectmanager/qmlobservertool.h b/src/plugins/qt4projectmanager/qmlobservertool.h new file mode 100644 index 00000000000..625e625c760 --- /dev/null +++ b/src/plugins/qt4projectmanager/qmlobservertool.h @@ -0,0 +1,69 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2010 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** Commercial Usage +** +** Licensees holding valid Qt Commercial licenses may use this file in +** accordance with the Qt Commercial License Agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and Nokia. +** +** GNU Lesser General Public License Usage +** +** Alternatively, this file may be used under the terms of the GNU Lesser +** General Public License version 2.1 as published by the Free Software +** Foundation and appearing in the file LICENSE.LGPL included in the +** packaging of this file. Please review the following information to +** ensure the GNU Lesser General Public License version 2.1 requirements +** will be met: http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** If you are unsure which license is appropriate for your use, please +** contact the sales department at http://qt.nokia.com/contact. +** +**************************************************************************/ + +#ifndef QMLOBSERVERTOOL_H +#define QMLOBSERVERTOOL_H + +#include <utils/buildablehelperlibrary.h> +#include "qt4projectmanager_global.h" + +namespace Utils { + class Environment; +} + +namespace ProjectExplorer { + class Project; +} + +namespace Qt4ProjectManager { + +class QT4PROJECTMANAGER_EXPORT QmlObserverTool : public Utils::BuildableHelperLibrary +{ +public: + static bool canBuild(const QString &installHeadersDir); + static QString toolForProject(ProjectExplorer::Project *project); + static QString toolByInstallData(const QString &qtInstallData); + static QStringList locationsByInstallData(const QString &qtInstallData); + + // Build the helpers and return the output log/errormessage. + static QString build(const QString &directory, const QString &makeCommand, + const QString &qmakeCommand, const QString &mkspec, + const Utils::Environment &env, const QString &targetMode); + + // Copy the source files to a target location and return the chosen target location. + static QString copy(const QString &qtInstallData, QString *errorMessage); + +private: + static QStringList installDirectories(const QString &qtInstallData); + +}; + +} // namespace + +#endif // QMLOBSERVERTOOL_H diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 1385f634063..20808d95ab3 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -40,6 +40,7 @@ #include "projectloadwizard.h" #include "qt4buildconfiguration.h" #include "findqt4profiles.h" +#include "qmldumptool.h" #include <coreplugin/icore.h> #include <coreplugin/messagemanager.h> @@ -50,6 +51,7 @@ #include <qmljs/qmljsmodelmanagerinterface.h> #include <projectexplorer/buildenvironmentwidget.h> #include <projectexplorer/customexecutablerunconfiguration.h> +#include <projectexplorer/projectexplorer.h> #include <utils/qtcassert.h> #include <QtCore/QDebug> @@ -584,6 +586,36 @@ void Qt4Project::updateQmlJSCodeModel() } projectInfo.importPaths.removeDuplicates(); + + if (projectInfo.qmlDumpPath.isNull()) { + ProjectExplorer::Project *activeProject = ProjectExplorer::ProjectExplorerPlugin::instance()->startupProject(); + projectInfo.qmlDumpPath = Qt4ProjectManager::QmlDumpTool::toolForProject(activeProject); + + // ### this is needed for qmlproject and cmake project support, but may not work in all cases. + if (projectInfo.qmlDumpPath.isEmpty()) { + // Try to locate default path in Qt Versions + QtVersionManager *qtVersions = QtVersionManager::instance(); + foreach (QtVersion *version, qtVersions->validVersions()) { + if (version->supportsTargetId(Constants::DESKTOP_TARGET_ID)) { + const QString qtInstallData = version->versionInfo().value("QT_INSTALL_DATA"); + projectInfo.qmlDumpPath = QmlDumpTool::toolByInstallData(qtInstallData); + + if (!projectInfo.qmlDumpPath.isEmpty()) { + break; + } + } + } + } + QFileInfo qmldumpFileInfo(projectInfo.qmlDumpPath); + if (!qmldumpFileInfo.exists()) { + qWarning() << "Qt4Project::loadQmlPluginTypes: qmldump executable does not exist at" << projectInfo.qmlDumpPath; + projectInfo.qmlDumpPath.clear(); + } else if (!qmldumpFileInfo.isFile()) { + qWarning() << "Qt4Project::loadQmlPluginTypes: " << projectInfo.qmlDumpPath << " is not a file"; + projectInfo.qmlDumpPath.clear(); + } + } + modelManager->updateProjectInfo(projectInfo); } diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.pro b/src/plugins/qt4projectmanager/qt4projectmanager.pro index 3b84f9653e4..e456017ebe5 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.pro +++ b/src/plugins/qt4projectmanager/qt4projectmanager.pro @@ -62,7 +62,8 @@ HEADERS += qt4deployconfiguration.h \ librarydetailscontroller.h \ findqt4profiles.h \ qt4projectmanager_global.h \ - qmldumptool.h + qmldumptool.h \ + qmlobservertool.h SOURCES += qt4projectmanagerplugin.cpp \ qt4deployconfiguration.cpp \ qtparser.cpp \ @@ -119,7 +120,8 @@ SOURCES += qt4projectmanagerplugin.cpp \ addlibrarywizard.cpp \ librarydetailscontroller.cpp \ findqt4profiles.cpp \ - qmldumptool.cpp + qmldumptool.cpp \ + qmlobservertool.cpp FORMS += makestep.ui \ qmakestep.ui \ qt4projectconfigwidget.ui \ diff --git a/src/plugins/qt4projectmanager/qtoptionspage.cpp b/src/plugins/qt4projectmanager/qtoptionspage.cpp index d0e0b7d59f4..01798677512 100644 --- a/src/plugins/qt4projectmanager/qtoptionspage.cpp +++ b/src/plugins/qt4projectmanager/qtoptionspage.cpp @@ -70,10 +70,9 @@ DebuggingHelperBuildTask::~DebuggingHelperBuildTask() void DebuggingHelperBuildTask::run(QFutureInterface<void> &future) { - future.setProgressRange(0, 4); - future.setProgressValue(1); - const QString output = m_version->buildDebuggingHelperLibrary(); + future.setProgressRange(0, 5); future.setProgressValue(1); + const QString output = m_version->buildDebuggingHelperLibrary(future); emit finished(m_version->displayName(), output); deleteLater(); } @@ -145,8 +144,10 @@ QtOptionsPageWidget::QtOptionsPageWidget(QWidget *parent, QList<QtVersion *> ver : QWidget(parent) , m_debuggingHelperOkPixmap(QLatin1String(":/extensionsystem/images/ok.png")) , m_debuggingHelperErrorPixmap(QLatin1String(":/extensionsystem/images/error.png")) + , m_debuggingHelperIntermediatePixmap(QLatin1String(":/extensionsystem/images/notloaded.png")) , m_debuggingHelperOkIcon(m_debuggingHelperOkPixmap) , m_debuggingHelperErrorIcon(m_debuggingHelperErrorPixmap) + , m_debuggingHelperIntermediateIcon(m_debuggingHelperIntermediatePixmap) , m_specifyNameString(tr("<specify a name>")) , m_specifyPathString(tr("<specify a qmake location>")) , m_ui(new Internal::Ui::QtVersionManager()) @@ -190,7 +191,7 @@ QtOptionsPageWidget::QtOptionsPageWidget(QWidget *parent, QList<QtVersion *> ver item->setData(0, Qt::UserRole, version->uniqueId()); if (version->isValid() && version->supportsBinaryDebuggingHelper()) - item->setData(2, Qt::DecorationRole, version->hasDebuggingHelper() ? m_debuggingHelperOkIcon : m_debuggingHelperErrorIcon); + item->setData(2, Qt::DecorationRole, debuggerHelperIconForQtVersion(version)); else item->setData(2, Qt::DecorationRole, QIcon()); } @@ -235,6 +236,26 @@ QtOptionsPageWidget::QtOptionsPageWidget(QWidget *parent, QList<QtVersion *> ver updateState(); } +QIcon QtOptionsPageWidget::debuggerHelperIconForQtVersion(const QtVersion *version) +{ + if (version->hasDebuggingHelper() && version->hasQmlDump() && version->hasQmlObserver()) { + return m_debuggingHelperOkIcon; + } else if (!version->hasDebuggingHelper() && !version->hasQmlDump() && !version->hasQmlObserver()) { + return m_debuggingHelperErrorIcon; + } + return m_debuggingHelperIntermediateIcon; +} + +QPixmap QtOptionsPageWidget::debuggerHelperPixmapForQtVersion(const QtVersion *version) +{ + if (version->hasDebuggingHelper() && version->hasQmlDump() && version->hasQmlObserver()) { + return m_debuggingHelperOkPixmap; + } else if (!version->hasDebuggingHelper() && !version->hasQmlDump() && !version->hasQmlObserver()) { + return m_debuggingHelperErrorPixmap; + } + return m_debuggingHelperIntermediatePixmap; +} + bool QtOptionsPageWidget::eventFilter(QObject *o, QEvent *e) { // Set the items tooltip, which may cause costly initialization @@ -289,8 +310,9 @@ void QtOptionsPageWidget::debuggingHelperBuildFinished(const QString &name, cons QTreeWidgetItem *item = treeItemForIndex(index); QTC_ASSERT(item, return) item->setData(2, Qt::UserRole, output); - const bool success = m_versions.at(index)->hasDebuggingHelper(); - item->setData(2, Qt::DecorationRole, success ? m_debuggingHelperOkIcon : m_debuggingHelperErrorIcon); + QSharedPointerQtVersion qtVersion = m_versions.at(index); + const bool success = qtVersion->hasDebuggingHelper() && qtVersion->hasQmlDump() && qtVersion->hasQmlObserver(); + item->setData(2, Qt::DecorationRole, debuggerHelperIconForQtVersion(qtVersion.data())); // Update bottom control if the selection is still the same if (index == currentIndex()) { @@ -373,15 +395,35 @@ void QtOptionsPageWidget::removeQtDir() } // Format html table tooltip about helpers -static inline QString msgHtmlHelperToolTip(const QFileInfo &fi) +static inline QString msgHtmlHelperToolTip(const QString &gdbHelperPath, const QString &qmlDumpPath, const QString &qmlObserverPath) { + QFileInfo gdbHelperFI(gdbHelperPath); + QFileInfo qmlDumpFI(qmlDumpPath); + QFileInfo qmlObserverFI(qmlObserverPath); + + QString notFound = QtOptionsPageWidget::tr("Binary not found"); + //: Tooltip showing the debugging helper library file. return QtOptionsPageWidget::tr("<html><body><table><tr><td>File:</td><td><pre>%1</pre></td></tr>" "<tr><td>Last modified:</td><td>%2</td></tr>" - "<tr><td>Size:</td><td>%3 Bytes</td></tr></table></body></html>"). - arg(QDir::toNativeSeparators(fi.absoluteFilePath())). - arg(fi.lastModified().toString(Qt::SystemLocaleLongDate)). - arg(fi.size()); + "<tr><td>Size:</td><td>%3 Bytes</td></tr>" + "<tr><td>File:</td><td><pre>%4</pre></td></tr>" + "<tr><td>Last modified:</td><td>%5</td></tr>" + "<tr><td>Size:</td><td>%6 Bytes</td></tr>" + "<tr><td>File:</td><td><pre>%7</pre></td></tr>" + "<tr><td>Last modified:</td><td>%8</td></tr>" + "<tr><td>Size:</td><td>%9 Bytes</td></tr>" + "</table></body></html>" + ). + arg(gdbHelperPath.isEmpty() ? notFound : QDir::toNativeSeparators(gdbHelperFI.absoluteFilePath())). + arg(gdbHelperFI.lastModified().toString(Qt::SystemLocaleLongDate)). + arg(gdbHelperFI.size()). + arg(qmlDumpPath.isEmpty() ? notFound : QDir::toNativeSeparators(qmlDumpFI.absoluteFilePath())). + arg(qmlDumpFI.lastModified().toString(Qt::SystemLocaleLongDate)). + arg(qmlDumpFI.size()). + arg(qmlObserverPath.isEmpty() ? notFound : QDir::toNativeSeparators(qmlObserverFI.absoluteFilePath())). + arg(qmlObserverFI.lastModified().toString(Qt::SystemLocaleLongDate)). + arg(qmlObserverFI.size()); } // Update the state label with a pixmap and set a tooltip describing @@ -390,10 +432,12 @@ void QtOptionsPageWidget::updateDebuggingHelperStateLabel(const QtVersion *versi { QString tooltip; if (version && version->isValid()) { - const bool hasHelper = version->hasDebuggingHelper(); - m_ui->debuggingHelperStateLabel->setPixmap(hasHelper ? m_debuggingHelperOkPixmap : m_debuggingHelperErrorPixmap); - if (hasHelper) - tooltip = msgHtmlHelperToolTip(QFileInfo(version->debuggingHelperLibrary())); + const bool hasHelpers = version->hasDebuggingHelper() && version->hasQmlDump() && version->hasQmlObserver(); + m_ui->debuggingHelperStateLabel->setPixmap(debuggerHelperPixmapForQtVersion(version)); + if (hasHelpers) + tooltip = msgHtmlHelperToolTip(version->debuggingHelperLibrary(), + version->qmlDumpTool(), + version->qmlObserverTool()); } else { m_ui->debuggingHelperStateLabel->setPixmap(QPixmap()); } @@ -679,7 +723,7 @@ void QtOptionsPageWidget::updateCurrentQMakeLocation() if (version->isValid() && version->supportsBinaryDebuggingHelper()) { const bool hasLog = !currentItem->data(2, Qt::UserRole).toString().isEmpty(); - currentItem->setData(2, Qt::DecorationRole, version->hasDebuggingHelper() ? m_debuggingHelperOkIcon : m_debuggingHelperErrorIcon); + currentItem->setData(2, Qt::DecorationRole, debuggerHelperIconForQtVersion(version)); m_ui->showLogButton->setEnabled(hasLog); m_ui->rebuildButton->setEnabled(true); } else { diff --git a/src/plugins/qt4projectmanager/qtoptionspage.h b/src/plugins/qt4projectmanager/qtoptionspage.h index 65a3956a3a5..293dd323066 100644 --- a/src/plugins/qt4projectmanager/qtoptionspage.h +++ b/src/plugins/qt4projectmanager/qtoptionspage.h @@ -90,11 +90,15 @@ private: QtVersion *currentVersion() const; int currentIndex() const; void updateDebuggingHelperStateLabel(const QtVersion *version = 0); + QIcon debuggerHelperIconForQtVersion(const QtVersion *version); + QPixmap debuggerHelperPixmapForQtVersion(const QtVersion *version); const QPixmap m_debuggingHelperOkPixmap; const QPixmap m_debuggingHelperErrorPixmap; + const QPixmap m_debuggingHelperIntermediatePixmap; const QIcon m_debuggingHelperOkIcon; const QIcon m_debuggingHelperErrorIcon; + const QIcon m_debuggingHelperIntermediateIcon; const QString m_specifyNameString; const QString m_specifyPathString; diff --git a/src/plugins/qt4projectmanager/qtversionmanager.cpp b/src/plugins/qt4projectmanager/qtversionmanager.cpp index e6b8aa93a3f..12aeebb035f 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.cpp +++ b/src/plugins/qt4projectmanager/qtversionmanager.cpp @@ -37,6 +37,7 @@ #include "qt-s60/s60manager.h" #include "qt-s60/s60projectchecker.h" +#include "qmlobservertool.h" #include "qmldumptool.h" #include <projectexplorer/debugginghelper.h> #include <projectexplorer/projectexplorer.h> @@ -516,6 +517,8 @@ QtVersion::QtVersion(const QString &name, const QString &qmakeCommand, int id, m_isAutodetected(isAutodetected), m_autodetectionSource(autodetectionSource), m_hasDebuggingHelper(false), + m_hasQmlDump(false), + m_hasQmlObserver(false), m_toolChainUpToDate(false), m_versionInfoUpToDate(false), m_notInstalled(false), @@ -538,6 +541,8 @@ QtVersion::QtVersion(const QString &name, const QString &qmakeCommand, m_isAutodetected(isAutodetected), m_autodetectionSource(autodetectionSource), m_hasDebuggingHelper(false), + m_hasQmlDump(false), + m_hasQmlObserver(false), m_toolChainUpToDate(false), m_versionInfoUpToDate(false), m_notInstalled(false), @@ -556,6 +561,8 @@ QtVersion::QtVersion(const QString &qmakeCommand, bool isAutodetected, const QSt : m_isAutodetected(isAutodetected), m_autodetectionSource(autodetectionSource), m_hasDebuggingHelper(false), + m_hasQmlDump(false), + m_hasQmlObserver(false), m_toolChainUpToDate(false), m_versionInfoUpToDate(false), m_notInstalled(false), @@ -574,6 +581,8 @@ QtVersion::QtVersion() : m_id(-1), m_isAutodetected(false), m_hasDebuggingHelper(false), + m_hasQmlDump(false), + m_hasQmlObserver(false), m_toolChainUpToDate(false), m_versionInfoUpToDate(false), m_notInstalled(false), @@ -1126,6 +1135,8 @@ void QtVersion::updateVersionInfo() const m_hasExamples = false; m_hasDocumentation = false; m_hasDebuggingHelper = false; + m_hasQmlDump = false; + m_hasQmlObserver = false; if (!queryQMakeVariables(qmakeCommand(), &m_versionInfo)) return; @@ -1136,7 +1147,8 @@ void QtVersion::updateVersionInfo() const if (!qtInstallData.isEmpty()) { m_hasDebuggingHelper = !DebuggingHelperLibrary::debuggingHelperLibraryByInstallData(qtInstallData).isEmpty(); - m_hasQmlDump = !QmlDumpTool::qmlDumpToolByInstallData(qtInstallData).isEmpty(); + m_hasQmlDump = !QmlDumpTool::toolByInstallData(qtInstallData).isEmpty(); + m_hasQmlObserver = !QmlObserverTool::toolByInstallData(qtInstallData).isEmpty(); } } @@ -1237,6 +1249,7 @@ QString QtVersion::qmlviewerCommand() const { if (!isValid()) return QString(); + if (m_qmlviewerCommand.isNull()) { #ifdef Q_OS_MAC const QString qmlViewerName = QLatin1String("QMLViewer"); @@ -1618,6 +1631,12 @@ bool QtVersion::hasQmlDump() const return m_hasQmlDump; } +bool QtVersion::hasQmlObserver() const +{ + updateVersionInfo(); + return m_hasQmlObserver; +} + QString QtVersion::debuggingHelperLibrary() const { QString qtInstallData = versionInfo().value("QT_INSTALL_DATA"); @@ -1626,6 +1645,22 @@ QString QtVersion::debuggingHelperLibrary() const return DebuggingHelperLibrary::debuggingHelperLibraryByInstallData(qtInstallData); } +QString QtVersion::qmlDumpTool() const +{ + QString qtInstallData = versionInfo().value("QT_INSTALL_DATA"); + if (qtInstallData.isEmpty()) + return QString(); + return QmlDumpTool::toolByInstallData(qtInstallData); +} + +QString QtVersion::qmlObserverTool() const +{ + QString qtInstallData = versionInfo().value("QT_INSTALL_DATA"); + if (qtInstallData.isEmpty()) + return QString(); + return QmlObserverTool::toolByInstallData(qtInstallData); +} + QStringList QtVersion::debuggingHelperLibraryLocations() const { QString qtInstallData = versionInfo().value("QT_INSTALL_DATA"); @@ -1711,7 +1746,7 @@ bool QtVersion::isQt64Bit() const #endif } -QString QtVersion::buildDebuggingHelperLibrary() +QString QtVersion::buildDebuggingHelperLibrary(QFutureInterface<void> &future) { QString qtInstallHeaders = versionInfo().value("QT_INSTALL_HEADERS"); QString qtInstallData = versionInfo().value("QT_INSTALL_DATA"); @@ -1733,18 +1768,35 @@ QString QtVersion::buildDebuggingHelperLibrary() qmakeCommand(), mkspec(), env, (tc->type() == ToolChain::GCC_MAEMO ? QLatin1String("-unix") : QLatin1String(""))); } + future.setProgressValue(2); + if (QmlDumpTool::canBuild(qtInstallHeaders)) { - QString qmlDumpDirectory = QmlDumpTool::copy(qtInstallData, &output); - if (!qmlDumpDirectory.isEmpty()) { - output += QmlDumpTool::build(qmlDumpDirectory, tc->makeCommand(), + QString toolDirectory = QmlDumpTool::copy(qtInstallData, &output); + if (!toolDirectory.isEmpty()) { + output += QmlDumpTool::build(toolDirectory, tc->makeCommand(), qmakeCommand(), mkspec(), env, (tc->type() == ToolChain::GCC_MAEMO ? QLatin1String("-unix") : QLatin1String(""))); } } else { output += QCoreApplication::tr("Cannot build qmldump; Qt version must be 4.7.1 or higher."); } + future.setProgressValue(3); + + if (QmlObserverTool::canBuild(qtInstallHeaders)) { + QString toolDirectory = QmlObserverTool::copy(qtInstallData, &output); + if (!toolDirectory.isEmpty()) { + output += QmlObserverTool::build(toolDirectory, tc->makeCommand(), + qmakeCommand(), mkspec(), env, + (tc->type() == ToolChain::GCC_MAEMO ? QLatin1String("-unix") : QLatin1String(""))); + } + } else { + output += QCoreApplication::tr("Cannot build QMLObserver; Qt version must be 4.7.1 or higher."); + } + future.setProgressValue(4); m_hasDebuggingHelper = !debuggingHelperLibrary().isEmpty(); + m_hasQmlDump = !qmlDumpTool().isEmpty(); + m_hasQmlObserver = !qmlObserverTool().isEmpty(); return output; } diff --git a/src/plugins/qt4projectmanager/qtversionmanager.h b/src/plugins/qt4projectmanager/qtversionmanager.h index c9bbe9d91cc..4e9f0ac1560 100644 --- a/src/plugins/qt4projectmanager/qtversionmanager.h +++ b/src/plugins/qt4projectmanager/qtversionmanager.h @@ -38,6 +38,7 @@ #include <QtCore/QHash> #include <QtCore/QSet> #include <QtCore/QSharedPointer> +#include <QtCore/QFutureInterface> namespace Qt4ProjectManager { @@ -111,14 +112,17 @@ public: bool hasDebuggingHelper() const; QString debuggingHelperLibrary() const; + QString qmlDumpTool() const; + QString qmlObserverTool() const; QStringList debuggingHelperLibraryLocations() const; bool supportsBinaryDebuggingHelper() const; bool hasQmlDump() const; + bool hasQmlObserver() const; // Builds a debugging library // returns the output of the commands - QString buildDebuggingHelperLibrary(); + QString buildDebuggingHelperLibrary(QFutureInterface<void> &future); bool hasExamples() const; QString examplesPath() const; @@ -172,6 +176,7 @@ private: QString m_autodetectionSource; mutable bool m_hasDebuggingHelper; // controlled by m_versionInfoUpToDate mutable bool m_hasQmlDump; // controlled by m_versionInfoUpToDate + mutable bool m_hasQmlObserver; // controlled by m_versionInfoUpToDate QString m_mwcDirectory; QString m_s60SDKDirectory; diff --git a/src/tools/qml/qmlobserver/qmlobserver.pro b/src/tools/qml/qmlobserver/qmlobserver.pro deleted file mode 100644 index 765a1f839fc..00000000000 --- a/src/tools/qml/qmlobserver/qmlobserver.pro +++ /dev/null @@ -1,30 +0,0 @@ -TEMPLATE = app -QT += declarative - -include(qml.pri) - -SOURCES += main.cpp -include(../../../../qtcreator.pri) - -include(../../../../share/qtcreator/qmljsdebugger/qmljsdebugger.pri) -include(../../../libs/utils/utils.pri) -mac { - qmljsLibraryTarget = $$qtLibraryName(QmlJSDebugger) - utilsLibraryTarget = $$qtLibraryName(Utils) -} - - -include(../../../private_headers.pri) -DESTDIR = $$IDE_BIN_PATH -include(../../../rpath.pri) - -mac { - QMAKE_INFO_PLIST=Info_mac.plist - TARGET=QMLObserver - ICON=qml.icns - QMAKE_POST_LINK=install_name_tool -change @executable_path/../PlugIns/lib$${qmljsLibraryTarget}.1.dylib @executable_path/../../../../PlugIns/lib$${qmljsLibraryTarget}.1.dylib \'$$DESTDIR/$${TARGET}.app/Contents/MacOS/$$TARGET\' \ - && install_name_tool -change @executable_path/../PlugIns/lib$${utilsLibraryTarget}.1.dylib @executable_path/../../../../PlugIns/lib$${utilsLibraryTarget}.1.dylib \'$$DESTDIR/$${TARGET}.app/Contents/MacOS/$$TARGET\' -} else { - TARGET=qmlobserver -} - -- GitLab