Commit Graph

2882 Commits

Author SHA1 Message Date
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
Christian Kandeler
26d46fc19d ProWriter: Do not insert a backslash when adding new files
... if the previous line already has a trailing backslash.

Fixes: QTCREATORBUG-24083
Change-Id: Ieabce541da2ef55bcbf3bd14d139b14f3a7575c7
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
2020-06-02 11:20:16 +00:00
Volodymyr Zibarov
9ee693ee22 C++: fix built-in code model to work with shared_ptr on MSVC 2017
These changes target Find Usages feature to work with shared_ptr.
Improve libs/3rdparty/cplusplus and plugins/cplusplus:
parse __declspec() attribute,
call to variadic function template without specified template arguments,
if constexpr,
c++11 attributes [[value]],
function templates with default parameters,
resolve order for function vs template with default parameter,
template operator->() with default arguments,
template specialization with numeric values,
find best partial specialization,
fix partial specialization for non-first specialized argument

Fixes: QTCREATORBUG-7866
Fixes: QTCREATORBUG-20781
Fixes: QTCREATORBUG-22857
Fixes: QTCREATORBUG-17825
Change-Id: I31a080f7729edfb2ee9650f1aff48daeba5a673b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Nikolai Kosjar <pinaceae.pinus@gmail.com>
2020-05-29 12:39:28 +00:00
Christian Kandeler
1989dbe0d7 Built-in lexer: Recognize also reserved user-defined literals
Otherwise, we trip over uses of operators from the standard
library such as std::chrono's operator"" ms(), potentially breaking
basic code navigation.
Amends 425811291d.

Fixes: QTCREATORBUG-24067
Change-Id: I3b2863ce88ee3787414e7a1acdf25f368041cdb4
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
2020-05-28 08:36: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 Kandeler
e4fb3de165 C++: Add tests for recent indentation fixes
Change-Id: I90ae2da3a82bff2e966c4327cf8e42f7ebbddd27
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-05-27 04:45:12 +00:00
hjk
14666c801a Debugger: Drop 'set print object on' for GDB
This does not seem to affect the code paths we are using through
Python.

Task-number: QTCREATORBUG-23965
Change-Id: I2e20d6d3c1937d56293e81b74c453e83a92ddc4c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-05-25 10:01:03 +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
Eike Ziller
52b7ec058b Merge remote-tracking branch 'origin/4.12'
Conflicts:
	src/plugins/mcusupport/mcusupportsdk.cpp

Change-Id: I1583fa81adc0218ad4657baa347c08e9e29f88e6
2020-05-15 14:49:11 +02:00
Christian Kandeler
eb96f9900a Fix clang 10 warnings about unnecessary copies in range loops
Change-Id: I3b57869b5a04528518bc432b76768b01e3f53e81
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-05-12 13:45:43 +00:00
Christian Kandeler
8e1169f4bf qbs build: Take differences between clang and "apple clang" into account
In particular, clang with version number 10 is not really clang 10 on
macOS.

Change-Id: I8be489fa9cffd63c1ea8f13d181686ab1a575ec6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-05-12 07:31:39 +00:00
Eike Ziller
20ef5c6de3 Merge remote-tracking branch 'origin/4.12'
Change-Id: Ibbf9f16677a58bdcdd3ce63701ffa34db6f44916
2020-05-11 11:36:22 +02:00
Christian Kandeler
27ea67728f qbs build: Suppress more warnings
Amends d08e5c33ff.

Change-Id: Ic842dda51b21427e1989190b44508d54aa1e7120
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-05-07 15:25:31 +00:00
Eike Ziller
be73f41ad4 Merge remote-tracking branch 'origin/4.12'
Change-Id: Ib95ec2c50c4bbaefd4ed0ec5af191ccc846c824f
2020-05-04 10:52:34 +02:00
Christian Kandeler
f553e3d16a qbs build: Fix sdktool autotest on Windows
Make sure to fix the path separators for the macro that gets passed on
the command line.

Change-Id: I444883e6fc5a2b49d73a1fa52aa1ea26b207185c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-05-04 08:39:15 +00:00
Eike Ziller
8984272769 Merge remote-tracking branch 'origin/4.12'
Change-Id: I296a61fe43aea134de9e7a6ee8042af3f45f5e99
2020-04-23 11:09:15 +02:00
hjk
252a0431d1 Debugger: Fix dumper for std::unique_ptr with custom deleter
Task-number: QTCREATORBUG-23885
Change-Id: Ifba6ef7233886d1c9341e7912d6924cd9afbc4eb
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-04-23 06:08:12 +00:00
hjk
0603eb925f Debugger: Work around deprecated QProcess::start(command)
Change-Id: I30d9656fb9a73399fb79b7a6e956ee0e6f0ab6a1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-04-22 07:52:43 +00:00
Robert Loehning
ec79f42701 Debugger: Update references to Locals and Expressions
These are two separate views now

Change-Id: I010ad0b937982704310d102d1f4338ec0c29a370
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2020-04-09 09:01:16 +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
David Schulz
42f34c8a55 Dumper: Do not test fortran string on windows
Which doesn't exist on windows and will fail the test

Change-Id: I0dd005ccfcbf54faa716c642c5441c2086b3a32a
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-03-09 07:10:57 +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
hjk
d3d294cd81 ExtensionSystem: Some modernization
Mostly 'foreach'.

Change-Id: I5390d03bb5cc37c3674b61cea6f5d22bae554ed2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-14 09:50:07 +00:00
David Schulz
e3c7b72003 LanguageClient: introduce new type for gorgeous formatted errors
Change-Id: Ia76bd768bcb6d33ce66319dddf8cc355a41ffa31
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-02-12 11:25:01 +00:00
hjk
a44bfdd779 Provide an empty default IPlugin::extensionsInitialized()
And remove all empy re-implementations.

Change-Id: I19f0b4e55c042c96693ecb89766f97f0a97b54ae
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-07 10:21:34 +00:00
Igor Sidorov
a9e40ad14c Add final specifies to classes
Warning -Wfinal-dtor-non-final-class in clang trunk

Change-Id: I2bf17064bf8898eab10b82b69583a283157766d0
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-02-05 09:33:55 +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
Christian Stenger
0e4f15996b Tests: Fix build on macOS as well
Amends d6745b488b.

Change-Id: Ic33b642347f2f6f553e674122775e0e07856c2f9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-01-10 08:26:35 +00:00
Christian Stenger
2cc3ac9bbd Tests: Fix build on Windows
Change-Id: I5679077ac3955e65dcce55cf229f10c245543236
Reviewed-by: hjk <hjk@qt.io>
2020-01-09 12:11:08 +00:00
Christian Stenger
d6745b488b Tests: Fix build
Broke with a7dd0e50a2.

Change-Id: Ia58bae8e641e50d14d776b689f8ded17e306f4d9
Reviewed-by: David Schulz <david.schulz@qt.io>
2020-01-07 06:30:26 +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
hjk
e109b731ad Utils: Rename FilePathList to simply FilePaths
The exact storage type does not really matter here.

Change-Id: Iefec40f0f5909c8e7ba3415db4a11962694e1b38
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2019-12-18 08:43:18 +00:00
Eike Ziller
4e6142c932 Merge remote-tracking branch 'origin/4.11'
Conflicts:
	src/plugins/autotest/testresultspane.cpp
	src/plugins/cmakeprojectmanager/cmaketool.cpp

Change-Id: Iade695ac9cab8bf3e3a1abd6e2c71f4a19132ac0
2019-11-21 22:18:35 +02:00
hjk
e8fe082bf9 Debugger: Swap BREAK and unused() in most dumper test
To avoid optimizing.

Change-Id: I43b39746811a822a0b5677920f9dc2f149291bc0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-11-20 11:31:57 +00:00
Eike Ziller
990f52957d Fix mapReduce with QVector input
The iterator type of QVector is just (const) T *, so we cannot call
::reference on it directly. Access via std::iterator_traits instead.

This is especially interesting in the light of Qt 6 replacing QList with
QVector.

Change-Id: Ib4e84f61302822e51b8984e2a44fea874efce81d
Reviewed-by: hjk <hjk@qt.io>
2019-11-12 13:48:24 +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
Christian Stenger
982344a799 Dumper: Remove old workaround
This part had been added for lldb provided by Xcode 8.
Even LLDB 3.10 is rather old, so probably no more necessary.

Change-Id: I823ee15869cc60cb8504fa6969758b5f7c3a74ab
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: hjk <hjk@qt.io>
2019-10-15 04:42:06 +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
Eike Ziller
0491c1c06c Merge remote-tracking branch 'origin/4.10'
Change-Id: I4a22cdf4d7d5aab2083d5f9f7baaa38e510f83fd
2019-09-23 12:31:58 +02:00
hjk
89a36c7232 Debugger: Show FORTRAN strings
Fixes: QTCREATORBUG-22976
Change-Id: Ib435b2692301fe2e2d3378623e99bbcf16e27e46
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2019-09-23 08:50:17 +00:00