Aspect creation must stay for now as the object pool is the only
central registry for it right now.
Change-Id: Ibe42009db6b0351aaa36e9ac8f0f6f7a0562167e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Let the workers keep track of errors instead of passing around
string pointers in some but not all interesting places.
Change-Id: I3956bc947a50747dd3a0c9302b9f9873d192e9c6
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Apply clang fix to the old code model
Do not replace the text after cursor if
the proposal does not contain it or
if proposal matches 100% the text after it
Task-number: QTCREATORBUG-18471
Change-Id: I662cb6e48a9e0ee14065594f5c823f114fff2474
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
When navigating to headers that are not part of the project, avoid
showing the inline diagnostics. In most cases, these files can't be
changed.
This helps also for the session-load case where files are opened/parsed
when no project information is available yet.
Change-Id: I7fce24af78b3b1efbf64dd27d8ca2a053e02d4ec
Reviewed-by: David Schulz <david.schulz@qt.io>
And move the "Show Sidebar" button into the status bar that we
need now anyhow.
Change-Id: I24bfa0991cbdcdba4d1a8cd6cbacde28d459972d
Reviewed-by: David Schulz <david.schulz@qt.io>
A RunControl is re-runnable if all its workers are,
a RunWorker is re-runnable if it's Stopped and unless it
says otherwise.
Also ensure SimpleTargetRunner only reportStop() once
per run and make process error message re-usable.
Change-Id: I73f5fb724d3026ceb81d5e32a3a71b4814b2bca9
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Use value types in the cache and remove the code used to manage the
pointers.
Change-Id: I3babc69d571de161e161037da7cd731f70d0695d
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Do not check whether a refactoring marker is visible, but always provide
enough space to display one.
Change-Id: I3f9dbb973b9067bd8177773d6fc878b47427232e
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
The algorithm that creates the overlay selection path adds many
redundant curve elements. That is quite ineffecient when painting and it
also creates visual gaps.
This patch simplifies the path and therefore substantially reduces the
elements and removes the gaps.
Task-number: QTCREATORBUG-18518
Change-Id: If3558e226825426ca6b143eeba4239e6f0061df0
Reviewed-by: David Schulz <david.schulz@qt.io>
The tree view uses a connection to rowsInserted internally for updating
the view, so we may only remove our specific connection to updateSize.
Otherwise the view stops showing items after the first rowsInserted.
Task-number: QTCREATORBUG-18522
Change-Id: Ib80fa39ee5556221a447db3556495a3608e3f62b
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
Since e.g. whitespace can have a different foreground color than
"normal" text, we have to explicitly set the color for the underline
when hovering. Use foreground color if there is no specific text color
set for "normal" text.
Change-Id: I9825d24af0d598b039a0db9ed86966605e22ac04
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
Instead of hardcoding the value of LSMinimumSystemVersion in Info.plist
where we will always forget to update it (and since Qt Creator can be
built with multiple versions of Qt, it will almost certainly be wrong
for one of those versions), automatically determine the value from
QMAKE_MACOSX_DEPLOYMENT_TARGET, which is authoritative.
This should prevent mishaps where users try to run Qt Creator on older
OS versions and receive a crash dialog instead of the friendly "This
app requires a newer version of macOS" message that a properly set
LSMinimumSystemVersion value will induce.
The Qbs build is not affected by this problem, as Qbs automatically
handles the minimum deployment target even when a custom Info.plist is
specified.
The solution chosen in this patch was used instead of QMAKE_SUBSTITUTES
because the Qbs build also uses the Info.plist input file and it would
break the Qbs build if the quotes were to be escaped, since it would
become invalid XML.
Change-Id: I20625a2fae546c6597a567f28864b12917e8ac39
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@qt.io>
This patch also sets the minimumQbsVersion to 1.7 because that's the version
that is actually documented as being required in the README.
Change-Id: I862daaf5fa34ab2cc5db47581689e08aa34f0910
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
The mapping was there, but not connected to the core actions.
Change-Id: I9faa1c47afe409caaa0462740a6865d99d959b44
Reviewed-by: Lukas Holecek <hluk@email.cz>
Reviewed-by: hjk <hjk@qt.io>
Not in start(), when it would add extra connections on each re-run.
Change-Id: I5fe9e047a188276f3bde54227dc0509ab77366c4
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
As promised in 112e32228. The temporary workaround can go now.
Change-Id: Ia98abfb21577ff073b069eaaf0edb5fb1227114d
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Makes remote output appear again in the Application Output pane,
and is arguably the right thing to do anyway.
Change-Id: I05c365eec43f60a85482b8ae7d5856b3a31ee6f8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
It looks like the case where workers need talk to each other by
only knowing the type of the 'partner' does not exist in practice
anymore. With the now-common setup of a 'primary' worker that one
can introduce the 'lesser' workers to each other directly.
That's also conceptually more robust that picking a partner by
type only only from some 'pool' (all the workers in a runcontrol),
scales better (it e.g. is imaginable that a RunControl needs
more than one PortGatherer in complex setups where more than one
device is involved) saves a few cycles, and even removes the need
for workers to be qobject_cast-able.
Change-Id: Ib3d8c942c893d6c198d9813cce7df28ba3260ce8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Reviewed-by: hjk <hjk@qt.io>
Looks like this was done for debugging, but the user is not supposed to be
aware of internal implementation.
Change-Id: If24a2b0f85a04c2e88c5ef5fd66d34a606d46712
Reviewed-by: Orgad Shaneh <orgads@gmail.com>
It turns out that one "Connection" per RunControl doesn't map
well to the uses we have. Instead, RunWorkers need to know
individually how to connect to the place where they can work,
but they are already specific enough to be able to use a
standard class (like QUrl) as their way to specify the needed
entry point.
In theory one could see a RunControl's connection as an
aggregation of its workers connection bits, but that does
not really seem to be needed in code.
As consequence, replace UrlConnection by a plain QUrl, and also
the HostName connection by a QUrl with hostName set.
Change-Id: I40c97e37779314ac0a77041e864a18eadb78f987
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
* Aborting a core dump debugging is a valid state
* Do not try to abort more than once (happens on shutdown)
Change-Id: I075409b3fa1231420fcd72706b18eaa0383fd4f2
Reviewed-by: hjk <hjk@qt.io>
The logic to not hide the popup if it got active was lost in
e133ee8928
Change-Id: Ic3af147194f7ad18d510e827db1d5804e48e1f97
Reviewed-by: David Schulz <david.schulz@qt.io>
The item delegate's sizeHint will only be correct after there are actual
items to show. So behave similar to uniformRowHeights by waiting for the
first data to arrive and then setting the size of the completion list
and the popup.
Task-number: QTCREATORBUG-18457
Change-Id: I7aa18988e07e21c2ec6587e83fb0de2dce6552ef
Reviewed-by: David Schulz <david.schulz@qt.io>
...due to indirect recursion:
...
CPlusPlus::ClassOrNamespace::lookupType LookupContext.cpp 833 0x7fffd6c954cc
CPlusPlus::ClassOrNamespace::nestedType LookupContext.cpp 1364 0x7fffd6c94bc6
CPlusPlus::ClassOrNamespace::lookupType_helper LookupContext.cpp 955 0x7fffd6c9517f
CPlusPlus::ClassOrNamespace::lookupType_helper LookupContext.cpp 983 0x7fffd6c952ad
CPlusPlus::ClassOrNamespace::lookupType LookupContext.cpp 833 0x7fffd6c954cc
CPlusPlus::ClassOrNamespace::nestedType LookupContext.cpp 1364 0x7fffd6c94bc6
CPlusPlus::ClassOrNamespace::lookupType_helper LookupContext.cpp 955 0x7fffd6c9517f
CPlusPlus::ClassOrNamespace::lookupType_helper LookupContext.cpp 983 0x7fffd6c952ad
CPlusPlus::ClassOrNamespace::lookupType LookupContext.cpp 833 0x7fffd6c954cc
...
ClassOrNamespace::lookupType(const Name *) already guards with a list of
entries already processed, but some calls deeper the list is not passed
on and lookupType() starts again with an empty list. Handle that case,
too.
Task-number: QTCREATORBUG-18499
Change-Id: Iab8978f6ac1d0aea16f49b3547415f43de887b07
Reviewed-by: Marco Bubke <marco.bubke@qt.io>