aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/projectexplorer/kitmanager.h
Commit message (Collapse)AuthorAgeFilesLines
* Core/Utils: Migrate further to Utils::Idhjk2020-07-061-11/+10
| | | | | | | | 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>
* Merge output formatters and output parsersChristian Kandeler2020-04-231-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Now only one piece of code needs to be written to both linkify output in an output pane and create tasks for it in the issues pane. The calling sites are also simplified. For instance, until now, build steps had to feed their output parsers manually and then push the created tasks up the signal stack in parallel with the actual output, which the build manager relied upon for cross-linking the output pane content. Afterwards, the output would get forwarded to the formatter (and parsed for ANSI escape codes a second time). In contrast, a build step now just forwards the process output, and task parsing as well as output formatting is done centrally further up the stack. Concrete user-visible improvements so far: - File paths in compiler/linker messages are clickable links now. - QtTest applications now create clickable links also when run as part of a build step, not just in the app output pane. Task-number: QTCREATORBUG-22665 Change-Id: Ic9fb95b2d97f2520ab3ec653315e9219466ec08d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: hjk <hjk@qt.io> Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* ProjectExplorer: Split up the IOutputParser classChristian Kandeler2020-04-161-2/+2
| | | | | | | | For symmetry with Utils::OutputFormatter. Task-number: QTCREATORBUG-22665 Change-Id: I148fed69dba042ad3ef26e080829c31cd3f357fd Reviewed-by: hjk <hjk@qt.io>
* Output parsers: Replace the chaining approachChristian Kandeler2020-04-091-1/+1
| | | | | | | | | | | Use "flat" aggregation instead. This is another step towards the formatter/parser merger. Along the way, also fix some some subclasses (mostly in BareMetal) that erroneously forwarded handled output to other parsers. Task-number: QTCREATORBUG-22665 Change-Id: I12947349ca663d2e6bbfc99efd069d69e2b54969 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Fix theming of KitAreaWidgetAlessandro Portale2019-12-201-7/+0
| | | | | | | | | | Let the parent widget (MiniProjectTargetSelector) paint the background. Remove all unneeded QStyle and QPalette setters. (Note: select a kit with mutable device to see the fix) Change-Id: I9166659580c3cb3047155ccea65c749d5d542f07 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* ProjectExplorer: Add the ability to create a kit matching a binaryChristian Kandeler2019-10-241-0/+2
| | | | | | | | | | That is, the user passes the path to an application or library, and Qt Creator sets up a kit with a toolchain that matches the file's architecture. Fixes: QTCREATORBUG-8216 Change-Id: Ia16701d8b89df2cfee9d3cbe36fb72a4ed05c407 Reviewed-by: hjk <hjk@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: Inline KitManager::supportedPlatformshjk2019-08-141-4/+1
| | | | | | | | | | | ... and availableFeatures into their only (local) user. Fringe functionality that's unlikely to be re-used. Also make kits() return value const to allow clutter-free use of ranged for. Change-Id: Ie36fd0b5086d7141fc1844ef9bf0477221ce5ffe Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Fix missing KitManager::kitUpdated() emissionChristian Kandeler2019-07-181-2/+2
| | | | | | | | Amends a503c00fd4. Fixes: QTCREATORBUG-22722 Change-Id: I17cca6d2c5c0ef4af2b4c77db6c926dc6ae8fd61 Reviewed-by: Christian Stenger <christian.stenger@qt.io>
* Utils: Rename FileName to FilePathhjk2019-05-281-1/+1
| | | | | | | | More in line with QFileInfo terminonlogy which appears to be best-of-breed within Qt. Change-Id: I1d051ff1c8363ebd4ee56376451df45216c4c9ab Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Introduce a alias for QList<Tasks>hjk2019-05-281-1/+1
| | | | | Change-Id: I91391ad22b420926b0f512cac23cfe009048b218 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Improve kit auto-detectionChristian Kandeler2019-03-191-0/+2
| | | | | | | | | | | | The old code was too simplistic: Basically, we just took a random toolchain, slapped a random Qt onto it and made that the default kit. Instead, we now go through all toolchains, try to find a matching Qt version, debugger etc and create a kit for that combination unless there is a better one. Fixes: QTCREATORBUG-22138 Change-Id: Ib57ca4453a93ee9253c75398328c3bca33087dc6 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Make kit aspects self-registerhjk2019-03-181-17/+11
| | | | | | | | | Also, construct the KitManager implicitly when the first KitAspect is created. Ramp-down is still explicit and somewhat odd. Change-Id: If1506e1d0789ecabbaad2d8008851d0b42c5218b Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Drop KitAspect::defaultValue()Christian Kandeler2019-03-151-2/+0
| | | | | | | | | | | The functionality of this function overlapped with KitAspect::setup(), leading to unclear responsibilities and resulting in bugs such as the one fixed by 776d54e435. Therefore, we drop the defaultValue() function, merging its implementation with setup() where applicable. Change-Id: Iefa9c3df8b76e97ddf9ad388516621f7ea6558d4 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: More registerKit() simplificationsChristian Kandeler2019-03-121-1/+1
| | | | | Change-Id: I61c9e9886f3952b2823433a5c94aedd441ebe7f1 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Refactor KitManager::registerKit()Christian Kandeler2019-03-121-1/+1
| | | | | | | | | | The interface of this function was rather unfortunate. In particluar, the fact that it took ownership of the std::unique_ptr that was passed in required some weird boiler plate code at all the calling sites. Instead, it now becomes a proper factory function. Change-Id: Iecdc6f6345232fc0f0a08bffaf8f1780edb57201 Reviewed-by: hjk <hjk@qt.io>
* Let the user choose which kit settings to displayChristian Kandeler2019-02-141-0/+6
| | | | | | | | | Almost every single aspect of a kit is probably irrelevant to some users, so let them configure which ones they want to see. Fixes: QTCREATORBUG-9134 Change-Id: I218d43bd1d00479130278259dff552c9624afa30 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* ProjectExplore: Inline KitAspectWidget::{is,set}Mutablehjk2019-02-121-2/+0
| | | | | | | ... into its only user. Less indirection, less code. Change-Id: I8aa750c5850dff92c847eda8c2d6403cc3063f2d Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Inline KitManager::createConfigWidgethjk2019-02-121-3/+0
| | | | | | | | Instead of creating the widget first and polish it, create a polished widget directly. Change-Id: I665d26d6cbd87187f6d29ec3246a7db5c69d1a7f Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Code cosmeticshjk2019-02-121-1/+1
| | | | | | | | | rename KitManager::kitInformation() to kitAspects, make it return a const list to be able to use clutter-free ranged for. Polish vicinity. Change-Id: Ibe187586152eb0053efa8c571adbd73158f109c4 Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* ProjectExplorer: Move use of some knowledge from KitAspectWidget to KitAspecthjk2019-02-121-2/+0
| | | | | | | Essentially a follow-up to 09a7d2bd45ad5cd710c93550fb9dafa5cff925bc. Change-Id: I4dd9d64eec77ddf9cdccbac808e9a0978b9986bf Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
* Move some knowledge from KitAspectWidget to KitAspectChristian Kandeler2019-02-111-3/+11
| | | | | | | | The authoritative source of information about a KitAspect is the KitAspect itself, not the associated widget. Change-Id: I72d3d0425b845457846a940350bab59f1ff0cc2c Reviewed-by: hjk <hjk@qt.io>
* Move KitAspectWidget definitions alongside their KitAspectsChristian Kandeler2019-02-111-0/+42
| | | | | | | | | | A KitAspectWidget class is tightly coupled with the respective KitAspect, and no one else ever needs to see any KitAspectWidget subclass at build time. Change-Id: I1883af3b054c225e1ff5dd913118715bfdbaacfc Reviewed-by: Christian Kandeler <christian.kandeler@qt.io> Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: Rename KitInformation to KitAspectChristian Kandeler2019-02-111-10/+10
| | | | | | | | | | | The name "KitInformation" does not properly convey the fact that it represents a certain *aspect* of a kit. The same goes for "KitConfigWidget", which in addition was inconsistent with "KitInformation". We now use "KitAspect" and "KitAspectWidget". Change-Id: I9804ee4cedc4d61fad533ea1dd4e4720e67fde97 Reviewed-by: hjk <hjk@qt.io>
* ProjectExplorer: ModernizeAlessandro Portale2018-12-041-4/+3
| | | | | | | modernize-* Change-Id: I01b9b3d73a2dc2a5c858cf316a1fbff7a4113600 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* KitManager: Use unique_ptr to manage kitsTobias Hunger2018-07-251-4/+2
| | | | | Change-Id: I8c66290f0d23afe37673bd858f7db135c8232a78 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* ProjectExplorer: Make KitManager::kits(...) return an empty list during loadTobias Hunger2018-07-121-1/+1
| | | | | | | | | | Make KitManager::kits(...) return an empty list during the time a kit is loaded. Simplify initialization of loading function. It is only triggered in ProjectExplorerPlugin::delayedInitialize, so that is safe. Change-Id: I2ed67d881b019b70cdcc23fcc4b0d48d04fa1df6 Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* ProjectExplorer: Use unique_ptr to store KitInformationTobias Hunger2018-07-111-1/+6
| | | | | Change-Id: I406b6bed005fb7455e6ee41d81a2f314584a051a Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* ProjectExplorer: Remove KitManager::deregisterKitInformationTobias Hunger2018-07-051-1/+0
| | | | | | | | | It is unused and can not really be used in a safe way, so let's just remove it. Change-Id: I7926d1781f8f61d00fc3c516b8d1e2a01164a85a Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* KitManager: Update formattingTobias Hunger2018-07-051-3/+3
| | | | | | Change-Id: Ie7da94574a1577bafae3adbe3a0d777d863e6658 Reviewed-by: Eike Ziller <eike.ziller@qt.io> Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
* Kit: Use member initializationTobias Hunger2017-06-121-1/+1
| | | | | | | | All users did initialize m_priority with a call to setPriority in their constructors, but we should not rely on that. Change-Id: I707aaaf117e2680ba0bb1f2849e66c426b4fb8b4 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
* KitManager: Get rid of KitMatcher classTobias Hunger2017-01-181-20/+5
| | | | | | | | Use std::function instead. Clean up API while at it. Change-Id: I6e401ab57f5375e36710c30508c596af3f4b3385 Reviewed-by: Tim Jenssen <tim.jenssen@qt.io> Reviewed-by: Eike Ziller <eike.ziller@qt.io>
* The API of the ProjectExplorer::KitManager is missing the isLoaded functionJuhapekka Piiroinen2016-11-141-0/+2
| | | | | | | | The function has been declared in kitmanager.cpp file, but it is not present in kitmanager.h file. Expected to see similar API as it is for QtSupport::QtVersionManager. Change-Id: I84b72df32e1a73ee5d7626320870fabda0f5eafc Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Kits: Make upgrade of settings explicit when restoring kitsEike Ziller2016-07-201-0/+2
| | | | | | | | | | | | Instead of implicit upgrading when KitInformation reads values from the kit. Also fixes that upgrading from 4.1 to 4.2 did not work (it did not upgrade at all after 93c919a9ed3e52bcd2d3072a2b771bda0f2de21f and before that wrote the settings with the wrong key for Cxx). Change-Id: I0729df6eb1215f2ea01651a42a83cb4d2679b347 Reviewed-by: Tobias Hunger <tobias.hunger@qt.io>
* Projectexplorer: Modernize codebaseTobias Hunger2016-04-151-1/+1
| | | | | | Change-Id: I4793b58aa77bcd46af99f8b843c0f7439cdc9269 Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com> Reviewed-by: Vikas Pachdha <vikas.pachdha@theqtcompany.com>
* KitInformation: Make defaultValue take a const Kit *Tobias Hunger2016-02-051-1/+1
| | | | | | | There is no reason not to. Change-Id: I4accb0b690173d93ad6f4c9dd0bce66d8de75faa Reviewed-by: Niels Weber <niels.weber@theqtcompany.com>
* ProjectExplorer: ModernizeTobias Hunger2016-02-031-9/+6
| | | | | | | | | * Use override where appropriate * Use pragma once * Make more constructors explicit Change-Id: I2865fe10f288e3de570826058e43b70a0cb4ee37 Reviewed-by: Orgad Shaneh <orgads@gmail.com>
* ProjectExplorer: Use Qt5-style connectsOrgad Shaneh2016-02-011-2/+1
| | | | | | | The heavy lifting was done by clazy. Change-Id: I619db09a79760186b72e7662490ed1205155c1a7 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Update License according to agreement with Free Qt FoundationTobias Hunger2016-01-191-17/+12
| | | | | | | * Update files in src/plugins Change-Id: Ia5d77fad7d19d4bb3498e78661982f68729adb22 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Qt: Remove platformName and platformDisplayName methodsTobias Hunger2015-12-021-5/+3
| | | | | | | Fix fallout of this in KitInformation/Kit/KitManager and the wizards. Change-Id: I5cb88cc381dc04409401909b810940ab6dccf86a Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
* Wizards: Turn "platform" into an IdTobias Hunger2015-12-021-5/+5
| | | | | | | It used to be a string constant. Change-Id: Ibea34dc52e97a483989e6d628b908231f4e2dc54 Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
* FeatureProvider: Remove Feature and FeatureSetTobias Hunger2015-12-021-2/+2
| | | | | | | | Use Core::Id for Feature and QSet<Core::Id> for FeatureSet. Change-Id: I12341036bd9eaa82589d92bd3f7d21f2e6b737bd Reviewed-by: Niels Weber <niels.weber@theqtcompany.com> Reviewed-by: Tim Jenssen <tim.jenssen@theqtcompany.com>
* KitManager: Enable sorting on the target setup pageTobias Hunger2015-04-201-1/+2
| | | | | | | | | | | | | | Add a separate method to sort lists of kits and remove the sortedKits() method again. You should not use the sorted list whenever possible, so requireing a two-step process to get that is not too hard. And it allows to sort sub-sets of all kits, which is exactly what we might have on the TargetSetupPage. Task-number: QTCREATORBUG-13549 Change-Id: Iaa8443bcc8c321425daa13a1fb1e024d18939306 Reviewed-by: Daniel Teske <daniel.teske@theqtcompany.com>
* Update LicenseEike Ziller2015-01-161-6/+6
| | | | | Change-Id: I711d5fb475ef814a1dc9d2822740e827f3f67125 Reviewed-by: Alessandro Portale <alessandro.portale@digia.com>
* Fix regressions in KitMatcherDaniel Teske2014-11-141-1/+2
| | | | | | Task-number: QTCREATORBUG-13323 Change-Id: I48ddc83c40396a336a4c8e83ef4f5148e131c930 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* KitManager: Introduce sortedKits() methodTobias Hunger2014-10-241-0/+1
| | | | | | | | | This allows to delay the evaluation of displayNames (which might be expensive now that we expand them) to when a sorted list is actually needed, thus speeding up the start-up of Qt Creator. Change-Id: I78273592bc0f8311372f8d799faf9e1289759013 Reviewed-by: hjk <hjk121@nokiamail.com>
* Make expanders work with subexpandershjk2014-10-211-3/+3
| | | | | Change-Id: I30bad85ce2fbaf1f02043b3d97f657461f5a1995 Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* KitManager: namespaces and Qt 5 cosmeticshjk2014-10-171-1/+1
| | | | | | Change-Id: I584b24ec8ead56ea7a53921fac1f39881b2ce0a8 Reviewed-by: Christian Stenger <christian.stenger@digia.com> Reviewed-by: hjk <hjk121@nokiamail.com>
* MacroExpander: Allow registering local expansionshjk2014-10-151-2/+1
| | | | | | | | | | | This allows a MacroExpander also to describe an expansion it can do which was restricted to the global VariableManager only. The global is now just a thin (unneeded) wrapper about new "standard" functionality. Change-Id: Ida7ca70cf3d319eae4220ea8d12f3dd1c0d4042c Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
* Merge "Merge remote-tracking branch 'origin/3.2'"Eike Ziller2014-10-141-7/+8
|\