Commit Graph

1000 Commits

Author SHA1 Message Date
Tobias Hunger
ac02f6fb89 JsonWizard: Replace TextFileWizard with JsonWizard
Change-Id: Iae2833554529c2f333d9781eb0f7fa28f3bfde79
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-09-30 17:29:16 +02:00
hjk
beef480783 TextEditor: Simplify HoverHandler handling
The editor factories are already a central place to associate
hover handlers with editors, no need to retrieve them later from
the object pool again. This also allows for easy handling of
more than one active handler per editor.

Change-Id: Ie716b96f5ce6b526ee897468635e03e909d81538
Reviewed-by: David Schulz <david.schulz@digia.com>
2014-09-30 15:46:34 +02:00
hjk
335e625bdc TextEditor: Flatten QuickFixAssistProcessor hierarchy
{Cpp,QmlJS}QuickFixProcessor were doing the same (storing a single
pointer to a IAssistProvider). This could be done in the base
class with the leaf classes removed.

Change-Id: I0e419f37c5547d5ddfcfd1a767d356040dd7e56f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-09-30 13:40:03 +02:00
Eike Ziller
81cb471997 Editors: Support dragging from outline views
Fill the line and column information in the location returned by
QmlOutlineModel::sourceLocation for that.
The drag & drop code also needed a way to override the executed drop
action for file drops, because the QML outline supports move-drags, which
would lead to the items being removed from the outline when dragged onto
a split...

Change-Id: I2478abc7d5aa2f3aa676cdd609ecb69a50adce8c
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-09-30 13:08:49 +02:00
hjk
10c8d5f0ca TextEditor: Rename BaseTextEditorWidget to TextEditorWidget
... and some of the related implementation details

Change-Id: I1f03aa5acf2d3fb2cfc2a6a7845f3d3578b0408d
Reviewed-by: David Schulz <david.schulz@digia.com>
2014-09-29 14:54:32 +02:00
hjk
e11bbac671 TextEditor: Add a convenience append method for quick fixes
Less noise on the user side.

Change-Id: Ia5b495a1f9d3ec43623056d793f6771b3b84fd6b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-09-26 18:55:50 +02:00
hjk
953cdb971f TextEditor: More BaseText* -> Text* renamings
*Document* and *Layout* classes, all basetext* files

Change-Id: I1c6e376733a434fcb5c7f19c6210dfa031eeafde
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-09-26 10:12:51 +02:00
hjk
0fcca946ad Rename {Core,TextEditor},{Base,}TextDocument classes
First step of some more 'Base' removal in TextEditor.
s/Core::TextDocument/Core::BaseTextDocument/
s/TextEditor::BaseTextDocument/TextEditor::TextDocument/

Change-Id: I71ba325a2f0ad72ec9dae0d96846cbae72d326f7
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-25 18:00:51 +02:00
Thomas Hartmann
48f19e925b Use Q_DECL_OVERRIDE instead of QTC_OVERRIDE
This patch removes src/libs/utils/qtcoverride.h
and uses Q_DECL_OVERRIDE from Qt 5 instead.

Change-Id: I61ffa539648ffe996dc061eec7708c04580c0f09
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-09-25 12:16:47 +02:00
Thomas Hartmann
7d1e27a921 QmlJSEditor: cleaning up dependencies to QmlDesigner
QmlJSEditor does not depend on QmlDesigner.
There is no reason that the settings for the Qt Quick ToolBar
are stored in the group of QmlDesigner.

This patch removes  all includes of qmldesignerconstants.h in QmlJSEditor.

Change-Id: Ie692d9179e0239c3307420001547ba658911d39b
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-09-25 10:38:08 +02:00
hjk
78a04f0a6d TextEditor: Wiggle codeassist setup
Remove GenericProposalModel convenience constructor,
add GenericProposal instead. Less user side code.

Change-Id: I833f9943df27b50579485c93efb96943ec403f65
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-22 10:41:38 +02:00
hjk
282864bdb9 CodeAssist: Remove needless indirection in item access
Change-Id: Ibcb6c4898b34ecab52de28485befdf589bb880d7
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-09-17 10:56:16 +02:00
Eike Ziller
914adeab82 Merge remote-tracking branch 'origin/3.2'
Conflicts:
	src/plugins/qmldesigner/designercore/model/plaintexteditmodifier.cpp
	src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp

Change-Id: I1627f6aa98a442413f8b08b579ecaf9647dc887b
2014-09-16 15:17:21 +02:00
Erik Verbruggen
656b9f7396 QML/JS editor: make QTC_ASSERT actually useful.
Change-Id: I32f2ee037b372c54ae41ea1b3626365e4f201118
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-09-11 12:51:02 +02:00
Fawzi Mohamed
12b583564f qmljs: make refactoring work on Object Bindings
“Move Component to Separate File” and “Wrap Component in Loader” did
work only for UiObjectDefinitions, extended them to UiObjectBindings.

Task-number: QTCREATORBUG-12904
Change-Id: I5216110c1edfc6e4536f83eba39e74919c918d50
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
2014-09-11 12:42:31 +02:00
hjk
0e16affc89 TextEditor: Move some hover handler operation from Editor to Widget
Change-Id: Ie54bf52d3f89c76f379d20c4807b1e252af51505
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-10 13:11:53 +02:00
hjk
0edefc4c2b TextEditor: Merge some "assist" related classes
Simplifies the code base by removing one level of unused
and unneeded abstraction.

- Merge {I,Default}AssistInterface to AssistInterface
- Merge {IAssist,Basic}ProposalItem to AssistProposalItem
- Merge {IGenericProposal,BasicProposalItemList}Model to GenericProposalModel

Change-Id: I54ee7b095427383d67a00fc1d87c3808c21d812d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-09-09 21:01:22 +02:00
hjk
127d3b9687 TextEditor: Move base of operation from Editor to *Widget
One less level of indirection

Change-Id: I4777bd7d54e572f36a490aeb747a8e0f89599049
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-09-08 14:48:26 +02:00
Fawzi Mohamed
521052be86 qmljs: highlight properties with inline qml components
Task-number: QTCREATORBUG-10892
Change-Id: Ifbf5675ab53de54f6f38c07726f5ad400f6ee9d6
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
2014-09-08 09:47:58 +02:00
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
hjk
23ea68306d TextEditor: Remove some TextEditor:: qualification
Change-Id: I7e47ff13adefe70087207c4f59d6d19a55dcf9f8
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-03 08:59:25 +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
Eike Ziller
b5b6a46b4e ExtensionSystem: Use Qt 5 plugin metadata instead of .pluginspec files
Change-Id: I2b2c704260c613985a4bda179658ec1f8879e70f
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-02 15:11:24 +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
Christian Kandeler
1d5091e48f Do not use deprecated Qt functionality.
Replace all* remaining deprecated Qt 4 functions with
their Qt 5 counterparts. This means we no longer need to
define the QT_DISABLE_DEPRECATED_BEFORE macro.
This patch is relatively small because most source-compatible
changes of this kind have been done before.

* The one exception is the QmlDesigner, which uses QWeakPointer
in a deprecated way all over the place.

Change-Id: Id4b839c6685f3b5bdf2b89137f95231758ec53c7
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-08-29 14:10:41 +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
251a1d2588 TextEditor: Clean up/streamline SyntaxHighlighter setup
No need for the third construction way if that's not
really used by the factories anyway.

Change-Id: Id3b34da5b0320babae9bef96a79bbaa52e0db06d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-27 15:00:43 +02:00
hjk
2a5c602341 TextEditor: Introduce some convenience text accessors in the editor
And adjust users.

Change-Id: I9329257cfa5f3298731deb07c2881bc37d9a051d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-27 15:00:36 +02:00
Eike Ziller
aa6495a261 ExtensionSystem: Remove Qt4 support
Remove usage of the Q_EXPORT_PLUGIN macros, which do not exist in Qt 5.

Change-Id: I678c3cf10b9c5d5c1b9f252b0ecd1c97dc810a47
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-27 08:44:34 +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
Orgad Shaneh
a6bfb33e67 Unslot onRefactorMarkerClicked
Follow-up of cc351381ae

Change-Id: Ieaa5267e763182605261b627b85a1e5e4c2eef59
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-08-26 10:03:32 +02:00
hjk
6431ab2c79 Use Qt 5's QStringList::join(QChar)
Less typing and less cycles than join(QString) where appropriate

Change-Id: I6ebc0e17e4d7fd9845864dd95b7de4ba4dad6906
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-08-25 08:21:14 +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
ba51240524 TextEditor: Fix snippet editor crash introduced in d85a4f615
The SnippetEditorWidget setup is unusual as it doesn't have
an associated SnippetEditorFactory/SnippetEditor creation chain
and requires manual intervention. This was lost in the
conversion to the new construction scheme.

Change-Id: I0919295603432e525c2abd0da762acc8207f996c
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-21 07:36:17 +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
Joerg Bornemann
e34c546631 QmlJS: fix wrong wording in JsFileWizard
A JavaScript file with .pragma library is everything else but
"stateless". Just call it a "JavaScript library".
Also see commit 7ee8156116581e08466ebc23b31e2b76c127e742 in
qtdeclarative.

Change-Id: Ia1a4ff7ba5661af4c29592b956f8219cfa745c88
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2014-08-14 18:12:06 +02:00
Daniel Teske
0d5763425a TreeViewFind -> ItemViewFind
The code changes to enable this is minimal.

Change-Id: Ia5571adcc724e89eb5c68a5f91e38b9cf274516d
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-08-11 14:49:52 +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