Commit Graph

567 Commits

Author SHA1 Message Date
Tim Jenssen
4fe5b923cd Merge remote-tracking branch 'origin/qds-1.59' into 4.13
Change-Id: Ic720f3adab305c5ef8cd10e713ccabf510eff0c0
2020-08-13 06:39:40 +00:00
Eike Ziller
3944162039 Merge remote-tracking branch 'origin/4.13' into master
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
	src/plugins/cmakeprojectmanager/cmakebuildstep.h
	tests/auto/debugger/tst_namedemangler.cpp
	tests/auto/qml/codemodel/check/tst_check.cpp

Change-Id: Iefd5f71c03c0078513b76a92af764a4fb22ee4c2
2020-08-10 15:56:54 +02:00
Marco Bubke
e43c7fdb1d QmlDesigner: Split messaging and process for puppets
This will make it easier to implement custom puppets. The new connection
manager will restucture the code and it add a mechanism to capture data
too.

Task-number: QDS-2529
Change-Id: I5d15c3303ef1c9a3e25ba197d350e0d561ce813a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-08-10 12:53:30 +00:00
Fawzi Mohamed
2ad89747c4 qmljs: qtdeclarative change 9ab1a6759018b78b0f160c5286f8b0235a34ec50
Support required list properties

The corresponding rules were missing so far.

Fixes: QTBUG-85716
Change-Id: Iaf0cbfbb8736929a213bd6bf329bb2ebdde652c4
Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
2020-08-03 06:59:36 +00:00
Christian Stenger
2944b33530 Tests: Fix codemodel check test
Change-Id: I9ca0fec928ac90fd5951fc54963ba5e96d5a53a6
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
2020-07-30 13:43:12 +00:00
Christian Stenger
394b3212bb Tests: Fix condition
Amends eb52982c9d.

Change-Id: I47b145b678eafab90f3569e4f6a785f272a87666
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-07-30 09:13:47 +00:00
Christian Kandeler
b484d770cd QML code model test: Show unexpected messages
The failure output is not very helpful without them.

Change-Id: I827876336c3ffdebb0b071f6d1a743c6766d92fb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-07-24 11:01:43 +00:00
Christian Stenger
eb52982c9d Tests: Replace QRegExp by QRegularExpression
Task-number: QTCREATORBUG-24098
Change-Id: I8649423fc69faadad324bc3bb51004633fa7cc4d
Reviewed-by: hjk <hjk@qt.io>
2020-07-20 10:22:56 +00:00
Thomas Hartmann
a97ea2e3b3 QmlDesigner: Fix test build
Change-Id: Ib24054b9caa1a2b1404c8af7af7f85bc3de1e6b2
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2020-07-01 08:16:36 +00:00
Thomas Hartmann
f9df5b445a QmlDesigner: Fix tests
Change-Id: I74442bf004a462d5d310f128b64f8bc82073d822
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-06-30 18:47:17 +00:00
Eike Ziller
c644e7c80a Merge remote-tracking branch 'origin/qds-1.59'
Conflicts:
	src/plugins/qmldesigner/components/formeditor/formeditoritem.cpp
	src/plugins/qmlpreview/qmlpreviewconnectionmanager.cpp

Change-Id: Ifa7c66330c1995378280cdb4c57c30015dc11b68
2020-06-08 16:04:15 +02:00
Michael Brüning
083b02377d Add option to apply style sheet coordinates
Enables the user to have pixel positions in the style sheet even if the
template does not use pixel positioning.

Also adds some more ordered properties to make the test case
deterministic.

Task-number: QDS-2208
Change-Id: I79b6af0c24539d1b9eb03dcf0fb52bb078d74afe
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-06-04 05:42:07 +00:00
Michael Brüning
6419059362 Correct text alignment preservation and add basic options parsing
Also add a test case and Remove some dead code along the way.

Task-number: QDS-2071
Change-Id: If34d4e152860ec9ab098f07e36e3a5dc4368c67f
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-06-02 20:25:51 +00:00
Thomas Hartmann
e5d892c74a QmlDesigner: Fix test data for StyleMerger
* This seems be the correct expected outcome.
* Minor fix in SwitchTemplate

Change-Id: I5de04d943d3522a37ac1664157f384594ddddcde
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-06-02 20:23:24 +00:00
Michael Brüning
96a511c979 Add some more tests for automatic stylesheet preprocessing
Currently, the tests fail, but the output is by and large correct.
There are some issues that still need to be analyzed.

Task-number: QDS-2071
Change-Id: Idb4618171a7256ec527368d6079c756eb734db82
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-06-02 20:23:12 +00:00
Michael Brüning
b7155a6a04 Adjust test case data for complex test and reactivate it
Change-Id: I5e61971ff420f3193bca1f63040044833e26cca8
Reviewed-by: Michael Brüning <michael.bruning@qt.io>
2020-06-02 20:22:56 +00:00
Michael Brüning
de8eb93637 Add stylesheet merger
Adds classes to merge a template qml file and a qml stylesheet that have
been exported from other design tools into a resulting qml file that can
be used for further processing in Qt Design Studio.

Current issues:

* Sometimes it makes sense to define width and height
  if an anchor is present, but most of the time not.

* Actually if the hierachy was defined (e.g. Text item not child of
  background) most likely the anchors should be ignored.
  But this would be just a "dirty" heuristic. I suggest to let the
  template decide. If the template has anchors those have "precedence".
  It is always possible to define templates without anchors.

Task-number: QDS-2071
Change-Id: I9159514a8e884b7ffc31897aef4551b5efbbcb87
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2020-05-27 18:26:12 +00:00
Christian Kamm
40dd6fc185 QmlJS: Add workaround for missing imports in Qt >=5.15.0
The QtQuick module plugins.qmltypes in Qt 5.15.0 do not contain
QML types like QtObject. Instead, they are found in the QtQml module.

Something similar applies to QtQml and QtQml.Models and
QtQml.WorkerScript.

As Qt 5.15 can't use the "import" command in the qmldir file, this code
instead detects the 5.15 QtQuick and QtQml modules and adds the
dependent imports manually, as a workaround.

Change-Id: I982e349298eb7200372390dfc384fb43a762b253
Task-number: QTCREATORBUG-23986
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2020-05-21 07:54:08 +00:00
Christian Kamm
f64146741d QmlJS: Use "import" commands from qmldir files
qmldir files can have lines like "import QtQml". These were already
parsed, but not stored in LibraryInfo. Store them.

When imports are resolved in Link and a library has such an import, also
load the module it refers to, with the same version and "as" scope.

Add a test to verify the behavior works.

Change-Id: I80b260bfaa36a9e5de0849fa5632b3361077ef01
Task-number: QTCREATORBUG-23986
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2020-05-21 07:53:44 +00:00
Lars Knoll
99a81e78d5 Port from QRegExpValidator to QRegularExpressionValidator
QRegExpValidator is going away in Qt6, so port over to the
version using QRegularExpression.

Change-Id: Iecd1ba1f0e5e01009ae43b79c1ccc73f0fc046b2
Reviewed-by: hjk <hjk@qt.io>
2020-03-20 11:39:42 +00:00
Christian Stenger
33b091bd40 QmlJS: Fix compile
..in general, with tests, and when using a namespaced Qt.
Amends b09a48599e.

Change-Id: I99e275e10df5eed741d021911a360457f0d0d2e7
Reviewed-by: Simon Hausmann <simon.hausmann@qt.io>
2020-03-04 08:22:12 +00:00
Orgad Shaneh
e4dab6b83e QmlJS: Fix compiler warning and add a missing include
qmljsdiagnosticmessage_p.h: In static member function ‘static QmlJS::Severity::Enum QmlJS::DiagnosticMessage::qtMsgTypeToKind(QtMsgType)’:
qmljsdiagnosticmessage_p.h:72:5: warning: control reaches end of non-void function [-Wreturn-type]
   72 |     }
      |     ^

Change-Id: I2183199bf257453e0af2998b739fae8c90f5c098
Reviewed-by: Fawzi Mohamed <fawzi.mohamed@qt.io>
2020-03-03 17:28:52 +00:00
Christian Stenger
5d3e56b3b4 QmlDesigner: Fix compile with Qt5.11 and building tests
Change-Id: I96dea7de0d185c67ea3a26a42de0805bd60dc1d1
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
2020-02-24 13:40:07 +00:00
Cristian Adam
08202b9110 CMake Build: rename target qmljs to QmlJS
This is in sync with what qmake and qbs project have.

Change-Id: Id82bbd933a8331c3e2032e5068323c183b2a1814
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
2020-01-16 17:32:24 +00:00
Alessandro Portale
4a8e8f2b6e CMake build system: Depend qml tests on configuration
Don't build qml auto tests if the QmlJSTools plugin is disbled in the
configuration.

Change-Id: I05217446b087a9ab201c0ee8b1d37d5a0ddd6c8e
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2019-12-23 10:11:25 +00:00
Alessandro Portale
a766d89b40 CMake build system: Depend QmlProjectManager tests on configuration
Don't build QmlProjectManager tests if the QmlProjectManager plugin is
disbled in the configuration.

Change-Id: I354a23567528d02ba9d4207202800ff0175d9a6b
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2019-12-23 10:11:21 +00:00
Eike Ziller
04f0123c43 Merge remote-tracking branch 'origin/4.11'
Change-Id: Ie951c531a5b2efd8e6b972c4d04b7f1c681c8ef9
2019-11-04 14:41:36 +01:00
Eike Ziller
53819123e7 Simplify RPATHs for qmake build
Use central rpath.pri for setting RPATHs and qttestrpath.pri for tests.
Simplify install names of plugins and libraries on macOS to be just
@rpath/libName, which follows convention better and makes setting up
RPATHs easier.

Preparation for moving tools one directory level down on macOS, to
be able to add a qt.conf for the tools generically.

Task-number: QTCREATORBUG-23120
Change-Id: I16625d48904abd3a7f4c2ad7bbba5916cdc400cd
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-11-04 10:31:55 +00:00
Christian Stenger
8db784349e Tests: Fix compile after clean up
Amends 6371725dbf.

Change-Id: If583fba25ccb92756938bd7127be9461d289a680
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-10-23 12:19:45 +00:00
Ulf Hermann
3d21c7fdc3 Retain ".pragma library" when reformatting JavaScript files
For ".pragma library" there is a special flag in QmlJS::Directives.
We just need to actually set the flag and query it when re-emitting the
code.

Change-Id: Ia3455fda18aba3219b02ecf092bb28987a6ccef5
Fixes: QTCREATORBUG-22326
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-10-10 14:05:18 +00:00
Nikolai Kosjar
ea0b7e4563 QmlJS: Fix build of tst_check.cpp
tst_check.cpp:151:36: error: reference to 'Type' is ambiguous
In file included from src/libs/qmljs/qmljscheck.h:30:0,
 src/libs/qmljs/qmljsstaticanalysismessage.h:42:6:
	note: candidates are: enum QmlJS::StaticAnalysis::Type
 src/libs/qmljs/parser/qmljsast_p.h:347:46:
	note:                 class QmlJS::AST::Type

Change-Id: I2f2af3e19fc0cbb7cef359c28d5f5d1505778882
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-10-07 08:03:46 +00:00
Cristian Adam
486aaabd21 CMake Build: Use same Qt compiler defines for tests
Source code needed adjustments though.

Change-Id: I78b4610a6bb895a385c7c30a6c92c97a276b89dd
Reviewed-by: hjk <hjk@qt.io>
2019-09-10 15:05:59 +00:00
hjk
47cd385536 QmlProjectManager: Remove warnings in file format test
Change-Id: I6c37f7da544c8e568ca33ecd4573cddaba173e04
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-07-31 08:06:59 +00:00
Thomas Hartmann
c3e3d40f90 QmlDesigner: Extend test
Change-Id: I3850814303bc791934044f10a955cfcbc78e76ef
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-07-30 13:10:02 +00:00
Cristian Adam
8ae9cfe39d CMake build: Add "Devel" package
The "Devel" package will contain headers, libraries, documentation
needed by the 3rd parties to build Qt Creator plugins.

Fixes: QTCREATORBUG-22514
Change-Id: If54929f823982b921b98a63ff6085d53618a3a49
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-07-25 14:06:46 +00:00
Tim Jenssen
a3fb2051ad QmlJS: Fix code re-formatter for property
Fixes: QTCREATORBUG-22515
Change-Id: Ie560f8cf9e43081a37f2210ea2f6df741f14ced6
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
2019-06-20 08:19:10 +00:00
Giuseppe D'Angelo
885cd63e8f Port from QLatin1Literal to QLatin1String
QLatin1Literal is an undocumented and deprecated typedef
for QLatin1String, just use the original.

Change-Id: I42347a2128e7b4280aaafeea5ebdee5a1b623c82
Reviewed-by: hjk <hjk@qt.io>
2019-06-13 23:07:35 +00:00
Uladzislau Paulovich
70fecd518e qml | Fix functions and loops formatting
Bugs fixed in this change:

1. Incorrect function arguments formatting:
function(a, b, c) -> function(abc)
2. Incorrect foreach loop formatting:
for (var a in b) -> for (a in b)
3. Incorrect for loop formatting:
for (var a = 1; a < 100; ++a) -> for(; a < 100; ++a)

Change-Id: I8afef6e5f2485a2225931b7ecb7210506e06dc6c
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-11 15:23:42 +00:00
Uladzislau Paulovich
8f7cbd6416 qml | Fix trailing comments formatting
Change-Id: I0461c4616cff15b7010e3844850d32e9f07469ea
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-11 15:23:17 +00:00
Uladzislau Paulovich
8dc16d55c2 qml | Fix empty objects formatting
Change-Id: I760f3420fef9ca83c2a28586575a72d580658d0f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
2019-06-11 15:22:36 +00:00
Uladzislau Paulovich
ab87bdf4ea qml | Add support for enums formatting
Change-Id: Id7e435a7c556c7fc469b9055ca772a7850e16676
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-11 10:04:29 +00:00
Uladzislau Paulovich
69cd74f25d qml | Fix let/const variables formatting
Change-Id: Ia2a4ee482e84a6c24abea7ea6fe05925eee11d1d
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-06-11 10:03:57 +00:00
hjk
473a741c9f Utils: Rename FileName to FilePath
More in line with QFileInfo terminonlogy which appears to be
best-of-breed within Qt.

Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2019-05-28 12:23:26 +00:00
hjk
92a52a7181 Use Qt's QFileInfoList instead of QList<QFileInfo>
Helps to adapt to potential upstream changes in Qt 6

Change-Id: Ie154bd4fd513d46cb0493758be8943fc4581d71c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-05-28 07:19:45 +00:00
hjk
0595e67c82 More FileName::pathAppended()
Change-Id: Ie20ec34ea9712b3ec49e6233b23cef84c2019f03
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-05-20 14:37:13 +00:00
Cristian Adam
d855b84c5d Qt Creator CMake port
Based on Tobias Hunger's work from a few months ago.

The CMake configuration needs libclang and Qt paths specified as
CMAKE_PREFIX_PATH.

Auto tests are run with "ctest". At the moment the pass rate is 87%.

Change-Id: Iba98e39bf22077d52706dce6c85986be67a6eab0
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-05-17 13:33:28 +00:00
Christian Stenger
7fa1643a1d Tests: Fix missing curly brace
Change-Id: Ib24625cdeae1b2f9a1b41eecb59e52f572eb793b
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
2019-05-17 12:33:45 +00:00
Thomas Hartmann
3f423fc139 QmlDesigner: Fix subtle issue with transaction
In an transaction adding a property after reparenting did fail
without real reason.
If a node does not have a position (yet) we can ingore the operation.

Change-Id: I959f1cf50ac6bcacda2a29b37ae69e37158e9acd
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
2019-05-17 11:25:59 +00:00
hjk
4dd72bd899 Compile fix
... after f99d69ee43

Change-Id: I711f8809dbdd7878b6c7fcc092f3391a2c4cebfe
Reviewed-by: David Schulz <david.schulz@qt.io>
2019-05-15 09:32:29 +00:00
Eike Ziller
4545c81e57 Merge remote-tracking branch 'origin/4.9'
Conflicts:
	doc/src/howto/creator-sidebar-views.qdoc
	doc/src/howto/creator-ui.qdoc
	qbs/modules/qtc/qtc.qbs
	qtcreator.pri
	src/plugins/autotest/testresultmodel.cpp
	src/plugins/autotest/testresultmodel.h

Change-Id: I24cc585ca7782cb1d9cb0b8b73b46892b41937fd
2019-05-08 12:41:25 +02:00