As discussed in the linked report, QSettings behavior was changed to
aggressively attempt to sync on each ::setValue() call, therefore causing
excessive disk thrashing when used regularly.
This is arguably a regression on the QSettings side, specifically as the
documentation suggests some kind of delay and therefore merging of quick
sequences of setValue calls (as implemented previously), but since this
opinion is not generally shared, Qt applications need to implement that
behavior now by themselves.
This patch here does that for the reported case in Creator (and uses the
opportunity to delay to 2 secs, which should be sufficient for the case)
Change-Id: I04af0cd1a042abcf7113b5dde5c36e0338f7acb3
Task-number: QTCREATORBUG-15594
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The extra macros in the config files are being read in
CppModelManager::internalDefinedMacros(), but they also affect the language
features in ProjectPart::updateLanguageFeatures().
Task-number: QTCREATORBUG-1478
Change-Id: Ic197b0b7d4cc6e6a74637da0c710b0630daae25c
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Numerous things have changed in the perf profiler since this was last
edited.
Change-Id: I5443b526fc203ecc506401343b90c81038869f62
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Add QT_INSTALL_BINS to PATH on windows in the CMake RunConfiguration.
This should fix cmake applications using Qt not being able to get
started after they were built.
Unfortunately this patch is not a great solution: This should be configurable,
similar to the "Add libraries to LD_LIBRARY_PATH" checkbox we have for other
OSes and build systems. Such a change is unfortunately not acceptable at this
stage of the 4.5 branch though.
Task-number: QTCREATORBUG-19354
Change-Id: Ic2d568d965e41e3eb875fed8c2e5dd2ba15d2db1
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Hide nodes from project list so that they will not end up cluttering
the locator with directory locations (which creator can not open anyway).
Task-number: QTCREATORBUG-19346
Change-Id: I78d7d16b7cdacf5536e81c5001a292af0bd0c2df
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Do not move horizontally so often when scrolling to an index in the
TreeView. This is done by getting more accurate sizes for the items
being drawn.
Change-Id: I9cbc7912ede6a4bec3126c3ce9a0a4eb65805910
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The wizard name has changed.
The option to create an ui.qml file has been replaces with
the option to add a virtual keyboard.
Change-Id: I2466500dcabda59586806939c0e7b8f3100d6677
Reviewed-by: Tarja Sundqvist <tarja.sundqvist@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
The event types should now be chosen in a structured way, not as
additional arguments. This is a hotfix for 4.5. A more comprehensive
documentation of the settings will follow in master.
Task-number: QTCREATORBUG-19321
Change-Id: I56670bd8d54fa8a62eb35951d86e4023a2a8c680
Reviewed-by: Kari Oikarinen <kari.oikarinen@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Affects __FUNCSIG__, __FUNCTION__ and __FUNCDNAME__.
By default Clang can't concatenate strings under those
macros with other strings.
Because of that we need to define them with empty strings
to make clang compile such cases without errors.
Task-number: QTCREATORBUG-19295
Change-Id: I9a3770ebe56b4b8a49ba9982c5a1ba90c8f0b304
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This lead to <Headers> entry being missing from the project tree.
Task-number: QTCREATORBUG-19333
Change-Id: Ice3bab6d92aaa3799e66800cbae0bacd57537322
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Use the same we use for the built-in code model.
This is useful for conditions of pragmas.
Task-number: QTCREATORBUG-16847
Change-Id: I4c83be46bb2b8a23e4c8f70d98e2b4c9572121ee
Reviewed-by: David Schulz <david.schulz@qt.io>
If a class has been forward declared we might not end up
inside the real class declaration when trying to find
declared test functions. So, do not just take the first
found symbol into account, continue to process others if
we haven't found the real declaration.
Task-number: QTCREATORBUG-19319
Change-Id: I752d7a10470f5362e2214596966d93c037d58f4a
Reviewed-by: David Schulz <david.schulz@qt.io>
If special functions (init, initTestCase, cleanup, cleanupTestCase)
are present for a Quick Test they must get ignored when trying to
run a single test as they cannot get explicitly addressed.
Task-number: QTCREATORBUG-19311
Change-Id: Ie91928271928cf581bfef0b5e3463e027af985fd
Reviewed-by: David Schulz <david.schulz@qt.io>
Qt Creator always put its value for qbs.buildVariant in the config when
building Qbs projects. That overwrote values applied by the multiplexing
mechanism or by the project files, which is undesired. Instead, Qt
Creator will now use the qbs.defaultBuildVariant property, which is
provided for this reason.
Task-number: QTCREATORBUG-19316
Change-Id: I923dfb6e083135b7c3ae6346af3ac639a4f02dbc
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Adding and removing files via the project tree is essentially the same
thing as doing it by editing a project file, except that no reparsing is
necessary.
Task-number: QTCREATORBUG-19292
Change-Id: Idb1bcf0e183f34d4de513f69f974e45ac91afeeb
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Editing the widget triggers rawPathChanged(), which calls
setValgrindExecutable, which emits valgrindExecutableChanged(), which calls
setPath on the widget.
No other path reaches any of these functions.
This causes the cursor to jump to the end, so if you want to change
'valgrind' to '/usr/local/bin/valgrind' you have to jump back after each
character.
Removed the now unused signal.
Change-Id: Iaf4e902fb9a42975e9ada6662b7a64e53fab5cad
Reviewed-by: hjk <hjk@qt.io>
Commit db860c7cdce8765f8c4ec28127860c8e97ba34ab added a format marker to
the file. First line is now: `# callgrind format`
Task-number: QTCREATORBUG-19004
Change-Id: I2f6ed81044fa0d675a02b9634d8ee8e3ea1da6e5
Reviewed-by: hjk <hjk@qt.io>
... to a running application that already has one.
Task-number: QTCREATORBUG-19302
Change-Id: Id83f840408c26f3db85dbe30dadac9949ce6b660
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
If expressions cover multiple lines they might be altered by the indenter.
This means the expression differs slighlty in white spaces.
This did assert before, but is a false alarm.
For now we just treat the white spaces in th beginning of the line as a
special case. Eventually we have to fully normalize expressions.
Task-number: QTCREATORBUG-19284
Change-Id: Icc57ef08d1c889deded7cca08ccfba66f09f3115
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
We have to ignore Qt::KeypadModifier.
Task-number: QTCREATORBUG-19272
Change-Id: I0233812e3c7e4623a00ef077f9a5057db5ba8b93
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This fixes any crashes related to uncaught exceptions when
reparenting in the navigator.
Task-number: QTCREATORBUG-19272
Change-Id: If087b866059cd285413d54f57d7c4199bfc50ba7
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
For Xcode 9 boot the second device instead of creating a new simulator
app instance
Task-number: QTCREATORBUG-19270
Change-Id: I68d1c319f8b5e709fc20462098db0c89a66566eb
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The runControl associated with a tab might become nullptr. That was
already handled in some places. Do so consistently now.
Change-Id: I899cc467a213f2a991967fa98a5819a98412d387
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The pointer passed in was assumed to be non-null, but that does not need
to be the case.
This should make the function more robust in face of errors. The RunControl
passed into the method is taken from a QPointer. So if the RunControl is
destroyed, that pointer may be nullptr.
Task-number: QTCREATORBUG-19269
Change-Id: I42e7b9d5582df2ee0830c8f92af4e4a97e7d6417
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This prevents the user from changing settings while the project is parsing. Those
changes would get lost.
Task-number: QTCREATORBUG-18988
Change-Id: Ie04c6750c8aea3fe5543168ae4838f42fe488ca2
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
According to the Qt 5.9 documentation it is
import QtQuick.VirtualKeyboard 2.2
Change-Id: Ic560e187f57e9db9e8552ec0f407766e74d20d7d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Same (or similar, in case an explicit path is configured) message
is triggered by the base class, no need for duplicated here.
Change-Id: I1a3e3c386674e98dc0ddd31f1156f7e8254a53c2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
It's typically query handled after stop() (triggered by process
finished), clearing the list then would essentially discard the
result of the operation.
Change-Id: I12fb09249f8437009d3365fadcca222855468cd7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This causes the same kit to be processed repeatedly, which should not
cause harm, but waste CPU cycles.
Change-Id: Ie42272aacec6d8350398b65973570282c0c8d287
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Use the old importer when cleaning while switching to a new importer.
Change-Id: I8fd3af32271b839502571ee3806903abd927ef0a
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>