The string cache is only very seldom written but very often read. To
improve thread scaling it is faster to lock it only for write operations.
So we use a shared mutex which is locked in shared mode for read
operations and locked exclusively for write operations.
Change-Id: I2cc742d1b9cc15c162be40ab339fa8310640bc44
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
The database is using file path integer ids to handle file paths because
otherwise we would save many redundant data. This patch is improving it
further with the introduction of a database based file path cache. The
entries are now divided in a directory path and file name. This is quite
handy for directory based file watching.
Change-Id: I03f2e388e43f3d521d6bf8e39dfb95eb2309dc73
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This populates a file finder so that it is best able to find QML files,
prioritizing the given project/target. Some of it would also apply to a
non QML file finder, but as we don't use FileInProjectFinder for other
file types we keep the code here, for now.
Change-Id: I14e2ac63e699afe27d2f3af8ca3d57dfe732da8c
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
If there is no startup project when we add a new project the new project
should become the startup project, as a situation where there are
projects, but no startup project is invalid. removeProject also checks
for the startupProject and adjusts it if necessary.
Change-Id: I5f12add832db82af553fc1e393e32185eb322866
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This way other plugins can add entries to those menus.
Change-Id: I3c536a85543d267983a6797f62e25be9e4b7e006
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
With it as a wrapper we can register any QObject
to use widget based field mechanism from QWizard.
It also helps to avoid the necessity for inheritance
to just adjust the text property of a widget.
Can not remove the TextCheckBox, because it is used
in some old C++ wizards.
Change-Id: I85a85a834714a4b38b501c13357fa8c8bb02b5bd
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
We check that qmake property in many different places.
Change-Id: Ifd5efe4ad2831385493bd3afe8538929578e8fb4
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
For example it will be used to get the
wizard directory to show icons in fields later.
Change-Id: I6a243a67a89e4a0133550a61b870d771147667f1
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Let the search string "window" also find "mainwindow.cpp",
not just "MainWindow.cpp"
Task-number: QTCREATORBUG-18957
Change-Id: Iace3111fb3ce319d916362c1f8d396844a3bc47a
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
This enables us to find QML files that are part of Qt, also if they are
not in the same location on the host and target systems.
Change-Id: Idcd0be8ae4301000c4123e39edeb04b43efb4659
Reviewed-by: hjk <hjk@qt.io>
The RunConfiguration we were using previously only served to retrieve a
target.
Change-Id: I30628197de3025511a03a53d3119083b980762c8
Reviewed-by: hjk <hjk@qt.io>
It is not possible to use the display name as an ID, because that can
change (and to propagate that change we use the ID).
Remove the display name from the ID, use a separate sort property, and
sort by this property + display name.
Task-number: QTCREATORBUG-18972
Change-Id: I27017473842931defa3a123ce9f41cc8e8ba1a61
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Enable test execution via context menu in the result output pane.
At the moment only gtest is supported.
Task-number: QTCREATORBUG-16695
Change-Id: Ib39164c3cb44d249647b11e25dc51c9ac5db89c5
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* It's skipped / must be rewritten.
* It does not belong to ClangCodeCompletionTest
Change-Id: If6708d28602cc8c3478a968b87bae542ae859590
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Since a few versions, Inkscape wants to add a inkscape:locked to
guides. In order to have less patch cleanup duty for each svg
commit, we just concede that to Inkscape.
Change-Id: I8c096b7db15dc776976281cf9d20444e1654bb01
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>