Commit Graph

2882 Commits

Author SHA1 Message Date
Orgad Shaneh
2ec82a2a93 Utils: Support pattern substitution in macro expansion
Syntax is similar to bash substitution:

%{variable/pattern/replacement} takes the expansion of variable, and
replaces the regular expression pattern with replacement once.

%{variable//pattern/replacement} replaces all occurrences.

Capture groups are supported for both forms.

Change-Id: I67ff91e2dad4dd8be81573ea446cd1093a05ccf6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: hjk <hjk@qt.io>
2016-07-15 13:26:41 +00:00
Eike Ziller
7e1b4ccebb Merge remote-tracking branch 'origin/4.1'
Change-Id: I041b949aff8bee481a572ba6f7e2ef72b9010923
2016-07-15 14:10:38 +02:00
hjk
5dcf23f62d Debugger: Disable QDateTime dumper for Qt >= 5.8
Chicken out for now after latest internal structure changes.

Change-Id: I66e283e52f9b51a51065520ecd3eb07b15e82fc2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-07-15 09:07:20 +00:00
Christian Stenger
6063c185cb Tests: Provide qbs file for newly added test
Change-Id: I0b6c41b8c8dbb3ef84bd106aa26357267f5de9a6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-07-15 04:38:40 +00:00
Christian Stenger
7583557dcc Tests: Fix test when using shadow build
Change-Id: I82ebdbd63a221802f24b2ef17ca6c076151fba0c
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2016-07-15 04:38:33 +00:00
Ulf Hermann
262270251a Timeline: Move scenegraph test runner into libTimeline
It's built only if TESTS == 1. This way we can use it from qmlprofiler
tests, too.

Change-Id: I170af41341c15c388046d843406e6651114c209a
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2016-07-13 15:04:04 +00:00
Thomas Hartmann
e1f9cba249 QmlDesigner.Test: Adding test for implicit components
Implicit components like delegates have to be marked by the rewriter.

Change-Id: I5b9c3e14f26c817e058f2db1e955333d43208719
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-07-13 12:35:41 +00:00
Tim Jenssen
1b90a938a3 QmlDesigner: disable debug outputs
+ prettify code

Change-Id: I1749ba5a92b5a1afb1c98bf621aec98cbc838405
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-07-13 12:24:37 +00:00
Thomas Hartmann
bafdc3562d QmlDesigner.Tests: Move test from Qt Quick 1 to Qt Quick 2
Change-Id: I644d86fe77758bc94216db724c7c86bb2d9c205e
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-07-13 12:06:11 +00:00
Thomas Hartmann
137dee313a QmlDesigner.Tests: remove unnecessary processEvents
- it does not change anything nor behavior nor speed

Change-Id: I9c2cc58eb07a9a432c3fe4fe45daca78e6f29cc0
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-07-13 11:52:23 +00:00
Thomas Hartmann
64dfb6f0e1 QmlDesigner.Tests: Fix loadGradient()
The order of nodes from directSubModelNodes() was not defined,
since we collect the nodes from different properties ("default/data"
and "gradient").

If we use the interface of NodeListProperty and explicitly
use the default property, then the order is defined.

Change-Id: I7982fa7749d1795ad39a7b76792ad794e49fa9ea
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-07-13 11:51:26 +00:00
Eike Ziller
5f4284e64b Merge remote-tracking branch 'origin/4.1'
Conflicts:
	README.md

Change-Id: I21f96ebb85b8a2b55b4d8066f3c9d4aba5e9b7ee
2016-07-12 13:35:47 +02:00
Eike Ziller
61ab1382dc Add auto test for algorithms
The currently most interesting is Utils::transform.

Change-Id: Ic21ec098f15ae4564227a84d11ef95f57ac72d6c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-07-11 09:56:18 +00:00
Eike Ziller
546df37c98 Merge remote-tracking branch 'origin/4.1'
Conflicts:
	README.md
	src/plugins/modeleditor/actionhandler.cpp

Change-Id: I65c2885593b881eda94872168a3891cab9cafe71
2016-07-11 10:46:05 +02:00
hjk
e48451b0a3 TreeModel: Consolidate child()/childAt() and rowCount()/childCount()
We never used the possibility to overload the virtual child() and
rowCount() functions, it's unlikely to be needed in future.

Change-Id: I7ebdf4dfc70bb0bcadea9ef3fb88f16632a95696
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-07-07 13:39:15 +00:00
Eike Ziller
ee1da81f55 Merge remote-tracking branch 'origin/4.1'
Change-Id: If6cd798a25de0c6eb1b386177c11bf8de535aa42
2016-06-30 09:40:29 +02:00
Christian Stenger
b1a1e169a6 Tests: Remove invalid qml file
File seems to be useless and is not used at all.

Change-Id: I7b6d7f8804cdf07c6027abb9822d99bdf5ad9dbf
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-06-28 16:36:10 +00:00
Nikolai Kosjar
dc01319cd7 C++: Fix compilation of tst_lexer.cpp
...with MSVC2013.

tst_lexer.cpp(406) : error C2398: Element '1': conversion from
  'CPlusPlus::Kind' to 'unsigned int' requires a narrowing conversion

Change-Id: I1c9415cb02d2f0fa85d48a1abbc688d8f53b5b43
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
(cherry picked from commit 04b2194781)
2016-06-28 12:56:56 +00:00
Orgad Shaneh
847637708f Tests: Use Qt5-style connects
The heavy lifting was done by clazy.

Change-Id: If3332a2b4a6d011d2cb74996f5dd750452093f31
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-06-28 12:54:02 +00:00
Eike Ziller
9cf3e30307 Merge remote-tracking branch 'origin/4.1'
Change-Id: Ic8d82172a97bdf1dbf3d047157cc2c8d853f35cc
2016-06-28 12:13:39 +02:00
Nikolai Kosjar
04b2194781 C++: Fix compilation of tst_lexer.cpp
...with MSVC2013.

tst_lexer.cpp(406) : error C2398: Element '1': conversion from
  'CPlusPlus::Kind' to 'unsigned int' requires a narrowing conversion

Change-Id: I1c9415cb02d2f0fa85d48a1abbc688d8f53b5b43
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-06-27 10:37:49 +00:00
Marco Benelli
23ac8b4acf QmlJs: test cases.
Change-Id: I98e6a25e9834ee8bdc66dc4f244c35b187d30ddb
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-06-27 10:37:41 +00:00
Eike Ziller
07fccfe9f1 Merge remote-tracking branch 'origin/master' into 4.1
Change-Id: I56399e6938a5f5096c0b1a1561a54d34a5c96330
2016-06-27 11:40:35 +02:00
Eike Ziller
5fcf0c438f PluginManager: Code clean up
Mostly refactor some explicit loops, and nicer reverse looping.

Change-Id: I102b86da597b37cd496762bd776af73ec407d838
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-06-24 12:30:05 +00:00
Eike Ziller
667518ad23 Convert some c-style casts
Change-Id: I0d7566d14941a17c3f171b32c9902c22558005bd
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
2016-06-24 12:29:46 +00:00
hjk
61e770e5a7 Tests: Treemodel compile fix
Change-Id: I28132baeb4b5b538f5d8c94c6182b3afe3ac2c78
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-06-24 12:25:36 +00:00
Dmitry Ashkadov
43075f5fb1 C++: Add support of ref-qualifier for functions.
Now the ref-qualifier (& or &&) of the function declaration
is propagated to GUI. For example,  'Refactor' -> 'Add Definition'
preserves the ref-qualifier.

Change-Id: I8ac4e1cad4e44985e94230aabbd9858a7e929fee
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-06-22 17:47:59 +00:00
Philip Lorenz
c0f3094866 C++: Fix lexing of >> / >>=
The current code always ends up setting the token to T_GREATER_GREATER.

Change-Id: If75ff1f5bccffd5918ec2bf491724cd0981220ae
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2016-06-22 17:46:40 +00:00
Marco Benelli
2d03eb8bb9 QmlJs code model: added test cases.
Added test cases and modified the test suite in order to make it
data-driven.  Each sample file can now declare the number of
expected messages.  If there is no declaration, zero is assumed.

Change-Id: Ife3daa10a258f51ea8f896156f6f6af783406b84
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-06-21 07:40:03 +00:00
Orgad Shaneh
246e72262c CppTools: Separate highlighting for function declarations and calls
Task-number: QTCREATORBUG-15564
Change-Id: Iab1b60e19448202432f98295c89769cd376aa03f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-06-20 10:55:31 +00:00
Tim Jenssen
29e51517f4 QmlDesigner: fix linking error in tests
Change-Id: I67b47ab3dc509d317786bc7eda6fa13f8877a00d
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2016-06-20 08:09:07 +00:00
hjk
fb482846fc TreeModel: Add a StaticTreeItem(QString) convenience constructor
Covers the common case and hopefully avoids the recurring MSVC
problem with initializer lists in this location.

Change-Id: I1b2bbb083f9fc86af3b51b8f52615fb70c832b95
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-06-17 08:09:48 +00:00
Orgad Shaneh
0ca1142aae Fix test compilation with MSVC2013
Change-Id: Id34ee1f906e378dd57ca30c585e0a3df4ddc9ffd
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-06-17 05:00:31 +00:00
hjk
b281d6dad7 TreeModel: Introduce a StaticTreeItem
This splits out the case of static string displays from the
TreeItem base class, making the base more lightweight.

Change-Id: If1f442011ec60094399a41b65d9b5015f432f82e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-06-15 08:55:16 +00:00
Thomas Hartmann
159976062e Enable tests for QmlDesigner
Change-Id: I7dda2efdc92d5ec5c736c8e18fa1f6bada935f20
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-06-15 07:52:31 +00:00
Tim Jenssen
383026abb5 QmlDesigner: remove qDebug in tests
Change-Id: Icbcfffede77acd0b6e2b577aab7a30e73e02717a
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-06-14 18:05:19 +00:00
Thomas Hartmann
d7f24031dc Adding test for standard issues with QtQuick Controls 2
This test is covering the standard issues we had with the
code model regarding QtQuick Controls (2).

We check if ApplicationWindow is derived from QtQuick.Window
and if Button is derived from QtQuick.Item.

Change-Id: I1a2ed894daeb06743fb950bf629a8dcf2b9a78e6
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
2016-06-14 15:43:12 +00:00
Tim Jenssen
1d0b45b881 QmlDesigner: fix tests in shadow builds
Change-Id: Iaabe1516a30be520b1b0be0dd5557004312a67ec
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-06-14 15:06:21 +00:00
Thomas Hartmann
89d22b6eb0 QmlDesigner: Use QtQuick 2 in tests
Also cleaning up some tests.

Change-Id: I531997bc6eb0b9cb8057b7e408bca1c301c88ad0
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-06-14 14:42:40 +00:00
Tim Jenssen
0a67076ef4 QmlDesigner: remove unused code
Change-Id: I4c888f69d3bedc510f0f0a9f67d96caf17c4bcee
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-06-10 14:31:45 +00:00
Tim Jenssen
4d008299f3 QmlDesigner: remove outdated tests
Change-Id: I761d2af520f55d4a4bf405ede83af9228d7d7abb
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-06-10 14:31:37 +00:00
Tim Jenssen
044743d407 QmlDesigner: reduce tests output
Change-Id: Ia68cf7c859323c5ef82969c54f0168bf4a5ebbef
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
2016-06-10 14:06:14 +00:00
Thomas Hartmann
568e80b591 QmlDesigner: get tests compiling and running
105 passing, 1 failing, one test seems flaky
I skip many nodeinstance/puppet related tests,
because the tests/test framework cannot deal with the qml2puppet/emulation
layer being out of process.

Change-Id: I5b254c7e6e944b8fbd8ba490c1e8bb43d0eb38c3
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
2016-06-10 11:57:06 +00:00
hjk
726b907cc3 Debugger: Remove debuggerstringutils.h
With QT_RESTRICTED_CAST_FROM_ASCII making GdbMi etc operate on
QString is feasible again. Take this as opportunity to move
debugger encoding handling closer to a 'conversion on input and
output if needed, storage in QString only' scheme.

Change-Id: I2f10c9fa8a6c62c44f4e6682efe3769e9fba30f7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2016-06-09 08:09:46 +00:00
Ulf Hermann
eb948c0214 Timeline: Remove selectionIdForLocation()
Nobody needs that.

Change-Id: I83feeb55af24393a3feebfbbd4d0f085b208bb20
Reviewed-by: Christian Kandeler <christian.kandeler@theqtcompany.com>
2016-06-08 09:44:35 +00:00
Christian Kandeler
a0f956f050 qbs build: Introduce new module "qtc".
The qtc module gathers properties that used to live in the top-level
project file. This is the first step towards making it possible to build
plugins against an installed Qt Creator ("out of source build").

Change-Id: Ia1514cc9c888e80be01b308e908de48980fcbdb8
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2016-06-08 08:46:00 +00:00
hjk
e108d6fe48 Debugger: Fix transport of negative signed chars
Change-Id: I9b25d4b8e4b68d9cef674581d1a42eb75e21ec56
Task-number: QTCREATORBUG-16353
Reviewed-by: David Schulz <david.schulz@theqtcompany.com>
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-05-31 12:12:33 +00:00
Tim Jenssen
f59759f9da msvc 2013 build fix
Change-Id: Ice81612dd358a51c6847a1c7dfbf5115ad43cbab
Reviewed-by: hjk <hjk@theqtcompany.com>
2016-05-30 11:06:51 +00:00
hjk
7a80f2f01e TreeModel: Take responsibility for some of the casting
This adds a templated layer on top of TreeModel that can specify
item types for the top three layers in the model, relieving user
code from some of the previously necessary type casting.

Two common setups get an extra layer with convenience functions
on top: TwoLevelTreeModel for two-level model with a first level
of static headers and a uniform second level, and UniformTreeModel
where all non-root nodes are the same.

"Untyped" plain TreeModels are still possible.

The walkTree() feature and untyped iteration in the base
TreeItem and TreeModel is retained for now to ease transition
in downstream modules, but is planned to be removed soon.

Change-Id: I67d75a1a4e18e8f254dbfb458db03510d8990d8b
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2016-05-30 06:25:48 +00:00
Eike Ziller
0c5bae640b Merge remote-tracking branch 'origin/4.0'
Change-Id: I80bc3371c6d7cf9f2d46cbcf8e79e4761213d8aa
2016-05-27 12:01:36 +02:00