Commit Graph

3171 Commits

Author SHA1 Message Date
Robert Loehning
7854dd33d9 Squish: Test opening of QBS project
Change-Id: I980ad15147f419b2d42d86b2a62ebf2875a3c2d8
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-09-01 15:23:03 +02:00
hjk
389d64ec33 Debugger: Disable some boost usage in autotest
Breaks some setups and is not that important anyway.

Change-Id: Ic5d324445c2a2f12a7f6c2a4b52b51e3a2567c95
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-08-29 16:40:02 +02:00
Christian Kandeler
1d5091e48f Do not use deprecated Qt functionality.
Replace all* remaining deprecated Qt 4 functions with
their Qt 5 counterparts. This means we no longer need to
define the QT_DISABLE_DEPRECATED_BEFORE macro.
This patch is relatively small because most source-compatible
changes of this kind have been done before.

* The one exception is the QmlDesigner, which uses QWeakPointer
in a deprecated way all over the place.

Change-Id: Id4b839c6685f3b5bdf2b89137f95231758ec53c7
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-08-29 14:10:41 +02:00
hjk
9d1bc2fdd3 Debugger: Add boost::unordered_set dumper
Change-Id: I42c39ccfe979023e2aa8957132a0ef3404f45aa8
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-08-29 00:43:01 +02:00
Nikita Baryshnikov
e9f7625a0b Fix tests build
As utils/logging.h was removed

Change-Id: Id6a31dbf7561bd931ca3185c5da4276323cceb36
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-08-27 16:42:26 +02:00
hjk
251a1d2588 TextEditor: Clean up/streamline SyntaxHighlighter setup
No need for the third construction way if that's not
really used by the factories anyway.

Change-Id: Id3b34da5b0320babae9bef96a79bbaa52e0db06d
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-27 15:00:43 +02:00
Eike Ziller
aa6495a261 ExtensionSystem: Remove Qt4 support
Remove usage of the Q_EXPORT_PLUGIN macros, which do not exist in Qt 5.

Change-Id: I678c3cf10b9c5d5c1b9f252b0ecd1c97dc810a47
Reviewed-by: hjk <hjk121@nokiamail.com>
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-27 08:44:34 +02:00
Ulf Hermann
4937441091 QmlProfiler: autotest for AbstractTimelineModel
Change-Id: I16a29ac21efd9a3810740a50708c1bce9b90e40a
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
2014-08-26 14:54:57 +02:00
Robert Loehning
14fe8f07cd Squish: Update Creator's sources to v3.2.0
Change-Id: I224da43ad46acfce33fb62926df62c211164ed40
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-26 11:20:29 +02:00
Eike Ziller
78b642eb0c Remove pre-Qt 5.3.1 code paths from main Qt Creator pro and pri files
Change-Id: I71bee691a2b9bad7dbdb4ca9c0a938d4313305f7
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-08-26 11:00:57 +02:00
Nikolai Kosjar
89bd4ee3c4 C++: Base parsing on editor document instead of widget
This mainly takes CppEditorSupport apart.

* Parsing is now invoked by CPPEditorDocument itself by listening to
  QTextDocument::contentsChanged().

* Upon construction and destruction CPPEditorDocument creates and
  deletes an EditorDocumentHandle for (un)registration in the model
  manager. This handle provides everything to generate the working copy
  and to access the editor document processor.

* A CPPEditorDocument owns a BaseEditorDocumentProcessor instance that
  controls parsing, semantic info recalculation and the semantic
  highlighting for the document. This is more or less what is left from
  CppEditorSupport and can be considered as the backend of a
  CPPEditorDocument. CPPEditorDocument itself is quite small.

    * BuiltinEditorDocumentProcessor and ClangEditorDocumentProcessor
      derive from BaseEditorDocumentProcessor and implement the gaps.

    * Since the semantic info calculation was bound to the widget, it
      also calculated the local uses, which depend on the cursor
      position. This calculation got moved into the extracted class
      UseSeletionsUpdater in the cppeditor plugin, which is run once the
      cursor position changes or the semantic info document is updated.

    * Some more logic got extracted:
	- SemanticInfoUpdater (logic was in CppEditorSupport)
	- SemanticHighlighter (logic was in CppEditorSupport)

    * The *Parser and *Processor classes can be easily accessed by the
      static function get().

* CppHighlightingSupport is gone since it turned out to be useless.

* The editor dependency in CompletionAssistProviders is gone since we
  actually only need the file path now.

Change-Id: I49d3a7bd138c5ed9620123e34480772535156508
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-08-25 13:06:01 +02:00
hjk
6431ab2c79 Use Qt 5's QStringList::join(QChar)
Less typing and less cycles than join(QString) where appropriate

Change-Id: I6ebc0e17e4d7fd9845864dd95b7de4ba4dad6906
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-08-25 08:21:14 +02:00
Erik Verbruggen
876ea282d2 GenericProject: put different languages into separate project parts.
This is in preparation for changes to the ProjectParts, where one part
can only hold files for 1 language.

Change-Id: I5e9a1a803ecc3ecbb36added0d0094df63922549
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-08-21 13:11:03 +02:00
Erik Verbruggen
271c1bb89a C++: change return type to enum.
And not have it converted to int after converting to unsigned.

Change-Id: If95caec46936c2a140c3fbd668fa2f085a9287ed
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-08-20 14:08:48 +02:00
Eike Ziller
c4e51e7405 Merge remote-tracking branch 'origin/3.2'
Conflicts:
	qtcreator.pri
	qtcreator.qbs

Change-Id: I926bdfc7df6158207cfc07f3c6c591d0a59b7667
2014-08-19 12:34:58 +02:00
Christian Stenger
ad239a766c Squish: Revive WELP04 for Squish 5.1.1+
Change-Id: If357eca07661df58484ea12d22a881d3d6564523
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
2014-08-19 07:34:47 +02:00
Robert Loehning
742db5115c Squish: Use small letters in shortcuts
Following Squish documentation. Capital letters even caused
problems in nativeType().

Change-Id: I902984da40c7b57c1c40d35c2cd183e95481f1cf
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-18 15:20:27 +02:00
Robert Loehning
bc03271f0e Squish: Remove unused objects
Should have done so in 4541173535

Change-Id: I2f6b578db506d8e9e35b90d0a7fbc2ae833b148c
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-18 11:30:55 +02:00
Ulf Hermann
8b3b868f4c QmlProfiler: Rename JavaScript view to "V8"
The fact that the separate JavaScript view only works with versions of
Qt that use the V8 JavaScript engine is frequently confusing users.
JavaScript events for newer versions of Qt are integrated into the
Events and Timeline views, making the separate JavaScript view obsolete.
For those users who already know it and who are still using Qt 5.0 and
5.1 "V8" will be recognizable. For others "V8" won't mean anything and
they'll ignore it.

Change-Id: Iac0d89db24a3677e47b978a152cfc25c01f9c2b6
Task-number: QTCREATORBUG-12766
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@digia.com>
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
2014-08-18 10:33:13 +02:00
Eike Ziller
d9d0aba1c4 Merge remote-tracking branch 'origin/3.2'
Conflicts:
	qtcreator.pri
	qtcreator.qbs
	src/plugins/coreplugin/editormanager/editormanager.cpp
	src/plugins/projectexplorer/editorconfiguration.cpp
	src/plugins/projectexplorer/projectfilewizardextension.cpp
	src/plugins/qmakeandroidsupport/createandroidmanifestwizard.cpp

Change-Id: I8de0f6fcdd8d214fbc14e79f74cb0206e6e2c6c1
2014-08-15 16:14:34 +02:00
Robert Loehning
8c133689be Squish: Stabilize selectFromCombo
I keep losing the second mouseClick in tst_create_proj_wizard...

Change-Id: I45f37c848c7eccd9fd59c455e8d6c80c6de88c06
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-15 13:46:24 +02:00
Robert Loehning
75ec15e849 Squish: Fix tst_codepasting
Test crashed when there was unexpected output

Change-Id: I6fd56bf95d664cff5284e574db9b57f42b0e93cf
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-14 12:55:12 +02:00
Robert Loehning
7e92419175 Squish: Fix hack for tests opening multiple files
Change-Id: I35ff3e1cf99a8e5f171f0728f05a3b828da78293
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-14 11:34:57 +02:00
Robert Loehning
4541173535 Squish: Remove pointless waiting
Change-Id: I1da64859bf5d6974ceacfe22d230be1983533d77
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-14 11:28:26 +02:00
Robert Loehning
5e318936d0 Squish: Stabilize tst_codepasting
Change-Id: I38f53d98159e15340b2f6cbc1912c6e15242dc5b
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-13 15:32:01 +02:00
Robert Loehning
646dcf0eea Squish: Hack when "Open File" dialog can't be found
Happens to me with binary packages for Linux.

Change-Id: I688103ba2df26056468e89271e815b5717effeee
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-12 16:39:47 +02:00
Christian Stenger
2b02c0067f Squish: Use only Delete key that is documented
For consistency and to avoid unforeseen side effects.

Change-Id: Iebbf8179b604572e7ad24dbfbf757387788e2383
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
2014-08-12 16:22:33 +02:00
Christian Stenger
ee97aeb5b0 Squish: Revive WELP03 for Squish 5.1.1+
Change-Id: I8c92495f3441fc8ee68e34d15f48f4021ae90f90
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
2014-08-12 15:43:31 +02:00
Daniel Teske
0d5763425a TreeViewFind -> ItemViewFind
The code changes to enable this is minimal.

Change-Id: Ia5571adcc724e89eb5c68a5f91e38b9cf274516d
Reviewed-by: Eike Ziller <eike.ziller@digia.com>
2014-08-11 14:49:52 +02:00
Oswald Buddenhagen
f3a61e8bf7 Merge remote-tracking branch 'origin/3.2'
Conflicts:
	qtcreator.pri
	qtcreator.qbs
	src/plugins/android/androidglobal.h

Change-Id: I3367bf2ea47c088989175dddeed2210294346f4c
2014-08-05 14:24:23 +02:00
Christian Kandeler
f7d9a99a75 Fix qbs build.
Change-Id: Ia4a9ce7df4694056bc499be773f9472ae9f0542d
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com>
2014-08-01 15:16:16 +02:00
Robert Loehning
b2682fee22 Squish: Remove workaround
Just doing as the great wise frog tells me.

Change-Id: I73c07142cd902ac3b89f8c00597087d7d550a2ee
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-08-01 14:31:39 +02:00
Christian Stenger
5a06e6f903 Squish: Revive WELP02 for Squish 5.1.1+
Change-Id: I432494320cbbd4f19e0386a19183d0b9476054ed
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
2014-08-01 12:11:48 +02:00
Fawzi Mohamed
d90bd09499 qmljs: tests of the import architecture
First tests using the new qmljs testing architecture

Change-Id: Id88fe53dddbb720c56cd0473e74f476862feb803
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2014-07-30 15:07:50 +02:00
Fawzi Mohamed
02bdf30f45 qmljs: improve handling of qml dialects
Language::Enum -> QmlDialect
 * class instead of enum
 * moved Language specific operations to it (from Document)
 * nicer handling
QStringList -> PathsAndLanguages
 * store language along with path, to perform a correct scan and improve
   path handling

Change-Id: If69d35c63cfeb48aa670b51870916cd0c40f1916
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@digia.com>
2014-07-30 15:07:35 +02:00
Marco Bubke
8780a5a5e0 QmlDesigner: Fix quick1 tests
The test still used the unsupported Qt 4.7 import.

Task-number: QTCREATORBUG-12567
Change-Id: I47eee256d9e3160aea8e41537fcea92d20b42fd7
Reviewed-by: Tim Jenssen <tim.jenssen@digia.com>
2014-07-30 14:28:20 +02:00
Robert Loehning
ed9261733b Squish: Replace Qt 5.0 by Qt 5.3
Change-Id: I2fb5ea259c523fce4e71f02ca087ed93fd9a0ae1
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
2014-07-29 18:15:05 +02:00
Christian Stenger
9b89379745 Squish: Revive WELP01 for Squish 5.1.1+
Change-Id: I1d1bc9334fe6c0fc1187b9bcde27d0b4ed3081b4
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
2014-07-28 14:50:41 +02:00
Nikolai Kosjar
1fe1c6d0b4 C++: Tests: Remove plain-cplusplus
Change-Id: Ifdf4cd5ea478c87d585c9404caf8f4be6873f692
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2014-07-28 12:14:43 +02:00
Nikolai Kosjar
6a9ae7e25f CppTools: Auto-include pre-compiled headers
So far the pre-compiled headers were processed (thus defines from those
headers were visible), but the actual includes for the documents were
not added, which is necessary for lookup/completion.

Note that this will be only done if pre-compiled headers are not ignored
(Options > C++ > Code Model > [] Ignore pre-compiled headers).

Change-Id: I54a8e6b00597af164d958e3e9f2a1075ea187788
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-07-24 12:25:02 +02:00
Nikolai Kosjar
d3c5fff66d C++: Fix expensive parsing of expressions
For expression statements like "(g(g(g(...(g(0))...))))" we reparsed
quite much again and again for nothing. The high-level trace for this
expression looks like this:

    parseCastExpression
      parseTypeId
        parseAbstractDeclarator
          parseAbstractCoreDeclarator
          parseParameterDeclarationClause (--> DEEP)
            ...

      parseUnaryExpression
        ...
        parseCorePostfixExpression
          parseTypeId (--> DEEP)
          parsePrimaryExpression (--> DEEP)

Especially parseTypeId is expensive in this case and it's called two
times, both from the same token (index).

With this patch, we remember for certain ASTs the parse results and
re-use them when needed.

Change-Id: I013d1c064c655636bc94db408097863b5e183fc2
Task-number: QTCREATORBUG-12252
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-07-24 12:06:50 +02:00
Nikolai Kosjar
1926493fe9 C++: Tests: Run ASTVisitor on parsed document
...as a sanity check.

Change-Id: I391276e41c5180d0df72fa6267f58801bf2d5da3
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2014-07-24 12:06:36 +02:00
Erik Verbruggen
3a242495fe ObjC++: also index ObjC symbols.
@classes, @protocols, @properties and -methods (and +methods) will now
show up in the locator.

Change-Id: I33f904c456c321fc80b8aba7ff52d5f1207c58be
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-07-24 11:38:54 +02:00
Erik Verbruggen
45b1169d06 C++: Support alignas in C++11 mode.
Change-Id: Ifa81a481bf92b5b71495a105ae292f3e9895f704
Task-number: QTCREATORBUG-9279
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-07-22 16:43:51 +02:00
Eike Ziller
0374a9782e Merge remote-tracking branch 'origin/3.2' into HEAD
Change-Id: I257bb9310bb3bde493aff4cd43091ec63fcb5203
2014-07-22 16:11:40 +02:00
Erik Verbruggen
5d45e0b69a C++: block recursion when parsing subsequent case statements.
A case or a default statement must be followed by another statement.
When a such a case (or default) statement is followed immediately by
another case (or default) statement, then this would create a linked
list, and the parser will recurse to parse such input.

In order to prevent the parser running out of stack space while
recursing, parse this corner case by blocking parsing a labeled
statement as the first statement after a labeled statement.

The advantage is that these statements do not form a linked list, so any
subsequent visitation of the AST won't run out of stack space either.

Change-Id: Id2111a49509132997f5fbe4bb12c92c729ec2522
Task-number: QTCREATORBUG-12673
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@digia.com>
2014-07-22 15:45:02 +02:00
Robert Loehning
95d22fc972 Squish: Revive testing of Welcome mode
This partly reverts commit a1274c93c8.

Change-Id: I1ba8586ae51a42a2239ee4ae5c8ead2ac880ecfa
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
2014-07-22 15:03:27 +02:00
Christian Stenger
469fe52af7 Squish: Provide test for QmlJSConsole
Change-Id: Ib7cbf312b611176dbb762958bca687e043372a27
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
2014-07-22 13:11:42 +02:00
hjk
776da7b5b3 Debugger: Improve associative std container display
Handle multimap and multiset. Use the "[index] key" display that's
also used for Q{Multi,}Map both for consistency and because it's
needed to distiguish otherwise identical keys.

Change-Id: Ib9e369206bce89e5e27d1f6f60ead11ca88e2dcb
Reviewed-by: hjk <hjk121@nokiamail.com>
2014-07-22 10:47:45 +02:00
Christian Stenger
f5474a35e5 Squish: Fix detection of expected debuggers on Linux and Mac
Change-Id: Ie3f1c291e9ba4646fb948bf30d38d8db9af31886
Reviewed-by: Robert Loehning <robert.loehning@digia.com>
2014-07-22 08:02:26 +02:00