summaryrefslogtreecommitdiff
path: root/src/plugins/qmlprofiler/qmlprofilerdetailsrewriter.cpp
diff options
context:
space:
mode:
authorChristiaan Janssen <christiaan.janssen@digia.com>2013-08-08 13:28:08 +0200
committerChristiaan Janssen <christiaan.janssen@digia.com>2013-08-09 17:19:32 +0200
commit0a3b20f5f99bec75b590aa81ae26aac046efd794 (patch)
tree13cdc00fe9b5a3e5c91cba19950ff4d788ee42f8 /src/plugins/qmlprofiler/qmlprofilerdetailsrewriter.cpp
parent7764f35107e901e74458847315ffd114199ce26c (diff)
downloadqt-creator-0a3b20f5f99bec75b590aa81ae26aac046efd794.tar.gz
QmlProfiler: reworked
Change-Id: I66a236a024d76e7bef6edfb91ae30b5dd098b76b Reviewed-by: Kai Koehne <kai.koehne@digia.com>
Diffstat (limited to 'src/plugins/qmlprofiler/qmlprofilerdetailsrewriter.cpp')
-rw-r--r--src/plugins/qmlprofiler/qmlprofilerdetailsrewriter.cpp17
1 files changed, 11 insertions, 6 deletions
diff --git a/src/plugins/qmlprofiler/qmlprofilerdetailsrewriter.cpp b/src/plugins/qmlprofiler/qmlprofilerdetailsrewriter.cpp
index 2385e42c1c..0b078f9c86 100644
--- a/src/plugins/qmlprofiler/qmlprofilerdetailsrewriter.cpp
+++ b/src/plugins/qmlprofiler/qmlprofilerdetailsrewriter.cpp
@@ -41,7 +41,7 @@ namespace Internal {
struct PendingEvent {
QmlDebug::QmlEventLocation location;
QString localFile;
- int eventType;
+ int requestId;
};
class PropertyVisitor: protected QmlJS::AST::Visitor
@@ -122,7 +122,7 @@ QmlProfilerDetailsRewriter::~QmlProfilerDetailsRewriter()
delete d;
}
-void QmlProfilerDetailsRewriter::requestDetailsForLocation(int type,
+void QmlProfilerDetailsRewriter::requestDetailsForLocation(int requestId,
const QmlDebug::QmlEventLocation &location)
{
const QString localFile = d->m_projectFinder->findFile(location.filename);
@@ -132,7 +132,7 @@ void QmlProfilerDetailsRewriter::requestDetailsForLocation(int type,
if (!QmlJS::Document::isQmlLikeLanguage(QmlJSTools::languageOfFile(localFile)))
return;
- PendingEvent ev = {location, localFile, type};
+ PendingEvent ev = {location, localFile, requestId};
d->m_pendingEvents << ev;
if (!d->m_pendingDocs.contains(localFile)) {
if (d->m_pendingDocs.isEmpty())
@@ -154,7 +154,7 @@ void QmlProfilerDetailsRewriter::reloadDocuments()
}
void QmlProfilerDetailsRewriter::rewriteDetailsForLocation(QTextStream &textDoc,
- QmlJS::Document::Ptr doc, int type, const QmlDebug::QmlEventLocation &location)
+ QmlJS::Document::Ptr doc, int requestId, const QmlDebug::QmlEventLocation &location)
{
PropertyVisitor propertyVisitor;
QmlJS::AST::Node *node = propertyVisitor(doc->ast(), location.line, location.column);
@@ -168,7 +168,12 @@ void QmlProfilerDetailsRewriter::rewriteDetailsForLocation(QTextStream &textDoc,
textDoc.seek(startPos);
QString details = textDoc.read(len).replace(QLatin1Char('\n'), QLatin1Char(' ')).simplified();
- emit rewriteDetailsString(type, location, details);
+ emit rewriteDetailsString(requestId, details);
+}
+
+void QmlProfilerDetailsRewriter::clearRequests()
+{
+ d->m_pendingDocs.clear();
}
void QmlProfilerDetailsRewriter::documentReady(QmlJS::Document::Ptr doc)
@@ -186,7 +191,7 @@ void QmlProfilerDetailsRewriter::documentReady(QmlJS::Document::Ptr doc)
PendingEvent ev = d->m_pendingEvents[i];
if (ev.localFile == doc->fileName()) {
d->m_pendingEvents.removeAt(i);
- rewriteDetailsForLocation(st, doc, ev.eventType, ev.location);
+ rewriteDetailsForLocation(st, doc, ev.requestId, ev.location);
}
}
}