Leaving these around can lead to a crash when updating a kit after the
project has been closed.
Task-number: QTCREATORBUG-17571
Change-Id: Ie4be99a665b072f3c920e3f365f5b20949436850
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This happens at least on Boot2Qt devices with Dropbear SSH.
Handling readChannelFinished() signal fixes the issue.
Task-number: QTCREATORBUG-16158
Change-Id: I7c6660ce3a1bfe6eeb868da5a818c0b92307eda0
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The integrated text editor requires a couple of fixes and features
in the error handling.
The errors are now handled by the model and not the document management
anymore.
The text editor does not get disabled if there is an error. Instead
we show the error in a status bar.
The form editor is blocked if there is a QML an error and we show the
error message inside the form editor.
Change-Id: I4bfb9b33b09e444ec1de31dd531ce83b32cbcf88
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
In this way we minimize the chance of
generating non-unique id.
Change-Id: Idd177c5a4b44b17a58c2a944ec77b9517e91964e
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
it's pointless, as no consumer has a legitimate need for it - the
project file is the root of all traversals, and is known by other means.
amends 4148b05e0.
Change-Id: I4df69727e37151b0ecbcd88b2f5ef6e55712172f
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
... in subdirs projects which actually have any subdirs.
that would happen via this mechanism in QmakeProFileNode::evaluate():
first, IncludedPriFile nodes with proFile = null are created for the
subdirs. subsequently, this tree is enriched by transforming the
reader's included files. that loop iterates over all already created
nodes and tries to match them against included files. at nesting level
one, this would now run into the nodes created for the subdirs. the code
failed to skip over these nodes, and would thus create a bogus node for
the .pro file (as it has the parent null in the mapping of included
files). this node would not be included into the tree due to the loop
prevention in QmakeProFileNode::applyEvaluate() (it obviously had the
same file path as its parent), but at the same time it would catch the
files meant for the root node due to defeating the fallback in
QmakePriFileNode::extractSources().
Task-number: QTCREATORBUG-17473
Change-Id: Ice9f667345148be42297cc21ff0a73058f27cc38
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
COMMAND_TIMEOUT is not needed and will not be emitted
Change-Id: Id89aaa8c0b774a962e7a4e813a5b3d3e6a37524d
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Since the cache size is not given for individual file events anymore,
the test should only check it for the events in row 1.
Change-Id: Idfc7ec90ab8da214f4eedce36dd3b84fb00ed553
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
... instead of guessing it. This is more robust.
Change-Id: I4855b78da23cb1caefa3a7a95bfa60c5733b32c5
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
If a derived test case implements the same private slot as one of
its base classes one of these information got lost as both were
using the same key to store the information at.
Additionally take care of what is possible and sensible when using
QtTest and deriving test cases from others.
Task-number: QTCREATORBUG-17522
Change-Id: I0d2a47c820d5eb002f8bdd851a07a4774e9838f0
Reviewed-by: David Schulz <david.schulz@qt.io>
The Control of the Document "exprDoc" in ResolveExpression::visit(
SimpleNameAST*ast) owns names that are passed on further as part of the
LookupItems. However, the life time of that Document and thus the
Control ends in that function.
Fix by using the appropriate Control object.
Task-number: QTCREATORBUG-16731
Change-Id: I5a7af0a67613fff79f7e07865801585c13bb9b45
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
While I understand that the term "execute" is techically accurate, to
execute has many meanings, not all of them are positive. Execute can
also mean to kill someone. We should try to have more geopolitically
neutral terms in an IDE like QtCreator since it is used all over the world.
Change-Id: Icd6742865afa7a4469764e38eee961d7a96c7d5f
Reviewed-by: Friedemann Kleint <Friedemann.Kleint@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
The move only patter is quite powerful but has the drawback that some
STL algorithms get quite complicated. For short string or const references
should be not difference to a move. So we activate them for all cases.
Change-Id: I959c13796e69c45f31bb0ecbbe64a70d39961e3f
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Comparing file paths can be quite expensive because the start very likely
with the same string. Sorting for size and only compare the string is less
expensive. For many algorithm we need a sort order, so making the less
operator cheaper is quite desirable.
Change-Id: I33e7abc7a65264e80376f445f8b6dcada0625ab9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
At startup, qtcreator prints an error:
% qtcreator
"The command \"/qmake\" could not be started."
This appears to be because of an off-by-one error in
BuildableHelperLibrary::qtChooserToQmakePath(const QString &path) which
parses the output of a call to "qtchooser -print-env" to extract the
value of the QTTOOLDIR variable. The code attempts to move past the
prefix string to find the end quote, but by moving one too few
characters it finds the starting quote instead, resulting in a zero
length string result.
Change-Id: I74368f10a81eda2286ae735bdc595c0f92e4e665
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Hide core plugin, hello world plugin, and plugins that only provide the
base for other plugins.
Change-Id: I7f4a29a265d760b2a759122be153c7f06bd40bd2
Reviewed-by: hjk <hjk@qt.io>
Plugins can be hidden in the "About Plugins" view by default. Users can
still make them all visible, but the default view can be made less noisy
by hiding plugins that only exist as a base for other plugins.
Plugins that can not run on the current platform are hidden by default
as well.
Change-Id: Iaf2f751c4ea4b3afc605bbbea6611eea042e62c7
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
The progress bar already disappears while we're still in Projects mode.
Change-Id: I7dcf24d1d423eba3057868c4323b2054c99d19f1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Display "Waiting for data" instead of "No differences" when creating new
instance of an editor for the same document (e.g. by splitting the view)
during document reload.
Change-Id: If254006de3914ad4416c7405874e8cbea57ddd8d
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
The colors don't play very well with the theme support. We want to
switch the colors according to the current theme if the user doesn't
care for them. Not saving the default colors achieves that.
Change-Id: Idafc13e561d33736eb21b26944756291449594b5
Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
This was not an issue before, because it was not possible in the ui.
Change-Id: I98e0634bdb667dae5a8589c5b1f70c2d87527ae6
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
When an item is selected in the navigator we move the cursor.
Change-Id: Ia6d41e4d7bdf38688cf0cd73f134c349126eb68e
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
We always the select the item that contains the cursor,
so the user can use the property editor.
This even works for non visible items.
Change-Id: I5573e6d9be4b478f764ab6960a3b5742136dcee9
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
When we rename an id we actually trigger a refactoring
operation on the qml text.
Due to recent changes we delay and compress qml changes
from the text side using a 400ms timer.
This is fatal for renaming ids.
When we trigger refactoring operations on the text we have to ensure
the update is done instantly without delay.
To ensure this we use the memeber m_instantQmlTextUpdate.
Change-Id: Ie007ee99f201cd444033c38630d7e7a9f5a673b5
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* Using smart pointers
* Renaming DummyWidget to TextEditorWidget
* Moving TextEditorWidget to separate file
Change-Id: Idbe0e50f976bf39beac8632d4254d6d9a5afd5b2
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>