Commit Graph

697 Commits

Author SHA1 Message Date
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
hjk
f70ba9930e Core: Use std::function for info bar callbacks
Change-Id: Iae7cbef053bfe86a7692e09f66af91117815d2a6
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-04 10:23:03 +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
877bf3b305 TextEditor: Remove some refactoring glue
Change-Id: I2f771b4f944c7f23ad43f780ec98937593e400ea
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-03 13:05:46 +02:00
hjk
57d9d86418 TextEditor: Make BaseTextEditor reuse parts of *Widget interface
Change-Id: Ic93b2e14b22af26abf4a03b32c3ac0c22f88a63a
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-03 08:43:16 +02:00
hjk
48bcb83c6f Debugger: Fix/adjust tooltip handling after editor changes
Change-Id: I67ac61619c13b6cec327e8a27b45e9acfa5905f5
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-02 16:51:16 +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
378d668287 BaseTextEditor: Remove internal m_editor back link
Not used anymore. This also means no fallback editors need to
be created anymore.

Change-Id: I94a7f7a7038164cfa53dce7f4016628da9395e71
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-02 14:03:23 +02:00
hjk
f4ea977725 TextEditor: Use a signal to clear contents help id.
That's the last user of the internal m_editor back link.

Change-Id: I32b6e617428b72dc713147cb542b726cf33b6562
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-02 13:15:23 +02:00
hjk
47f10e3bad TextEditor: Remove now unneeded BaseTextEditorWidget::editor()
Change-Id: I5e481fd9c31733d033602d152ec42af6e5a09951
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-02 13:15:15 +02:00
hjk
6109ec905f TextEditor: Introduce a *Widget::activateEditor signal
For communication with the EditorManager without explicitly
using the editor() member.

Change-Id: I89882201924682111365b28804aed28c967bd442
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-02 11:42:07 +02:00
hjk
70d436a610 EditorManager: Remove editor parameter of addCurrentPositionToNavigationHistory
This only triggered activity if it's the currentEditor().

Change-Id: If9239901c5b30bbb0156e9f6964965cf41db7c16
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-02 11:07:06 +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
b9f861f1cb TextEditor: Use signal/signal connection from *EditorWidget to *Editor
This reduces the need for most of the remaining uses of the
editor() back link.

Change-Id: I557cf4d3b5e1986f811fb17e87bf1825ac6912c6
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-02 09:42:35 +02:00
hjk
fcf5c0ea20 TextEditor: Move cursor position label connection
... to a place where there's no need to call editor()

Change-Id: I0fcebcf8b36602bf48373a6b57d8a709cc2a7e81
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-02 09:14:10 +02:00
hjk
5941345ffc TextEditor: Guard one use of BaseTextEditorPrivate::m_editor
Change-Id: I69f1400419d6764201a0bbce2e4e2da51beb247f
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-09-02 09:09:26 +02:00
hjk
519aed8ff7 TextEditor: Prevent double deletion in fallback case
Introduced in ec5ea375e

Change-Id: I246b82c7c8dadaea3374b1b019e7601c5a404fcb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-08-29 17:22:02 +02:00
hjk
ec5ea375e0 TextEditor: Use more direct approach for fallback IEditor construction
There are still a few places where the EditorWidget is the primary
object, or several of them per "visible" IEditor (e.g. Diff).
Provide a means to streamline setup there, too.

Change-Id: I14cfbd68e555ebc539e707032a0e5bef563e0a36
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-08-29 15:51:09 +02:00
hjk
f42fff7697 Find: Avoid virtual signals
Very unusual construct...

Task-number: QTCREATORBUG-12922
Change-Id: Ia7c3a3c2520ed53fdb83d91b50a0a6737f87d4f6
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-08-29 10:52:57 +02:00
Nikolai Kosjar
9e3441df8b {Cpp,Text}Editor: Fix duplicating CppEditorWidget
Fixes local use highlighting and renaming in new split, among others.

Done-with: hjk <hjk121@nokiamail.com>
Change-Id: Ic604d37d2dc0082fa4a75c2af457f60d6d6cfa66
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-08-29 10:21:54 +02:00
hjk
c094592f8a BaseTextEditor: Un-slot most widget actions
Change-Id: Id642fc518d03dad5202e0d7bbb6b8b6325abbbab
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-28 13:27:53 +02:00
hjk
8d74fdd6d4 TextEditor: C++-ify texteditoractionhandler
Macros are not necessary here.

Change-Id: I19e5c38e64f1b7f254c1fcb33d891e02704e3657
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-27 17:06:24 +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
hjk
306ca6fce0 TextEditor: Remove parts of old editor creation sequence
Not used anymore.

Change-Id: Iee0f6340097341bd584ae559e3f40f0c1364cba3
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-26 10:18:23 +02:00
Daniel Teske
71c6f32ea4 Editor: Fix one pixel offset for folded block preview
Task-number: QTCREATORBUG-5168
Change-Id: I89a9949227e11053dfa2436ae6b0c017c465906c
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-08-26 10:02:40 +02:00
hjk
f9f5fdcf2b TextEditor: Re-organize Plain text editor setup
Change-Id: I202e66a9cd295a85e3eea31177280e2c5d409ced
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-25 15:09:29 +02:00
hjk
4bbf6b63f1 CMakeProjectManager: Use a BaseEditorFactory derived class
Change-Id: Ia5f2b789d82c63552ec7abe5ec22bbc29100a59a
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-25 10:09:30 +02:00
hjk
2b5df11cb8 Android: Use a BaseEditorFactory derived class for JavaEditor
Change-Id: Ifc923177744af5058b22fac7fff2f2345cc99135
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-22 16:21:32 +02:00
hjk
5d41421533 TextEditor: Introduce a BaseTextEditorFactory
The BaseTextEditorFactory will keep a collection of all
relevant creation functions (document, editor, widget,
indenter, syntax highlighter) and will use them to
create or duplicate base text editors in a uniform way.

Change-Id: I255b519e35cf1c28d5e198242f99316951a0235e
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-22 15:17:23 +02:00
hjk
43035981c0 TextEditor: Add a helper function to set up code assistance
This is needed for further refactoring in the cpp and qmljs editors.

Change-Id: Ic25525e5f468e915226e9daa8d118ff76a749e9f
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-22 10:03:01 +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
2cf2dadffb TextEditor: Remove some needless indirection in BaseTextEditor
Change-Id: Ibb446fce6365a0c52ad74d366f24a202ea9cc33f
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-21 08:58:29 +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
03eb2f97cf TextEditor: Configure code assistant properly in new scheme
No need for the extra indirection here.

Change-Id: I21a303423ba52724551cca0bc82d4e4b08ab4e52
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-20 15:48:19 +02:00
hjk
1dd05a1855 TextEditor: Prepare new editor construction scheme
IEditorFactory knows how to construct an *Editor, the
Editor knows how to construct the Widget.

Change-Id: I2894e6ae622cb43ef6974aac82505c1f9912ff7b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-20 14:13:33 +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
0e9b414386 TextEditor: BaseTextEditor code cosmetics
Namespaces, #include order

Change-Id: I6e865821811c0a53e7ebbe321365cffdde7961af
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-19 14:48:17 +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
2961c1c288 TextEditor: Remove special m_revisionsVisible copying
This does not seem to be necessary at all (it's overwritten on each
and every setDisplaySetting() call) and is the only remaining
difference in the two remaning BaseTextEditorWidget constructor bodies.

Change-Id: I6b8c0a51cf97e12f0dffb0673b680d4bbd2f2b45
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-18 16:57:56 +02:00
Eike Ziller
746a0ba208 EditorManager: saveEditor -> saveDocument
Change-Id: I1691b7231080320ff48efbbd7f870658a977ad0d
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2014-08-18 14:14:10 +02:00
Daniel Teske
60f97524ed Tweak block highlighting drawing
This reverts commit 2fae18d62795303683f5c20290bd2ee88ebc3c2e.

Change-Id: Ie63e7f2a19ce183f29470aec093de04d7a78a719
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-08-12 11:39:37 +02:00
Daniel Teske
89dfb8a656 Fix bloc highlighting drawing in scrolled views
Task-number: QTCREATORBUG-8112
Change-Id: I411e6ce6f5a7d81da9de9541c711d63d6952c623
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-08-12 11:39:30 +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
14d3206589 TextEditor: Move Find aggregate from Editor to Widget
Its lifetime is connected to the widget.

Change-Id: Iebf1a524511051f40869803426e274e8909c87e4
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-01 16:29:30 +02:00
hjk
e947f4ebc2 TextEditor: Move private BaseTextEditor slots to the pimpl
Change-Id: I39ada562d3ef390fee0fee303fb84033c506f41e
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-01 15:27:56 +02:00