Commit Graph

306 Commits

Author SHA1 Message Date
hjk
2e17339b05 TextEditor: Reset mimetype after open() in all BaseTextEditors
This was already done in all major editors and should not harm
all others.

Change-Id: I7e19d285c4b85419a9a1f9afa961addecf682eaf
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-09-04 10:15:40 +02:00
hjk
4d93bb8216 TextEditor: Flip default to 'duplicatedSupported'
opt-out now, for all editors created by BaseTextEditorFactories.

Change-Id: I01d0a9ff26320fcd0b84ff90ff22c747cf84b84c
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-03 14:10:47 +02:00
hjk
e3bc7d19cf TextEditor: Move CompletionAssistProvider to *Widget
All the others live there, too.

Change-Id: I0a418bf235343d40a53fbee089234765386ee05d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-03 14:02:38 +02:00
Eike Ziller
7224ccb2e7 Editors: Automatically add editor/document id to context and use that
instead of manually adding a context everywhere.

Change-Id: I4336015a6d19349171a255e949da89b0013d6700
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-02 16:48:13 +02:00
hjk
8dc9d67e89 QmlJSEditor: Remove temporary code assists setup hack
It's taken care of by the normal factory based setup now.

Change-Id: Ia53551740cf5ef2998765ea1003ba8e7f9c30e46
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-02 14:52:42 +02:00
hjk
6775e623ee TextEditor: Move comment definitions back to *Widget
Only used there, and avoids back-links to editors.

Change-Id: I81206057ce89d42aef7febb840cf9e44b869df0e
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-02 10:06:54 +02:00
hjk
c587f0b241 QmlJSEditor: Use EditorWidget instead of Editor in QuickToolBar
This reduces the use of the 'editor()' "back link" which we'd like
to phase out (and also actually simplifies the user code).

Change-Id: I8aa13e88459d4e9cf44de683e8efd189238cc684
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-09-01 15:34:16 +02:00
hjk
12642cc49a TextEditor: Remove some *Widget::createEditor implementation
This removes the ones that were not to be used anymore.
The fallback in the base class is left in for now.

Change-Id: I5e7ab16497a83eff9b11deb9e1feb390757eac0e
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-28 17:36:36 +02:00
hjk
2567f44a1d QmlJSEditor: some Qt5-ification
Change-Id: I494ec29e0e9c09192f30c80945725276cc03b531
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-27 16:08:02 +02:00
hjk
74c572b532 QmlJSEditor: Use a BaseTextEditorFactory for creation
Change-Id: I37e81cf3eda57780c893f4e8d7f2c5c6adf75b55
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-26 14:10:24 +02:00
hjk
2db0f875cb QmlJSEditor: Rename QmlJSTextEditorWidget to QmlJSEditorWidget
Matches the general pattern and is shorter.

Change-Id: Ib29ff5203a707f2152a9dfab42bcfd5697d0a7dc
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-08-26 10:18:17 +02:00
hjk
62acde4693 QmlJSEditor: Partially move construction to new setup scheme
Change-Id: I61a6c4a51124b624d77a3b484c1f20ef5105f62a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-22 10:16:58 +02:00
hjk
cc351381ae TextEditor: Replace in-class connection by virtual function
Change-Id: Ifb51606f71100223631d086318c230a478d70712
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-21 09:37:26 +02:00
hjk
3ac0668d5c QmlJSEditor: General editor related code consolidation
Merge editor files, sort #includes, namespaces.
This does not yet use the new editor construction scheme.

Change-Id: Idb1171389858c4470d7a4ec9441fb25e6d157400
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-21 08:40:56 +02:00
hjk
cb35594800 TextEditor: Centralize settings connections setup
All editors did that manually, with varying approaches. Connect once
when the document is made known to the EditorWidget instead.

Change-Id: Ib0828b08158539859f6f89c8080435a027aa06ed
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-20 13:28:44 +02:00
hjk
c5fae0e8da TextEditor: Further *Editor/*EditorWidget disentangling
In most cases, the *Editor constructor does not need to
access the *EditorWidget.

Change-Id: I1f5c076a0f723d5d82b398e8c250c7bd1d47eb17
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-19 10:32:12 +02:00
hjk
d2ec7d80d9 TextEditor: Merge the two sets of *EditorWidget constructors
Change-Id: I45d87d0be722ac36d64af222f03f8cb76242c9df
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-19 09:19:33 +02:00
hjk
d7c2b0b681 TextEditor: Consolidate document access functions.
There was document(), textDocument() and baseTextDocument().
Two should be enough...

Change-Id: Id9e41c8d857c5cb3269a9fce5ab594d34448c982
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-08-04 10:43:56 +02:00
hjk
a9b7045803 TextEditor: Move toolbar widgets from *Editor to *Widget
Lifetime is coupled to the widgets, not the editor.

Change-Id: I01560bbdd6c399376d3a4184f0eb83e4153f830e
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
2014-08-01 17:57:26 +02:00
hjk
98fd59fd09 TextEditor: Start moving data from *EditorWidget to *Editor
Goal is to consolidate "controller" related data in the *Editor hierarchy.
This patch introduces temporary "cross-Private" accessors dd() to
keep the patches small.

First item moved is the AutoCompleter, a glimps at long term benefits
is the simplification in the JavaEditorWidget which is now essentially
a BaseTextEditorWidget, only containing the still-wrong createEditor().
But that can only be move if the *Editors are self-contained, i.e.
keep data themselves, not indirectly through the *EditorWidgets.

Change-Id: Ia0ab90f0322bb17ac20458e6581069eed30acbaf
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-31 16:45:31 +02:00
hjk
f6b48950ed TextEditor: Re-work comment definition handling
No need for most of the machinery.

Change-Id: I9078174582d83da94c6c7f20282fd3a5f1742911
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-31 10:54:49 +02:00
Fawzi Mohamed
02bdf30f45 qmljs: improve handling of qml dialects
Language::Enum -> QmlDialect
 * class instead of enum
 * moved Language specific operations to it (from Document)
 * nicer handling
QStringList -> PathsAndLanguages
 * store language along with path, to perform a correct scan and improve
   path handling

Change-Id: If69d35c63cfeb48aa670b51870916cd0c40f1916
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2014-07-30 15:07:35 +02:00
Fawzi Mohamed
8b8c5e8fe8 qmljs: ensure that opening an editor always updates the modelmanager
Change-Id: Ia23d9c84240bd2c54b0c331494474d0fa74674e8
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2014-05-06 14:31:15 +02:00
hjk
6c6f47f86c Core: Make IEditor::id a value member and adjust users
Change-Id: I47e457c4a1821c515cd8a740d27bfe005a0c09e6
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-02-25 10:36:25 +01:00
Eike Ziller
deb1a742e1 Make QmlJSEditor and QmlJSEditorWidget internal
Change-Id: I5afe67db927d735727beafe972965855bde39faa
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-02-10 12:43:46 +01:00
Eike Ziller
89a2c4620b QmlJSEditor: Remove functions from widget that delegate to document
Instead access document directly. Needs to export document.

Change-Id: I8fa86832982d2793ea951e88a5b6e3925b7cd281
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-02-10 12:43:30 +01:00
Eike Ziller
07e807ee5f QmlJSEditor: Remove unused method.
Change-Id: I5441317ab8e8ef285099828c57fb008efd757ed9
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-02-10 12:43:17 +01:00
Eike Ziller
58b717fbb8 QmlJSEditor: Move outline model to document
Also the updating of the model is now done only once in the document,
and delayed till an editor is visible if necessary.

Change-Id: I69b1abebc2b691b37a618db7d1f5ebbbc8e75bca
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-02-10 12:43:12 +01:00
Eike Ziller
1e6bc2758d QmlOutlineModel: Use document instead of widget
Change-Id: I56c4a1da84d00064334a235aec8f2710efdba365
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-02-10 12:43:06 +01:00
Eike Ziller
9fcd43ed05 QmlJSEditor: Some renaming
Call the timer and its slot for what they do, not how they are
triggered. Remove unneeded function/slot.

Change-Id: I6060f0b59149eb7e5cfdf1d7ea0a993a2104f012
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-02-10 12:42:54 +01:00
Eike Ziller
5f94bc4d12 QmlJSEditor: Move semantic highlighting to document
This ensures that we are only highlighting once, and actually do
highlight (the previous code was trying to prevent multiple rehighlights
though doing the highlighting in the editor(s), resulting in situations
where it wouldn't rehighlight at all)

Change-Id: I18f3e72e31d8076b6d1575f1a17a3f4a101163d9
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-02-06 13:15:22 +01:00
Eike Ziller
d538235885 QmlJSEditor: remove leftovers from semantic info updater move
Change-Id: Ib93a66f56ecd7a1324195e817f14280fcc0c3625
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-02-04 09:59:02 +01:00
Eike Ziller
a94d736881 TextEditors: Avoid sending contentsChanged signal when rehighlighting
That avoids a complete reparse of the document when font settings
change, but in turn now requires an explicit redo of semantic
highlighting in that case.
The cpp editor part of this patch is actually still doing semantic
parsing though. This will be fixed up in a later patch.

Change-Id: I6f51a18cba6325856c96e155700eb912f6d3aad5
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-02-04 09:58:51 +01:00
Eike Ziller
d653d600e0 QmlJS semantic highlighter: Use document instead of widget
Diagnostic ranges also move to document for this.

Change-Id: I82a9909abb57594cdd732448270849e6a2e3a4e0
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-02-04 09:58:40 +01:00
Eike Ziller
e2972e8a82 QmlJSEditor: Simplify usages highlighting
There is no need to fire a timer over and over again if semantic info is
not up to date. Instead, update usages whenever cursor position changes
and semantic info is up to date, and whenever semantic info is updated.

Change-Id: If2d8fe2a0211b9d659bea5c747704380a64cc1ca
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-01-30 14:39:00 +01:00
Eike Ziller
f8461fbbdf QmlJSEditor: Move semantic info updating to document
Change-Id: I804dbd887af1786e7554ec79f94fc8e59db1de5b
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-01-29 10:16:10 +01:00
Eike Ziller
ae5ef38e3c QmlJSEditor: Fix auto-indentation
Broke with 3ad3876611

Change-Id: Id67e574b11e92d83124081f05262110033c8504e
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-01-29 10:16:02 +01:00
Eike Ziller
782e0d37c3 QmlJSEditor: Move reparse trigger to document
Change-Id: I65bb9002a44343bb1d13b9c5c92f5057c1d5b25e
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-01-29 10:15:55 +01:00
Eike Ziller
1f84ec0b22 QmlJSEditor: Move document to its own file
Change-Id: I81c1ae5af617e801196edd612aff62ba4d864409
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-27 11:22:10 +01:00
Eike Ziller
17c11f0642 TextEditors: Set syntax highlighter only once
Change-Id: Iad83e589be49aeab3f35420d071311c15ddac6b2
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-24 08:00:59 +01:00
Eike Ziller
c99464dd9b TextEditors: Remove unnecessary duplicated caching
Change-Id: I3800360e3b9bd6874d6852dabcfc7a9a066e52c2
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-24 08:00:28 +01:00
Eike Ziller
3fa6b6737c TextEditors: Move font settings to document
Change-Id: I325764cbaa9684fa2758b0ea6c6ea58de142cb73
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-24 08:00:07 +01:00
Eike Ziller
4eff289e03 TextEditors: Remove widget's setTabSettings method
Change-Id: If212b45e2d526534b7853f3fa23b170f61e1976e
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-01-21 11:22:16 +01:00
Eike Ziller
3ad3876611 TextEditors: Move indenter to document.
Change-Id: I8bdf7134562d007aa16cc63a34f5a15a708577ae
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-15 15:02:25 +01:00
Eike Ziller
355f104d0e BaseTextEditor: Remove some unnecessary indirections through widget
Change-Id: I4f71448d6788a4e553b1495b72263a004e65d8c0
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-14 09:05:06 +01:00
Eike Ziller
2251958375 TextEditors: Avoid changing document after construction.
Also when duplicating editors, we don't want to change the document
after construction. Actually at some places (e.g. CppEditorSupport
creation) we don't handle document changes correctly, and we are only
lucky that things still (more or less?) work. Get rid of
BaseTextEditorWidget::duplicateFrom and use copy-constructor style instead.

Change-Id: I7f688b7fcc51d1bb5e222bb333f0d28479b597a6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-01-10 14:38:36 +01:00
Eike Ziller
f9ce335a6d Editors: Remove useless parent widget argument from create/duplicate
It was never called with a sensible value anyhow, and only complicates things.

Change-Id: I005848700b6c00114d91495670d4a0e15a2d2e64
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-08 11:46:11 +01:00
Eike Ziller
236ea9efb9 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/dumper.cpp
	share/qtcreator/debugger/dumper_p.h
	share/qtcreator/debugger/test/main.cpp
	src/plugins/debugger/gdb/classicgdbengine.cpp
	src/plugins/debugger/gdb/pythongdbengine.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.cpp
	src/plugins/debugger/lldblib/guest/lldbengineguest.h
	src/plugins/debugger/lldblib/guest/main.cpp
	src/plugins/debugger/lldblib/ipcengineguest.cpp
	src/plugins/debugger/lldblib/ipcengineguest.h
	src/plugins/debugger/lldblib/ipcenginehost.cpp
	src/plugins/debugger/lldblib/ipcenginehost.h
	src/plugins/debugger/lldblib/lldbenginehost.cpp
	src/plugins/debugger/lldblib/lldboptionspage.cpp
	src/plugins/qbsprojectmanager/qbsstep.cpp
	src/plugins/qbsprojectmanager/qbsstep.h
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecanvas_p.h
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d.cpp
	src/plugins/qmlprofiler/canvas/qdeclarativecontext2d_p.h
	src/plugins/qmlprofiler/canvas/qmlprofilercanvas.cpp
	src/plugins/qnx/blackberrycheckdevmodestep.cpp
	src/plugins/qtsupport/debugginghelper.cpp

Change-Id: Ie9fd0a885fb6264a6a8a72daee071b75bcbd2e9d
2014-01-08 11:01:06 +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
Eike Ziller
8178f709c2 QmlJsEditor: remove empty function
Change-Id: Ifc694394ebde336de0b7d1492dedf840c9e9a8dd
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2013-12-18 11:37:37 +01:00