aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/qmltooling/shared/abstractviewinspector.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/qmltooling/shared/abstractviewinspector.cpp')
-rw-r--r--src/plugins/qmltooling/shared/abstractviewinspector.cpp28
1 files changed, 26 insertions, 2 deletions
diff --git a/src/plugins/qmltooling/shared/abstractviewinspector.cpp b/src/plugins/qmltooling/shared/abstractviewinspector.cpp
index 02a85e2e2e..174d70b20e 100644
--- a/src/plugins/qmltooling/shared/abstractviewinspector.cpp
+++ b/src/plugins/qmltooling/shared/abstractviewinspector.cpp
@@ -56,10 +56,12 @@
//INSPECTOR SERVICE PROTOCOL
// <HEADER><COMMAND><DATA>
// <HEADER> : <type{request, response, event}><requestId/eventId>[<response_success_bool>]
-// <COMMAND> : {"enable", "disable", "select", "setAnimationSpeed",
+// <COMMAND> : {"enable", "disable", "select", "reload", "setAnimationSpeed",
// "showAppOnTop", "createObject", "destroyObject", "moveObject",
// "clearCache"}
// <DATA> : select: <debugIds_int_list>
+// reload: <list of relative paths w.r.t project of changed files>
+// <list of changed file contents>
// setAnimationSpeed: <speed_real>
// showAppOnTop: <set_bool>
// createObject: <qml_string><parentId_int><imports_string_list><filename_string>
@@ -73,6 +75,7 @@ const char EVENT[] = "event";
const char ENABLE[] = "enable";
const char DISABLE[] = "disable";
const char SELECT[] = "select";
+const char RELOAD[] = "reload";
const char SET_ANIMATION_SPEED[] = "setAnimationSpeed";
const char SHOW_APP_ON_TOP[] = "showAppOnTop";
const char CREATE_OBJECT[] = "createObject";
@@ -87,7 +90,8 @@ AbstractViewInspector::AbstractViewInspector(QObject *parent) :
QObject(parent),
m_enabled(false),
m_debugService(QQmlInspectorService::instance()),
- m_eventId(0)
+ m_eventId(0),
+ m_reloadEventId(-1)
{
}
@@ -296,6 +300,13 @@ void AbstractViewInspector::handleMessage(const QByteArray &message)
if (m_enabled)
changeCurrentObjects(selectedObjects);
+ } else if (command == RELOAD) {
+ QHash<QString, QByteArray> changesHash;
+ ds >> changesHash;
+ m_reloadEventId = requestId;
+ reloadQmlFile(changesHash);
+ return;
+
} else if (command == SET_ANIMATION_SPEED) {
qreal speed;
ds >> speed;
@@ -362,6 +373,19 @@ void AbstractViewInspector::sendCurrentObjects(const QList<QObject*> &objects)
m_debugService->sendMessage(message);
}
+void AbstractViewInspector::sendQmlFileReloaded(bool success)
+{
+ if (m_reloadEventId == -1)
+ return;
+
+ QByteArray response;
+
+ QQmlDebugStream rs(&response, QIODevice::WriteOnly);
+ rs << QByteArray(RESPONSE) << m_reloadEventId << success;
+
+ m_debugService->sendMessage(response);
+}
+
QString AbstractViewInspector::idStringForObject(QObject *obj) const
{
QQmlContext *context = qmlContext(obj);