This allows us to look up the colors by their enum values, rather than
by strings. Lookup by string is prohibitively expensive as the whole
QVariantMap of theme values has to be converted into a JS object
repeatedly and the strings have to be converted between QString and
QV4:String all the time..
Change-Id: Id131840b1a6e1eaabbd8966d60b9baf1ebed00c1
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
We want to install the theme as singleton in various QML engines.
QML engines take ownership of their singletons and want to delete them
on exit. In order to accommodate for this we need copies of the theme.
As all the containers in ThemePrivate are implicitly shared, it
shouldn't be a lot of effort to copy it.
Change-Id: I52391add2fe8f540c19c804945ce9d9161905b90
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
As we can have a context again now, we should be able to show it.
This reverts commit 8679a7caa6.
Task-number: QTCREATORBUG-17177
Change-Id: I221628dc91af839be867cc1bf8dfe5d5163fd321
Reviewed-by: hjk <hjk@qt.io>
Apparently some versions of Qt can produce traces with unmatched start
and end events. We should not crash on those.
Change-Id: Idfb3273f02470156e9f1863c43477d0c3494e0d6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Take all ancestors into account when calculating the offset
of the desired child.
Change-Id: Iaa187c1c918589d9aee8325b1ef3692894f5be55
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Enforce the presence of a sort role for all items and make sure we
don't call column() during sorting. column() can be very expensive on
large models.
Change-Id: I89555072d8ef051d6e0b4f9819159238a1a40859
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
It is unnecessary as it's already shown in the title, and it wasn't translated,
so it showed as "undefined: <blah>".
Change-Id: I063b78df5778d17db8849f73c470184546e0daeb
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
There is only one way to set selectionLocked during regular operation.
The double binding is unnecessary overhead.
Change-Id: I324022a9c49e9a1936fd70371429318d207b4843
Reviewed-by: Milian Wolff <milian.wolff@kdab.com>
Instead of dumping the complete locals just dump the subtree
with the partial variable.
Change-Id: Ieac5f62efd87144bbea7a6a559d8be8d48d9084e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
...and add some basic tests.
Introduce the abstractions ProjectInterface and ToolChainInterface in
order to break the dependency to the ProjectExplorer. Also, some simple
logic can go there to simplify the (Base)ProjectPartBuilder.
Change-Id: I6c50a1804ce62098b87109931eb171f5c2542937
Reviewed-by: David Schulz <david.schulz@qt.io>
And use these in scxmleditor. qmldesigner will also use them.
Change-Id: Ifd057531873a8cb8da3d6e033fbf606f17638c3e
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This applies for all project managers, except qmake. The qmake project
manager will make use of this in follow up changes.
Before, "foo.h" was always recognized as a CXXHeader. Now, it depends on
the other files. E.g. in a file list {"foo.h", "foo.c"} foo.h is now a
CHeader. In {"foo.h", "foo.c", "bar.cpp"} the file "foo.h" is ambiguous
and we will create two project parts, one where it is a CHeader, the
other where it is a CXXHeader.
Change-Id: I50505163368742584b1380c284d42cbe07cb4fc9
Reviewed-by: David Schulz <david.schulz@qt.io>
Remove the 'Always parse' setting and respective special handling.
This simplifies the handling of parsing for tests and removes
strange special handling that was introduced in earlier versions
and led more to confusion on the user side.
Change-Id: Ia4d122ed448244f3cb3876dda9930864afde9c28
Reviewed-by: David Schulz <david.schulz@qt.io>
* Disable only for MSVC which is < 2015 update 3
* Fix isEmpty test
Change-Id: I35b396f547d3a1e78713797266ede9f8fbbb9f72
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
The old code was disconnecting all signals from CMakeProjectPlugin
to m_buildTargetContextAction. The result was more and more triggered
actions.
Change-Id: I8d7db5852c03d5388870a7460efb3a8a28fd0749
Reviewed-by: Florian Apolloner <florian@apolloner.eu>
Reviewed-by: Alexander Drozdov <adrozdoff@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
It crashed if the root project had some error
and I tried to build a subproject.
Change-Id: I13dc620402a5f79e507e7da3fedb5eb09a4112da
Reviewed-by: Alexander Drozdov <adrozdoff@gmail.com>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
use an assert to document in a machine-readable form that the file is
expected to be null-terminated. this supersedes 5a58e962's approach of
appending a null char, which would just obfuscate a problem in the calling
code if it were to ever have an effect.
Change-Id: Iaedb575d20abb42d98e011949e792ecf4dde3e93
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Newer V4 debug servers will accept a "context" parameter which
specifies the ID of an object which is then used to look up a QML
context to inject when evaluating expressions.
Change-Id: I9d2a2226559380550308cacfe559e079291c14b5
Task-number: QTCREATORBUG-17177
Reviewed-by: hjk <hjk@qt.io>
Provide a way to control how the results tree will be
generated for the respective test framework and use
this information to construct a real tree.
Basically this changes the layout of Qt test results,
but keeps the former layout of Google test results.
Task-number: QTCREATORBUG-17104
Change-Id: I7fca4d8e365bfebcca4cf7855cf6a882e5379143
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
They are searched using std::binary_search, which expects sorted input.
Change-Id: Ib2d59ab6e747e6ce36220dfd33dbe9bb145aeb92
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Only offer to run runconfigs with the DebuggerRCAspect set, assert
that it is indeed there and never check for it again.
Change-Id: I5e9b329efb15d56ae221aed3ea2a75caa1078c18
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>