-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/106527/
-----------------------------------------------------------

Review request for kdelibs, Plasma, Marco Martin, and David Faure.


Description
-------

QtCreator comes with a handy QML profiler and debugger, but it relies on tricky 
command-line parsing and #define setup. This patch makes it possible to use it 
with KDE applications. It does two things:

1. Add the "qmljsdebugger" option to the list of qt command-line options, with 
a hack to ensure it is passed unaltered (as in, using '=' to separate argument 
from value, rather than ' ')
2. Add a static method to KDeclarative to enable the debugger when the 
"qmljsdebugger" command-line option is defined.

I am not entirely sure about #2 as it means linking to libkdeclarative even if 
it is not used (do we expect all KDE apps to use KDeclarative?). The 
alternative to using it is to tell developers who want to use the QML debugger 
to add one of the following snippets in their code.

Either:

    // Add this snippet in one of your .cpp file.
    // Me sure it appears before any QDeclarative include.
    #define QT_DECLARATIVE_DEBUG
    #include <QtDeclarative/qdeclarativedebug.h>

or:

    // Add this include to the file containing your main() function
    #include <QtDeclarative/qdeclarativedebug.h>

    // Add this to your main() function.
    // Make sure it is called before instantiating a QDeclarativeView.
    QDeclarativeDebuggingEnabler enabler;


Diffs
-----

  experimental/libkdeclarative/kdeclarative.h 5e404c7 
  experimental/libkdeclarative/kdeclarative.cpp 34383c0 
  kdecore/kernel/kcmdlineargs.cpp 2da636f 

Diff: http://git.reviewboard.kde.org/r/106527/diff/


Testing
-------

- Patch plasmoidviewer to call KDeclarative::setupQmlJsDebugger()
- Run it through qmlprofiler:

    qmlprofiler plasmoidviewer org.kde.example.widgetgallery

- Press r<return> (in the terminal) while it is running to start recording
- Press q<return> to stop recording => application should stop and a file named 
"plasmoidviewer_$date_$time.qtd" should be created
- Open Qt Creator, click the "Analyze" sidebar button
- Right click in the profiler area (bottom right) and select "Load QML Trace"
- Select the "plasmoidviewer_$date_$time.qtd" file


Thanks,

Aurélien Gâteau

_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

Reply via email to