summaryrefslogtreecommitdiff
path: root/src/plugins/qmlprojectmanager/qmlproject.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* | InfoBar: Make adding more buttons possibleEike Ziller2022-01-181-1/+1
|/ | | | | Change-Id: Ic0c946cf3f87fe46cd06391f38e0bc71374ad340 Reviewed-by: Jarek Kobus <jaroslaw.kobus@qt.io>
* QmlDesigner: Don't export members which are not used outsideMarco Bubke2022-01-041-33/+33
| | | | | | | | Change-Id: I2eb756484a13ce81fd55e7b991d3a509045974e8 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
* QmlProjectManager: Add widgetApp qml project propertyMiikka Heikkinen2021-12-081-0/+7
| | | | | | | | | | | | | | | | Widget was the default apptype in Qt5, but in Qt6 the default was changed to gui, so projects with qml modules that depend on widgets can no longer be launched. Notable example of this is QtCharts. Added "widgetApp" qml project property to allow users to specify if they want widget or gui based application. Task-number: QDS-5686 Change-Id: If0787421c79d4ba24a0f8513c8538126bcf29b4e Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io> Reviewed-by: <github-actions-qt-creator@cristianadam.eu> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QmlProject: Do not allow supression of info bar for qmlprojectThomas Hartmann2021-11-241-1/+1
| | | | | | | | | Task-number: QTCREATORBUG-26604 Change-Id: I0bde278322150906780dccda734214182fe5100d Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: Kimmo Leppälä <kimmo.leppala@qt.io> Reviewed-by: hjk <hjk@qt.io>
* QmlProject: set project languages from application sideTuomo Pelkonen2021-11-041-0/+12
| | | | | | | | | | Even though this does not save the project languages to the .qmlproject file, this is needed for the languages to be synced during runtime. Saving the changes to the .qmlproject file is done in multilanguage-plugin itself. Change-Id: I771a2e68c3e776422e52d40f4b8526c9ae4e84c4 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* QmlProject: Add support for primaryLanguageTuomo Pelkonen2021-10-141-0/+9
| | | | | | | Task-number: QDS-5187 Change-Id: I05aafa726fd6c2b586d57b64239cf08c1f2342ab Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* QmlProject: Add support for supportedLanguagesThomas Hartmann2021-10-111-0/+9
| | | | | | Task-number: QDS-5187 Change-Id: Ieb1cb90225db4093178fafe4ebe948d5967a529d Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
* QmlProject: Propose to open QDS for any .ui.qml fileThomas Hartmann2021-09-231-28/+6
| | | | | | | | | | | | | | | | | | | | | | | This is only enabled if no QmlDesigner plugin is found. When a .ui.qml file is opened we check for a QDS installation. If QDS is installed we propose to open QDS instead, if not we show information on QDS. Search oder for .qmlproject file. QDS requires a project file. * Check if current project is .qmlproject * Check if the current folder contains a .qmlproject * Check folder for .qmlproject that contains the .ui.qml file * Check parent folder for .qmlproject ... If not .qmlproject is found we show an error message. Enabling external link support for InfoBar. Task-number: QDS-5065 Task-number: QDS-5066 Change-Id: I2c70c400c4d11b83a4848f9e002e180fa119f6e2 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Implements previewing qml preview for a qmlprojectPiotr Mikolajczyk2021-09-211-0/+6
| | | | | | | | | | | | To run it requires either designpreview.apk installed on the device or apks placed in <QTCREATATORDIR>/share/qtcreator/android/qtdesignviewer/ Apk filename should follow designpreview_$ARCH.apk Task-number: QAA-512 Change-Id: Ida955b0fac519112d4623166677a7ba8e9afb1f4 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* ProjectExplorer: Remove one constructor overload of DeployableFilehjk2021-09-141-1/+1
| | | | | Change-Id: I87e444349129e9370b5fec505444723d36e21448 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Merge remote-tracking branch 'origin/5.0'Eike Ziller2021-09-131-11/+21
|\ | | | | | | | | | | | | | | | | Conflicts: src/plugins/clangtools/clangtoolssettings.cpp src/plugins/clangtools/executableinfo.cpp src/plugins/clangtools/executableinfo.h Change-Id: Id8caf63e3e594792467d3447870086bd2d8f73b9
| * QmlProject: Open connect to ParsingFinished() only onceThomas Hartmann2021-09-071-16/+20
| | | | | | | | | | | | | | Task-number: QDS-5018 Change-Id: I2782641c8494c44c71c680e145be7744c98afabc Reviewed-by: Aleksei German <aleksei.german@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
| * QmlProject: Do not open .qml.ui file if a file from that project is openThomas Hartmann2021-09-071-2/+8
| | | | | | | | | | | | | | | | | | The wizards and example browser already open a .ui.qml file. In this case we do not want to open the first one. Change-Id: I8278ca28cd02dfde2b4ab0ffd1b551073d85859f Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Aleksei German <aleksei.german@qt.io>
* | Merge remote-tracking branch 'origin/5.0'Eike Ziller2021-09-071-0/+13
|\ \ | |/ | | | | | | | | | | | | | | Conflicts: src/libs/utils/processreaper.cpp src/plugins/clangcodemodel/clangmodelmanagersupport.cpp src/plugins/cmakeprojectmanager/cmakeprocess.cpp Change-Id: Ie248bcb02a80f3e02ab19d73033ce2ba31e7fd83
| * QmlProject: Open the first .ui.qml file in QDSThomas Hartmann2021-09-061-0/+13
| | | | | | | | | | | | | | | | | | | | | | Open the first .ui.qml file of a .qmlproject to not confuse users. Task-number: QDS-4986 Change-Id: I56c77c2101fd549cb7b96ea7d273bb4f5234693a Reviewed-by: Aleksei German <aleksei.german@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
* | Qml: Use QtcProcessArtem Sokolovskii2021-08-311-2/+4
| | | | | | | | | | | | Change-Id: I12ff58739db14952bdf38355f0fe3b332f57f330 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* | Utils: Rename FilePath::normalizePathName to normalizedPathNamehjk2021-08-261-1/+1
| | | | | | | | | | Change-Id: Ib7bcc9968749649f762a396d3861f7b67711e926 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Utils: Introduce FilePath::normalizePathName()hjk2021-08-231-4/+2
|/ | | | | | | | ... as wrapper around FileUtils::normalizePathName, and use it in some places. Change-Id: I42792e1f175b8119c8db930eae80a9f822ac70fa Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* QmlProject: Prefer Qt 6 kits if the project is flagged as Qt 6 projectThomas Hartmann2021-08-031-6/+45
| | | | | | | | | | | | | A .qmlproject can contain 'qt6Project: true'. If this is the case we prefer a Qt 6 kit, otherwise we prefer a Qt 5 kit. We only change this behavior if Qt Creator is in QDS mode. We should prefer desktop kits in any case. Task-number: QDS-4734 Change-Id: I90f6628cd071db01f2add068fd776774f7be133e Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
* QmlDesigner: Add setting for Qt 6 projectsThomas Hartmann2021-07-271-0/+9
| | | | | | | | | | Adding 'qt6Project: true' to the qmlproject file marks the project as Qt 6 'only'. Task-number: QDS-4734 Change-Id: Ib9d969fd11d409e280734f9bedf759b40470fc61 Reviewed-by: Henning Gründl <henning.gruendl@qt.io>
* ProjectExplorer: Use FilePaths in project tree nodeshjk2021-07-161-5/+5
| | | | | Change-Id: I31b15c428d9b962333947b1e32641fd80f61d069 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* baseqtversion: commands are FilePathesTim Jenssen2021-07-141-1/+1
| | | | | | | | also renamed the qmlscene* qmlRuntime* Change-Id: Ifd522e21f5ce30aaa54060fdcebee2cd8b9463c4 Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* use "qml" as QML runtimeTim Jenssen2021-07-131-3/+3
| | | | | | | | | | | | | Since Qt 6.2 qmlscene is deprecated by Qt. This patch also removes QMLViewer as a last QtQuick 1 artifact in external tools. Task-number: QDS-639 Task-number: QDS-4535 Task-number: QTCREATORBUG-22385 Change-Id: I5f67040954f8ef438961f7166a53bd96d5b73f4d Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* Core: filepathify file renamingDavid Schulz2021-06-171-6/+6
| | | | | | Change-Id: I3d4f39e34e65cde3df7b7c19570e3a54d0625d53 Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: David Schulz <david.schulz@qt.io>
* Core: filepathify expected document changesDavid Schulz2021-06-171-1/+1
| | | | | Change-Id: Ifa9341e55c79459db9ecef3c441da9b2816695bf Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: add FilePath::completeBaseNameDavid Schulz2021-06-041-1/+1
| | | | | | | Removing some FilePath::toFileInfo() calls again. Change-Id: I6610beebf2c30754fde525b71f4c4a34ceb5e30b Reviewed-by: hjk <hjk@qt.io>
* Utils: filepathify fileutilsDavid Schulz2021-05-181-1/+1
| | | | | Change-Id: Ic9048369f64d793f5f567cdb0c715488fb5a4ff6 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Utils: filepathify TextFileFormatDavid Schulz2021-05-181-2/+2
| | | | | | Change-Id: I6a4e2d38b0bbdec661a4a492901d9182a9f2e502 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Replace modal dialog with InfoBar in QmlProjectAleksei German2021-03-241-40/+29
| | | | | | | Change-Id: I0dfa8722748ae67ff29ad0aeb72681ee8c413d28 Fixes: QDS-3765 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io>
* QmlBuildSystem: MainFilePath member functionMichael Winkelmann2021-03-231-0/+5
| | | | | Change-Id: I388af6ffdbd310c9a433f6fbcb76e86db4c5053f Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* Improve Qt Design Studio visibility in Qt CreatorAleksei German2021-03-191-1/+62
| | | | | | | | Fixes: QDS-3765 Change-Id: I877da7c0caf153a48c17dbc9ced87ef54c1a082c Reviewed-by: Knud Dollereder <knud.dollereder@qt.io> Reviewed-by: Leena Miettinen <riitta-leena.miettinen@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* QML: Use new message manager APIEike Ziller2020-12-221-7/+6
| | | | | | | | | | | That is more evocative. Also avoid some instances of popping up the general messages pane, which should preferably only happen on direct user interaction. Task-number: QTCREATORBUG-24430 Change-Id: I69bb49f84c1486fd32b2a048ca4d76dceb6a0b2b Reviewed-by: Knud Dollereder <knud.dollereder@qt.io> Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
* ProjectExplorer: Introduce a ProjectConfiguration::kit() functionhjk2020-09-091-2/+2
| | | | | | | For convenience, and use it in some places. Change-Id: I8f7cb502b37b2fbf4cf2d17cac9c6299558332dc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Core: replace QString with Utils::FilePath to get documentsDavid Schulz2020-09-041-4/+4
| | | | | Change-Id: I01777c227398be8bd3bf877c5429b84a75aa361b Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Merge remote-tracking branch 'origin/qds-1.59' into 4.13Tim Jenssen2020-08-131-1/+1
|\ | | | | | | Change-Id: Ic720f3adab305c5ef8cd10e713ccabf510eff0c0
| * qmlproject: no need to use raw pointer hereTim Jenssen2020-07-201-1/+1
| | | | | | | | | | Change-Id: Idbd97a7ab4a78d3e56b3f444b7b48111d7823dd6 Reviewed-by: Marco Bubke <marco.bubke@qt.io>
* | Core/Utils: Migrate further to Utils::Idhjk2020-07-061-0/+1
|/ | | | | | | | The coreplugin/id.h header is kept for downstream for now. Change-Id: I8c44590f7b988b3770ecdc177c40783e12353e66 (cherry picked from commit 430a33dcd9ac80ddb848e41f8f059102857c88aa) Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* Allow blocking auto files refreshVikas Pachdha2020-03-031-0/+9
| | | | | | | | | | While importing assets, qml files are generated under the import path and this triggers files update every time a file is added. This results into high CPU usage. Task-number: QDS-1675 Change-Id: Ia0775ef78bbffedfaf2c140365ee31718e7ee3a4 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* QmlProject: Add qtForMCU flagThomas Hartmann2020-02-211-0/+9
| | | | | Change-Id: Ia473fd257414f5edddc0ffcce8c913897d75f351 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
* Merge remote-tracking branch 'origin/4.11'Orgad Shaneh2019-12-071-0/+9
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: cmake/QtCreatorIDEBranding.cmake qbs/modules/qtc/qtc.qbs qtcreator_ide_branding.pri src/plugins/mcusupport/mcusupportrunconfiguration.cpp src/plugins/python/pythonproject.cpp src/plugins/qmakeprojectmanager/qmakestep.cpp src/plugins/qmlprojectmanager/qmlproject.cpp src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp Change-Id: I22507be28fd80c49c9fee0dff5937a40db176a82
| * QmlDesigner: Add option forceFreeType to qmlprojectThomas Hartmann2019-12-061-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This option enforces the usage of FreeType even on Windows for the form editor and live preview. This can be useful when developing for Linux devices. The option can be eanbled by adding 'forceFreeType: true' to the .qmlproject file. Task-number: QDS-1143 Change-Id: I7e749e95584e23202536596ee4f7cdaa09d3a371 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* | ProjectExplorer: Introduce per-buildsystem setRootProjectNodehjk2019-11-211-1/+1
| | | | | | | | | | | | | | | | Currently diverting to the original Project::setRootProjectNode. Idea is to focus on the BuildSystem <-> generated tree relation. Change-Id: I8b20173e364713f0919cf4f8b76a2f79ef8770bb Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Move BuildSystem owership to BuildConfigurationhjk2019-11-191-80/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... or Target. This patch moves build system from conceptually "one per project" to "one per target (i.e. per project-and-kit)" or "per BuildConfigurations" for targets where the builds differ significantly. Building requires usually items from the kit (Qt version, compiler, ...) so a target-agnostic build is practically almost always wrong. Moving the build system to the target also has the potential to solve issues caused by switching targets while parsing, that used Project::activeTarget() regularly, with potentially different results before and after the switch. This patch might create performance/size regressions when several targets are set up per project as the build system implementation's internal data are duplicated in this case. The idea is to fix that by sharing per-project pieces again in the project implementation once these problems occur. Change-Id: I87f640ce418b93175b5029124eaa55f3b8721dca Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* | ProjectExplorer: Use a functor for BuildSystem creationhjk2019-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | ... instead of creating the BuildSystem direct. This will help the shift of BuildSystem owner ship as a Project will have potentially multiple BuildSystem instances (one per BuildConfiguration), but still be responsible for creating them with the Targets. Change-Id: I2dd71c7687ed41af9e42c874b3f932ce704e7ee3 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* | Qbs, Qmake, Python, Generic: Introduce BuildSystem derived classeshjk2019-10-251-0/+2
|/ | | | | | | | | | | | ... and move context menu action handling there. This is a temporary measure to be able to move that functionality alongside the actual BuildSystem to the BuildConfiguration. There is a lot to be cleaned up left, to keep the patch small. Change-Id: If4b0820a13b376fc97b70785052924972ce22705 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QtSupport: Move qmlsceneCommand down to BaseQtVersionhjk2019-08-201-2/+1
| | | | | | | | | This had already accessors to all kind of commands, having also qmlsceneCommand there makes it more consistent and lets us un-export DesktopQtVersion. Change-Id: I3ba5a840125b2b1197abb1564b7906571230f2c4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* QmlProject: Simplify code based on Project::projectFileIsDirty signalTobias Hunger2019-08-161-4/+4
| | | | | Change-Id: I7dfce020d1091044568f5131e5026e0b819b86b9 Reviewed-by: hjk <hjk@qt.io>
* RemoteLinux: Move EmbeddeLinuxQtVersion to QtSupporthjk2019-08-161-1/+2
| | | | | | | | The class uses only one ID from RL at compile time, and after the move RL does not hard-depend on QtSupport anymore. Change-Id: I9f8aa6782e45fe998d83ddcc5323c396964bf1fe Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Drop filtering from KitManager::Kitshjk2019-08-141-1/+1
| | | | | | | | Only uses twice out of 54 cases, saves a few cycles and bytes in the others. Change-Id: I180005d041e3abaf841890d208adfbcb1a51fb74 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: De-virtualize some more virtual methodsTobias Hunger2019-08-131-5/+2
| | | | | | | | | Use setters/getters for the bool flags in Project::needsBuildConfigurations() and Project::hasMakeInstallEquivalent. Change-Id: I5ce937c3a5e8e0db627cda02a9007f8c28ccda0c Reviewed-by: hjk <hjk@qt.io>