Commit Graph

103 Commits

Author SHA1 Message Date
Lorenz Haas
c95b324b79 CppEditor: Same insert position for quick fixes
Now definitions are inserted at the same position inside the
implementation file for MoveFuncDefOutside and InsertDefFromDecl.

Task-number: QTCREATORBUG-9389
Change-Id: If823ffd15ec39a7bc2edb53519380cb9cabb4c55
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-12 16:32:29 +02:00
Nikolai Kosjar
f1736b079d CppEditor: Put '{' on new line for "Add Definition Inside Class"
...to be consistent with inserting "Outside Class" and "in xxx.cpp".

Change-Id: I32a43153d5d3bdec9fae0be731484a26b108c438
Reviewed-by: Lorenz Haas <lykurg@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-06-11 16:32:34 +02:00
Nikolai Kosjar
f3186690bd CppEditor: Improve finding position for new includes
...by detecting include groups (separated by new lines, include types
and same dir prefix).

Task-number: QTCREATORBUG-9317
Change-Id: I73e80fdc715104901cb2d4f5b15b4cab5d04d305
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-06-11 15:57:10 +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
Lorenz Haas
d2faf880f3 CppEditor: Fix triggering AssignToLocalVariable
Do not trigger for functions inside a function call.

Task-number: QTCREATORBUG-9510
Change-Id: I908483fe80ff3ac0f737b21061375e206c1b1d1d
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-11 15:46:44 +02:00
Nikolai Kosjar
1738ff64a6 CppEditor: Fix moving definitions
* Move initializer lists completely
* Respect whitespace as it is

Task-number: QTCREATORBUG-9462
Task-number: QTCREATORBUG-9463

Change-Id: Id9c41394b4aa55b0a85957286ab42f2ce8966c08
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-06-04 15:53:47 +02:00
Nikolai Kosjar
b8a2983fd5 CppEditor: Fix sorting of quick fixes "Add {public, private, ...} declaration"
Change-Id: I43f09042a525a798d95b3365873be24eafd423e9
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-06-04 13:10:27 +02:00
Erik Verbruggen
5e5c5bb02b C++: re-enable quick-fix sorting.
Also make sure that "Apply function signature change" gets to the top
of the list.

Task-number: QTCREATORBUG-9441

Change-Id: Iaf67f8ea9c99ddfc973e610f7e0f4c35b7967629
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-06-04 13:10:17 +02:00
Lorenz Haas
c163f8cd66 CppEditor: Uncheck rare functions in "Insert Virtual Methods"
By default virtual functions of QObject, QWidget and QPaintDevice are
unchecked by default.

Change-Id: I863c3f63ee92d2ddc6f533bd8a65740e87503165
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-05-24 14:33:12 +02:00
Lorenz Haas
bddaab248b CppEditor: Consider base class namespace in "Insert Virtual Methods"
Change-Id: Ife5f34d410781d3c1ae75a3bf1c412f7d76dca80
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-05-24 11:40:13 +02:00
Lorenz Haas
20a23ec72b CppEditor: Do not show InsertDefFromDecl if triggered on a statement
Change-Id: Ib0b110ac80d9519461a6ba6cf5b7c77925ed2ea5
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-05-24 11:12:32 +02:00
Lorenz Haas
276e2bccaa CppEditor: Hide "Assign to Local Variable" if signatures don't match
Task-number: QTCREATORBUG-9321

Change-Id: I31ac75a480b30ef26f343557088c4bbe5e95c4c6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-05-24 10:22:21 +02:00
Robert Loehning
1f62d7c90d Normalized connect()s
Change-Id: I82e891a73724cdfa0db8c84e9daeb72e00e87029
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-05-16 13:55:14 +02:00
Lorenz Haas
d25c5f35ca CppEditor: InsertDefFromDecl: Hide when definition already exists
"Add Definition Inside/Outside Class" was wrongly shown when there was
already an definition outside the class.

Change-Id: I6409080c6a1a3abdd4511f7db14ecb4f63458411
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-05-15 13:39:32 +02:00
Oswald Buddenhagen
6fb94a7b10 Merge branch '2.7'
Conflicts:
	doc/src/qtquick/qtquick-components.qdoc
	doc/src/qtquick/qtquick-designer.qdoc
	qtcreator.pri
	qtcreator.qbs
	src/plugins/cppeditor/cppinsertdecldef.cpp
	src/plugins/qnx/qnxruncontrolfactory.cpp

Change-Id: I0a37a07c42719bc0d9ef5b3ac4641d01a63c0d88
2013-05-15 10:21:47 +02:00
Leena Miettinen
c32fe654fa UI text: fix capitalization of refactoring action
Words longer than 5 characters are always capitalized when
book-style caps are used.

Change-Id: I61d34aab74eb2fa3028681ef36b553347a0c34b1
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-05-14 13:02:27 +02:00
Lorenz Haas
d288e3999b CppEditor: Quick fix "Insert (Pure) Virtual Methods"
This quick fix inserts (pure) virtual functions of base classes to the
current class. For selecting the functions which should be inserted and
for choosing the insertion mode (only declarations or with definitions
inside, outside or in the implementation file) a dialog is shown.

Task-number: QTCREATORBUG-2210
Task-number: QTCREATORBUG-2692
Task-number: QTCREATORBUG-3908
Task-number: QTCREATORBUG-5868
Task-number: QTCREATORBUG-7982
Change-Id: I8e94905afcae4778986f4c3925a494e0c6b3b8ee
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-05-14 09:14:25 +02:00
Lorenz Haas
7ef611047f CppEditor: Improve insert position for AddIncludeForUndefinedIdentifier
Includes of moc files are not considered while determining the new
include's position. Further the new include is inserted at its
"alphabeticaly sorted" position.

Task-number: QTCREATORBUG-8871
Change-Id: I67b40a6f538112753298b960da488e24f4643808
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-05-14 08:51:30 +02:00
Lorenz Haas
15f90404aa CppEditor: InsertDefFromDecl: choose insert position
Now one can decide where the new definition should go: Inside the class,
outside the class or to the implementation file. Further the text cursor
is positioned inside the new created definition body.

Task-number: QTCREATORBUG-6973
Change-Id: I593955dd1e44e35240fa1e9b9a5c1a67eb119456
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-05-10 11:33:05 +02:00
Erik Verbruggen
8e18adc70f C++: Fix crash in code completion.
Caused by a dangling pointer of a template instantiation which had been
cloned into the wrong control. The fix is to remove that control and
refer to the control of the bindings (which is the correct one).

Change-Id: I951a60f2e613aae1e4ac901ce99c820212018709
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-05-03 10:56:26 +02:00
Sergey Shambir
7047cf0140 CppEditor: simplified Objective-C status check
Change-Id: Id318fc34b19295dacef63a7192a0ff11fef3e274
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-05-02 15:21:16 +02:00
Lorenz Haas
7ae31f2ea9 CppEditor: Add quick fix for "Assign to Local Variable"
Adds a local variable which stores the return value of a function call
or new expression.

Task-number: QTCREATORBUG-9052
Change-Id: I1fccbdd5b9f28c8409a4b0fa24610e406de61b24
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-04-29 08:49:31 +02:00
Friedemann Kleint
2e2f334349 Fix tr-context in quickfix.
Change-Id: Idf741c0eb77dad6f2893f4dff45a8455d3ce9289
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-04-24 11:49:40 +02:00
Lorenz Haas
39d000430e CppEditor: Quick fix "move definition" keeps ctor-initialization list
Task-number: QTCREATORBUG-9157

Change-Id: Ic46086ba07a86292bbf48de62b69e3f33628fd86
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@digia.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-04-18 15:54:13 +02:00
Andrey M. Tokarev
72e0ded3c4 CppEditor: add more sections (protected, ...) for declaration (refactoring)
You can write definition of function, type Alt+Enter, as usual,
and select not only public but also other possible sections
like private, public slots and so on.

Change-Id: I2faefc3833c6f05c9e2e5a2a41328bcdbe17ba14
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-04-18 15:08:19 +02:00
Nikolai Kosjar
96278750f7 CppEditor: Concatenate strings with + instead of %
operator+ is the official way for concatenating strings whereas operator%
is an optimization that needs certain defines.

The code which was using operator % is not performance critical.

Change-Id: I4c7f4310cc5708aa5f9009672d932f913a2eb59f
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Christian Kandeler <christian.kandeler@digia.com>
2013-04-17 10:10:37 +02:00
Lorenz Haas
6f3b41214b CppEditor: Add refactoring operation to move definition of a function
With this new operation it is possible to move a function definition
from a cpp file to the header file or vice versa. One can also move a
function definition outside the class body.

Task-number: QTCREATORBUG-516
Task-number: QTCREATORBUG-5364
Change-Id: Id3daefe79284bd9086282369c9d251e003951c11
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-04-15 17:03:49 +02:00
Nikolai Kosjar
7cc8314425 CppEditor: Fix compilation for Mac OS X.
Change-Id: Iae7ddf066de86f12b9e01af48374c1589afe1388
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-04-15 14:23:05 +02:00
Lorenz Haas
61ddf16689 CppEditor: Rearrange quick fix files
Moved content of cppinsertdecldef.(cpp|h) cppcompleteswitch.(cpp|h)
cppinsertqtpropertymembers.(cpp|h) and ApplyDeclDefLinkChanges to
cppquickfixes.(cpp|h).

Made msgQtStringLiteralDescription private member function of
WrapStringLiteral, added anonymous namespace, "extracted" useful
functions to the top of cppquickfixes.cpp.

Change-Id: I4f82a005a62be3c29d4b96902667bd3a2b9397cc
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-04-15 13:32:42 +02:00
Lorenz Haas
2e8d471c3b CppEditor: Fix insert position of AddIncludeForUndefinedIdentifier
If there are no includes, add new include at the top of file but skip
possible comments at the beginning.

Task-number: QTCREATORBUG-8799
Change-Id: Ie2be644f6ad0a948cf3d8700efa00087753d9863
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-04-10 16:42:29 +02:00
Friedemann Kleint
d61bc4fcec Clean headers in CppEditor.
Ran script to remove inludes on a trial-and-error basis and
manually corrected it.

Change-Id: I61a5c2fff02616f6883ddf3923e4361fca6bf92b
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-04-10 11:04:22 +02:00
Oswald Buddenhagen
7923032022 fix include style relating to cplusplus libraries
... and adjust INCLUDEPATH accordingly.

while i'm at messing with include statements, also re-order the include
blocks according to policy and sort them within bigger blocks.

Change-Id: I7762abfd7c4ecf59432b99db2f424e4fa25733a5
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2013-04-03 13:40:39 +02:00
Sergey Shambir
63fe568b9b CppTools: improved languages support in ProjectPart
Please, read blueprint here:
http://qt-project.org/wiki/Blueprint-for-language-specs-system

Removed feature from QbsProjectManager: it not longer splits project on
separate C and C++ parts, because Qt version used only by clang parser
(not native) and can be ignored for pure C and Objective-C without C++.

Change-Id: I1c561f7f9f915cc6cb8579d19db74e8352f54c1e
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2013-03-21 17:22:18 +01:00
Nikolai Kosjar
acfeed29c5 Compile fix (for windows)
Change-Id: Id3aff27a92734b51e894b8a4d55cd9531d810b9e
Reviewed-by: Oliver Wolff <oliver.wolff@digia.com>
2013-02-15 08:42:35 +01:00
Nikolai Kosjar
30da7ad3e2 C++: Pass only reasonable ASTs to pointer declaration formatter
Change-Id: Ide829a8084d3fef79f252dc7724bd90ce8ebba04
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-02-14 12:25:32 +01:00
Nikolai Kosjar
c6a7fb8ccf C++: Refactor quick fixes
- Put declarations into quickfixes.h to simplify testing
 - Give the factories more meaningful names

Change-Id: If74c29a8c17819d5369ffa3df94d146b14e53af9
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-02-14 12:25:20 +01:00
Nikolai Kosjar
32e83ef89d C++: Use camel case style in quick fix name.
Change-Id: I6f5f1f276cd0ede39be4022fc417ecf40fa30004
Reviewed-by: hjk <hjk121@nokiamail.com>
2013-02-06 12:26:59 +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
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
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
Nikolai Kosjar
632eaf06a9 C++: Add Quickfix for fixing pointer types/declarations
Task-number: QTCREATORBUG-6169

Change-Id: I718dc071b1904d5cbf575c8f379e5ed08522d51f
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-01-24 12:00:45 +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
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
Orgad Shaneh
a44aa55502 Add whitespace after control keywords
find -name \*.cpp -o -name \*.h | \
  xargs sed -Ei 's/ (for|foreach|if|switch|while)\(/ \1 (/g'

Change-Id: I9efdff4bf0c8c01a52baaaeb75198483c77b0390
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-28 20:20:46 +01:00
Erik Verbruggen
964c01a460 C++: ProjectParts now contain everything that gets linked together.
Change-Id: Ib862e51897156a03a4a45e2a1690b00caeb03518
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
2012-11-28 09:09:14 +01:00
hjk
3fba291b7b cppquickfixes: compile fix for msvc2008
Change-Id: I287c76372d2c50c408b9ef74e292a36d8e278449
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-08 08:43:42 +01:00
hjk
438e4af735 CppEditor: simplify CppQuickFixOperation interface
Change-Id: Ib3ed82c7f07f80027b18471ffb7b3055fa74eb52
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-11-07 14:29:11 +01:00
hjk
6fb3328dbe CppEditor: remove operator() overloads from OverView
Feels less obfuscated.

Change-Id: Ide0ec1f38762038ddbb1eddb4f70f7d6acdf1ff7
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-10-17 11:20:10 +02:00
hjk
386ca7c8dd Adjust license headers
Change-Id: Ice592c6de9951ee3b2c4cb52ed0bb3b6770e0825
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2012-10-05 17:12:56 +02:00
Eike Ziller
e0e8cf3ada Contact -> qt-project.org
Change-Id: I7134d7de30bcf9f9dcfad42520dd45ee083a852d
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@nokia.com>
2012-07-19 13:23:21 +02:00