Commit Graph

510 Commits

Author SHA1 Message Date
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
8aedff7f22 TextEditors: Move some auto-indentation code to document
From the editor widget. Also name them autoIndent/autoReindent to
distinguish from the manual indent functions.

Change-Id: I4e1b9d503f53870b669fee66467e5e567eacefec
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-16 15:50:56 +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
7f03139442 CppEditor: Do not reimplement BaseTextEditorWidget::setMimeType
It's not necessary, since we have signals for that. And it's wrong to
handle the additional preprocessor directives there anyway.
The update if the editor supports objective-c/c++ is now done in a
mimeTypeChanged signal handler, the update of the additional
preprocessor directives on filePathChanged.

Change-Id: If88c70f5321c2bc21a21673e96be2598dc9ecf04
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-14 09:04:49 +01:00
Eike Ziller
cfad9bdc3c TextEditors: Move contentsChanged signal from editor to document
Change-Id: Ic935a8971705cb3238deda71aa2b5d19e4f62593
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-01-14 09:03:58 +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
3ace54406b Reduce dependencies of CppPreProcessorDialog
It doesn't really need a CppEditorWidget

Change-Id: Ic36b1d467460cdcdce372df2887033bd9f5fff29
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-01-07 09:40:40 +01:00
Erik Verbruggen
5beb74fd9d Add experimental clang code-model plug-in.
Previously known as the wip/clang branch.

Contributors (in alphabetical order):
- Christian Kamm <christian.d.kamm@nokia.com>
- Erik Verbruggen <erik.verbruggen@digia.com>
- Leandro Melo <leandro.melo@nokia.com>
- Peter Kuemmel <syntheticpp@gmx.net>
- Sergey Shambir <sergey.shambir.auto@gmail.com>

Change-Id: I4c3ff600a19b6732641c1d5ef28236bf2cc17737
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-12-20 17:05:09 +01:00
Eike Ziller
1adab4c4cc Merge BaseTextEditorWidget::editorDocument() and ::baseTextDocument()
Doesn't really make sense to have the additional IDocument *editorDocument()
method.

Change-Id: I0a7420eb1afaa76f63c3f7e9c4b373acf624ffb9
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-12-18 11:34:34 +01:00
Eike Ziller
e035ae6df1 Merge remote-tracking branch 'origin/3.0'
Conflicts:
	share/qtcreator/debugger/stdtypes.py
	src/plugins/qmlprofiler/qmlprofilereventsmodelproxy.cpp

Change-Id: I5d86746d58960e41e01e725ccb2a6c00890f0dfd
2013-12-18 11:02:16 +01:00
Nikolai Kosjar
a8e7b6bd38 CppEditor: Use the project part chosen with CppPreProcessorDialog
...otherwise the CppPreProcessorDialog is only semi-useful.

Change-Id: I6b80967b05e7c9a51cd78ae064a3d78170948e32
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-12-16 10:32:26 +01:00
Erik Verbruggen
bdec951ee1 C++: do not re-highlight if the document in the semantic info is invalid
Change-Id: I12561ae0dc0e1912b3aefde92deff7b8da84e3be
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-12-10 16:03:43 +01:00
David Schulz
44d254b37b CppEditor: Visual hint for changed preprocessor directives.
Change-Id: I3c3ae623beab55259179aaf0613d2bc5aaad1c28
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-12-05 09:39:55 +01:00
Nikolai Kosjar
796fcaf1d2 Revert "C++: Fix highlighting for lines with predefined macros"
This takes too much memory. For qtcreator.pro the numbers are as
follows:

    Patch applied:  ~ 1600MB (RES)
    Patch reverted: ~  510MB (RES)

This reverts commit 4c2daa90ce.

Task-number: QTCREATORBUG-10973
Change-Id: I843bd7c1ea4a26a1ec55ddc14c2a34a98d040922
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-12-03 09:53:26 +01:00
Nikolai Kosjar
4c2daa90ce C++: Fix highlighting for lines with predefined macros
This adds definitions for the macros __FILE__, __LINE__, __DATE__ and
__TIME__ on demand.

As a side effect, this also introduces highlighting for the uses of
these macros.

Task-number: QTCREATORBUG-8036
Change-Id: Ib7546c7d45d2eecbc50c7883fc684e3497154405
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-11-29 15:11:27 +01:00
Nikolai Kosjar
d91d552c82 CppEditor: Append extra ' ' in comment continuations
...for c style multiline comments and doxygens "///" and "//!".

Task-number: QTCREATORBUG-10856
Change-Id: I84a4f95ba9e676991484e45bb0f64be996ac3be9
Reviewed-by: Ulf Hermann <ulf.hermann@digia.com>
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-11-21 13:18:38 +01:00
Nikolai Kosjar
18f38709d5 CppEditor: Ensure utf8 encoded working copy from the preprocessor dialog
Change-Id: Ifbc2adeff83cbef9841da872e15a5b9dd8379a3d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-11-12 16:41:53 +01:00
Eike Ziller
bc81930f17 Give preprocessor dialog button a tool tip.
Change-Id: Iad756a8f18736da79cca63232eb00fcee8a2f38c
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-10-24 10:26:27 +02:00
David Schulz
10f42df8b3 CppEditor: Remember project in preprocessor dialog.
Change-Id: If226707541b1fd4d5c22de2795fb39bc333cfa49
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-10-22 07:38:24 +02:00
David Schulz
f30bd48b58 CPPEditor: Rework preprocessor addition tooltip.
Change the preprocessor popup to a dialog.
Save the additional preprocessor directives to the session instead of the
.pro.user file.

Change-Id: I0d08c5684cfb21e822cde0a965c9cf14e5d6d47d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-10-17 15:25:15 +02:00
Nikolai Kosjar
b8dbac0b9c Rename "[Mm]ethod(s)" to "[Ff]unction(s)"
Only methods as programming functions are affected. Besides renaming
some actions like "Switch Between Function Declaration/Definition" this
mostly touches (api) code comments.

This is a follow-up patch to commit 872bfb7.

Change-Id: Icb65e8d73b59a022f8885b14df497169543a3b92
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-10-10 15:56:12 +02:00
David Schulz
d411c07643 C++ Preprocessor additions widget.
Introducing a Widget with a SnippetEditor and a C++ Highlighter which
should provide additional information to the C++ preprocessor for a
specific file.

Change-Id: I27f9498c7e52d1493d6ea92a02a2c6d26130fe07
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-10-02 13:44:10 +02:00
Nikolai Kosjar
4979e8ad37 CppEditor: Remove CPPEditorWidget::modelManager()
...since it has no callers from outside.

Change-Id: I6e0432f957737254fa2c9154474bd16afdf7b324
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-10-02 10:28:51 +02:00
Nikolai Kosjar
3fb3307ba1 CppEditor: Fix crash on Creator shutdown
As a consequence of commit 243a625, the order of destruction of
CppEditorWidget and CppModelManager changed. Since now the
CppEditorWidget is deleted last, we need to check if the model manager
object still exists.

Change-Id: Ie61b4e3ea07b44f99ae6c21c1d8ac7c799f3620d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-10-02 10:05:00 +02:00
Nikolai Kosjar
11aeaea86f CppEditor: "Follow Symbol Under Cursor" for virtual functions
F2 on a virtual function call presents a list of overrides in derived
classes. The function declaration of the static type is shown
immediately at the top.

Task-number: QTCREATORBUG-9611

Change-Id: I80ce906fa06272dc9fbd1662cd17500b8c77067f
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-01 14:23:00 +02:00
Orgad Shaneh
6603d9ae5f CppEditor: Fix compilation
Change-Id: I5171bc3df7672d403f83d0ff352e8016a9694c40
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-10-01 12:58:38 +02:00
Nikolai Kosjar
ab9846a9f8 CppEditor: findLinkAt() delegates to FollowSymbolUnderCursor
Moves functionality of CPPEditorWidget::findLinkAt into a newly created
class FollowSymbolUnderCursor. This slim downs cppeditor.cpp a bit and
makes Follow Symbol Under Cursor more easily testable.

Change-Id: I106c7fbfc6869dd13c75381fbe87c90dc88998a7
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
2013-10-01 12:22:50 +02:00
Erik Verbruggen
ba2d7a4fa7 C++: Only parse with appropriate defines for open editors.
If two files from different (sub-)projects include the same header file,
and the defined macros differ for both files, the header file will be
parsed with only the appropriate macros for the including file.

Task-number: QTCREATORBUG-9802
Task-number: QTCREATORBUG-1249

Change-Id: I560490afa287b3bb1e863bce1bb4f57af36ad56e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-10-01 10:33:51 +02:00
Joerg Bornemann
52666cc1ec CppEditor: fix typo
Change-Id: I86abdc7ec79c86e8007a3e994627ab0e51b3ff48
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-09-27 16:35:33 +02:00
Erik Verbruggen
b4a1bd415f C++: clean-up CppCompletionAssist.
This is step 1 of 2 for merging the various provider factories into a
single class. Merging has the advantage that selecting based on editor
(content) mime-type only has to select one class, instead of re-doing
the selection for each class separately.

Change-Id: I11f815151bd4769ae6028b636793d6a80d02e202
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-09-09 11:59:14 +02:00
Erik Verbruggen
7516ef4969 TextEditor: get CompletionAssistProvider from editor.
And not from the global object pool. This way, the editors that have
different highlighters for various language dialects, or editors that
support multiple languages in a single editor, can decide themselves on
what CompletionAssistProvider to provide.

Change-Id: Ieebc4a8e7b3de6470fdb8103035aa3b8b2ba6598
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-09-09 10:15:55 +02:00
hjk
a37589d431 Apply 'static' pattern to MimeDatabase
Also adjust and streamline using and surrounding code.

Change-Id: I6a8b05126bdcbb74ff611b21c7cb3c5902a2d5ca
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-09-03 11:41:45 +02:00
David Schulz
78a75b8e89 CPPEditor: Remove unneeded code.
Change-Id: I7f0263e461f5d03cd7ccde47ebbeaabad8d11c6d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-08-30 10:34:25 +02:00
jkobus
e8801167aa Add common interface for text formats inside syntax highlighter
Change-Id: I87f64446161a57aea0896f68e4eafacef791969b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-08-26 13:39:40 +02:00
Nikolai Kosjar
fd9293dd0a CppTools: CppPreprocessor: Track also unresolved includes
Change-Id: Ia36e7e7142dbc030a428369ed04e76e70e8eef0b
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-08-22 11:57:27 +02:00
Nikolai Kosjar
fdaddec7d1 CppTools: Clean up CppModelManager(Interface)
* Const correctness
* Better variable names
* Sort order of includes and forward declarations
* Comment fixes
* Cosmetic/Whitespace changes

Change-Id: Ieb137266ac7eddedb00c37f8b2cc8677d67e4bdd
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-07-31 14:34:08 +02:00
Nikolai Kosjar
6aceadac27 CppEditor: Fix "! condition" coding style
Change-Id: I216b74933f5e94c49be7f05f0b09ac01b3319d8c
Reviewed-by: Aurindam Jana <aurindam.jana@digia.com>
2013-07-25 12:10:30 +02:00
Erik Verbruggen
1478e661ed Introduced mime-type for ObjC++.
Updated/fixed the code to treat treat text/x-objcsrc and
text/x-objc++src correctly.

Change-Id: I1ab97577c786a28381398e4e0fac177325d00d7b
Reviewed-by: Sergey Shambir <sergey.shambir.auto@gmail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-07-18 16:45:27 +02:00
Eike Ziller
7b4895d7ec Remove TextEditor::RefactoringChanges::editorForFile
This also fixes a bug with setting text cursor in InsertDefOperation in
case of split editors (where the cursor could be set in a non-active
editor on the target file).

Change-Id: I1c011386537bc88a89d4d66bec79dfe06faac3c6
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-07-18 11:50:11 +02:00
Nikolai Kosjar
bc4fa63f84 CppTools: Move GC() call from CppEditorWidget to CppModelManager
There is no need to have that logic in CppEditorWidget. The
CppModelManager knows how many editors are open and can therefore call
GC() by itself.

Change-Id: I2ed4051ad7b8c87615014d73e29291027d49d2ab
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-07-17 14:54:01 +02:00
Orgad Shaneh
ad9e7ccab6 Fix coding style for else statements
Change-Id: I1309db70e98d678e150388c76ce665e988fdf081
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-17 11:11:25 +02:00
Eike Ziller
dd43d9908f Rename IDocument::fileName --> filePath
That is what it actually is, wrt how Qt API calls it.

Change-Id: Ied02055debf6aad75556b0d9d22e8ba2f72be555
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-07-09 13:51:42 +02:00
Nikolai Kosjar
b0d9dd0b47 CppEditor: Fix "Rename Symbol Under Cursor" in new split
The slot CPPEditorWidget::onContentsChanged() was still connected to the
initial QTextDocument of BaseTextEditorWidgetPrivate and not to the via
BaseTextEditorWidget::duplicateFrom() updated QTextDocument.

This fixes the visual appearance when renaming. The actual renaming
is/was not affected.

Task-number: QTCREATORBUG-9651
Change-Id: Id26dc11627c253bbf89904be3f3df21a45041d01
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-06-26 11:27:13 +02:00
Nikolai Kosjar
e3bc84c414 C++: Record also unresolved paths for includes
Change-Id: Id107b6c1f34f594c5a01502c156963c964235ed7
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-06-11 15:54:52 +02:00