Commit Graph

642 Commits

Author SHA1 Message Date
Erik Verbruggen
ae7bf03b48 C++: Removed unused ObjC keyword highlighting.
Change-Id: Ie4db459ba9942d703ad3bc5a0f6805e39f729e9a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-04-17 15:43:22 +02:00
Eike Ziller
9ff8979da3 Merge remote-tracking branch 'origin/2.7'
Conflicts:
	src/plugins/cpptools/cppchecksymbols.h
	src/plugins/qmldesigner/components/formeditor/resizecontroller.cpp

Change-Id: I887ba071fa637ad44e39bcae581738fa078a6612
2013-04-11 18:27:52 +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
Friedemann Kleint
4b0bafd615 Clean headers in CppTools.
Ran script to remove inludes on a trial-and-error basis and
manually corrected it.

Change-Id: Ic8464ea084ca1ab401e9f4a7d0183b92b4038902
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-04-10 10:55:14 +02:00
Przemyslaw Gorszkowski
7c74482ad3 C++: fixed operator* for nested class of enclosing template class
Fixed:
* highlighting
* follow symbol
* find usage

Task-number: QTCREATORBUG-9006

Change-Id: I34a42f8665335857f41290217e7265e8a752455b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Sergey Shambir <sergey.shambir.auto@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-04-09 11:23:14 +02:00
Tobias Hunger
ea23948efb CppTools: Use namespace CppTools consistently
There were quite a few classes using CPlusPlus namespace in the
CppTools plugin. Rename them and do some other small namespace
related coding style fixups.

Change-Id: I093fc1f3fc394fd9923e3f18d5f66522e288f21d
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-04-08 13:21:31 +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
Mitch Curtis
e53ae81858 CPP, QmlJs editors: don't indent when moving commented lines up/down.
Currently, pressing Ctrl + Shift + Up/Down with a commented block of
text selected will indent that block if the line two lines above the
block is indented. This is undesirable, because the indenting for that
block is incorrect when it is uncommented. See the following example:

Step 1:
void f()
{
    int x;

//    int y;
}

Step 2 - After Ctrl + Shift + Up:
void f()
{
    int x;
    //    int y;

}

Step 3 - After uncommenting the block:
void f()
{
    int x;
        int y;

}

This patch tells the CPP and QmlJs editors not to indent commented
blocks when moving them. Blocks that are not entirely within comments
(excluding whitespace) are not affected.

Tested with (C++ and JavaScript, respectively):
http://paste.kde.org/688778/
http://paste.kde.org/688784/

Change-Id: I35414e6dfd5a1084fd997594e711ea9932231981
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-03-08 15:15:53 +01:00
Friedemann Kleint
a2f3bcc97d Fix Krazy-warnings about non-const ref iterator in CppEditor.
Change-Id: I6af10e51c25ae63d33f15f35960362e7f529721b
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-03-08 10:48:29 +01:00
Erik Verbruggen
97c6af9443 C++: optimize the semantic highlighting in the UI thread.
Done by reserving enough space in for the various QLists when created,
and by preventing unnecessary copying of lists.

Change-Id: I5a9f0f7042bbaa1cf5eb076b956c35f2191468c6
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-02-26 16:25:34 +01:00
Erik Verbruggen
edec1c1dd5 Fix compilation issue with clang.
cppeditor.cpp:2631:13: error: use of overloaded operator '+' is ambiguous (with operand types 'QChar' and 'QChar')
            + characterAt(pos - 2)
            ^ ~~~~~~~~~~~~~~~~~~~~
../../../../../builds/qt5-stable/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:1116:22: note: candidate function
inline const QString operator+(const QString &s1, QChar s2)
                     ^
../../../../../builds/qt5-stable/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:1118:22: note: candidate function
inline const QString operator+(QChar s1, const QString &s2)
                     ^
../../../../../builds/qt5-stable/qtbase/include/QtCore/../../src/corelib/tools/qstring.h:1114:22: note: candidate function
inline const QString operator+(const QString &s1, const QString &s2)
                     ^

Change-Id: I65663a901d301d6b0a3df2c8b5631e9aa5ab081b
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-02-21 15:39:20 +01:00
Knut Petter Svendsen
c937226db1 C++: Improved automatic Doxygen comment blocks with CppStyle
Added support for CppStyle for Doxygen block generation when
hitting enter after a /// or //! comment. Previously only
QtStyle and JavaStyle was supported.

Change-Id: Ib010e55ba602127a6842ba02034fbe85994ee2bd
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-02-21 13:34:25 +01:00
Nikolai Kosjar
8417c6493a Editors: Delete context menu if editor widget is deleted
...in CppEditor, QmlJSEditor and BinEditor.

Addresses second crash reported at QTCREATORBUG-8775. The first one is
already fixed.

Task-number: QTCREATORBUG-8775

Change-Id: I11c1f030ebeb2b2cbec02503e8e225fc5600a101
Reviewed-by: David Schulz <david.schulz@digia.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2013-02-19 11:04:29 +01:00
Nikolai Kosjar
9f94a8b3b8 C++: Slim down SemanticInfo
Remove SemanticInfo::hasD and SemanticInfo::hasQ. They were used in
CPPEditorWidget::highlightUses() but became superfluous by filtering out
invalid Uses.

Change-Id: I08f46e55cf42fbc6088fbcb03e30822421df57d6
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-02-19 10:18:25 +01:00
Nikolai Kosjar
c90815e2c6 Editor: Do not highlight invalid Uses
Invalid Uses (line == 0) are generated by e.g. a Q_D statement.

This kills
 1. the selection artifact in line 0, column 0 and
 2. the warning "QTextCursor::setPosition: Position '-1' out of range"

for the following example code and cursor position:

    void f()
    {
        Q_D(x)
        d->hello(); // put the cursor on the 'd'!
    }

Change-Id: I6968cbc261f05e08f71ff125437c8c9e863b475b
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-02-14 12:34:52 +01:00
David Schulz
6ef0cf1a30 Editor: Refactor Open Link in Next Split.
Cleanup code and added shortcuts and menu entries for
- open header/source in next split
- follow symbol under cursor in next split
- open declaration/definition in next split

Change-Id: I2c4347749d26669d88b7c2968f30f60710f442b1
Reviewed-by: Petar Perisin <petar.perisin@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-02-14 09:46:16 +01:00
David Schulz
45b021331e Editor: Renaming Link members.
Change-Id: I1ae21152ee7b8e2a9323322575de23d77c260c72
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2013-02-11 16:00:52 +01:00
Erik Verbruggen
6d2c71ca84 C++: fix semantic highlighting when multiple editors are visible.
Update an editor when it is visible, not only when it is the active
editor.

Change-Id: I972d7185e466355dba62f2f59144cfaad5f37778
Reviewed-by: David Schulz <david.schulz@digia.com>
2013-02-01 14:11:11 +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
Francois Ferrand
f128a92485 Highlight references to macro under cursor.
Uses to be done only for symbols, implement for macros as well.

Change-Id: I5403527cc8b423e7051c3ce470e2f40ad65e65d5
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2013-01-23 14:36:59 +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
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
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
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
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
Erik Verbruggen
70f6b107b6 C++ quickfixes: Improve function change tracking.
Now the (new or changed) return type is also tracked if the user starts
to type it as a prefix of the function name (followed by some white
space).

Done-by: Erik Verbruggen <erik.verbruggen@digia.com>
Change-Id: I902132d5dd8fedcf430c43e9780428825f8ccada
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-12-06 10:51:10 +01:00
Erik Verbruggen
cfc1069c78 C++: Remove hard-coded configuration file name.
Change-Id: Ibe4cc69eafd14dab7707862b1068ce1e21b1d8e0
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2012-12-04 08:33:33 +01:00
Orgad Shaneh
7c4e2b6c60 Id: Add QByteArray constructor
Distinguish from const char * one.

QString ctor is yet to be removed

Change-Id: I2da231036c6417353b0566d39666d918ad141c6d
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-20 08:57:35 +01:00
David Schulz
120ab38814 Editor: fix revision of semanticinfo
Task-number: QTCREATORBUG-7298

Change-Id: I09258fa5a72d47c6a154e97d5f880ccab1b697fd
Reviewed-by: hjk <qthjk@ovi.com>
2012-11-01 10:42:01 +01:00
Erik Verbruggen
f3faef5a1e C++: Fix outdated macro usage info in documents.
Record revisions of documents in macro definitions and usages. Then,
when searching for usages, check the revision of the documents against
the revision of the macros. If they are out-of-sync, repreprocess the
documents to get up-to-date info.

Task-number: QTCREATORBUG-7872
Change-Id: I846bb52ec660024728ab117a9fb7e43382a50e63
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2012-10-15 10:58:07 +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
8daa208f6c Handle mouse wheel on cpp editor's overview combo box
Mind that the mouse wheel doesn't really work on the combo box as
expected, because it only cycles through toplevel items.

Task-number: QTCREATORBUG-7894
Change-Id: I6e22b6c7d7256c16c81280e80652cf1350166f83
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2012-09-21 13:17:49 +02:00
David Schulz
33f8a42503 Editor: rename "Static" in Font & Colors settings
to more clearer "Enumeration"

Change-Id: I785edb6d31a4cd6a0875549f80bcf791ad61587a
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2012-08-29 11:21:58 +02:00
Sergey Shambir
95c5ab2746 Added support for override/final and enum classes
Change-Id: I6dfe9dd606781046ff5a1ed61315741d2f332cb8
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2012-07-30 09:42:30 +02:00
Konstantin Tokarev
d18bf468ad Changed return type of :ICore::mainWindow() to QWidget*
Also removed all <QMainWindow> includes which are not needed
anymore.

Change-Id: I393c9a62a5c6df95d9f35d872e1473a4f13bcdc4
Reviewed-by: hjk <qthjk@ovi.com>
2012-07-19 15:15:53 +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
Francois Ferrand
42a885fc54 Allow expanding items in the overview combobox.
This makes navigation through large files much easier.

Change-Id: Ie55f75078a1727949db6e8824af4795deb96292e
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2012-06-28 16:32:03 +02:00
Andre Hartmann
44a3a5e070 Implemented Rename Macro Usages
Works the same way as Rename Usages for C++ Symbols.

For now, no Search Again as this requieres further work.

Task-number: QTCREATORBUG-413

Change-Id: I09e85ea1e8c247f5ce0b6bc566aba8018c1569e4
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2012-06-06 14:10:07 +02:00
Francois Ferrand
809611f346 CppHighlighter: highlight all functions/methods.
- Highlight all function/methods (not just virtual methods).
- Highlight as a function even if number of arguments does not match. In
  that case, add a diagnostic message to indicate there are too many/too
  few arguments.
- Fix highlighting of parameters in function declarations.
  These used to be handled indiferently, and they could be mistaken for
  type or field references.
- Properly highlight template method calls.

Change-Id: I6e61c9ee47763db95c62314f9cc1c4d398df38b3
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2012-06-05 09:30:54 +02:00
Eike Ziller
3934347fe9 ActionManager API cleanup.
d-pointer instead of inheritance
static methods

Change-Id: I7b2f0c8b05ad3951e1ff26a7d4e08e195d2dd258
Reviewed-by: hjk <qthjk@ovi.com>
2012-05-25 10:08:24 +02:00
hjk
21bf0046c3 editormanager: simplify use of interface
Less code on the user side, same meaning.

Change-Id: I14e54a5d2ed8e024a51cce74eaf7c8419ad544be
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-05-11 13:51:14 +02:00
hjk
d006ca80a6 texteditor: use an enum instead of QString as color ids
Change-Id: I658412c18d5ccfe978ec444451c6417ffb18d71c
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-05-03 13:11:25 +02:00
David Schulz
87de978d17 Editor: remove double openEditorAt
Task-Number: QTCREATORBUG-7327
Change-Id: Ied364e53ed8d7378e960b14f64e30c83b22a4cd8
Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-04-20 15:22:03 +02:00
Francois Ferrand
85609aff8e CppHighlighter: highlight macro references.
Change-Id: I7c90957aa67e03a109af0a722160d4e1c759d716
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2012-04-13 02:07:37 +02:00
Erik Verbruggen
210c191216 Revert "CppHighlighter: highlight all functions/methods."
This reverts commit e3e67467cfea5934f16a95385761455b0c495a0d

Reason is that it shows errors for calls to function-like macros. For example, any use of Q_DISABLE_COPY results in invalid errors.

Change-Id: I1fd1473ac5a30da5b9aebf6a3f0f11055bdbe8ad
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-03-29 15:53:23 +02:00
Francois Ferrand
e639a2381f CppHighlighter: highlight all functions/methods.
- Highlight all function/methods (not just virtual methods).
- Highlight as a function even if number of arguments does not match. In
  that case, add a diagnostic message to indicate there are too many/too
  few arguments.
- Fix highlighting of parameters in function declarations.
  These used to be handled indiferently, and they could be mistaken for
  type or field references.
- Properly highlight template method calls.

Change-Id: I6ab463996dda47554839f482da47f561f76663a7
Reviewed-by: Erik Verbruggen <erik.verbruggen@nokia.com>
2012-03-29 14:53:48 +02:00
Konstantin Tokarev
7ae82b9f94 Added TextEditor commands FollowSymbol and JumpToFile.
Most of editors have "jump to file" or "follow symbol" actions. This
patch reduces amount of related boilerplate code.

New actions are made optional to prevent shortcut clash (both use F2).

Change-Id: I2af580ed9d6789df25f4487ba001f3b83887c504
Reviewed-by: hjk <qthjk@ovi.com>
2012-03-28 08:38:41 +02:00
Eike Ziller
e5e3f91ed2 Merge remote-tracking branch 'origin/2.5'
Conflicts:
	src/libs/qmljsdebugclient/qmlprofilereventlist.cpp

Change-Id: Ic6251d47ecd032ea1db4fc58dc80e19b6e6cf23d
2012-03-15 15:01:54 +01:00
Francois Ferrand
cbc328e2d7 CppEditor: fix indentation of auto-completed comments.
Fix indentation of auto-completed Doxygen comments, as well as auto-
leading characters from the block, to make it work with both spaces and
tabs.

Change-Id: I6c1c1665675cc25e01983e6d39b472f1b1c9683e
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2012-03-15 06:39:29 +01:00