Commit Graph

68 Commits

Author SHA1 Message Date
hjk
8e352af0ec Core: Add a default parameter to various ICore::*path functions
Saves some code on the user side.

Change-Id: I32cd220b6e533f5497a1865f9c34ab9db4cfda79
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-04-27 06:52:05 +00:00
Eike Ziller
c1f90aeca2 ICore: Change some path API to use FilePath
Change-Id: Id841d6177206a021c9e606ce560b47d1ae6e52b9
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: hjk <hjk@qt.io>
2021-04-26 08:03:47 +00:00
hjk
7eb9d8cb60 ProjectExplorer: Introduce a KitAspect::createManageButton() function
Saves some repetition downstream.

Change-Id: Ied58586572d3e70669c9172c5076bbd12e211aa7
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-04-19 12:05:35 +00:00
hjk
77481f25ce ProjectExplorer: Base KitAspectWidget on BaseAspect
Enables re-using existing functionality.

The "Make mutable" functionality is still oddly placed. I doubt people
find and use it actively.

Change-Id: Ic6aae17e3a7df093f0f5f234f1e6e1afc196a087
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-04-19 12:02:19 +00:00
Eike Ziller
bce81fd992 Projects: Create QIcons in the UI thread
Creating QIcons elsewhere is not safe because of image reader plugin
loading and the pixmap cache.

Fixes: QTCREATORBUG-25301
Change-Id: Ia22a0cd571f808d7f5c639353fdf2e548743f8ca
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-04-09 13:34:55 +00:00
hjk
c24291648b Meson: Aspectify general settings
This follows suit which what is currently happening in other plugins.

Change-Id: I5fb75e23d7d6add632cd07c732131b4f9793d345
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-04-01 12:11:17 +00:00
hjk
035a6ff031 Utils: Avoid intermediate widgets when using LayoutBuilder
In most cases, the layout constructed in the builder was set
on a widget which in turn was put into a vbox in the actual
widget. This is not necessary, but needs some re-ordering.

Also make sure that using not-yet-parented widgets during
layout construction does not cause visible artifacts.

Change-Id: I75727a571da093d3131ea6fba467c2c646cdb6f1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2021-03-16 11:37:44 +00:00
hjk
2756794b4f Utils: Drop deprecated Utils::FilePath::{setFilePath,filePath}
Change-Id: I730dfb716f744bbcb62dedf611e93c0d2d358247
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
Reviewed-by: Robert Löhning <robert.loehning@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-03-16 08:12:34 +00:00
Alessandro Portale
72d91dc94a Use qAsConst with non-const Qt containers in range-loops
... in various places

Change-Id: Ic6c0c1b9437a1ed402105c7a14a1f5f9454a68d4
Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
2021-02-17 14:43:29 +00:00
Alessandro Portale
38a38cd0ed Utils: Fix output formatter "new searchDir found" signalling
Change-Id: Id9bc5cb0641dbac902b7d5af8ee3d00e0308478e
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-02-17 12:55:34 +00:00
Orgad Shaneh
dad2b3d84b Merge remote-tracking branch 'origin/4.14'
Change-Id: I7d55c01489dfcdd26fcf3ced9f26539a09073e8c
2021-02-08 12:56:36 +02:00
Orgad Shaneh
8a243aa6ca Meson: Fix tab order in item settings
Change-Id: I0ff2303c64f18fef30dd5e5f06ea47291b036096
Reviewed-by: hjk <hjk@qt.io>
2021-02-08 08:26:53 +00:00
Alexis Jeandet
303008a09a Meson plugin: Fix segfault when switching build type
Change-Id: I837e0a7ba8dd731438d36cfb766fd60c9643be73
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-02-04 09:28:41 +00:00
Eike Ziller
c245a642f2 Share "auto-detected" UI string and add tool tip
No need to have the same translatable string repeated at all these
places.
Also add tooltip to expand a bit on what "auto-detected" actually means.

Task-number: QTCREATORBUG-25291
Change-Id: I25d43486758ba17256cf7e1ea2eea0ec3d567b62
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2021-01-29 15:04:05 +00:00
Cristian Adam
707a3cfaf3 CMakeProjectManager: Use CMAKE_HOME_DIRECTORY as source directory
The CMakeCache.txt file has CMAKE_HOME_DIRECTORY pointing to the
project source directory used to configure the project.

When importing a cmake build the CMAKE_HOME_DIRECTORY from
CMakeCache.txt might not point to the same CMakeLists.txt that was
opened as a project.

qt-cmake-standalone-test from Qt6 uses a CMake template project which
does a add_subdirectory with the test source directory, which will not
work if opened standalone.

Normally this is a user error though, so ask the user if this was
intended, before actually importing the build.

Task-number: QTBUG-88776
Change-Id: Ifdd5e1d1cb8a1ef9955d22493eba3a1a55dc689f
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
2021-01-08 16:25:24 +00:00
BogDan Vatra
7a6bfbcfbe Allow the user to add custom parameters to meson
Don't use QtCreator's autogenerated native-file if the user passed a
custom one or a cross-file.

Change-Id: Ic1793df2578b6f5295cad88f0dc003666e5f16c1
Reviewed-by: hjk <hjk@qt.io>
2021-01-04 12:47:26 +00:00
Cristian Adam
5271a5c782 Utils: Add Qt6 to QtVersion enum
Change-Id: Idb00fde1459d00caaf263a21eecb96e6f6bd6fd9
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-12-23 11:12:56 +00:00
Eike Ziller
db2b085010 Meson: Use new message manager API
Avoid bringing general messages pane to front.
Flash when starting a process, write output silently afterwards.
Put an error into issues pane if parsing fails
Also don't log debug messages by default.

Task-number: QTCREATORBUG-24430
Change-Id: If4cbc1f48b0749b44410e2ac14d6796d63e4610e
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-12-07 13:05:36 +00:00
Jarek Kobus
48c2afe157 Decorate some classes and methods with final keyword
This way we silence the clang warnings about calling
virtual methods from c'tor or from d'tor:
[clang-analyzer-optin.cplusplus.VirtualCall]

Change-Id: I8d6318b490152133da4833bda2ba28622bce30dd
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-11-19 09:45:53 +00:00
Alessandro Portale
30aec82285 Add missing "final" to unexported/unshared classes
Change-Id: I84d5fc39d7ef5588a20545854d0cfd0b993db090
Reviewed-by: hjk <hjk@qt.io>
2020-11-18 15:40:29 +00:00
Eike Ziller
381c5656e7 Merge remote-tracking branch 'origin/4.14'
Conflicts:
	src/plugins/mesonprojectmanager/project/mesonprojectparser.h

Change-Id: Id38d20ce20981dcdc322fe5d1d7647f4bec89d8a
2020-11-13 16:03:26 +01:00
Alessandro Portale
d30d0e05d8 MesonProjectManager: Add .qrc file to the Qbs project
Fixes the error message:
Could not load image:  ":/mesonproject/icons/meson_bw_logo.png"

Change-Id: I41487f827cda9885b525b658117ff04eefb503e8
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-12 18:41:10 +00:00
Jarek Kobus
2b414508b7 Remove unneeded includes
Change-Id: I67fee9303509b7080e123a2a5826e200ce498ce2
Reviewed-by: hjk <hjk@qt.io>
2020-11-12 12:14:11 +00:00
Nikolai Kosjar
888ea6bbbb CppTools: Take "-include" files into account
Fixes: QTCREATORBUG-20602
Change-Id: Ibfc518fc64ed75f93265db800558ec1d2e424bb4
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-05 08:49:24 +00:00
hjk
eedb702bb9 Meson: Make spacing and #include ordering a bit more consistent
Not 100%, but a step forward.

Change-Id: I6957edbd24c1652b228a96a68424b857603aae45
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-03 09:18:10 +00:00
Alexis Jeandet
09eeab7737 Meson: partially clang-format all files
Change-Id: Ie621792417e89aa732311129f0cfa99a5147183a
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-11-03 07:24:17 +00:00
Alexis Jeandet
cfcfb304fa Meson: Replace most std::for_each by range based for
Change-Id: I18aa38bb84264e0f6a99f431c1caaded9bbbe248
Reviewed-by: hjk <hjk@qt.io>
2020-10-28 09:16:27 +00:00
Alexis Jeandet
36632330ca Meson: Only trigger meson introspection files parsesing on file change
FileSystemWatcher was triggered before meson-info.json was written which most of the
time did just ignore last changes. When meson plugin is parsing the project, it discardes
all new parsing requests.

Change-Id: I20c8e95e5ed330628614a9fe1485394fd6b9fde8
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-10-27 12:51:20 +00:00
Alexis Jeandet
8b23b6efbe Meson: List files from extra_files target field in project tree
Fixes: QTCREATORBUG-24824
Change-Id: Id37bdaea08fb527398195ac16f99fe3c00d36566
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-10-27 12:51:14 +00:00
Robert Loehning
91fb438b94 Remove invisible translated strings
Change-Id: If03c1e5d160d375e3a8ecd2c534214e3c92ae918
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-10-19 10:01:04 +00:00
hjk
97c6c13dcb ProjectExplorer: Remove BuildStepConfigWidget
After the previous changes it was only an empty wrapper around QWidget.

Change-Id: I58dcd82d8342c7de5e2df537044f6cf3de878a67
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-10-06 08:06:39 +00:00
hjk
b97b7dc6f2 ProjectExplorer: Move BuildStepWidget::summary etc to BuildStep
The step is the source of information anyway, and available at the
only place of use. No need to copy that over to the widget, neither
for keeping it up-to-date there when the mechanism is already
available in the step itself.

This creates quite some potential for the simplification of
the various createConfigWidget implementations in follow-up patches.

Change-Id: I4474665f194a1ff7c5792ad086ed53c8d3ce13e6
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-10-05 08:16:51 +00:00
hjk
591e93316d Consolidate build/deploystep default display name handling
Use the display name from the factory as default, override if needed.

Change-Id: I03519c998432fea4120b0de8b2fc2686644635f2
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-10-02 13:18:45 +00:00
hjk
cec468d78a Utils/ProjectExplorer: Move re-usabled bits of aspects to Utils
Classes involved are BaseAspect and some derived classes,
LayoutBuilder and VariableChooser.

This is mostly mechanical, with various include/using changes
to make it compile.

Change-Id: I624a457f3555f102e541c4c71e33a9423af32250
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-09-23 07:44:42 +00:00
hjk
0d185a0ad3 ProjectExplorer: Simplify use of AbstractProcessStep::init()
1. Systematically check for AbstractProcessStep::init() first in
   derived classes.
2. Use setupProcessParameters(processParameters()); by default in
   the base implementation.
3. Drop all re-implementations that are effectively the same.

Change-Id: I0ae54dd4909b354672a63ee56d0b7c2ea0732494
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-09-16 16:16:13 +00:00
hjk
61bfd32438 ProjectExplorer: Introduce a ProjectConfiguration::kit() function
For convenience, and use it in some places.

Change-Id: I8f7cb502b37b2fbf4cf2d17cac9c6299558332dc
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-09-09 06:27:21 +00:00
Eike Ziller
6477a07654 Merge remote-tracking branch 'origin/4.13' into master
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/clangtools/virtualfilesystemoverlay.h
	src/plugins/mesonprojectmanager/project/buildoptions/mesonbuildstepconfigwidget.ui
	src/plugins/qmldesigner/designercore/model/abstractview.cpp

Change-Id: I5013bd8fdd28d79cdea74380bec01d4c106adfaf
2020-08-31 14:49:19 +02:00
hjk
a981df3bf6 More namespaced Qt
Amends b41ea23233.

Missed that because the file is gone in master.

Task-number: QTCREATORBUG-24544
Change-Id: I7e5948d564c370f9ed197d999778151f2fe61b38
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-08-31 07:06:14 +00:00
hjk
cef1297504 Meson: Fully inline MesonBuildStepWidget
Next step in aspectification.

Change-Id: I9718d7ca763008fa040371d5b863b8604901adb7
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-08-28 14:19:10 +00:00
hjk
b41ea23233 Meson: Compile fix for namespaced Qt
Task-number: QTCREATORBUG-24544
Change-Id: I5a6ff7f561aca0b967471f4532e32a05077e3939
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-08-28 09:09:46 +00:00
hjk
29a9565c89 Meson: Start aspectification of NinjaBuildStep
First step is to inline mesonbuildstepconfigwidget.ui.

As side effect, don't skip row 0 in the form layout and drop the intermediate
QFrame/QVBoxLayout level and insert the searchable wrapper directly.

Change-Id: Ibf2e348b2990ba48126ad7b92e98d0bcd8116196
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-08-26 08:52:25 +00:00
hjk
6c785c05ab ProjectExplorer: Remove ProcessParameters::resolveAll()
On all code paths, this was implicit in a ProcessParameters::setCommandLine()
which was on all code paths either called directly immediately before, or as
part of ProcessStep::setupProcessParameters().

With ProcessParameters::setCommandLine() as only user, this could be
inlined there. The effectiveWorkingDirectory() turned out to be out of
place and rather accidentally working there and was moved to
ProcessParameters::setWorkingDirectory().

Change-Id: I634f6086c2324e3cbecd3e5d50e22afc722abd3f
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
2020-08-25 14:19:04 +00:00
hjk
89e7e5ff7f Meson: Use new AbstractProcessStep convenience functions
Change-Id: I6583a4b83f638d30cab72f395a1300aead1e38e7
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-08-18 11:33:53 +00:00
Eike Ziller
3944162039 Merge remote-tracking branch 'origin/4.13' into master
Conflicts:
	cmake/QtCreatorIDEBranding.cmake
	qbs/modules/qtc/qtc.qbs
	qtcreator_ide_branding.pri
	src/plugins/cmakeprojectmanager/cmakebuildstep.cpp
	src/plugins/cmakeprojectmanager/cmakebuildstep.h
	tests/auto/debugger/tst_namedemangler.cpp
	tests/auto/qml/codemodel/check/tst_check.cpp

Change-Id: Iefd5f71c03c0078513b76a92af764a4fb22ee4c2
2020-08-10 15:56:54 +02:00
hjk
9c930ac744 Meson: Cleanup mesonprojectplugin.*
Some unnneded code + final.

Change-Id: Ied2a29d20c624b8e5e2eefb56253b0412554ad44
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-08-06 07:47:43 +00:00
Alexis Jeandet
4dfb6f8c74 Meson: Add file watcher to keep QTC project in sync with introspection data
The most common case is when building triggers a new configuration process
which changes introspection data.

Change-Id: I7b23df4089898bb66a634b29809775d26011b315
Reviewed-by: hjk <hjk@qt.io>
2020-08-06 07:44:03 +00:00
hjk
996f490e97 Meson: Do not use QFuture implicit conversion
QFuture::operator T() will be removed with Qt 6

Task-number: QTCREATORBUG-24098
Change-Id: Iec7d8d95ab965867e8fa5ddaac496a4129ed08a9
Reviewed-by: Alexis Jeandet <alexis.jeandet@member.fsf.org>
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-07-31 11:19:15 +00:00
Christian Kandeler
bed084bd74 qbs build: Fix meson autotests
Change-Id: If2f57ac6fd622dae69a736a89d90f76c7653eee0
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
2020-07-24 12:15:38 +00:00
Eike Ziller
32af4d9e70 Fix lupdate issues
Change-Id: I950d2f53fcc03ba447140f3c6957422ca40111b5
Reviewed-by: hjk <hjk@qt.io>
2020-07-17 18:01:45 +00:00
hjk
e1c88116b3 Core/Utils: Migrate further to Utils::Id
The coreplugin/id.h header is kept for downstream for now.

Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66
(cherry picked from commit 430a33dcd9)
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2020-07-06 11:15:18 +00:00