Commit 95346f79 authored by Olivier Goffart's avatar Olivier Goffart
Browse files

Qml Live Preview: lazily create QmlJSLiveTextPreview

parent 7bef0764
......@@ -262,6 +262,12 @@ QDeclarativeDebugObjectReference ClientProxy::objectReferenceForId(int debugId)
return objectReferenceForId(debugId, m_rootObject);
}
QDeclarativeDebugObjectReference QmlJSInspector::Internal::ClientProxy::rootObjectReference() const
{
return m_rootObject;
}
QDeclarativeDebugObjectReference ClientProxy::objectReferenceForId(int debugId,
const QDeclarativeDebugObjectReference &objectRef) const
{
......
......@@ -62,6 +62,7 @@ public:
// returns the object references for the given url.
QList<QDeclarativeDebugObjectReference> objectReferences(const QUrl &url = QUrl()) const;
QDeclarativeDebugObjectReference objectReferenceForId(int debugId) const;
QDeclarativeDebugObjectReference rootObjectReference() const;
void refreshObjectTree();
bool isConnected() const;
......
......@@ -231,19 +231,9 @@ void Inspector::initializeDocuments()
connect(em, SIGNAL(editorOpened(Core::IEditor*)), SLOT(createPreviewForEditor(Core::IEditor*)));
// initial update
#if 0
foreach (Core::IEditor *editor, em->openedEditors()) {
createPreviewForEditor(editor);
}
#else
foreach (QmlJS::Document::Ptr doc, m_loadedSnapshot) {
QmlJSLiveTextPreview *preview = new QmlJSLiveTextPreview(doc, doc, this);
connect(preview,
SIGNAL(selectedItemsChanged(QList<QDeclarativeDebugObjectReference>)),
SLOT(changeSelectedItems(QList<QDeclarativeDebugObjectReference>)));
m_textPreviews.insert(doc->fileName(), preview);
}
#endif
}
void Inspector::serverReloaded()
......@@ -286,6 +276,7 @@ void Inspector::createPreviewForEditor(Core::IEditor *newEditor)
SIGNAL(selectedItemsChanged(QList<QDeclarativeDebugObjectReference>)),
SLOT(changeSelectedItems(QList<QDeclarativeDebugObjectReference>)));
m_textPreviews.insert(newEditor->file()->fileName(), preview);
preview->updateDebugIds(m_clientProxy->rootObjectReference());
}
}
}
......
......@@ -144,12 +144,6 @@ QmlJSLiveTextPreview::QmlJSLiveTextPreview(const QmlJS::Document::Ptr &doc, cons
connect(clientProxy,
SIGNAL(objectTreeUpdated(QDeclarativeDebugObjectReference)),
SLOT(updateDebugIds(QDeclarativeDebugObjectReference)));
Core::EditorManager *em = Core::EditorManager::instance();
QList<Core::IEditor *> editors = em->editorsForFileName(m_filename);
foreach(Core::IEditor *editor, editors)
associateEditor(editor);
}
void QmlJSLiveTextPreview::resetInitialDoc(const QmlJS::Document::Ptr &doc)
......
......@@ -49,6 +49,7 @@ signals:
private slots:
void changeSelectedElements(QList<int> offsets, const QString &wordAtCursor);
void documentChanged(QmlJS::Document::Ptr doc);
public slots:
void updateDebugIds(const QDeclarativeDebugObjectReference &rootReference);
private:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment