FileInProjectFinder implements an heuristic to find the likely source
file for an aribrary file path, e.g. in the shadow build folder or
on the device. This is useful especially for .qml files, which are
executed at runtime.
Reviewed-by: con
If the user clicks on an instance of an element in the running app
while in server mode, the cursor selection is automatically updated.
However, the change of the cursor then leads to all the other
instances of the element at the cursor position being selected too.
Prevent this 'call back' in the QmlInspector by checking whether one
of the newly selected items is the one just selected.
Simpler mechanisms (like a sequential blocking of updates) don't
work because the call back happens through a QTimer.
Task-number: QTCREATORBUG-2366
Qml Applications by default copy the qml files into XX.app/Contents/Resources in
the shadow build directory. Take this into account when trying to find the files in the source directory.
Reviewed-by: Alessandro Portale
Move internal classes QmlJSEditorEditable/SemanticHighlighter
out of qmljseditor.h. Move QmlJSEditor from namespace
QmlJSEditor::Internal to QmlJSEditor.
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
At the time setupToolbar is called in the shutdown process the
connection still exists. Instead just use the parameter.
Task-number: QTCREATORBUG-2693
Reviewed-by: Christiaan Janssen
Don't try to disconnect from the proxy if you haven't been connected
before, e.g. because the QmlJSObserverService is missing.
Reviewed-by: Christiaan Janssen
Also introduce a indirection, modes have now types, edit and debug have
the same type, and editors do have a prefered type of modes instead of a
prefered mode.
That fixes the bug that if the prefered qml editing mode was set to
design, then in switching between qml editors would
- in Edit Mode: stay in edit mode
- in Debug Mode: switch to debug mode
A new debugger engine, QmlCppEngine, is introduced, which wraps gdb
and qml engines into one. Alternatively, if using Windows, Cdb is used
instead of Gdb.
Most of the debugger ui switcher is now rewritten, and it is tailored
for the QML and CPP layout case, the only one supported anyway.
Reviewed-by: hjk
Now, QmlEngine creates the connection to the inferior (debuggee), and
notifies QmlInspector when a connection is established. Before,
inspector created the debugger engin, which was wrong.
QmlEngine's responsibilities are connecting to the debuggee and basic
QML/JS debugging features like locals & watchers, breakpoints etc.
QmlInspector takes care of Live Preview and other fancy inspection
features.
Reviewed-by: hjk
Previously, the user had to navigate to the context of a qml item in
order to edit its source code in Live Preview mode. This change tells
the client to update when new objects are created on server-side, and
makes the editing possible without having to manually trigger updates.
Two kinds of warnings are now shown: one for warning about the Live
Preview itself, as it is experimental, and another when user changes
id's of objects during runtime, as this is not supported at the moment.
More warnings will be added later for other unsupported changes.