b276de576f fixed an issue with
mixing handling/not handling of carriage return characters.
The AutoTest plugin uses similar functionality and relies on
the code model (and its snapshot / working copy).
Adapt the respective part here as well.
Task-number: QTCREATORBUG-19897
Change-Id: If9183bfa020a1c4c6efdc5dee404c1a1e0ce41a6
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
When we get the file working copy it never contains "\r\n"
line endings. Let's provide the same behavior when we have
no working copy and read the file from disk.
Task-number: QTCREATORBUG-19905
Change-Id: I720d62426860dcdcdd8520db5430d9f4f5900ab6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Remove now-unused IPlugin::addAutoReleasedObject and IPlugin::
{add,remove}Object convenience functions that were only forwarding
to the global pool.
Adjust all related tests.
All previous users of these convenience functions are gone, and we do
not want to encourage the use of object pool anymore.
Plugins that wish to share objects to implement weak dependencies
can use the global object pool via ExtensionSystem::PluginManager::
{add,remove}Object directly.
Change-Id: Ic668ad5504af76963f6d4c69ae160438efc70db5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Clang built with this patch properly handles
not only normal methods but also templated ones
which fixes code completion for QObject::connect.
Change-Id: If1c4c0f5fda29c1aff106d8ed7065ff502a26328
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Use QFutureWatcher and lambda instead.
Task-number: QTCREATORBUG-19799
Change-Id: I00e9439d46609902cbfb02906280c0c96b8c884e
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
The infrastructure around Q_PROPERTY extraction
allows to make it static assert and still find
it's parent.
This way makes it easier for Clang to parse
and does not provide unexisting functions for class.
Change-Id: I1c40550c72d214c2448169094a46c6f793132f23
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
It has been used twice on each Target::updateDefaultRunConfigurations():
Once to help filter out potentially interesting factories, and then
to actually retrieve the creators from the interesting factories.
The same result can be obtained with less effort and less code.
Change-Id: Ic83423bbbc172c842ec5a55fcd6ad83106e268aa
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
In line with addSupportedProjectType, saves a few cycles due to the
non-use of the temporary list, and in theory more flexible than the
existing set...(QList<Id>) as it potentially allows dependent plugin
to declare support for already existing configurations instead of
re-implementing their own.
Change-Id: I2b83e90de49daa9bfce6f780c5f51c2e971eb7d1
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Emit documentSizeChanged after resizing the block boundaries because of
an annotation between lines.
Task-number: QTCREATORBUG-19790
Change-Id: If468ec003a43f37fdcb182344992e4094b269c92
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
BackwardScanner required more investigation and this is
the better fix than 413c66ec.
Change-Id: I651a7b416b549cc4a0e086873262d04409a7448e
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
They aren't in the global object pool anymore.
Change-Id: I4f0ae69ebabe33f0276dbfd7137a4f8adbaad489
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The source ids are now filtered by the modified time. If the modified time
in the database is older than the modified time of the file it will be
parsed. If it is not newer it will be not parsed.
Change-Id: I4ade3443dd66573ac88053a2cafa600e54cfe973
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
It will useful to find out if we have to wait for an updated precompiled
header.
Change-Id: I6a314f278485965571cc6e46982bbd6f5523c581
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
It is now possible to refactor the code. This pattern is favorable to the
preprocessor.
Change-Id: Ic85db43e23e16412d938a47892f1812b5883d949
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
There could be already messages send before the backend is available. In
that case we now record that messages and send them if the socket is set.
Task-number: QTCREATORBUG-19761
Change-Id: I7c8d6fdb4fcc043bcdbb9e9aeb5752f89c24fdab
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
If the include search paths and the compiler macros have not changed it is
save to assume that we don't need to update the symbol database. This saves
us from executing a very expensive task. Later we have to test the
modification time of the files too.
Change-Id: I6b958075024a811c2abd3d7918263fd74bba090b
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
If the current item is at the top, and the bread crumbs widget needs
more space, we may not just scroll, because that would scroll the
current item under the larger bread crumbs widget. We have to do the
delayed layouting in that case.
Task-number: QTCREATORBUG-19800
Change-Id: I93072c1932099501e99963220efdd975c255f586
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Clang warns about those (-Wconditional-uninitialized).
Change-Id: I993b6267208a5ec0a443ddcb1ebac52aea2c92f0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
I got much help from clang-tidy, clazy and clang-format.
In preparation of QTCREATORBUG-18845
Change-Id: Ie881efd5093d86dc8a345e0a5badd93a6ccecbb9
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
We have to extend that to include paths too, which will be happen in a
follow up patch.
Change-Id: I7f8ac663ae8588e647fc6a6b5d689a629a28ef65
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
Empty strings were only handled by accident and wrongly formatted ones
were never handled. Now we do nothing for empty strings and throw an
exception from wrongly formatted strings. The exceptions are very helpful
in the test code because the show errors the the testing data.
Change-Id: I87d1678eda7502fdc3f74f51fad491803d28582b
Reviewed-by: Ivan Donchevskii <ivan.donchevskii@qt.io>
For example:
qtandroidextras/src/androidextras/android/qandroidfunctions.cpp:301: (qdoc) warning: clang found diagnostics parsing \fn bool QtAndroid::bindService(const QAndroidIntent &serviceIntent, const QAndroidServiceConnection &serviceConnection, BindFlags flags = BindFlag::None)
error: use of undeclared identifier 'QtAndroid'
error: unknown type name 'QAndroidIntent'
error: unknown type name 'QAndroidServiceConnection'
error: unknown type name 'BindFlags'
error: use of undeclared identifier 'BindFlag'
Change-Id: Ie9a9accf97cdd639b8a8a9ff908a73588fc15ff5
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This reverts commit f6715fe52b
which introduced this.
It was prepering infrastructure for having ownership of
sets of objects handled separately from the global pool,
but that's not wanted and needed anymore.
Change-Id: I7368da624ea99bb70a6a1cce04677257322dc605
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
While a plain lambda callback lacks a lot of the features of a real
Qt signal/slot connection, there are plenty situations where the
plain callback is all that's needed. Have some benchmark for more
educated guesses on timings.
Change-Id: I0c1fdfd2fd352d75c2af66fd713806bf3dd2d135
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Use the pattern that's currently being established.
Change-Id: Icfb1472cc394f0e371056d5cb23fd22d291dbdaa
Reviewed-by: Christian Stenger <christian.stenger@qt.io>