The old code had a number of problems:
- There was one function isConfigured() to report whether the
run config has issues, and a second one, ensureConfigured(),
needed to be called to retrieve the details. At least one subclass
implementor forgot to re-implement the first one, so the second
one was never called.
- The ensureConfigured() function could show a dialog and thereby
delay execution of the run configuration, leading to additional
state and a more complicated execution logic. Also, the dialog
duplicated the run configuration UI.
We now have only one function returning a list of Task objects. If the
list is not empty, we present them to the user in a non-blocking way and
abort the execution.
Change-Id: I5f2a8126a2c1bd2ca51345b9e37b979bfc0c0b98
Reviewed-by: hjk <hjk@qt.io>
- Do not rely on the order of entries.
- Use a more sensible order of entries.
Change-Id: I368b21b2e40a7cfa87771273e5f82640da2b2ff0
Reviewed-by: hjk <hjk@qt.io>
... instead of the entire project.
This can speed up the development cycle by ignoring irrelevant changes
in the project, potentially at the cost of missing parts that actually
should be re-built (in particular with build systems where a product
does not have full knowledge of its dependencies).
Supported by qmake and qbs for now.
Change-Id: Ic7101aa243e92ba139798d13366d256c1919dcc3
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: hjk <hjk@qt.io>
... when initializing build configuration.
Potential re-alignment with contents of pre-existing Makefiles
is confusing at best, and depends on the presence of Makefiles
that are typically close to invisble when using an IDE.
Change-Id: Iadbab4f32badfbf948cfa2a1b256932acbfe858f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Users are confused, because we now have Qt Bridge for Photoshop.
Change-Id: I63220cd2c2df5bc552b96c4cf7a5df72d2fe89b4
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Clean up destructors in the class hierarchy based on IpcInterface.
Change-Id: Ia79784243858fff619a9df534384a7bca18f2bd0
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
They are deleted implicitly by their base class having deleted
these. So make this explicit.
Change-Id: Ia19ff74436e800af0d86fe7bb73fa087ce00872a
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
std::lower_bound returns the first entry that is greater than or
equal to the argument. It should never return anything smaller
than the argument, so the condition did not make sense.
This broke the project tree of Qt Creator's cmake project (and likely other
projects as well).
Invert the condition to make it clearer.
This amends commit 18ecbb9b14.
Change-Id: I99a002b5fb2c4ea6639b896ce8d2ef2b01f0815b
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
In line with the general move toward use of FilePath nowadays.
Change-Id: I1c50e1479f7d9100ff8ded3ce3c22dd82b7fe6aa
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Run cppcheck on selected files from current project via "Analyze"->"Cppcheck...."
Show results in a separate view in the same manner as ClangTools plugin.
Fixes: QTCREATORBUG-21673
Change-Id: Ibcaf4057a387a990f1da59025f15ba58f996953f
Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
Selection box for zero size items ended up being infinite, which broke
some functionality like fit to camera. Now boxes should be correctly
zero sized for non-model items. This also fixes issues with parent
box size if it has zero size children.
Change-Id: I3c8fae3ee971fbb0cf9e0de2615c107ce97a76f8
Fixes: QDS-1287
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
...as this is useful to know for some bigger runs.
Change-Id: Ib4cc68ea4a3bed21ac7e632213e92e26be03d978
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Print the error text we are showing in the info bar. For example:
QWARN : ...testProject(simple.pro) Error: Failed to build the project.
FAIL! : ...testProject(simple.pro) 'finishedSuccessfully' returned FALSE. ()
Change-Id: I7df91909dc4974a2c3aa9d44cb7511222517198c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Replace the filter line edit in the toolbar by a tool button that pop
ups a dialog. In the dialog, the available checkers can be
selectd/unselected to filter the diagnostic view. Also, the diagnostic
view can be limited to diagnostics with fixits so that these can be
selected and applied as the next step.
For convience, add also some context menu entries to modify the filter
with regard to the current diagnostic.
Change-Id: Ifba3028805840658d72a39516c2b02da9864d4a6
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Likely a leftover, and not needed anymore. All user visible
RunConfiguration go through Target::setActiveRunConfiguration
sooner or later, which trigger ProjectExplorerPluginPrivate
::activeRunConfigurationChanged which also updates actions.
Change-Id: I9e7b570f74a83d353155249e183cee1755196c51
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
This remove 4 failed adb calls if the qt_live_viewer.apk is missing
(which it always is).
Task-number: QTCREATORBUG-23313
Change-Id: I8dbf833b35a9386d8d87f72c043dd019c62b4467
Reviewed-by: Vikas Pachdha <vikas.pachdha@qt.io>
All the math before checking if the scaling axis is zero can cause
enough rounding errors to make qFuzzyIsNull to not think the value is
zero anymore, so check increase the check range.
Change-Id: I776d44886f061be6c1fd91c09eb8efcfb29e0936
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
When selected node has non-default rotation order or orientation,
gizmos need to account for that.
Change-Id: Ie3817fd057b43f708ac1feea3e98e1e44f56d66a
Fixes: QDS-1290
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
RunConfiguration::update() is becoming a central place acting on
requests to act on interesting changes, triggering notifications
to "the outside" from there is natural.
Change-Id: I159cb548c159a607e2628a178362987fb37b59e3
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
On repeated invocations of OutputWindow::appendMessage(), embedded
newlines would simply disappear because of an off-by-one error.
The only reason this was not observed all the time is that the relevant
code is only run for process output, which usually comes in larger
chunks, so that the whole output would get procecessed in a single call
to appendMessage().
Fixes: QTCREATORBUG-23300
Change-Id: Ibd10d33462d1922671c3cd9325adbbf2841bfa06
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Find clang and clang++ in more than one location. If they could
be found in more than a single path provided inside PATH we
expected only the first occurrence.
Change-Id: Ibcd7b7b6dff1153fd4b52b055c0fb2a0c5d9d7fc
Reviewed-by: Robert Loehning <robert.loehning@qt.io>
The install target will install all targets that what have been built.
If some plugin is not being built (all Clang* plugins) by not having
the necesssary dependencies, it's not a failure not to have that plugin
at installation time.
Change-Id: I78b71a3fcae462d3eae7520744bfebab3f924bb4
Reviewed-by: Kai Koehne <kai.koehne@qt.io>
We need to choose the preferred ABI based on what it's in the package
not based on what Qt supports.
Change-Id: I243fbf67913af7804af868d507323c0934ad3752
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Starting with Qt 5.14 we don't need "contains(ANDROID_TARGET_ARCH" scope
as we are doing multi abi builds in one go, therefore
contains(ANDROID_TARGET_ARCH,...) won't work anymore.
Fixes: QTBUG-79948
Change-Id: Icc989e4dfd48c765340569dcb547e8d0d2b1e8f1
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
PIDs on Android (also on linux) are int64 not int
Change-Id: I6611361d4f7ab66018b3174e8fe64a41fa111350
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Now flags in all lines of the .cxxflags and the .cflags files are parsed. Not only the flags in the first lines of these files.
Change-Id: I2abddbfce9888dd9cb94aa75b562dc86997bdf48
Reviewed-by: hjk <hjk@qt.io>
Do not remove the output files after the runner invocation since they
will be removed later anyway due to the use of a temporary dir.
For debugging, allow to prevent deleting the temporary dir. This allows
easier inspection of the actually generated output files and also
enables us to import the diagnostics again without actually running the
tools.
Change-Id: I39e04d6debc2ffa5c15e836729a4b7c7d8a3798c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Avoid the following issues with the diagnostic view's header:
* Clicking on the header to reverse the sorting is somewhat pointless as
there is only one column.
* It takes vertical space.
* The checkbox to select/unselect all fixits for application is hacky,
not drawn nicely on Windows and macOS and its position is somewhat
problematic as on hover the dock widgets handles are popping up.
* To check the check box, one needs to click within the check box
rectangle, which is a pretty small area of the screen.
Instead, add a proper checkbox with a label to the toolbar (apparently
this needs some adaptions to our ManhattenStyle). By positioning it
before the "Apply Fixits" button, we can streamline the work flow.
Change-Id: I4ff40c3641487428feb1cd8305470dc5219d048c
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
...as unchecking the root item in the tree has the same effect.
Change-Id: I960ea2c09a71dad3b0ba3dfb38a19055653354cd
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
...instead of hardcoding them for a particular version of
clang-tidy/clazy.
While at it, move also the tidy/clazy widgets to ClangTools as this
simplifies feeding data to them.
Reduce also the built-in configs to a single one using clang-tidy's and
clazy's default checks as they look very reasonable and saves us some
porting effort. Also, our previous built-in configs were just too
numerous.
Change-Id: Ib9297acb7810a940b86a23a8695530506a570394
Reviewed-by: Cristian Adam <cristian.adam@qt.io>