The deploy step widget most useful aspect is the uninstall before
deploy checkbox, and having it expanded by default would improve the
UX a bit by avoiding one extra mouse click.
Change-Id: I23ebc90daf9290d229d93dca1b9b25629902e3f2
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Add "am start" extra arguments after all the params used by Creator's
deployment process are added. This in turn help tackle two issues:
1) Allowing users to use [-n] to start a different Activity than the
default one.
2) Won't fail deployment silently is a param is a non supported arg,
where adb would try to start an app but the return code is 0 even if
the that app is not found.
Then, we don't need the warning aspect anymore because after this
change, we would rely on "adb am start" to report an exception, but
the app would start anyway if the case 2 above occurs.
Change-Id: Ie609b748e76a068c66c8a9be1d08ccc050167ad1
Reviewed-by: hjk <hjk@qt.io>
In some cases (e.g. "Attach to running application") there is no
proper RunConfiguration, so fall back to Target or Kit.
Amends e78f456083
Change-Id: I0093d5f573fc259fd2a72bbc1aaa22dcb8adbaee
Reviewed-by: David Schulz <david.schulz@qt.io>
- Makes Binding Editor modal
- Fixes Binding Editors hotkeys and actions
- Adds Target item, property and expected type into title
Task-numbers: QDS-2819, QDS-4878
Change-Id: Ib5c5f73e6552f58828776043f9b793a24c48a1f8
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
So that ptrace output can be recognized.
Fixes: QTCREATORBUG-26384
Change-Id: Ibd9456963a5379c333782287754bf9aed4235dc4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Before writing the annotations we also sanitize the QML file.
This removes dangling PropertyChanges and dangling KeyFrameGroups.
Those are simply noise and have no relevance. We only sanitize
ui.qml files.
Change-Id: If4bb993b808f9d96ab89296117e776e8e9eec2c3
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
The change that treats header files as projects added all sources for a
certain language for every compiler group.
This meant that for the target that has precompiled headers, the source
files would be added multiple times.
This change reverts to adding only the source files from a compiler
group and the header files for a language type, but only for non PCH
compiler group.
Fixes: QTCREATORBUG-26383
Change-Id: Ib328e0a0331e0f373d5a5981489bc17c58b8eed6
Reviewed-by: David Schulz <david.schulz@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Don't count "*", don't search for "[" and for "?"
inside m_pattern on every call to matchFileName().
Do it once, when constructing the MimeGlobPattern.
Fix matching the pattern for names without any
wildcard: index of question mark should be -1, not
just different from 0.
This shortens loading a Qt6 project by about 500 ms.
Change-Id: I868fa5c024233467c8e717a8482268da8e9e4a66
Reviewed-by: hjk <hjk@qt.io>
Like the comment says. Amends 284817fae6.
Task-number: QTCREATORBUG-26304
Change-Id: I6cee9d84cedafa02dce14372e65672731e3e5cfc
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
So people with older installations know right away that they can't
expect full functionality.
Change-Id: I8cceb2c88ba1622fa37fb88fc0b96253b6c13a06
Reviewed-by: David Schulz <david.schulz@qt.io>
Profiling has shown that this function is a hotspot. Luckily, it can be
easily sped up by taking advantage of the fact that the AST nodes are
(mostly) sorted by range, allowing us to employ a binary search when
looking for a given range.
Change-Id: I950c150543ff68b975d36c6fb652d366b93ea3b2
Reviewed-by: David Schulz <david.schulz@qt.io>
Implicit components lose/gain node source when reparented, so we need
to also potentially remove form editor items based on the node
source state of the node itself in addition to the state of the
parent.
Node source can also change without reparenting, and it's not
guaranteed the node source is up to date when nodeReparented is
called, so to make sure we always end up in correct state in form
editor, we do the same checks in nodeSourceChanged as we do in
nodeReparented.
Fixes: QDS-5230
Change-Id: Ib358ccb0db4c26e4857bad00e35930287c4149fb
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This reverts commit e5dd24322f
which caused QTCREATORBUG-26214.
Fixes: QTCREATORBUG-26214
Change-Id: I0d285b4df8fa428201fb6c48bbbad81f8195a941
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Don't lookup for matching targetDetails on every iteration.
Before we start a loop we prepare the appropriate hash and
use it on every iteration instead.
This shortens the total time spent on findOrDefault
from about 2 seconds to about 10 miliseconds now.
Change-Id: I89bb3f472bc9071a54f9900fa057f87b57d4742d
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
- Move ClangFormat settings page to TabWidget in the dialog
that opens when a user press "Edit" button in the CodeStyle tab
Change-Id: Ibd285344f07a6b2b20e275f2134976c50f91a019
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Don't call this method directly on every demand, but schedule
a call instead and invoke it once after the current call
returns back to the main loop.
The single call may cost up to ~20ms, and when we call it for
every target having 5000 targets, the total cost is up to ~10 seconds
(every call removes one items, so subsequent calls take a bit
less time). This happens on shutdown when Qt6 project was loaded.
The shutdown time went down from ~15 seconds to ~4 seconds with
this patch.
Change-Id: Id821d72cd8e1dd949112d9167b7736a267b221fc
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Don't search for each target separately in the node tree,
but do a one search for all targets at once.
This makes searching for nodes much faster, as in case
of loading a Qt6 project (5 main modules only) with debug build
of Creator, the searching time went down from 36 seconds into
30 miliseconds (just 1000 times faster). The number of targets
in this case was more than 5000.
Change-Id: I015f6fd2a2d5e613307cc7b65746c01a5b14c6dc
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
When dragging 3D model file(s) from the file system and dropping them
on the 3D Editor, add the models the the 3D Editor after importing
them.
Change-Id: I51ec945097a19e8895eb599b898d49e879100b6d
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
The current label could be confused with build-tools version, so make
it more explicit.
Change-Id: I96abe9af04e6a6e8518926578411f759b90fc9a0
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Content of widgets with windowType Qt::Dialog was already excluded from
being styled as "panelwidgets". This change adds Qt::Popup to the
blacklist.
Task-number: QTCREATORBUG-26370
Change-Id: I76d07da4d8f3ae9f1c8235cdc072a04917454065
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
The glob "*.ui" is unfortunately not unique in the mime database, so it
falls back to using the mime magic to determine the mime type.
That process is unfortunately defined by the "standard" in a most useless
way: Even if a mime type matches both by glob and by mime magic, a mime
type that does not match by glob can be preferred, if its mime magic
matches either with a higher priority, or with the same priority but is
alphabetically "smaller" than the other mime type.
Reduce the priority of the "#include" mime magic for the text/x-c++hdr
mime type, so it is lower than the mime magic of the application/x-
designer mime type.
Fixes: QTCREATORBUG-21773
Change-Id: Idfb9ab509c13563b50381b098d643f6fa9292f27
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
We iterated through a list that was in the middle of a std::remove(),
which is not safe.
Change-Id: I2b4bce18ebe3365fd22f33521aa82868c10e9647
Reviewed-by: David Schulz <david.schulz@qt.io>
Qt 6 brings a behavioral change regarding delivery of wheel events:
92df790f46b3a8b17aec2f385d6472fd3f8647f6 and
2a857ee28315c5bacfe2ecaf402ca9005b35c20e. If there is an event
filter installed and wheel event is being processed, the event
is now accepted by default, which means that after returning
true from eventFilter(), the event is not propagated anymore.
Since we want to redirect the event to the parent HelpViewer object,
we explicitly ignore the event prior to returning true.
Task-number: QTCREATORBUG-26369
Change-Id: I2fc8b7c8bfbc343a9ca7951684ced405f8a55039
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
Qt 6 sends the finished signal directly from QMovie::start, so if we
connect QMovie::finished directly to QMovie::start, we end up in
an endless recursion and stack exhaustion.
Use a queued connection, and do not restart a movie if it went
invalid.
Fixes: QTCREATORBUG-26377
Change-Id: I9980615f44d0cf7e92f85c010427bd6b67046949
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QmlObjectNode::allInvalidStateOperations
* QmlTimelineKeyframeGroup::allInvalidTimelineKeyframeGroups
These functions make it easy to find dangling/invalid PropertyChanges and
KeyFrameGroups.
Change-Id: I201a6561a51aba53405e8a8fc92821c467fecb1b
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
If the target cannot be resolved the result is invalid.
Task-number: QDS-5216
Change-Id: Ibd7884d6638ae653953347862ca1291f963aa3b3
Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
Moved the function into timelineutils.h in order to be able to
use it from other places as well.
Change-Id: If5fa094abb6ae52d7922bc9bbcb96b482ece7ac0
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
The question which concrete AST node corresponds to a given cursor
position is surprisingly difficult to answer, and clangd already has a lot
of code for this. Therefore, we always refer to clangd to get a concrete
node, even if we already have the full AST.
Change-Id: I5d1528d776ee459a53b8e650a616ea7019ec59bf
Reviewed-by: David Schulz <david.schulz@qt.io>
If a node is deleted also children are deleted.
We have to remove all references to children, too.
Change-Id: Ie944b00ffc832fb0fb11ef0380c4b9b30add5757
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Use resetPuppet() instead of delayedRestartProcess() to properly
notify other views of the impending reset.
Fixes: QDS-5222
Change-Id: I46dc0dfc9f0b675bd2a0fc07c6b7d9cde4d1e48a
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Valid for windows hosts, otherwise, the command might fail.
Change-Id: I3e759c74ea0a785fd226cda08f301f0cce17c9b7
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>