The new methods allows converting a path to a file or directory into a
path relative to another path to a file or directory.
Change-Id: I8c743d5bced9fec81b05ce94ac2b7bec307d9028
Reviewed-by: André Hartmann <aha_1980@gmx.de>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
And pass explicitly a QVariant to the writer to avoid
unexpected behavior when trying to store the geometry
of a widget.
This resulted in a warning for any session where the
user had used the debugger at least once.
Change-Id: I5cb2352ab29ff7d2a64c84ffcdf040efe6d04b94
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: hjk <hjk@qt.io>
QT_USE_FAST_CONCATENATION doesn't do anything nowadays.
Using QT_USE_QSTRINGBUILDER is the same as QT_USE_FAST_OPERATOR_PLUS
for QStrings and enables more QStringBuilder use for QByteArrays.
Change-Id: Ibd297817c50d86661d47822799f989447249af1b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Keep expected path in line with result when using QFileInfo.
Change-Id: I8d323212d1627b81de01582c368a4e9ffbba734c
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
For some reason, Q_UNUSED includes already a semicolon, adding one
on the user side creates an additional empty statement.
Change-Id: I9c5e8fac381345a60792cb75e2938fd53958d3b0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
"htvideoele" did not match "HTMLVideoElement" before.
This can easily be achieved by modifying the uppercase
snake matcher and thus making the underscore between
the letters optional.
Fixes: QTCREATORBUG-19838
Change-Id: I821a68b20d40fb0843c12f43f47133833c75cb9b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Allow searching for "Fancy4PartThingy" with the
more intuitive pattern "f4pt" as well as with the
pattern "fpt" that already worked before.
Fixes: QTCREATORBUG-22671
Change-Id: I3a7c1a5b7f57d2f2bdd7d0c6e23b46f6bbb64d77
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Only Qt 5.12 got true ECMA Script capabilities, so arrow function
expressions are not supported before that.
To be able to use "regular" inline functions, we allow usage of } by escaping with backslash.
For variables that do not start with "JS:" we already supported backslash for escaping.
Fixes: QTCREATORBUG-22336
Change-Id: I9fc638e64d2757a21fffc16355635e2fcff87a36
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
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>
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>
Do not remove QT_USE_FAST_OPERATOR_PLUS and QT_USE_FAST_CONCATENATION
in QtcAutotest, but in the two tests that won't build with it.
In the qmake build the defines are not removed from json.pro, because
this file does not include qttest.pri.
Change-Id: I97d173528ca2a02bac1bfae30709a959e6b69375
Reviewed-by: Christian Stenger <christian.stenger@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>
Rename BasicSettingsAccessor to SettingsAccessor, now that the name
is available again.
Change-Id: I49473f0c701976f992209f06d48decf047ab19de
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Test picking the expected file when several exist in
BackingUpSettingsAccessor.
Change-Id: I09d346a98a8df13d6cf3ee53ee20ce34e45e8d28
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Move functionality related to merging settings into MergingSettingsAccessor,
move code specific to the .user-files into UserFileAccessor.
Remove SettingsAccessor class, now that all code has been moved out of it.
This patch changes the merge mechanism a bit: It used to upgrade
the user and tha shared file to the higher version of these two, merge,
and then upgrade the merged result to the newest version.
Now it upgrades both the user as well as the shared file to the newest
version and only merges afterwards.
Change-Id: I2a1605cbe9b9fb1404fcfa9954a9f3410da0abb1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Extract upgrading functionality from SettingsAccessor into
UpgradingSettingsAccessor.
Fixes surprising behavior in test
ProjectExplorerPlugin::testUserFileAccessor_prepareToReadSettingsObsoleteVersionNewVersion
where the Version was thrown away.
Also adds a error/warning distinction to BasicSettingsAccessor::Issue,
so that the non-critical ones can be ignored later.
Change-Id: Ia38d074f91cd8d8f820f9bec96d3330d748564c7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Extract the code that handles backups from the SettingsAccessor into
a BackingUpSettingsAccessor.
Move code up from SettingsAccessor into UserFileAccessor where it belongs.
This became possible due to the extraction.
Change-Id: Icacaa4e7231b3c0c520154c76f9338227f96a614
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Move file access and error reporting out of SettingsAccessor and into
BasicSettingsAccessor.
Change-Id: If6cc9157c1a532f117c48b929c05f55d89a339eb
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Add setters to VersionUpgrader and use them. This shortens the
implementation classes a bit.
Change-Id: I5ffe6f085752bf39bbcb08c286844cc1088eeea5
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Make sure that the input data is returned unchanged if an invalid update
attempt is attempted.
Update tests accordingly.
Change-Id: If5c410bf1a757f984593bda871763af64d8dd972
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
Improve the behavior of isBetterMatch, so that it now handles
invalid versions as well as invalid ids. Simplify code where possible.
Change-Id: I2e65c0cc01d32fa77df8b5ec0d62b765e6c458f7
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Make it equivalent to current wildcard implementation, and replace the
current one with FuzzyMatcher.
Change-Id: If83a4a8dfc7c8930bd92b49972647a519886a831
Reviewed-by: André Hartmann <aha_1980@gmx.de>
For example:
Matching "lit" against "LiteralTable" should highlight "Lit" and not "Li"
and "T" from Table.
Change-Id: I8a0a9d0b0b90403745e85b1d3d20deaa551416eb
Reviewed-by: André Hartmann <aha_1980@gmx.de>
For example: window -> MAINWINDOW.
This was broken by the constraint that the first char must follow a non-
matching case in 2fb54abd03. It was fixed for pure lowercase in f792475739,
but this fix was evidentially partial.
Change-Id: I0c29b54768c40d0501f006182f2bd1ae1e94f3bf
Reviewed-by: André Hartmann <aha_1980@gmx.de>
The else part within "if (!c.isLetter())"
(camelhumpmatcher.cpp:79) was not covered
by the tests at all, so far.
Change-Id: I35eb5908110e4692cda41b58f419867da00b6501
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
As indicated by the removed comment, the original version was
way too complicated.
Change-Id: Ie5d8d8fbe7bd8e44e0538117cd2aaa73958f7d8c
Reviewed-by: Christian Kandeler <christian.kandeler@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>