Commit Graph

64 Commits

Author SHA1 Message Date
Ulf Hermann
fea6580c82 QmlProfiler: get rid of hash strings
Using strings to identify equal events is terribly inefficient. By
keeping a global list of event types we can assign each event a
numerical type index and use that to compare them.

We can also avoid excessive string copying and data duplication by
referring to the global type list where event type information is
needed.

Task-number: QTCREATORBUG-11823
Change-Id: I837bd5d0f5395b0003002ef8dd278fb27679c65d
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-06-17 16:26:06 +02:00
Ulf Hermann
94722ec5e7 QmlProfiler: Unify event type definitions
Generally save both the Message and RangeType attributes so that we
avoid clashes between those types. Also keep all the types in one
place and make their names follow qtdeclarative's conventions.

Change-Id: I811bfcc4b72aaa2a0142babc92d96968ed2d4007
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-06-06 15:24:28 +02:00
Daniel Teske
7b52372e3e Qml Profilder Views: Make consistent with other views
Use double click on double click platforms, fix keyboard activation

Change-Id: I36891fb2f733684a1a5c3787e0682cb9ddccb0d3
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
2014-04-11 18:39:52 +02:00
Ulf Hermann
9e802e3af1 QmlProfiler: Reduce the amount of useless signals on item selection
By passing signals with identification information of varying accurary
between the different views the event being selected could be changed
while it was selected. By checking the current selection against the
information given in the signal and not reselecting when it matches the
situation is improved.

Also, the selection methods are given more appropriate names. We hardly
ever want to select the "next" event, but rather the "best fitting" one.

Task-number: QTCREATORBUG-11945
Change-Id: I659b4929cb88f4c931a0893aa95a3bc92da5a23b
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-04-09 16:36:04 +02:00
Ulf Hermann
16bfbceeba QmlProfiler: Allow filtering either JS or QML from the events view
As a lot of events show up as QML bindings and signals and as
JavaScript functions the events view can be hard to navigate. This
change allows the user to either filter out JavaScript events and make
it look like the old QML events view or filter out QML events and make
it look like the old V8 JavaScript view.

Change-Id: I9e0c1184da21263ae174f322b8fcd8ee5ca13f6d
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-03-10 12:41:43 +01:00
Leena Miettinen
4cc473c2e2 QML profiler: fix messages and UI text
Use English instead of Latin. Fix capitalization of JavaScript.

Change-Id: Ibd0e7122e4270554aad7beaa5f8cc727a208ad93
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-03-07 15:43:43 +01:00
Ulf Hermann
19652d7b84 QmlProfiler: Remove dead code.
Change-Id: Ib44094740e93f1389c3caa07371866714a375f04
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-02-19 16:39:14 +01:00
Ulf Hermann
58e3c9ed05 QmlProfiler: Unify QML and V8 data models
There is no real reason for the existence of a QmlProfilerSimpleModel.

Change-Id: I6419973cfad5564913bf92f17fdcf7e529af4b01
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-02-19 15:57:29 +01:00
Ulf Hermann
8f5df0b7da QmlProfiler: Make time formatting available to all timeline models
... and remove some dead code.

Change-Id: Ifdec932b87e8d33420d9713bfde9c4002f34844b
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-02-18 14:49:22 +01:00
Ulf Hermann
54eedf4e59 QmlProfiler: Show Javascript calls in events view.
Change-Id: I11d22ce1423384f879e30ff9573f4d7d799535b1
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-02-10 14:28:38 +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
Friedemann Kleint
119548a0ff Remove most leading/trailing blanks from translated messages.
They are a hassle for translators and reviewers alike.

Change-Id: I363138212b692cf75fe1605df8af3721315d37e1
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-24 10:50:56 +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
hjk
f959990ab1 QmlProfiler: Use real type instead of base class
Change-Id: I854834b2236a99af264d14a3d6022bfa6e0a2b9b
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
2013-08-08 16:18:09 +02:00
Orgad Shaneh
ad9e7ccab6 Fix coding style for else statements
Change-Id: I1309db70e98d678e150388c76ce665e988fdf081
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-17 11:11:25 +02:00
Oswald Buddenhagen
1fda2111d4 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
	src/plugins/qmldesigner/designercore/include/widgetqueryview.h
	src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qnx/bardescriptormagicmatcher.h
	src/plugins/qt4projectmanager/profilekeywords.cpp
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h

Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01: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
Orgad Shaneh
29a93998df Remove braces for single lines of conditions
#!/usr/bin/env ruby

Dir.glob('**/*.cpp') { |file|
  # skip ast (excluding paste, astpath, and canv'ast'imer)
  next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
  s = File.read(file)
  next if s.include?('qlalr')
  orig = s.dup
  s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
    res = $&
    if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
      res
    else
      res.gsub!('} else', 'else')
      res.gsub!(/\n +} *\n/m, "\n")
      res.gsub(/ *{$/, '')
    end
  }
  s.gsub!(/ *$/, '')
  File.open(file, 'wb').write(s) if s != orig
}

Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-08 10:48:18 +01:00
Orgad Shaneh
f739c85c72 QmlProfiler: Compile with QT_NO_CAST_FROM_ASCII
Change-Id: I99c96e723e80ec318acd9300b4f44e7c3ce37485
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
2012-11-27 10:40:47 +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
Nikolai Kosjar
ed86a7ca58 Get rid of some Q_WS_X11.
This macro isn't defined in Qt5 anymore, so use Q_OS_* where
appropriate.

Regarding bug QTCREATORBUG-7936:
Now the fonts look normal again on GNU/Linux, e.g. in the text editor
and the application/compile output pane.

Task-number: QTCREATORBUG-7936
Change-Id: I501cca608f273789d095e1138b32c2c8c38b0059
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-04 08:00:26 +02:00
Leena Miettinen
5ec5c2d772 UI text: fix capitalization and punctuation.
Change-Id: Ic312b7f78a65c7a2f17f3186f4f0ce7f0c1cf2ee
Reviewed-by: Christiaan Janssen <christiaan.janssen@digia.com>
2012-10-01 13:15:04 +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
651b9ff65e QmlProfiler: added tooltip for non-optimized bindings
Change-Id: I4500b168c016e7d5525124996be4886e481065d9
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-05-31 12:30:30 +02:00
Christiaan Janssen
bc9bb6ec69 QmlProfiler: renamed "v4" bindings to "optimized" bindings
Change-Id: I1821b966eeb5068f3f34dbab5ba10f81c8bebd5f
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
Reviewed-by: Aurindam Jana <aurindam.jana@nokia.com>
2012-05-31 11:51:58 +02:00
Christiaan Janssen
f1f8706578 QmlProfiler: state dialog as floating widget
Change-Id: I48ff1d729e49347881c82c7bd066d30ecaca47a5
Reviewed-by: Simjees Abraham <simjees.abraham@nokia.com>
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2012-05-21 12:15:21 +02:00
Christiaan Janssen
1f4d831f8c Fix: qsTr is a qml method, not a cpp method
Change-Id: Ibe3af962cc7164db0ab54effcd38f4390736950e
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-05-04 16:07:17 +02:00
Christiaan Janssen
2afa559c2a QmlProfiler: show binding types
Change-Id: Iea469aa3e0fb7c4e5146163f049c930df6fc2b7d
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-05-04 15:09:18 +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
Eike Ziller
e5e3f91ed2 Merge remote-tracking branch 'origin/2.5'
Conflicts:
	src/libs/qmljsdebugclient/qmlprofilereventlist.cpp

Change-Id: Ic6251d47ecd032ea1db4fc58dc80e19b6e6cf23d
2012-03-15 15:01:54 +01:00
Kai Koehne
de07c16a71 QmlProfiler: Fix memory leak
Change-Id: Ieed04f3a11d2685de55b70ab501969778f6fc1dd
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2012-03-14 12:32:06 +01: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
Christiaan Janssen
585e651310 QmlProfiler: manage server-side start tracing message
also
QmlProfiler: refactor eventlist state

If unexpected data is received, assuming server stopped profiling.
Also, introducing a eventlist state instead of relying on
signals sent around.  This is part of a coming bigger patch
where the profiler client is refactored.

Change-Id: Ibed9007903956daf03cc0fcb90f77b5ad2d3cf90
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-02-17 17:22:23 +01:00
Erik Verbruggen
3fa55b7ab9 Removed module names from #include directives.
Getting the #include directives ready for Qt5. This includes the
new-project wizards.

Change-Id: Ia9261f1e8faec06b9285b694d2b7e9a095978d2b
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-15 16:24:46 +01:00
Christiaan Janssen
bd438d1c5c QmlProfiler: display binding loops
Change-Id: Ib553f67b25e614bd210959ce82bc970daa228fdb
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-02-08 16:02:17 +01:00
Christiaan Janssen
eca36a23d1 QmlProfiler: hiding extra statistics by default
User can choose to see them through the context menu.

Change-Id: Ibf1670098126658af497c7a87b46c26f6dd2d41e
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-02-07 10:38:11 +01:00
hjk
2931a499e6 Long live the king!
Change-Id: I2b72b34c0cfeafc8bdbaf49b83ff723544f2b6e2
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
2012-01-26 19:55:36 +01:00
Christiaan Janssen
b33a654b8b QmlProfiler: avoid selection jumping between views
The JS profiler doesn't use column information.  This can produce
undesired side effects when changing the selection from the
QML pane if the signal bounces back.

Change-Id: I76d8c97c53b0c4800f855054cdb5ff5e8d034d65
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-01-24 15:44:31 +01:00
Christiaan Janssen
2163f789b1 QmlProfiler: rewriting details for bindings
Change-Id: Ie180ecc8d336bca1713edd5eb5fff0681c641b9d
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-01-20 17:06:23 +01:00
Christiaan Janssen
1958fd82d5 QmlProfiler: reading column information in bindings
Change-Id: I1a99c3508de733d98eb99f41419eccfdca030fe0
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2012-01-20 12:18:50 +01:00
Christiaan Janssen
3c0ae08e0c QmlProfiler: unicode for mu
Change-Id: I33e2cb6557aeebbd8931ab6a22074da3008c07f9
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@nokia.com>
2012-01-13 14:54:56 +01:00
Christiaan Janssen
eef3d91ea1 QmlProfiler: linking JS events with QML events
Change-Id: Id2f37caef0c62fa8fa830fed8f46dcbb0a565cdb
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-12-14 16:49:36 +01:00
Christiaan Janssen
001425e6ba QmlProfiler: showing children time and count in events pane
Change-Id: Ia285d1c84312e6a314fbf1c59c62b571b4c3e7d4
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-12-14 15:26:45 +01:00
Eike Ziller
85cf2b661e Merge remote-tracking branch 'origin/2.4'
Conflicts:
	src/libs/qmljs/qmljsinterpreter.cpp
	src/libs/qmljs/qmljsinterpreter.h
	src/plugins/debugger/qml/scriptconsole.cpp
	src/plugins/git/gitplugin.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativetiledcanvas.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativetiledcanvas_p.h

Change-Id: Iad59c8d87c72a21c79c047e374c0ab689998af39
2011-11-11 09:46:25 +01:00
Christiaan Janssen
efa7e7a43a QmlProfiler: changed labels in context menu for statistics
Change-Id: I125016944130c7171423e2dec80b2b03832cd282
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-11-10 11:39:49 +01:00
Christiaan Janssen
d09b3b903d QmlProfiler: link selections in events and timeline views
Change-Id: I1fb511fdb77e7c74f66624fcc88c2e0ce9adb457
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-11-10 11:03:43 +01:00
Christiaan Janssen
c4694275fb QmlProfiler: option to get statistics from local region
Change-Id: Id11cce971b081d67052dd8e7c74f51e2e25a8fd8
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-11-10 10:21:44 +01:00
Christiaan Janssen
135c449c4b QmlProfiler: merging Callers, Callees and Events
Change-Id: I9e50710a8ddf91e143110cd8bc43a528aa4ee863
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>
2011-11-09 15:13:08 +01:00
hjk
31600758de all: s/info@qt.nokia.com/qt-info@nokia.com/
Change-Id: If18afb5d4665924e7d9250dccbc60a65e6daa75e
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2011-11-03 10:33:19 +01:00
Kai Koehne
5113d6f989 QmlProfiler: Improve copy to clipboard feature
Only use tabs as delimiters, not as indentation. Also, copy the headers
when copying the whole table.

Change-Id: I56ac598d922ccded3f43dfc0fe6633716bf37762
Reviewed-by: Christiaan Janssen <christiaan.janssen@nokia.com>
2011-10-31 13:07:54 +01:00