Commit Graph

185 Commits

Author SHA1 Message Date
Oswald Buddenhagen
1d78e594d8 Merge branch '2.2'
Conflicts:
	qtcreator.pri
	share/qtcreator/qml/qmlpuppet/instances/objectnodeinstance.cpp
	src/libs/qmljs/qmljsdocument.cpp
	src/libs/qmljs/qmljsinterpreter.cpp
	src/libs/qmljs/qmljsinterpreter.h
	src/libs/qmljs/qmljslink.cpp
	src/plugins/cppeditor/cppquickfixes.cpp
	src/plugins/qmldesigner/extrasplugin/extrasplugin.cpp
	src/plugins/qmldesigner/qmldesigner.pro
	src/plugins/qmldesigner/symbianplugin/symbian.metainfo
	src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.h

Change-Id: Id5f754e2837a3bb3e0687ed09f1dda45fd0c5617
2011-06-23 19:47:50 +02:00
Christian Kamm
aee9a55a81 QmlJS: Fix missing rehighlight if other file changes.
When QML modules with many source files were loaded, the
rehighlight from the found library was done before the files
contained in the library were done parsing.

This way any updated document will eventually lead to the
current editor rehighlighting.

Reviewed-by: Erik Verbruggen
Change-Id: I0f4d18390d3e0ee17cd255c68496f61479f82f05x
Reviewed-on: http://codereview.qt.nokia.com/382
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: hjk <qthjk@ovi.com>
2011-06-08 13:30:47 +02:00
Christian Kamm
779fafcbfe Make C++ code style configurable.
Change-Id: Iaf08edb2361146e6b5e1cbafdb716a23c938875b
Done-with: Jarek Kobus
Task-number: QTCREATORBUG-2670
Task-number: QTCREATORBUG-4310
Task-number: QTCREATORBUG-2763
Task-number: QTCREATORBUG-3623
Task-number: QTCREATORBUG-567
Reviewed-on: http://codereview.qt.nokia.com/74
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-05-24 12:45:07 +02:00
Leandro Melo
bec4f02495 New code assist API
This is a re-work of our completion engine. Primary goals are:

- Allow the computation to run in a separate thread so the GUI is not locked.
- Support a model-based approach. QStrings are still needed (filtering, etc), but
internal structures are free to use more efficient representations.
- Unifiy all kinds of *assist* into a more reusable and extensible framework.
- Remove unnecessary dependencies on the text editor so we have more generic
and easily "plugable" components (still things to be resolved).
2011-05-18 10:46:20 +02:00
Oswald Buddenhagen
9ac137fb06 add auto-saving of modified editors
Task-number: QTCREATORBUG-2847
2011-05-12 20:10:03 +02:00
Tobias Hunger
aa2acec14c Fix/add copyright headers
Change-Id: I8b73d583be1ee7183f4074bce49d5390e38631a2
2011-05-06 15:17:05 +02:00
Christian Kamm
d05992d0fa QmlJS: Stop doing significant work in constructors.
To avoid order-of-initialization problems.

Reviewed-by: Thomas Hartmann
2011-05-06 13:48:55 +02:00
Oswald Buddenhagen
fae7dc9584 add errorString output argument to IFile::reload() & IEditor::open()
add/unify read error handling in all affected classes
2011-04-18 14:10:13 +02:00
Oswald Buddenhagen
dc3c156cac Merge branch '2.2'
Conflicts:
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4desktoptargetfactory.h
	src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.cpp
	src/plugins/qt4projectmanager/qt-desktop/qt4simulatortargetfactory.h
	src/plugins/qt4projectmanager/qt-maemo/maemodeploystep.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemodeviceconfigurations.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemoglobal.cpp
	src/plugins/qt4projectmanager/qt-maemo/qt4maemotargetfactory.cpp
	src/plugins/qt4projectmanager/qt-s60/qt4symbiantargetfactory.cpp
	src/plugins/qt4projectmanager/qt-s60/s60deploystep.cpp
	src/plugins/qt4projectmanager/qt4target.cpp
	src/plugins/qt4projectmanager/qt4target.h
	src/plugins/qt4projectmanager/qtoptionspage.h
	src/plugins/qt4projectmanager/qtversionmanager.cpp
	src/plugins/welcome/welcomemode.cpp
2011-04-14 12:39:31 +02:00
hjk
70d392d235 core: make context and widget IContext data members 2011-04-14 11:15:07 +02:00
hjk
8397663964 Update license. 2011-04-13 11:49:28 +02:00
Thomas Hartmann
2731f42e8d QmlJsEditor: hide context pane if last document is closed
Task-number: QTCREATORBUG-3702
Reviewed-by: Christian Kamm
2011-03-17 10:44:30 +01:00
Thorbjørn Lindeijer
70b70770a4 Fixed layout issues in some editor toolbars
Cleaned up some hacky code in the process.

Done-with: Tobias Hunger
2011-02-25 16:11:20 +01:00
hjk
f576ad9f2c texteditor: merge ITextEditable into ITextEditor
rename BastTextEditor->BaseTextEditorWidget, BaseTextEditorEditable->BaseTextEditor
rename BaseTextEditor{,Widget} subclasses
rename editableInterface->editorInterface
rename createEditableInterface->createEditor
minor cleanups after renamings
2011-02-22 11:23:53 +01:00
Christiaan Janssen
f5039a4a02 QmlJsInspector: implemented Property Inspector
Reviewed-by: Kai Koehne
2011-01-20 15:11:39 +01:00
Christian Kamm
ef5dc8c699 QmlJS: Avoid frequent libraryInfoUpdated emissions.
Also don't require a rehighlight of every open document when the
signal is emitted.

Reviewed-by: Roberto Raggi
2011-01-12 14:03:01 +01:00
con
d1023c7614 It's 2011 now.
Reviewed-by: hjk
2011-01-12 09:46:24 +01:00
mae
4226538ac3 Fix QML to UTF-8, unless changed in editor
Task-id: QTCREATORBUG-3424
2010-12-20 18:11:44 +01:00
con
b1bcf081d8 Merge branch '2.1'
Conflicts:
	src/plugins/coreplugin/basemode.cpp
	src/plugins/coreplugin/basemode.h
	src/plugins/coreplugin/scriptmanager/qworkbench_wrapper.cpp
	src/plugins/coreplugin/scriptmanager/qworkbench_wrapper.h
	src/plugins/debugger/cdb/cdbsymbolpathlisteditor.cpp
	src/plugins/debugger/debuggeragents.cpp
	src/plugins/debugger/debuggeruiswitcher.cpp
	src/plugins/debugger/debuggeruiswitcher.h
	src/plugins/projectexplorer/buildconfigdialog.cpp
	src/plugins/qmldesigner/components/propertyeditor/colorwidget.cpp
	src/plugins/qmldesigner/components/propertyeditor/colorwidget.h
	src/plugins/qmldesigner/designercore/include/enumeratormetainfo.h
	src/plugins/qmldesigner/designercore/include/modelutilities.h
	src/plugins/qmldesigner/designercore/include/nodeinstance.h
	src/plugins/qmldesigner/designercore/include/propertymetainfo.h
	src/plugins/qmldesigner/designercore/instances/graphicsscenenodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/graphicsscenenodeinstance.h
	src/plugins/qmldesigner/designercore/instances/graphicsviewnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/graphicswidgetnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/graphicswidgetnodeinstance.h
	src/plugins/qmldesigner/designercore/instances/nodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/qmlviewnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/widgetnodeinstance.cpp
	src/plugins/qmldesigner/designercore/instances/widgetnodeinstance.h
	src/plugins/qmldesigner/designercore/metainfo/enumeratormetainfo.cpp
	src/plugins/qmldesigner/designercore/metainfo/propertymetainfo.cpp
	src/plugins/qmldesigner/designercore/model/modelutilities.cpp
	src/plugins/snippets/inputwidget.cpp
	src/plugins/snippets/snippetscompletion.cpp
	src/plugins/snippets/snippetscompletion.h
	src/plugins/snippets/snippetspec.cpp
	src/plugins/snippets/snippetsplugin.cpp
	src/plugins/snippets/snippetswindow.cpp
	src/plugins/snippets/snippetswindow.h
	src/plugins/texteditor/snippetsparser.cpp
	src/tools/qml/qmldom/main.cpp
	tests/manual/trk/runner.cpp
	tests/manual/trk/trkolddevice.cpp
	tests/manual/trk/trkolddevice.h
	tests/manual/trk/trkserver.cpp
2010-12-17 17:00:53 +01:00
con
04e32b0049 License headers. 2010-12-17 16:03:42 +01:00
Roberto Raggi
b4e421062f Removed stray tokens and fixed warnings/errors when compiling with pedantic C++ compilers. 2010-12-16 12:05:48 +01:00
Roberto Raggi
ea5d923fe0 Don't waste time rehighlighting all the files opened in Creator. 2010-12-14 15:06:01 +01:00
Leandro Melo
7528c6d617 Snippets: Feature enhancement start...
Provide an interface so users can create/edit/remove snippets.
2010-12-08 17:22:07 +01:00
Christian Kamm
5f196cf5b8 QmlJS: Make follow symbol work with member properties.
A full evaluate() call resolves the property and continues to the
underlying type. If we use Evaluate::reference() instead, we only the
first step is done and we can get at the source location if a
ASTPropertyReference is returned.

Reviewed-by: Erik Verbruggen
2010-11-16 15:30:54 +01:00
Christian Kamm
f7a077b1fa QmlJS: Avoid infinite loop with recursive prototypes. 2010-11-15 10:36:22 +01:00
Christian Kamm
f366754462 Move shared code to a new QmlJSTools plugin.
Reviewed-by: Thomas Hartmann
2010-11-11 11:49:10 +01:00
dt
4ac7253205 Merge remote branch 'origin/2.1'
Conflicts:
	share/qtcreator/static.pro
	src/plugins/cppeditor/cppeditor.cpp
	src/plugins/qmljseditor/qmljseditor.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemodeployablelistmodel.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.cpp
	src/plugins/qt4projectmanager/qt-maemo/maemodeploystepwidget.ui
	src/plugins/qt4projectmanager/qtoutputformatter.cpp
	src/plugins/texteditor/generichighlighter/highlightersettings.cpp
2010-11-10 17:02:40 +01:00
Leandro Melo
fb46c31934 Plain text editor: Make sure user setting about folding markers is used
It was being reset based on the highlighter definitions.

Consider some refactoring with the related options as well to avoid
overriding user's settings.

Done-with: Thorbjorn Lindeijer
2010-11-10 16:05:10 +01:00
Leandro Melo
36fa1de4c6 Editors: Refactor auto-complete code out of the editors for better reusability.
Reviewed-by: Thorbjorn Lindeijer
2010-11-09 11:01:47 +01:00
Leandro Melo
3a684586fa Editors: Refactor indenters out of the editors for better reusability.
Reviewed-by: ckamm
2010-11-05 14:28:38 +01:00
Friedemann Kleint
68d4d35cae Coreplugin: Header cleanup.
Clean icore.h.
2010-11-02 16:53:56 +01:00
Friedemann Kleint
77008bc45f Exported Header cleanup: QmlJSEditor
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>
2010-11-02 11:10:27 +01:00
Friedemann Kleint
6063fb84c2 Fix exported headers in Core and TextEditor.
- Unexport Core::Internal::MainWindow and remove its includes.
- Move RssFetcher from Core::Internal to Core.
- Unexport CopyTaskHandler.
- Move TextEditor's completion support and Refactor Overlay
  helper classes from TextEditor::Internal to TextEditor as they
  are exported.
- Move internal BaseTextBlockSelection into private header.
- Unexport TextEditorOverlay as they are not used.
2010-11-01 16:29:45 +01:00
Oswald Buddenhagen
a9ff4d3749 Merge remote branch 'origin/2.1'
Conflicts:
	doc/qtcreator.qdoc
2010-11-01 12:11:03 +01:00
Friedemann Kleint
722e48c2b3 TextEditor: Some exported header cleanup.
Remove internal markers from exported headers,
introduce private class for BaseTextDocument.

Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2010-10-29 15:20:10 +02:00
Christian Kamm
592396c254 QmlJS: Fix member completion at the end of a nested object definition.
The parser's error recovery generates three nested object definitions
for code like
Item { Item { font } }
where the innermost definition corresponds to 'font }' and has an empty
lbrace token.

If we create a Range for this recovered definition, code completion will
fail for 'font.'.

Task-number: QTCREATORBUG-2767
Reviewed-by: Roberto Raggi
2010-10-27 11:32:24 +02:00
Thomas Hartmann
0a043df690 QmlJsEditor: fixes warning
Reviewed-by: Lasse Holmstedt
2010-10-21 16:12:57 +02:00
Thomas Hartmann
408214486f QuickToolBar: reduce usage of lookup context
Getting the lookup context is expensive. So it is now done only
on user interaction.




Reviewed-by: Roberto Raggi
2010-10-21 15:42:26 +02:00
Thomas Hartmann
ff5eb00643 QuickToolBar: do not show QuickToolBar as tooltip anymore.
Most users perceived this as a bug and found it annoying in
practice. So this feature gets removed.

Reviewed-by: Roberto Raggi
2010-10-21 15:42:26 +02:00
Christian Kamm
5e4fe5260b QmlJS: Fix newly parsed document not being added to the snapshot copy.
This was the root cause of several issues with scoping and import
resolution. For instance, finding the components that instantiate a
component that's opened in the editor failed; leading to code
completion missing valid entries.

Reviewed-by: Erik Verbruggen
Reviewed-by: Roberto Raggi
2010-10-19 11:57:42 +02:00
Christian Kamm
836366c187 QmlJS: Force a semantic check when library information changes.
Task-number: QTCREATORBUG-2640
Reviewed-by: Roberto Raggi
2010-10-15 10:09:40 +02:00
Thomas Hartmann
81c521eb01 QtQuickToolBar: enabling by hovering (ToolTip)
The Quick ToolBar now also gets enabled by hovering on
an item defintion.
It is shown 1 second after the tooltip.


Reviewed-by: Christian Kamm
2010-10-08 15:28:59 +02:00
Thomas Hartmann
864ebf5bcd QtQuickToolbar: disabling tooltip hoovering
This feature is not polished enough for the beta

Reviewed-by: dt
2010-10-06 15:04:52 +02:00
Christian Kamm
70c189e2bd QmlJS: Fix instances of using lookupContext() on invalid info.
Task-number: QTCREATORBUG-2594
Done-with: Thomas Hartmann
2010-10-04 14:36:09 +02:00
Thomas Hartmann
4c185a9ac4 QmlDesigner.model: rename id is now a proper refactoring operation
I an id is now changed in the navaigator or property editor,
we now use the qmljseditor to properly refactor.

Also I changed dynamic_cast to qobject_cast

Reviewed-by: Erik Verbruggen
2010-09-30 17:43:19 +02:00
Daniel Molkentin
5cf1aaf67d Fix compilation and initialization compile warnings.
Reviewed-by: Alessandro Portale
2010-09-29 19:35:25 +02:00
Thomas Hartmann
f5b4668fa5 QmlJsEditor: combine the Quick ToolBar with the toolTip
1000ms after a tooltip is shown we now also show the quick toolbar

Reviewed-by: Erik Verbruggen
2010-09-29 16:58:54 +02:00
Christian Kamm
3f505e9982 QmlJS: Add initial 'Find Usages' support. 2010-09-24 14:11:06 +02:00
Christian Kamm
c7b3e3c81c QmlJS: Speed up Link significantly, provide more info on imports.
Link now caches imports. That means importing the same library (say, Qt)
from more than one file no longer creates an importing namespace for
each one. Instead, a single one is created for the instance of Link.

To make this work, the type environment in ScopeChain has been given its
own type: Interpreter::TypeEnvironment. That has the added benefit of
being able to carry meta-information about imports. You can use
TypeEnvironment::importInfo(qmlComponentName) to get information about
the import node that caused the import of the component.
2010-09-16 15:51:21 +02:00
Christian Kamm
97c07292aa Qml: Make import classification in Bind less verbose. 2010-09-16 15:51:21 +02:00