Commit Graph

2674 Commits

Author SHA1 Message Date
Robert Loehning
234b4bd928 Fixed quotes
Change-Id: Ia35af9397fe64f4bcf48717830a1a25f4d8c6c36
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
2013-02-11 15:52:53 +01:00
Przemyslaw Gorszkowski
4c800b1b5a C++: fix code completion for typedef of pointer
Fix code completion and highlighting member of typedefed pointers.
It works when typedef is inside or outside of the function.

Task-number: QTCREATORBUG-8671
Task-number: QTCREATORBUG-8672
Change-Id: I9cc87080bf443f7ffa6a90ef5ba582b87700f2db
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-02-11 10:27:47 +01:00
Leena Miettinen
419c6de735 Doc: replace deprecated QDoc commands
The \i and \o commands were replaced with \li and
\bold was replaced with \b in QDoc for Qt 5.

The \input command was replaced with \include in the docs.

Change-Id: I257d1bebb8ebc739ca20e0d29fcf0406ecb14534
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
2013-02-06 09:44:18 +01:00
Erik Verbruggen
87a78cddff C++: fix find/rename macro usages.
The replace button was not connected. Also made the search restarting
slightly more robust.

Change-Id: Iad7aea436749c0bda6ec4f58776e73b598a12a23
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2013-02-01 13:40:03 +01:00
Przemyslaw Gorszkowski
858cb6e348 C++: instantiate template with default argument
Fix code completion for instantiation of template with default argument

Change-Id: I57b0306cc4540400ae83724db6c8b6b1aa67c255
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-02-01 13:36:03 +01:00
Robert Loehning
a040424d2a Incremented year in copyright info
Change-Id: Ia11f4d7a94465de7f12cc390855e54e3256e5455
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-02-01 09:19:26 +01:00
Przemyslaw Gorszkowski
21500d54b7 C++: fix replacing dot(.) with arrow(->)
Fix replacing operator dot(.) with operator arrow(->)
for typedef pointer.

Task-number: QTCREATORBUG-8488
Change-Id: Ic4462bc437a4aa37adfed4fa50b32d9bc20fe194
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-02-01 09:16:15 +01:00
Oswald Buddenhagen
1fda2111d4 Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/autotoolsprojectmanager/AutotoolsProjectManager.pluginspec.in
	src/plugins/debugger/qtmessageloghandler.cpp
	src/plugins/debugger/qtmessagelogwindow.cpp
	src/plugins/madde/maemodeployconfigurationwidget.cpp
	src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp
	src/plugins/qmldesigner/designercore/include/widgetqueryview.h
	src/plugins/qmldesigner/designercore/metainfo/metainfoparser.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.cpp
	src/plugins/qmldesigner/designercore/model/modelnodecontextmenu.h
	src/plugins/qmlprojectmanager/qmlprojectapplicationwizard.cpp
	src/plugins/qnx/bardescriptormagicmatcher.h
	src/plugins/qt4projectmanager/profilekeywords.cpp
	src/plugins/remotelinux/deployablefilesperprofile.cpp
	src/plugins/remotelinux/deployablefilesperprofile.h
	src/plugins/remotelinux/deploymentinfo.cpp
	src/plugins/remotelinux/deploymentsettingsassistant.cpp
	src/plugins/remotelinux/profilesupdatedialog.cpp
	tests/auto/icheckbuild/ichecklib.cpp
	tests/auto/icheckbuild/parsemanager.cpp
	tests/auto/icheckbuild/parsemanager.h

Change-Id: Ie465a578446a089e1c502d1cb1096e84ca058104
2013-01-31 16:25:33 +01:00
Przemyslaw Gorszkowski
ffba28d26a C++: Fix code compl. for instantiation of template specialization
It works for full specialization. Instantiate of the partial
specialization has to be implemented(finding appropriate partial
specialization-on going)

Added unit test.

Change-Id: I8ef5ea963e7c665e0d67d390b3a833486773dab0
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-01-30 18:49:25 +01:00
Erik Verbruggen
0135609973 C++: changed field names of the preprocessor.
Change-Id: I9b199df863b404e4cb2ce3c76c920b9010c09260
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-30 17:58:21 +01:00
Erik Verbruggen
fa48a36cba C++: undo accidental rename of struct TestData to TestCase.
This was done in 72db7a8f52.

Change-Id: I9b5d2b50de5dbd929c53e2ca0a70bce239c878ad
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-30 11:39:22 +01:00
Erik Verbruggen
cede294788 C++: add test-case for member access replacement in completion.
Change-Id: Id5fe00b94a6622178db9bd26f54d29efe88970f7
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-30 10:29:12 +01:00
Erik Verbruggen
5721847a57 C++: Fix possible null-pointer access.
Change-Id: Id42bb1cbf109cac8ab868ab7381a54d6be9a7697
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-30 09:08:20 +01:00
Przemyslaw Gorszkowski
7db3b660b6 C++ editor: Highlight member variable
Highlight member variable when there is also
enum value with the same name

Task-number: QTCREATORBUG-7525
Change-Id: I0990844a20fdf9e87a807fde10708344b9c3497b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-29 17:33:42 +01:00
Robert Loehning
298531e370 Incremented year in copyright info
Change-Id: Ic6a9ff0359625021ebc061d22db6811814534205
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-29 16:27:03 +01:00
Przemyslaw Gorszkowski
7fcc52bf47 C++ editor: Highlighting static variables
Fix highlighting, find usages, marking for static variables.

Task-number: QTCREATORBUG-6822
Change-Id: I0c97c93c6c1024550907eec3820496df22a94e85
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-29 14:01:11 +01:00
Friedemann Kleint
8bb0134c50 tr()-Fixes: Fix translation contexts.
Change-Id: Ic043a097947a80e2fb5cb381c585375c4e5f5eef
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-29 13:58:36 +01:00
Nikolai Kosjar
370acaf502 C++: Tests: Add basic tests for CheckSymbols
CheckSymbols is the "data provider" for the semantic highlighter which
does not have any tests yet.

Change-Id: I868aca32d44570457a984b8ce74695c381c58bed
Reviewed-by: Przemyslaw Gorszkowski <pgorszkowski@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-01-29 09:09:15 +01:00
Thorbjørn Lindeijer
c08fd3a2ec Fixed typo 'mimeDatase' -> 'mimeDatabase'
Change-Id: Id2ff2fb1e5e009fd267c7fcacf59e9a4ad6f2364
Reviewed-by: Thorbjørn Lindeijer <bjorn@lindeijer.nl>
2013-01-24 18:08:24 +01:00
Erik Verbruggen
72db7a8f52 CppEditor: quick fix to generate getters and setters
This does not take namespaces on the implementation side
into account and does not properly position/indent things.

Task-number: QTCREATORBUG-1890
Change-Id: I779d12fefc79521bce38361729d4f66dada71147
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-24 16:18:16 +01:00
Orgad Shaneh
6c1094aef5 CppTools: Fix qbs build
Global include is wrong

Change-Id: I34848ba4b92cfa047854abd476ed983f205bdf72
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-24 14:21:19 +01:00
Nikolai Kosjar
8fe25d0a4a C++: Add settings dialog for pointer declaration formatting
The dialog is at Tools > Options > C++ > Code Style > Edit... > Pointers
and References.

Currently the settings are referenced when applying the following
QuickFixes:
 - Adapting function signature in declaration/definition
   (FunctionDeclDefLink)
 - Inserting declaration from definition (InsertDeclOperation)
 - Inserting definition from declaration (InsertDefOperation)
 - Extracting a function (ExtractFunctionOperation)
 - Add Local Declaration (AddLocalDeclarationOp::Operation)

In these cases the code style of the current project is used. If there
is no current project open, the current global code style is used.

Task-number: QTCREATORBUG-6169

Change-Id: I3e4e502b3103f7f754ac9b39594ad461d89d9304
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-01-24 11:59:40 +01:00
Nikolai Kosjar
138066792e C++: Introduce PointerDeclarationFormatter
For a given AST, CppRefactoringFile and Overview this will create a
ChangeSet for rewriting the pointer or reference declaration according
to the Overview.

Task-number: QTCREATORBUG-6169

Change-Id: If6f824c1ea5e9f53a11a58ec8b6d696d01f0723e
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-01-24 11:59:14 +01:00
Erik Verbruggen
fa7ab13f30 C++: test for walking includes in frameworks.
Change-Id: Id31ce6b40d72351cfaefa5035469b87662526853
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-01-24 11:36:22 +01:00
Francois Ferrand
83dff048cf Highlight macro definitions like other uses.
Change-Id: I5a0852e5c1e154b52d712f1dfcfe2fc04e0eb9fb
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-01-23 14:39:05 +01:00
Przemyslaw Gorszkowski
23844410fd C++ editor: support nested class of enclosing template
Fixing:
* highlighting
* tooltips
* find usage
* selecting

Task-number: QTCREATORBUG-8245
Change-Id: I6e900799e43126706125b7e424567fca2b2c223e
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-22 11:35:25 +01:00
David Schulz
bc137f36a7 Editor: Removed useless local variable.
No need to create local variables for pointers
which are used just once.

Change-Id: If917689019ac1319b9f9d3aee8fa15ec5a34d751
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-21 15:37:42 +01:00
hjk
baffa492d9 Core: simplify ILocator interface
Use data members instead of virtual functions for id, displayName and
priority, use Core::Id, not QStrings for id, de-pimpl CommandLocator.

Change-Id: Id8b41f184cb995138b2d76c923d6d3ae02b7e3f5
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-18 15:51:13 +01:00
Erik Verbruggen
dada2614d5 C++: add include-guard tracking.
Track the typical #ifndef/#define/#endif usage in header files to see if
the macro is an include guard. If so, store it in the Document. No
behavioural change, just recording the name.

This can be used in the future to track if a file needs to be re-parsed
when a macro changes: if it was used in the file, and not defined in it
nor being the include-guard, a file should be re-preprocessed and
re-parsed.

It can also be used to check if two files have the same include guard.

Change-Id: I2715f529997a7b24a11bdbc6150652e2669f1a46
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-18 14:58:07 +01:00
hjk
be48a3faff Use Core::Id for IOptionsPage::m_id
Change-Id: Id9d6cf28966eeb65775cf1f16f57773af5fb6bca
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2013-01-17 11:43:04 +01:00
hjk
42c16ff7d3 Core: Use the new Id methods in a few places
There are a lot more left.

Change-Id: I97d32629aa6deef0f4819f70cc0b8437f2814257
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2013-01-17 10:57:22 +01:00
Oswald Buddenhagen
65c169c80e Merge remote-tracking branch 'origin/2.6'
Conflicts:
	qtcreator.pri
	qtcreator.qbs
	src/plugins/android/androidrunner.cpp
	src/plugins/projectexplorer/kitmanager.cpp

Change-Id: I653ddaef6e341818fc74aacfe30e89c07f40a8c6
2013-01-16 16:46:03 +01:00
Orgad Shaneh
88267a3299 Generalize QT_NO_CAST_FROM_ASCII
Change-Id: I2b6c5876cafb7cf19fc3040bc84fd88a90b6c0e0
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-16 01:14:08 +01:00
Erik Verbruggen
6ce9a80afa C++: fix invalid common prefix calculation.
This was the indirect cause for "random" freezes when using
code-completion. The direct cause was a while loop counting down to 0,
but starting with a negative value. Both are fixed now.

Task-number: QTCREATORBUG-8472
Task-number: QTCREATORBUG-8532
Change-Id: I782a46be3ac8282d7484d0bf0c6fd30be6b171c8
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2013-01-14 16:20:53 +01:00
Petar Perisin
39e9c5ef20 Editor: Allow to open links in a new split.
This changes current behavior while opening links. Link is now opened in
next split by default. If you use CTRL+Click to open links, it will also
open in next split. However, by using CTRL+ALT+click it will open in
current split.

There are two new checkboxes in Tools/Options/Text Editor/Display:
- "Open Links in New Split" - if it is checked, links will not be opened
in current split. However, if document with link is already opened, it
will be used to open the split
- "Force open links in next split" - Links will always open in next
split, even if their document is already opened somewhere else.

Task-number: QTCREATORBUG-8117
Change-Id: Ib99075b55d9e9683ed2c2386767227457de0a3fc
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-01-11 12:48:44 +01:00
hjk
b934cc196c C++: pass #include_next down to CppPreprocessor::tryIncludeFile
This does not yet resolve the file using the proper mechanism.

Change-Id: I04913e8b01ae0c3411961f0c1cffe07202f06a0a
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-01-11 11:38:11 +01:00
Orgad Shaneh
29a93998df Remove braces for single lines of conditions
#!/usr/bin/env ruby

Dir.glob('**/*.cpp') { |file|
  # skip ast (excluding paste, astpath, and canv'ast'imer)
  next if file =~ /ast[^eip]|keywords\.|qualifiers|preprocessor|names.cpp/i
  s = File.read(file)
  next if s.include?('qlalr')
  orig = s.dup
  s.gsub!(/\n *if [^\n]*{\n[^\n]*\n\s+}(\s+else if [^\n]* {\n[^\n]*\n\s+})*(\s+else {\n[^\n]*\n\s+})?\n/m) { |m|
    res = $&
    if res =~ /^\s*(\/\/|[A-Z_]{3,})/ # C++ comment or macro (Q_UNUSED, SDEBUG), do not touch braces
      res
    else
      res.gsub!('} else', 'else')
      res.gsub!(/\n +} *\n/m, "\n")
      res.gsub(/ *{$/, '')
    end
  }
  s.gsub!(/ *$/, '')
  File.open(file, 'wb').write(s) if s != orig
}

Change-Id: I3b30ee60df0986f66c02132c65fc38a3fbb6bbdc
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-08 10:48:18 +01:00
Christian Kandeler
e174e24d58 CppTools: Fix qbs build.
Change-Id: I0ef6e4419596b7cc0f8a574917fec5af94ff8832
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-07 12:55:25 +01:00
Erik Verbruggen
7b0f997963 C++: emit signal when project parts have been updated.
To be used in the ClangCodeModel, because there is no other way to find
out if the ProjectParts got changed.

Change-Id: Ie5681b4997adb9103499cf2864c81970cbd2be55
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-04 10:19:51 +01:00
Erik Verbruggen
b553055596 C++: Add ordering to the languages.
Change-Id: Id258e485a5875a15bf73af4e8cb6a5308227ff0f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-01-04 10:05:57 +01:00
Daniel Teske
f320426cd1 Use C++11 parsing mode for CMake, AutoTools and Generic project managers
Those 3 project managers can't easily figure out the right mode for code
parsing. The code we are parsing is predominantly C++98 code. But for
those using C++98 toolchains having valid C++11 code not be marked as a
error is probably not much of a problem, whereas the reverse, using a
C++11 toolchain and having valid code being marked as a error is
annoying.

Change-Id: I8dcc172029045cf591b3ba0adef1585f3f94fd39
Reviewed-by: hjk <qthjk@ovi.com>
2013-01-01 15:19:43 +01:00
hjk
78beacd7b4 Use Core::Id for IOptionPage::category
Change-Id: I63433edd9118a7aa4ecaef28f40bfc729d90f512
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-29 19:10:59 +01:00
Przemyslaw Gorszkowski
d08af15002 C++: unit test for code completion
Added unit test for code completion when pointer's type is a typedef

Change-Id: I408be8d9364a4b48824238dcc44175167ae653f4
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-29 13:10:33 +01:00
Erik Verbruggen
0cac83af8b C++: add unittest for modelmanager path cleaning.
Change-Id: I30815b191654cba5eedf92a9afd2ed1b48af8b87
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2012-12-20 14:49:20 +01:00
Przemyslaw Gorszkowski
b1199ef0cc C++: Fix code completion for nested classes
Fix code completion for nested classes when enclosing is
template class.
Unit tests

Task-number: QTCREATORBUG-8245 (only standalone)
Change-Id: Ib31ad4b799db927b56debd4dc3e7403404c1839d
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-20 10:46:44 +01:00
hjk
17748280e8 CppModelManager: reduce number of cleanPath calls.
Instead of checking each file's full path individually we store the
cleaned version of the directory.

Change-Id: Icaa41a38d6608ba364fcb0e01cc9eb1db99470ac
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: hjk <qthjk@ovi.com>
2012-12-20 10:45:19 +01:00
Francois Ferrand
058d2e8cb5 Support preserving case when replacing.
When making a case insensitive search, try to keep the string capitalization when doing
the replace:
      - All upper-case matches are replaced with the upper-case new	text.
      - All lower-case matches are replaced with the lower-case new text.
      - Capitalized matches are replace with the capitalized new text.
      - Other matches are replaced with the new text as provided.

Note: this does not work with regexp replace, only plain text.

Change-Id: I87cbc28eb64688bdf3c8c6ec173fcb22f91abcd0
Reviewed-by: Cristian Tibirna <tibirna@kde.org>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-12-14 10:22:41 +01:00
Eike Ziller
a8a33b9a3b Merge remote-tracking branch 'origin/2.6'
Conflicts:
	src/plugins/qt4projectmanager/qt4buildconfiguration.cpp
	src/plugins/qtsupport/baseqtversion.cpp

Change-Id: I288eeb1137e1b08d6c0d69f394cbb0fe1a937b68
2012-12-14 08:20:49 +01:00
Erik Verbruggen
4e540ce786 C++: export the SymbolSearcher to use it outside CppTools.
Change-Id: If60f3c1800a678f6e3b49eb9d78eab9b2d323fb3
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-12-13 12:23:59 +01:00
raidsan
45ec1bbe4a Fix: Switch Between Method Declaration/Definition issue when has implementation in header file
Task-number: QTCREATORBUG-8393

Change-Id: Ie390e3151e6edc68287e5e0241365d128e6e2c4c
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-12-12 15:06:40 +01:00