Commit Graph

18 Commits

Author SHA1 Message Date
Ulf Hermann
f0e2196869 QmlProfiler: Make sure only hovered events are selected
Task-number: QTCREATORBUG-11824
Change-Id: Ib471f2a04b37e159fb7876e7f5c94ad3e8f368a9
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-03-31 10:55:18 +02:00
Ulf Hermann
ed537dabfe QmlProfiler: Remove pointless second check for endTime
If the selected events aren't in the specified time range the selection
should be fixed.

Change-Id: I8cb6b57054888433b5ebf66fce3b479b3266f86e
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-03-11 15:58:50 +01:00
Ulf Hermann
ae32a276a1 QmlProfiler: Make sure that very narrow events can be hovered over
By giving the area the mouse "covers" a non-zero width events that last
only a very short time can be selected even if no pixel in the timeline
falls "into" them.

Task-number: QTCREATORBUG-11692
Change-Id: I53b74e2a770719872e0afc57740f7762636dc641
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-03-11 15:58:41 +01:00
Ulf Hermann
5dbbc74651 QmlProfiler: Make sure all binding loop markers are drawn
Binding loop markers aren't ordered in any particular way so we cannot
stop drawing them when we find an invisible one.

Change-Id: I16dcc96c15febc5cfe0203e23c1ca657714a2c25
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-02-14 11:04:55 +01:00
Robert Loehning
746c5d8863 Incremented year in copyright info
Change-Id: Ib5423fdd064e4546f848c0b640b0ed0514c26d3a
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-08 08:29:47 +01:00
Ulf Hermann
84e7504317 QmlProfiler: Make sure the painter state is restored at some point.
By returning early from the method painting the binding loop markers
painter states could be left on the stack, triggering error messages
later.

Change-Id: I0b9c336e44a28feec96c506d0e3d0da291054bbd
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-01-02 16:08:34 +01:00
Orgad Shaneh
4442a92729 Braces cleanup
Change-Id: I8413252c90a1487d291f15d92837c30ab697b245
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-14 08:13:52 +01:00
Ulf Hermann
bac12cfa2a QmlProfiler: Restrict rendering of timeline to visible area
The timeline can cover a large vertical space. The introduction of
the Flickable element to navigate that space has reverted the effect
of commit 5eb057c7e. This change restores the performance
improvements and avoids overflows in the underlying buffers.

Change-Id: I86ddd66652ee0a26c81619682a883622072b0f87
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-11-12 14:27:03 +01:00
Ulf Hermann
bfe55bc818 QmlProfiler: Rename some variables to avoid shadowing of methods
Change-Id: Icdafee1bcc38812ace152d71c6302e130d1b6cf5
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-11-12 14:26:56 +01:00
Ulf Hermann
5eb057c7e2 Optimize TimelineRenderer to not paint invisible items
Check the dimensions of the window being painted to before actually
painting the events and skip invisible ones.

Some primitive profiling using QTime shows that the average time taken
per event in TimelineRenderer::paint() is approximately halved by this
patch when profiling the QML widget gallery example and expanding all
categories in the timeline.

drawSelectionBoxes() is not optimized because the number of selection
boxes is expected to be so small that the overhead of the check might
outweigh the performance gains of skipping events.

Task-number: QTCREATORBUG-9982
Change-Id: I42e533c11e3a17f9d63b61ce5e4192c8f40e1be9
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-11-06 11:46:00 +01:00
Thomas Hartmann
9e58ab2ac8 QmlProfiler: Initial conversion from Quick 1 to Quick 2
Updated class names and functions. Fixed imports.

Change-Id: I5f12e3a108a0e60c091acc9c415ff77e52118029
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-09-16 14:35:53 +02:00
Christiaan Janssen
0a3b20f5f9 QmlProfiler: reworked
Change-Id: I66a236a024d76e7bef6edfb91ae30b5dd098b76b
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-08-09 17:19:32 +02:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00
Christiaan Janssen
af72e4bb3f QmlProfiler: show empty trace
In the case that the application did not generate any event
after running the profiler, still show an empty trace.
Otherwise the user will think that the profiler didn't work.

Change-Id: Idd15225270d55d834719f66387864433fcb9026d
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-05-11 17:16:12 +02:00
Kai Koehne
4d3395b990 QmlDebug: Rename library and (most) classes
Rename the QmlJSDebugClient lib to QmlDebug (shorter names, easier differentiation with the shared/qmljsdebug lib).

Also rename
 - QDeclarativeDebug* classes to QmlDebug*
 - QDeclarativeOutputParser class to QmlOutputParser

To clarify the features,
 - Debugger::QmlDebuggerClient is now Debugger::BaseQmlDebuggerClient
 - QmlEngineDebugClient is now BaseEngineDebugClient
 - QmlDebuggerClient is now QmlEngineDebugClient
 - QDeclarativeEngineDebugClient is now DeclarativeEngineDebugClient

Change-Id: Ie15713730a614c8ab4b637fad0924f95b54e633f
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-04-18 14:31:36 +02:00
Christiaan Janssen
b7304e2f2e QmlProfiler: Refactor
The code of the qmlprofiler client has become a bit too complex,
this patch reorganizes the modules in a more sensible way,
having the modules communicate with each other through a
state machine instead of the excess of signals and slots
from before.

Change-Id: I76f7313779888a1bd07a1cdb1acbf2e47aacf42a
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-03-14 11:38:25 +01:00