Previously the code model would only get updated when the document that
contains the qmlRegisterType changed. If the actual component exported
to QML lives in a different file, any updates to that component would
be lost. With this change we keep track of the header files the
components are declared in and rescan if any of them changes.
This is still not the greatest way to do it as there are a number of
ways to introduce dependencies the system cannot detect. It's better
than before, though.
Change-Id: Ic077c516dca3ac720f78973c84e5e6e91b6a5c07
Reviewed-by: Marco Benelli <marco.benelli@qt.io>
Force runCommand when run from the UI thread to do fully synchronous
operations. This prevents two event loops in one thread with (sometimes)
interesting side effects.
This also stops signals from being sent while the process is running,
but the remaining users seem to be able to handle that.
Change-Id: Id5eb9868b660419987730c60e3fbfb4cbced1218
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
We add all .ttf fonts found in share/qtcreator/fonts to
QFontDatabase.
Change-Id: I133a5298bd4696b99fa2350758baf8abd8b16fd8
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Replace the manual height calculation with what Qt offers.
Task-number: QTCREATORBUG-16610
Change-Id: Icd18ef92d608d01c6343bb778343258d56461933
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
* Remove some more QLatin1String/QStringLiteral
* Use algorithms
Change-Id: Iaa1042684c58be5ff0a42b9126b63ec681053fdc
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Use SynchronousProcess::run and SynchronousProcess::runBlocking.
Using SynchronousProcess::run in ShellCommand::runSynchronous
is generally safe, since this method is usually called in its
own thread. This makes the processing of cancel requests work
again and makes output available via signals.
Task-number: QTCREATORBUG-16532
Change-Id: I6907194bd00cd5713673d9b1911978d69b996a80
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This name just got free, so use it for the method that actually is
called if the process runs with the FullySynchronously flag set.
Change-Id: Ic86bb291d578ad06b74db1ab89a22b1b8cb4f4bb
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Only convert the raw output later in a stdOut() and stdErr() method of
the SynchronousProcessResponse.
This is necessary since we have processes that use different encodings
for different sections of the file (I am looking at you, git).
Also remove the signals for raw data on stdout/stderr, leaving only the
signals returning buffered QString lines. This should be safe, even
with UTF-16 output.
Change-Id: Ida613fa86d1468cbd33bc6b3a1506a849c2d1c0a
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Syntax is similar to bash substitution:
%{variable/pattern/replacement} takes the expansion of variable, and
replaces the regular expression pattern with replacement once.
%{variable//pattern/replacement} replaces all occurrences.
Capture groups are supported for both forms.
Change-Id: I67ff91e2dad4dd8be81573ea446cd1093a05ccf6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
Reviewed-by: hjk <hjk@qt.io>
The class qbs::Project corresponds to a Qt Creator target, not to a Qt
Creator project. It represents a project set up for a particular
configuration.
Task-number: QTCREATORBUG-16545
Change-Id: I9e4fa6a4bf763e49335f294609d7465545df4559
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This removes the last occurrence of "Text with shadow". The progress
label was not only inconsistent but also bad on light themes.
Task-number: QTCREATORBUG-15999
Change-Id: I9c17402607d413fcfa0edcf342a50575d405dc1f
Reviewed-by: Thomas Hartmann <Thomas.Hartmann@theqtcompany.com>
Extend the existing "Compiler:*" substitutions with "Compiler:*:<LANGUAGE>"
which can be used to query all the information about different compilers
used for different languages.
The original "Compiler:*" is kept for compatibility reasons and points to
the Cxx compiler.
Change-Id: I356b8b3cb6b55a44581f2c78db90f8a197b0aff0
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Avoid fetching all files for the startup project again and again
while code model is indexing files. The indexing emits documentUpdated
signals for all (relevant) processed files.
If code model is indexing we perform a full parse anyhow after the
indexing has finished.
Change-Id: Ibfdb47f403da19d5bab3eb2295447ad451fca2b5
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
and show it on any kind of connection failure, not only on timeout.
Change-Id: I6b9c44cd3455d5dd383a552f9b422d3d236b67c4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
If the scan for quick tests was triggered just by a change of a
qml file (including indexing by the respective modelmanager) we
might find tests that won't be able to execute.
If we have already found quick tests we know their respective
project files. If we cannot find the files to be scanned inside the
already found ignore scan requests for such files.
This patch is kind of a continuation of b570ee1b80
(Fix initial parsing when loading session)
Change-Id: Ic1228641f60abf127134acbd4232a0ddd30ef159
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
QTest uses special type for critical and for special internal messages.
Change-Id: I980b2ccd2913012be24183ea503247331eeb97e1
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
If tasks are running while shutting down we might end up in a crash,
so cancel all tasks and handle possible invalid accesses of the
current running processing.
Change-Id: I69f7cac5f44390e322fa301af6d6794270c95c2a
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
"C++" might end up clashing with Orgad's work to make variable substitution
more powerful. Use a pure-ASCII-string name (Cxx) instead.
No conversion code since the impact can't be big so far, considering how
new the code is.
Change-Id: Iab1c91cd89d6c11dfaad80472a312e619abb6d97
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Use that in the debugger. That simplifies the logic a bit.
Change-Id: Ia72607283373ee0f89a91f347db0ef2c87cf9fb3
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Pass the C toolChain to the code model for all the C-versions creator
supports.
Change-Id: I0300a19d35861fcee76fb92ce14c6e04996bac7f
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
* Autodetect gcc and clang C compilers (in different flavors)
Change-Id: I7e61f2c6101b146ad63bb29278c05b1a574cf75e
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Create a warning when targetAbis of the compiler mismatch. That means
that the compile output can not be linked together, which is probably
not what is intended.
Change-Id: I167ee526c1dec89d39698195e1feccea30a26825
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
BREAKS BACKWARD COMPATIBILITY OF TOOLCHAIN SETTINGS!
* Convert old ToolChainKitInformation to new version
* Store several toolchains in one kit (one per language)
Change-Id: Ia59a2ad067c57971ec34ce9b2e43758344443755
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Enable creation of toolchains for different languages and wire
up the logic in the ToolChain Options Page.
Change-Id: I9fbd95607d30cc1aa10f73d6532338f07f3e2b4e
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
Properly display toolchain languages in the tree view of the
tool chains options page.
Change-Id: I27cb42cd2c5bf0cd7be8da921b94d8da10110841
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
* Add a pure virtual method to get supportedLanguges with
Change-Id: Ida4445ca045c90fb9f7656a661af83e5b6801b30
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
* Add code to toolchains
* Assert that this is the case in the toolchainmanager
Change-Id: I82452689e83279fd9d1afb3140b0070bef9b6cd8
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
* Make sure this field can not change during the lifetime of the
toolchain
* Save/restore it, default to Cxx if no language is set in the
toolchain.xml file
Change-Id: Ie79321f9913521b087cb8a735660cf1e1faeec3b
Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>