From a46f0520f806fc9c31406ede5520d4317aea44bc Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 31 Aug 2012 15:10:39 +0200 Subject: [PATCH 01/36] Fix warning about empty file name when attaching from output tab. Change-Id: I3a9def260c14944e6fd69fa87b0f1527b8efde3c Reviewed-by: hjk --- src/plugins/debugger/moduleshandler.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/debugger/moduleshandler.cpp b/src/plugins/debugger/moduleshandler.cpp index 75642d0e3f7..645e944f2db 100644 --- a/src/plugins/debugger/moduleshandler.cpp +++ b/src/plugins/debugger/moduleshandler.cpp @@ -228,8 +228,11 @@ void ModulesModel::removeModule(const QString &modulePath) void ModulesModel::updateModule(const Module &module) { const int row = indexOfModule(module.modulePath); + const QString path = module.modulePath; + if (path.isEmpty()) + return; try { // MinGW occasionallly throws std::bad_alloc. - ElfReader reader(module.modulePath); + ElfReader reader(path); ElfData elfData = reader.readHeaders(); if (row == -1) { From f3e92100cba3d4537d07b2086aebce5d328c5579 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Fri, 17 Aug 2012 16:35:48 +0200 Subject: [PATCH 02/36] Editor: Fix transformSelection() for block selection Task-number: QTCREATORBUG-7643 Change-Id: I26f9a3637a39a26e82b72de1143e31b5e55b076e Reviewed-by: Leandro Melo --- src/plugins/texteditor/basetexteditor.cpp | 57 ++++++++++++++++++++++- src/plugins/texteditor/basetexteditor.h | 1 + 2 files changed, 57 insertions(+), 1 deletion(-) diff --git a/src/plugins/texteditor/basetexteditor.cpp b/src/plugins/texteditor/basetexteditor.cpp index 5c17d071609..6d95e71107b 100644 --- a/src/plugins/texteditor/basetexteditor.cpp +++ b/src/plugins/texteditor/basetexteditor.cpp @@ -6455,8 +6455,12 @@ int BaseTextEditorWidget::rowCount() const */ void BaseTextEditorWidget::transformSelection(Internal::TransformationMethod method) { - QTextCursor cursor = textCursor(); + if (hasBlockSelection()) { + transformBlockSelection(method); + return; + } + QTextCursor cursor = textCursor(); int pos = cursor.position(); int anchor = cursor.anchor(); @@ -6482,6 +6486,57 @@ void BaseTextEditorWidget::transformSelection(Internal::TransformationMethod met setTextCursor(cursor); } +void BaseTextEditorWidget::transformBlockSelection(Internal::TransformationMethod method) +{ + QTextCursor cursor = textCursor(); + int minPos = cursor.anchor(); + int maxPos = cursor.position(); + if (minPos > maxPos) + qSwap(minPos, maxPos); + int leftBound = verticalBlockSelectionFirstColumn(); + int rightBound = verticalBlockSelectionLastColumn(); + BaseTextBlockSelection::Anchor anchorPosition = d->m_blockSelection.anchor; + QString text = cursor.selectedText(); + QString transformedText = text; + QTextBlock currentLine = document()->findBlock(minPos); + int lineStart = currentLine.position(); + do { + if (currentLine.contains(lineStart + leftBound)) { + int currentBlockWidth = qBound(0, currentLine.text().length() - leftBound, + rightBound - leftBound); + cursor.setPosition(lineStart + leftBound); + cursor.movePosition(QTextCursor::Right, QTextCursor::KeepAnchor, currentBlockWidth); + transformedText.replace(lineStart + leftBound - minPos, currentBlockWidth, + (cursor.selectedText().*method)()); + } + currentLine = currentLine.next(); + if (!currentLine.isValid()) + break; + lineStart = currentLine.position(); + } while (lineStart < maxPos); + + if (transformedText == text) { + // if the transformation does not do anything to the selection, do no create an undo step + return; + } + + cursor.setPosition(minPos); + cursor.setPosition(maxPos, QTextCursor::KeepAnchor); + cursor.insertText(transformedText); + // restore former block selection + if (anchorPosition <= BaseTextBlockSelection::TopRight) + qSwap(minPos, maxPos); + cursor.setPosition(minPos); + cursor.setPosition(maxPos, QTextCursor::KeepAnchor); + d->m_blockSelection.fromSelection(tabSettings(), cursor); + d->m_blockSelection.anchor = anchorPosition; + d->m_inBlockSelectionMode = true; + d->m_blockSelection.firstVisualColumn = leftBound; + d->m_blockSelection.lastVisualColumn = rightBound; + setTextCursor(d->m_blockSelection.selection(tabSettings())); + viewport()->update(); +} + void BaseTextEditorWidget::inSnippetMode(bool *active) { *active = d->m_snippetOverlay->isVisible(); diff --git a/src/plugins/texteditor/basetexteditor.h b/src/plugins/texteditor/basetexteditor.h index 891d2669d95..44ed266a233 100644 --- a/src/plugins/texteditor/basetexteditor.h +++ b/src/plugins/texteditor/basetexteditor.h @@ -576,6 +576,7 @@ private: void processTooltipRequest(const QTextCursor &c); void transformSelection(Internal::TransformationMethod method); + void transformBlockSelection(Internal::TransformationMethod method); private slots: void handleBlockSelection(int diff_row, int diff_col); From 73f5f7128272b8de942dc0d5246548317fb609ab Mon Sep 17 00:00:00 2001 From: hjk Date: Sun, 2 Sep 2012 22:52:46 +0200 Subject: [PATCH 03/36] Improve "Configure Project" target settings hint Make "Configure Project" help text link to options dialog depend on the actual architecture instead of listing all possibilities. Also, make the link work. Task-number: QTCREATORBUG-7810 Change-Id: I78360cdc5b1a836b46dad5c31bdf7335d83e846e Reviewed-by: Tobias Hunger --- .../qt4projectmanager/qt4projectmanager.pro | 1 - .../qt4projectmanager/qt4projectmanager.qbs | 1 - .../wizards/targetsetuppage.cpp | 106 ++++++++++++++++- .../wizards/targetsetuppage.h | 7 +- .../wizards/targetsetuppage.ui | 110 ------------------ 5 files changed, 103 insertions(+), 122 deletions(-) delete mode 100644 src/plugins/qt4projectmanager/wizards/targetsetuppage.ui diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.pro b/src/plugins/qt4projectmanager/qt4projectmanager.pro index f50840f50fa..f0406b0ad63 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.pro +++ b/src/plugins/qt4projectmanager/qt4projectmanager.pro @@ -139,7 +139,6 @@ FORMS += makestep.ui \ qt4projectconfigwidget.ui \ librarydetailswidget.ui \ wizards/testwizardpage.ui \ - wizards/targetsetuppage.ui \ wizards/html5appwizardsourcespage.ui \ wizards/mobilelibrarywizardoptionpage.ui \ wizards/mobileappwizardgenericoptionspage.ui \ diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.qbs b/src/plugins/qt4projectmanager/qt4projectmanager.qbs index 0d83c6f9515..16843041484 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.qbs +++ b/src/plugins/qt4projectmanager/qt4projectmanager.qbs @@ -137,7 +137,6 @@ QtcPlugin { "qt-desktop/simulatorqtversion.h", "qt-desktop/simulatorqtversionfactory.cpp", "qt-desktop/simulatorqtversionfactory.h", - "wizards/targetsetuppage.ui", "wizards/testwizardpage.ui", "wizards/wizards.qrc", "wizards/abstractmobileapp.cpp", diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp index ff26061205e..fdb185466d4 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp @@ -49,13 +49,103 @@ #include #include +#include +#include +#include +#include +#include +#include +#include +#include +#include -using namespace Qt4ProjectManager; +namespace Qt4ProjectManager { +namespace Internal { static const Core::Id QT_IS_TEMPORARY("Qt4PM.TempQt"); static const Core::Id PROFILE_IS_TEMPORARY("Qt4PM.TempProfile"); static const Core::Id TEMPORARY_OF_PROJECTS("Qt4PM.TempProject"); +class TargetSetupPageUi +{ +public: + QWidget *centralWidget; + QWidget *scrollAreaWidget; + QScrollArea *scrollArea; + QLabel *descriptionLabel; + + void setupUi(QWidget *q) + { + QWidget *setupTargetPage = new QWidget(q); + + descriptionLabel = new QLabel(setupTargetPage); + descriptionLabel->setWordWrap(true); + descriptionLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); + descriptionLabel->setText(TargetSetupPage::tr("Qt Creator can set up the following targets:")); + +#ifdef Q_OS_MAC + QString hint = TargetSetupPage::tr( + "

" + "No valid targets found.

" + "

Please add a target in " + "Qt Creator > Preferences > Build & Run" + " or via the maintenance tool of the SDK.

"); +#else + QString hint = TargetSetupPage::tr( + "

" + "No valid targets found.

" + "

Please add a target in " + "Tools > Options > Build & Run" + " or via the maintenance tool of the SDK.

"); +#endif + + QLabel *noValidProfileLabel = new QLabel(setupTargetPage); + noValidProfileLabel->setWordWrap(true); + noValidProfileLabel->setText(hint); + noValidProfileLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); + + centralWidget = new QWidget(setupTargetPage); + QSizePolicy policy(QSizePolicy::Preferred, QSizePolicy::Fixed); + policy.setHorizontalStretch(0); + policy.setVerticalStretch(0); + policy.setHeightForWidth(centralWidget->sizePolicy().hasHeightForWidth()); + centralWidget->setSizePolicy(policy); + + scrollAreaWidget = new QWidget(setupTargetPage); + scrollArea = new QScrollArea(scrollAreaWidget); + scrollArea->setWidgetResizable(true); + + QWidget *scrollAreaWidgetContents; + scrollAreaWidgetContents = new QWidget(); + scrollAreaWidgetContents->setGeometry(QRect(0, 0, 230, 81)); + scrollArea->setWidget(scrollAreaWidgetContents); + + QVBoxLayout *verticalLayout = new QVBoxLayout(scrollAreaWidget); + verticalLayout->setSpacing(0); + verticalLayout->setContentsMargins(0, 0, 0, 0); + verticalLayout->addWidget(scrollArea); + + QVBoxLayout *verticalLayout_2 = new QVBoxLayout(setupTargetPage); + verticalLayout_2->addWidget(descriptionLabel); + verticalLayout_2->addWidget(noValidProfileLabel); + verticalLayout_2->addWidget(centralWidget); + verticalLayout_2->addWidget(scrollAreaWidget); + + QVBoxLayout *verticalLayout_3 = new QVBoxLayout(q); + verticalLayout_3->setContentsMargins(0, 0, 0, -1); + verticalLayout_3->addWidget(setupTargetPage); + + QObject::connect(noValidProfileLabel, SIGNAL(linkActivated(QString)), + q, SIGNAL(noteTextLinkActivated())); + QObject::connect(descriptionLabel, SIGNAL(linkActivated(QString)), + q, SIGNAL(noteTextLinkActivated())); + } +}; + +} // namespace Internal + +using namespace Internal; + TargetSetupPage::TargetSetupPage(QWidget *parent) : QWizardPage(parent), m_requiredMatcher(0), @@ -64,13 +154,20 @@ TargetSetupPage::TargetSetupPage(QWidget *parent) : m_importSearch(false), m_ignoreUpdates(false), m_firstWidget(0), - m_ui(new Internal::Ui::TargetSetupPage), + m_ui(new TargetSetupPageUi), m_importWidget(new Internal::ImportWidget(this)), m_spacer(new QSpacerItem(0,0, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding)) { setObjectName(QLatin1String("TargetSetupPage")); + setWindowTitle(tr("Set up Targets for Your Project")); m_ui->setupUi(this); + QSizePolicy policy(QSizePolicy::Preferred, QSizePolicy::Preferred); + policy.setHorizontalStretch(0); + policy.setVerticalStretch(0); + policy.setHeightForWidth(sizePolicy().hasHeightForWidth()); + setSizePolicy(policy); + QWidget *centralWidget = new QWidget(this); m_ui->scrollArea->setWidget(centralWidget); centralWidget->setLayout(new QVBoxLayout); @@ -82,9 +179,6 @@ TargetSetupPage::TargetSetupPage(QWidget *parent) : setTitle(tr("Target Setup")); - connect(m_ui->descriptionLabel, SIGNAL(linkActivated(QString)), - this, SIGNAL(noteTextLinkActivated())); - ProjectExplorer::ProfileManager *sm = ProjectExplorer::ProfileManager::instance(); connect(sm, SIGNAL(profileAdded(ProjectExplorer::Profile*)), this, SLOT(handleProfileAddition(ProjectExplorer::Profile*))); @@ -589,3 +683,5 @@ void TargetSetupPage::setUseScrollArea(bool b) m_ui->scrollAreaWidget->setVisible(b); m_ui->centralWidget->setVisible(!b); } + +} // namespace Qt4ProjectManager diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.h b/src/plugins/qt4projectmanager/wizards/targetsetuppage.h index 08c18b13188..a8b719e9711 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.h +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.h @@ -46,10 +46,7 @@ class Qt4Project; namespace Internal { class ImportWidget; - -namespace Ui { -class TargetSetupPage; -} // namespace Ui +class TargetSetupPageUi; } // namespace Internal /// \internal @@ -122,7 +119,7 @@ private: QMap m_widgets; Qt4TargetSetupWidget *m_firstWidget; - Internal::Ui::TargetSetupPage *m_ui; + Internal::TargetSetupPageUi *m_ui; Internal::ImportWidget *m_importWidget; QSpacerItem *m_spacer; diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.ui b/src/plugins/qt4projectmanager/wizards/targetsetuppage.ui deleted file mode 100644 index fa36001aee2..00000000000 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.ui +++ /dev/null @@ -1,110 +0,0 @@ - - - Qt4ProjectManager::Internal::TargetSetupPage - - - - 0 - 0 - 256 - 297 - - - - - 0 - 0 - - - - Set up Targets for Your Project - - - - 0 - - - 0 - - - 0 - - - - - - - - - 0 - 0 - - - - Qt Creator can set up the following targets: - - - true - - - Qt::LinksAccessibleByMouse - - - - - - - <html><head/><body><p><span style=" font-weight:600;">No valid targets found.</span></p><p>Please add a target in <a href="buildandrun"><span style=" text-decoration: underline; color:#0000ff;">Tools &gt; Options &gt; Build &amp; Run</span></a> (<a href="buildandrun"><span style=" text-decoration: underline; color:#0000ff;">Qt Creator &gt; Preferences &gt; Build &amp; Run</span></a> on Mac OS) or via the maintenance tool of the SDK.</p></body></html> - - - true - - - - - - - - 0 - 0 - - - - - - - - - 0 - - - 0 - - - - - true - - - - - 0 - 0 - 230 - 81 - - - - - - - - - - - - - - - - From 71ea54c036c688c43f992441b5532ba5aeacc4e8 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 31 Aug 2012 15:06:07 +0200 Subject: [PATCH 04/36] Fix debugger detection when attaching from output pane. Obtain RunConfiguration from RunControl add logic to use the ABI if that fails. Task-number: QTCREATORBUG-7677 Change-Id: Iebf053e6b7a25644a4d4c02b80bf952ef9e6a078 Reviewed-by: hjk --- src/plugins/debugger/debuggerplugin.cpp | 39 ++++++++++++------- .../projectexplorer/runconfiguration.cpp | 5 +++ .../projectexplorer/runconfiguration.h | 1 + 3 files changed, 30 insertions(+), 15 deletions(-) diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 3d6603fb5e0..13546e60fe0 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -637,22 +637,27 @@ private: void fillParameters(DebuggerStartParameters *sp, const Profile *profile /* = 0 */) { if (!profile) { - // This code can only be reached when starting via the command - // (-debug pid or executable) without specifying a profile. - // Try to find a profile via ABI. - if (sp->executable.isEmpty() - && (sp->startMode == AttachExternal || sp->startMode == AttachCrashedExternal)) { - sp->executable = executableForPid(sp->attachPID); + // This code can only be reached when starting via the command line + // (-debug pid or executable) or attaching from runconfiguration + // without specifying a profile. Try to find a profile via ABI. + QList abis; + if (sp->toolChainAbi.isValid()) { + abis.push_back(sp->toolChainAbi); + } else { + // Try via executable. + if (sp->executable.isEmpty() + && (sp->startMode == AttachExternal || sp->startMode == AttachCrashedExternal)) { + sp->executable = executableForPid(sp->attachPID); + } + if (!sp->executable.isEmpty()) + abis = Abi::abisOfBinary(Utils::FileName::fromString(sp->executable)); } - if (!sp->executable.isEmpty()) { - const QList abis = Abi::abisOfBinary(Utils::FileName::fromString(sp->executable)); - if (!abis.isEmpty()) { - AbiProfileMatcher matcher(abis); + if (!abis.isEmpty()) { + AbiProfileMatcher matcher(abis); + profile = ProfileManager::instance()->find(&matcher); + if (!profile) { + CompatibleAbiProfileMatcher matcher(abis); profile = ProfileManager::instance()->find(&matcher); - if (!profile) { - CompatibleAbiProfileMatcher matcher(abis); - profile = ProfileManager::instance()->find(&matcher); - } } } if (!profile) @@ -1694,12 +1699,16 @@ void DebuggerPluginPrivate::attachToProcess(bool startServerOnly) void DebuggerPluginPrivate::attachExternalApplication(ProjectExplorer::RunControl *rc) { DebuggerStartParameters sp; - fillParameters(&sp); sp.attachPID = rc->applicationProcessHandle().pid(); sp.displayName = tr("Process %1").arg(sp.attachPID); sp.startMode = AttachExternal; sp.closeMode = DetachAtClose; sp.toolChainAbi = rc->abi(); + Profile *profile = 0; + if (const RunConfiguration *runConfiguration = rc->runConfiguration()) + if (const Target *target = runConfiguration->target()) + profile = target->profile(); + fillParameters(&sp, profile); DebuggerRunControlFactory::createAndScheduleRun(sp); } diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index 87ae827ddf5..8dd520d7492 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -558,6 +558,11 @@ Abi RunControl::abi() const return Abi(); } +RunConfiguration *RunControl::runConfiguration() const +{ + return m_runConfiguration.data(); +} + ProcessHandle RunControl::applicationProcessHandle() const { return m_applicationProcessHandle; diff --git a/src/plugins/projectexplorer/runconfiguration.h b/src/plugins/projectexplorer/runconfiguration.h index ac6e85c0dba..99817ba23fa 100644 --- a/src/plugins/projectexplorer/runconfiguration.h +++ b/src/plugins/projectexplorer/runconfiguration.h @@ -274,6 +274,7 @@ public: void setApplicationProcessHandle(const ProcessHandle &handle); Abi abi() const; + RunConfiguration *runConfiguration() const; bool sameRunConfiguration(const RunControl *other) const; Utils::OutputFormatter *outputFormatter(); From b844181b39fbeafb5bc30f1f2ed6cbab7916c008 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sun, 2 Sep 2012 10:15:27 +0300 Subject: [PATCH 05/36] ClearCase: Sort files in project Change-Id: Ibd8c2b479fec45c841514c624755f55e922c411c Reviewed-by: Tobias Hunger --- src/plugins/clearcase/clearcase.pro | 32 ++++++++++++++--------------- src/plugins/clearcase/clearcase.qbs | 2 +- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/plugins/clearcase/clearcase.pro b/src/plugins/clearcase/clearcase.pro index 347966dc048..ee6859828fa 100644 --- a/src/plugins/clearcase/clearcase.pro +++ b/src/plugins/clearcase/clearcase.pro @@ -7,33 +7,33 @@ include(clearcase_dependencies.pri) DEFINES += QT_NO_CAST_FROM_ASCII -HEADERS += annotationhighlighter.h \ - clearcaseplugin.h \ - clearcasecontrol.h \ - settingspage.h \ - clearcaseeditor.h \ - clearcasesettings.h \ - clearcaseconstants.h \ - clearcasesubmiteditor.h \ +HEADERS += activityselector.h \ + annotationhighlighter.h \ checkoutdialog.h \ - activityselector.h \ + clearcaseconstants.h \ + clearcasecontrol.h \ + clearcaseeditor.h \ + clearcaseplugin.h \ + clearcasesettings.h \ + clearcasesubmiteditor.h \ clearcasesubmiteditorwidget.h \ + settingspage.h \ versionselector.h -SOURCES += annotationhighlighter.cpp \ - clearcaseplugin.cpp \ +SOURCES += activityselector.cpp \ + annotationhighlighter.cpp \ + checkoutdialog.cpp \ clearcasecontrol.cpp \ - settingspage.cpp \ clearcaseeditor.cpp \ + clearcaseplugin.cpp \ clearcasesettings.cpp \ clearcasesubmiteditor.cpp \ - checkoutdialog.cpp \ - activityselector.cpp \ clearcasesubmiteditorwidget.cpp \ + settingspage.cpp \ versionselector.cpp -FORMS += settingspage.ui \ - checkoutdialog.ui \ +FORMS += checkoutdialog.ui \ + settingspage.ui \ undocheckout.ui \ versionselector.ui diff --git a/src/plugins/clearcase/clearcase.qbs b/src/plugins/clearcase/clearcase.qbs index 63c4d3ac64a..e7de3b0aa41 100644 --- a/src/plugins/clearcase/clearcase.qbs +++ b/src/plugins/clearcase/clearcase.qbs @@ -33,6 +33,7 @@ QtcPlugin { "checkoutdialog.cpp", "checkoutdialog.h", "checkoutdialog.ui", + "clearcase.qrc", "clearcaseconstants.h", "clearcasecontrol.cpp", "clearcasecontrol.h", @@ -40,7 +41,6 @@ QtcPlugin { "clearcaseeditor.h", "clearcaseplugin.cpp", "clearcaseplugin.h", - "clearcase.qrc", "clearcasesettings.cpp", "clearcasesettings.h", "clearcasesubmiteditor.cpp", From e371008cd1c092600118cc02b2109550e9edfa05 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sun, 2 Sep 2012 10:18:56 +0300 Subject: [PATCH 06/36] ClearCase: Rename activityMutex -> m_activityMutex Change-Id: I6bf87d313e5466ad782ed06662d5fe0039a79491 Reviewed-by: Tobias Hunger --- src/plugins/clearcase/clearcaseplugin.cpp | 16 ++++++++-------- src/plugins/clearcase/clearcaseplugin.h | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp index 79f5662297f..d71392779f2 100644 --- a/src/plugins/clearcase/clearcaseplugin.cpp +++ b/src/plugins/clearcase/clearcaseplugin.cpp @@ -181,18 +181,18 @@ ClearCasePlugin::ClearCasePlugin() : m_submitUndoAction(0), m_submitRedoAction(0), m_menuAction(0), - m_submitActionTriggered(false) + m_submitActionTriggered(false), + m_activityMutex(new QMutex) { - activityMutex = new QMutex; } ClearCasePlugin::~ClearCasePlugin() { cleanCheckInMessageFile(); // wait for sync thread to finish reading activities - activityMutex->lock(); - activityMutex->unlock(); - delete activityMutex; + m_activityMutex->lock(); + m_activityMutex->unlock(); + delete m_activityMutex; } void ClearCasePlugin::cleanCheckInMessageFile() @@ -1574,7 +1574,7 @@ QList ClearCasePlugin::ccGetActivities() const void ClearCasePlugin::refreshActivities() { - QMutexLocker locker(activityMutex); + QMutexLocker locker(m_activityMutex); m_activity = ccGetCurrentActivity(); m_activities = ccGetActivities(); } @@ -1585,7 +1585,7 @@ QList ClearCasePlugin::activities(int *current) const QString curActivity; const VcsBase::VcsBasePluginState state = currentState(); if (state.topLevel() == state.currentProjectTopLevel()) { - QMutexLocker locker(activityMutex); + QMutexLocker locker(m_activityMutex); activitiesList = m_activities; curActivity = m_activity; } else { @@ -1952,7 +1952,7 @@ void ClearCasePlugin::sync(QFutureInterface &future, QString topLevel, QSt process.waitForFinished(); } -} // namespace ClearCase } // namespace Internal +} // namespace ClearCase Q_EXPORT_PLUGIN(ClearCase::Internal::ClearCasePlugin) diff --git a/src/plugins/clearcase/clearcaseplugin.h b/src/plugins/clearcase/clearcaseplugin.h index 68c224136c6..b3c1cc11180 100644 --- a/src/plugins/clearcase/clearcaseplugin.h +++ b/src/plugins/clearcase/clearcaseplugin.h @@ -249,7 +249,7 @@ private: QAction *m_submitRedoAction; QAction *m_menuAction; bool m_submitActionTriggered; - QMutex *activityMutex; + QMutex *m_activityMutex; QList m_activities; static ClearCasePlugin *m_clearcasePluginInstance; From 05b7a06bce9f21b3d2db1316dc91a5aa3a16eace Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sun, 2 Sep 2012 10:20:32 +0300 Subject: [PATCH 07/36] ClearCase: Fix threading issues * Menu parameters were set (and enabled/disabled) from non-GUI thread * Access to statusMap was not thread-safe Change-Id: I029cb7090af87903c599bb3fcc1cba93e196d45e Reviewed-by: Tobias Hunger --- src/plugins/clearcase/clearcase.pro | 2 + src/plugins/clearcase/clearcase.qbs | 2 + src/plugins/clearcase/clearcaseplugin.cpp | 143 ++++------------------ src/plugins/clearcase/clearcaseplugin.h | 12 +- src/plugins/clearcase/clearcasesync.cpp | 125 +++++++++++++++++++ src/plugins/clearcase/clearcasesync.h | 28 +++++ 6 files changed, 188 insertions(+), 124 deletions(-) create mode 100644 src/plugins/clearcase/clearcasesync.cpp create mode 100644 src/plugins/clearcase/clearcasesync.h diff --git a/src/plugins/clearcase/clearcase.pro b/src/plugins/clearcase/clearcase.pro index ee6859828fa..c40f5475dfc 100644 --- a/src/plugins/clearcase/clearcase.pro +++ b/src/plugins/clearcase/clearcase.pro @@ -17,6 +17,7 @@ HEADERS += activityselector.h \ clearcasesettings.h \ clearcasesubmiteditor.h \ clearcasesubmiteditorwidget.h \ + clearcasesync.h \ settingspage.h \ versionselector.h @@ -29,6 +30,7 @@ SOURCES += activityselector.cpp \ clearcasesettings.cpp \ clearcasesubmiteditor.cpp \ clearcasesubmiteditorwidget.cpp \ + clearcasesync.cpp \ settingspage.cpp \ versionselector.cpp diff --git a/src/plugins/clearcase/clearcase.qbs b/src/plugins/clearcase/clearcase.qbs index e7de3b0aa41..2a3776d6d13 100644 --- a/src/plugins/clearcase/clearcase.qbs +++ b/src/plugins/clearcase/clearcase.qbs @@ -47,6 +47,8 @@ QtcPlugin { "clearcasesubmiteditor.h", "clearcasesubmiteditorwidget.cpp", "clearcasesubmiteditorwidget.h", + "clearcasesync.cpp", + "clearcasesync.h", "settingspage.cpp", "settingspage.h", "settingspage.ui", diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp index d71392779f2..b2ce7101699 100644 --- a/src/plugins/clearcase/clearcaseplugin.cpp +++ b/src/plugins/clearcase/clearcaseplugin.cpp @@ -38,6 +38,7 @@ #include "clearcaseplugin.h" #include "clearcasesubmiteditor.h" #include "clearcasesubmiteditorwidget.h" +#include "clearcasesync.h" #include "settingspage.h" #include "versionselector.h" #include "ui_undocheckout.h" @@ -115,8 +116,6 @@ static const char CMD_ID_UPDATE_VIEW[] = "ClearCase.UpdateView"; static const char CMD_ID_CHECKIN_ALL[] = "ClearCase.CheckInAll"; static const char CMD_ID_STATUS[] = "ClearCase.Status"; -StatusMap ClearCasePlugin::s_statusMap; - static const VcsBase::VcsBaseEditorParameters editorParameters[] = { { VcsBase::RegularCommandOutput, @@ -182,8 +181,10 @@ ClearCasePlugin::ClearCasePlugin() : m_submitRedoAction(0), m_menuAction(0), m_submitActionTriggered(false), - m_activityMutex(new QMutex) + m_activityMutex(new QMutex), + m_statusMap(new StatusMap) { + qRegisterMetaType("ClearCase::Internal::FileStatus::Status"); } ClearCasePlugin::~ClearCasePlugin() @@ -538,7 +539,7 @@ QStringList ClearCasePlugin::ccGetActiveVobs() const // file must be relative to topLevel, and using '/' path separator FileStatus ClearCasePlugin::vcsStatus(const QString &file) const { - return s_statusMap.value(file, FileStatus(FileStatus::Unknown)); + return m_statusMap->value(file, FileStatus(FileStatus::Unknown)); } QString ClearCasePlugin::ccGetFileActivity(const QString &workingDir, const QString &file) @@ -568,7 +569,7 @@ ClearCaseSubmitEditor *ClearCasePlugin::openClearCaseSubmitEditor(const QString void ClearCasePlugin::updateStatusActions() { bool hasFile = currentState().hasFile(); - FileStatus fileStatus = s_statusMap.value(currentState().relativeCurrentFile(), FileStatus(FileStatus::Unknown)); + FileStatus fileStatus = m_statusMap->value(currentState().relativeCurrentFile(), FileStatus(FileStatus::Unknown)); m_checkOutAction->setEnabled(hasFile && (fileStatus.status & (FileStatus::CheckedIn | FileStatus::Hijacked))); m_undoCheckOutAction->setEnabled(hasFile && (fileStatus.status & FileStatus::CheckedOut)); m_undoHijackAction->setEnabled(hasFile && (fileStatus.status & FileStatus::Hijacked)); @@ -617,9 +618,9 @@ void ClearCasePlugin::addCurrentFile() vcsAdd(state.currentFileTopLevel(), state.relativeCurrentFile()); } -void ClearCasePlugin::setStatus(const QString &file, FileStatus::Status status, bool update) +void ClearCasePlugin::setStatus(const QString &file, ClearCase::Internal::FileStatus::Status status, bool update) { - s_statusMap[file] = FileStatus(status, QFileInfo(currentState().topLevel(), file).permissions()); + m_statusMap->insert(file, FileStatus(status, QFileInfo(currentState().topLevel(), file).permissions())); if (update && (currentState().relativeCurrentFile() == file)) updateStatusActions(); } @@ -742,7 +743,7 @@ void ClearCasePlugin::ccDiffWithPred(const QStringList &files) if ((m_settings.diffType == GraphicalDiff) && (files.count() == 1)) { QString file = files.first(); - if (s_statusMap[file].status == FileStatus::Hijacked) + if (m_statusMap->value(file).status == FileStatus::Hijacked) diffGraphical(ccGetFileVersion(topLevel, file), file); else diffGraphical(file); @@ -750,7 +751,7 @@ void ClearCasePlugin::ccDiffWithPred(const QStringList &files) } QString result; foreach (const QString &file, files) { - if (s_statusMap[QDir::fromNativeSeparators(file)].status == FileStatus::Hijacked) + if (m_statusMap->value(QDir::fromNativeSeparators(file)).status == FileStatus::Hijacked) result += diffExternal(ccGetFileVersion(topLevel, file), file); else result += diffExternal(file); @@ -885,8 +886,8 @@ void ClearCasePlugin::startCheckInAll() QTC_ASSERT(state.hasTopLevel(), return); QString topLevel = state.topLevel(); QStringList files; - for (StatusMap::ConstIterator iterator = s_statusMap.constBegin(); - iterator != s_statusMap.constEnd(); + for (StatusMap::ConstIterator iterator = m_statusMap->constBegin(); + iterator != m_statusMap->constEnd(); ++iterator) { if (iterator.value().status == FileStatus::CheckedOut) @@ -1025,8 +1026,8 @@ void ClearCasePlugin::viewStatus() VcsBase::VcsBaseOutputWindow *outputwindow = VcsBase::VcsBaseOutputWindow::instance(); outputwindow->appendCommand(QLatin1String("Indexed files status (C=Checked Out, H=Hijacked, ?=Missing)")); bool anymod = false; - for (StatusMap::ConstIterator it = s_statusMap.constBegin(); - it != s_statusMap.constEnd(); + for (StatusMap::ConstIterator it = m_statusMap->constBegin(); + it != m_statusMap->constEnd(); ++it) { char cstat = 0; @@ -1266,13 +1267,13 @@ bool ClearCasePlugin::vcsOpen(const QString &workingDir, const QString &fileName const QString title = QString::fromLatin1("Checkout %1").arg(file); CheckOutDialog coDialog(title); if (!m_settings.disableIndexer && - (fi.isWritable() || s_statusMap[relFile].status == FileStatus::Unknown)) + (fi.isWritable() || m_statusMap->value(relFile).status == FileStatus::Unknown)) QtConcurrent::run(&sync, topLevel, QStringList(relFile)).waitForFinished(); - if (s_statusMap[relFile].status == FileStatus::CheckedOut) { + if (m_statusMap->value(relFile).status == FileStatus::CheckedOut) { QMessageBox::information(0, tr("ClearCase Checkout"), tr("File is already checked out.")); return true; } - bool isHijacked = (s_statusMap[relFile].status & FileStatus::Hijacked); + bool isHijacked = (m_statusMap->value(relFile).status & FileStatus::Hijacked); if (!isHijacked) coDialog.hideHijack(); if (coDialog.exec() == QDialog::Accepted) { @@ -1693,7 +1694,7 @@ void ClearCasePlugin::updateIndex() if (!project) return; m_checkInAllAction->setEnabled(false); - s_statusMap.clear(); + m_statusMap->clear(); QFuture result = QtConcurrent::run(&sync, currentState().topLevel(), project->files(ProjectExplorer::Project::ExcludeGeneratedFiles)); if (!m_settings.disableIndexer) @@ -1847,109 +1848,11 @@ void ClearCasePlugin::closing() void ClearCasePlugin::sync(QFutureInterface &future, QString topLevel, QStringList files) { ClearCasePlugin *plugin = ClearCasePlugin::instance(); - - ClearCaseSettings settings = plugin->settings(); - QString program = settings.ccBinaryPath; - if (program.isEmpty()) - return; - int total = files.size(); - bool hot = (total < 10); - int processed = 0; - QString view = plugin->currentView(); - if (view.isEmpty()) - plugin->updateStreamAndView(); - if (!hot) - total = settings.totalFiles.value(view, total); - - // refresh activities list - plugin->refreshActivities(); - - if (settings.disableIndexer) - return; - QStringList vobs; - if (!settings.indexOnlyVOBs.isEmpty()) - vobs = settings.indexOnlyVOBs.split(QLatin1Char(',')); - else - vobs = plugin->ccGetActiveVobs(); - QDir topLevelDir(topLevel); - QStringList args(QLatin1String("ls")); - if (hot) { - // find all files whose permissions changed OR hijacked files - // (might have become checked out) - foreach (const QString &file, s_statusMap.keys()) { - bool permChanged = - s_statusMap[file].permissions != QFileInfo(topLevel, file).permissions(); - if (permChanged || s_statusMap[file].status == FileStatus::Hijacked) { - files.append(file); - s_statusMap[file].status = FileStatus::Unknown; - ++total; - } - } - args << files; - } else { - foreach (const QString &file, files) - plugin->setStatus(topLevelDir.relativeFilePath(file), FileStatus::Unknown, false); - args << QLatin1String("-recurse"); - args << vobs; - } - - // adding 1 for initial sync in which total is not accurate, to prevent finishing - // (we don't want it to become green) - future.setProgressRange(0, total + 1); - QProcess process; - process.setWorkingDirectory(topLevel); - process.start(program, args); - if (!process.waitForStarted()) - return; - QString buffer; - while (process.waitForReadyRead() && !future.isCanceled()) { - while (process.state() == QProcess::Running && - process.bytesAvailable() && !future.isCanceled()) - { - QString line = QString::fromLocal8Bit(process.readLine().constData()); - buffer += line; - if (buffer.endsWith(QLatin1Char('\n')) || process.atEnd()) { - int atatpos = buffer.indexOf(QLatin1String("@@")); - if (atatpos != -1) { // probably managed file - // find first whitespace. anything before that is not interesting - int wspos = buffer.indexOf(QRegExp(QLatin1String("\\s"))); - const QString file = QDir::fromNativeSeparators(buffer.left(atatpos)); - QString ccState; - QRegExp reState(QLatin1String("^\\s*\\[[^\\]]*\\]")); // [hijacked]; [loaded but missing] - if (reState.indexIn(buffer, wspos + 1, QRegExp::CaretAtOffset) != -1) { - ccState = reState.cap(); - if (ccState.indexOf(QLatin1String("hijacked")) != -1) - plugin->setStatus(file, FileStatus::Hijacked, true); - else if (ccState.indexOf(QLatin1String("loaded but missing")) != -1) - plugin->setStatus(file, FileStatus::Missing, false); - } - else if (buffer.lastIndexOf(QLatin1String("CHECKEDOUT"), wspos) != -1) - plugin->setStatus(file, FileStatus::CheckedOut, true); - // don't care about checked-in files not listed in project - else if (s_statusMap.contains(file)) - plugin->setStatus(file, FileStatus::CheckedIn, false); - } - buffer.clear(); - future.setProgressValue(qMin(total, ++processed)); - } - } - } - - if (!future.isCanceled()) { - foreach (const QString &file, files) { - QString relFile = topLevelDir.relativeFilePath(file); - if (s_statusMap[relFile].status == FileStatus::Unknown) - plugin->setStatus(relFile, FileStatus::NotManaged, false); - } - future.setProgressValue(total + 1); - if (!hot) { - settings.totalFiles[view] = processed; - plugin->setSettings(settings); - } - } - if (process.state() == QProcess::Running) - process.kill(); - process.waitForFinished(); + ClearCaseSync ccSync(plugin, plugin->m_statusMap); + connect(&ccSync, SIGNAL(updateStreamAndView()), plugin, SLOT(updateStreamAndView())); + connect(&ccSync, SIGNAL(setStatus(QString, ClearCase::Internal::FileStatus::Status, bool)), + plugin, SLOT(setStatus(QString, ClearCase::Internal::FileStatus::Status, bool))); + ccSync.run(future, topLevel, files); } } // namespace Internal diff --git a/src/plugins/clearcase/clearcaseplugin.h b/src/plugins/clearcase/clearcaseplugin.h index b3c1cc11180..144dd709b85 100644 --- a/src/plugins/clearcase/clearcaseplugin.h +++ b/src/plugins/clearcase/clearcaseplugin.h @@ -39,6 +39,8 @@ #include #include #include +#include +#include QT_BEGIN_NAMESPACE class QAction; @@ -145,11 +147,14 @@ public: const QString &fileName, const QString &file2 = QString()); FileStatus vcsStatus(const QString &file) const; QString currentView() const { return m_view; } + void refreshActivities(); public slots: void vcsAnnotate(const QString &workingDir, const QString &file, const QString &revision = QString(), int lineNumber = -1) const; bool newActivity(); + void updateStreamAndView(); + void setStatus(const QString &file, ClearCase::Internal::FileStatus::Status status, bool update = true); private slots: void checkOutCurrentFile(); @@ -179,7 +184,6 @@ protected: void updateActions(VcsBase::VcsBasePlugin::ActionState); bool submitEditorAboutToClose(VcsBase::VcsBaseSubmitEditor *submitEditor); QString ccGet(const QString &workingDir, const QString &file, const QString &prefix = QString()); - void refreshActivities(); QList ccGetActivities() const; private: @@ -204,7 +208,6 @@ private: void cleanCheckInMessageFile(); inline ClearCaseControl *clearCaseControl() const; QString ccGetFileActivity(const QString &workingDir, const QString &file); - void setStatus(const QString &file, FileStatus::Status status, bool update = true); QStringList ccGetActivityVersions(const QString &workingDir, const QString &activity); void updateStatusActions(); void diffGraphical(const QString &file1, const QString &file2 = QString()); @@ -214,11 +217,9 @@ private: QString runExtDiff(const QString &workingDir, const QStringList &arguments, int timeOut, QTextCodec *outputCodec = 0); QString ccGetView(const QString &workingDir, bool *isDynamic = 0) const; - void updateStreamAndView(); ClearCaseSettings m_settings; - static StatusMap s_statusMap; QString m_checkInMessageFileName; QString m_topLevel; QString m_stream; @@ -251,6 +252,7 @@ private: bool m_submitActionTriggered; QMutex *m_activityMutex; QList m_activities; + QSharedPointer m_statusMap; static ClearCasePlugin *m_clearcasePluginInstance; }; @@ -258,4 +260,6 @@ private: } // namespace Internal } // namespace ClearCase +Q_DECLARE_METATYPE(ClearCase::Internal::FileStatus::Status) + #endif // CLEARCASEPLUGIN_H diff --git a/src/plugins/clearcase/clearcasesync.cpp b/src/plugins/clearcase/clearcasesync.cpp new file mode 100644 index 00000000000..3877e62596f --- /dev/null +++ b/src/plugins/clearcase/clearcasesync.cpp @@ -0,0 +1,125 @@ +#include "clearcasesync.h" + +#include +#include +#include +#include + +namespace ClearCase { +namespace Internal { + +ClearCaseSync::ClearCaseSync(ClearCasePlugin *plugin, QSharedPointer statusMap) : + m_plugin(plugin), + m_statusMap(statusMap) +{ +} + +void ClearCaseSync::run(QFutureInterface &future, const QString &topLevel, QStringList &files) +{ + ClearCaseSettings settings = m_plugin->settings(); + QString program = settings.ccBinaryPath; + if (program.isEmpty()) + return; + int total = files.size(); + bool hot = (total < 10); + int processed = 0; + QString view = m_plugin->currentView(); + if (view.isEmpty()) + emit updateStreamAndView(); + if (!hot) + total = settings.totalFiles.value(view, total); + + // refresh activities list + m_plugin->refreshActivities(); + + if (settings.disableIndexer) + return; + QStringList vobs; + if (!settings.indexOnlyVOBs.isEmpty()) + vobs = settings.indexOnlyVOBs.split(QLatin1Char(',')); + else + vobs = m_plugin->ccGetActiveVobs(); + QDir topLevelDir(topLevel); + QStringList args(QLatin1String("ls")); + if (hot) { + // find all files whose permissions changed OR hijacked files + // (might have become checked out) + foreach (const QString &file, m_statusMap->keys()) { + bool permChanged = + m_statusMap->value(file).permissions != QFileInfo(topLevel, file).permissions(); + if (permChanged || m_statusMap->value(file).status == FileStatus::Hijacked) { + files.append(file); + (*m_statusMap)[file].status = FileStatus::Unknown; + ++total; + } + } + args << files; + } else { + foreach (const QString &file, files) + emit setStatus(topLevelDir.relativeFilePath(file), FileStatus::Unknown, false); + args << QLatin1String("-recurse"); + args << vobs; + } + + // adding 1 for initial sync in which total is not accurate, to prevent finishing + // (we don't want it to become green) + future.setProgressRange(0, total + 1); + QProcess process; + process.setWorkingDirectory(topLevel); + process.start(program, args); + if (!process.waitForStarted()) + return; + QString buffer; + while (process.waitForReadyRead() && !future.isCanceled()) { + while (process.state() == QProcess::Running && + process.bytesAvailable() && !future.isCanceled()) + { + QString line = QString::fromLocal8Bit(process.readLine().constData()); + buffer += line; + if (buffer.endsWith(QLatin1Char('\n')) || process.atEnd()) { + int atatpos = buffer.indexOf(QLatin1String("@@")); + if (atatpos != -1) { // probably managed file + // find first whitespace. anything before that is not interesting + int wspos = buffer.indexOf(QRegExp(QLatin1String("\\s"))); + const QString file = QDir::fromNativeSeparators(buffer.left(atatpos)); + QString ccState; + QRegExp reState(QLatin1String("^\\s*\\[[^\\]]*\\]")); // [hijacked]; [loaded but missing] + if (reState.indexIn(buffer, wspos + 1, QRegExp::CaretAtOffset) != -1) { + ccState = reState.cap(); + if (ccState.indexOf(QLatin1String("hijacked")) != -1) + emit setStatus(file, FileStatus::Hijacked, true); + else if (ccState.indexOf(QLatin1String("loaded but missing")) != -1) + emit setStatus(file, FileStatus::Missing, false); + } + else if (buffer.lastIndexOf(QLatin1String("CHECKEDOUT"), wspos) != -1) + emit setStatus(file, FileStatus::CheckedOut, true); + // don't care about checked-in files not listed in project + else if (m_statusMap->contains(file)) + emit setStatus(file, FileStatus::CheckedIn, true); + } + buffer.clear(); + future.setProgressValue(qMin(total, ++processed)); + } + } + } + + if (!future.isCanceled()) { + foreach (const QString &file, files) { + QString relFile = topLevelDir.relativeFilePath(file); + if (m_statusMap->value(relFile).status == FileStatus::Unknown) + emit setStatus(relFile, FileStatus::NotManaged, false); + } + future.setProgressValue(total + 1); + if (!hot) { + settings = m_plugin->settings(); // Might have changed while task was running + settings.totalFiles[view] = processed; + m_plugin->setSettings(settings); + } + } + if (process.state() == QProcess::Running) + process.kill(); + process.waitForFinished(); +} + +} // namespace Internal +} // namespace ClearCase diff --git a/src/plugins/clearcase/clearcasesync.h b/src/plugins/clearcase/clearcasesync.h new file mode 100644 index 00000000000..a529a830212 --- /dev/null +++ b/src/plugins/clearcase/clearcasesync.h @@ -0,0 +1,28 @@ +#ifndef CLEARCASESYNC_H +#define CLEARCASESYNC_H + +#include "clearcaseplugin.h" + +namespace ClearCase { +namespace Internal { + +class ClearCaseSync : public QObject +{ + Q_OBJECT +public: + explicit ClearCaseSync(ClearCasePlugin *plugin, QSharedPointer statusMap); + void run(QFutureInterface &future, const QString &topLevel, QStringList &files); + +signals: + void updateStreamAndView(); + void setStatus(const QString &file, ClearCase::Internal::FileStatus::Status status, bool update); + +private: + ClearCasePlugin *m_plugin; + QSharedPointer m_statusMap; +}; + +} // namespace Internal +} // namespace ClearCase + +#endif // CLEARCASESYNC_H From b9c58161e41d245d0c6ffb657480c50859172e6d Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Tue, 28 Aug 2012 13:44:35 +0200 Subject: [PATCH 08/36] Squish: Partly revert "Removal of Symbian support" This reverts commit ae23d50576ac076aeb22a3d56abdb5e2c1d9b327. Change-Id: I03cccd11022b66e90489e23ab360704ba4a357cd Reviewed-by: Christian Stenger --- .../testdata/projecttree_creator.tsv | 90 +++++++++++++++++++ 1 file changed, 90 insertions(+) diff --git a/tests/system/suite_general/tst_openqt_creator/testdata/projecttree_creator.tsv b/tests/system/suite_general/tst_openqt_creator/testdata/projecttree_creator.tsv index ccdcad6ef9b..3674a58a465 100644 --- a/tests/system/suite_general/tst_openqt_creator/testdata/projecttree_creator.tsv +++ b/tests/system/suite_general/tst_openqt_creator/testdata/projecttree_creator.tsv @@ -178,6 +178,7 @@ "MainPage.qml" "5" "qtquick10" "4" "main.qml" "5" +"symbian11" "4" "main.qml" "5" "MainPage.qml" "5" "welcomescreen" "3" @@ -342,6 +343,7 @@ "deviceorientation.h" "5" "deviceorientation_harmattan.cpp" "5" "deviceorientation_maemo5.cpp" "5" +"deviceorientation_symbian.cpp" "5" "LGPL_EXCEPTION.TXT" "5" "LICENSE.LGPL" "5" "loggerwidget.cpp" "5" @@ -736,6 +738,7 @@ "icon64.png" "5" "icon80.png" "5" "manifest.aegis" "5" +"symbianicon.svg" "5" "wizards" "4" "helloworld" "5" "console.png" "6" @@ -2211,8 +2214,18 @@ "symbianutils.pri" "4" "Headers" "4" "callback.h" "5" +"codadevice.h" "5" +"codamessage.h" "5" +"codautils.h" "5" +"codautils_p.h" "5" +"symbiandevicemanager.h" "5" +"symbianutils_global.h" "5" "virtualserialdevice.h" "5" "Sources" "4" +"codadevice.cpp" "5" +"codamessage.cpp" "5" +"codautils.cpp" "5" +"symbiandevicemanager.cpp" "5" "virtualserialdevice.cpp" "5" "virtualserialdevice_posix.cpp" "5" "virtualserialdevice_win.cpp" "5" @@ -3578,6 +3591,7 @@ "abstractgdbprocess.h" "5" "abstractplaingdbadapter.h" "5" "attachgdbadapter.h" "5" +"codagdbadapter.h" "5" "coregdbadapter.h" "5" "gdbengine.h" "5" "gdbmi.h" "5" @@ -3595,6 +3609,7 @@ "abstractplaingdbadapter.cpp" "5" "attachgdbadapter.cpp" "5" "classicgdbengine.cpp" "5" +"codagdbadapter.cpp" "5" "coregdbadapter.cpp" "5" "gdbengine.cpp" "5" "gdbmi.cpp" "5" @@ -5890,6 +5905,8 @@ "Other files" "5" "plugins/qmldesigner" "6" "QmlDesigner.pluginspec.in" "7" +"qts60stylethemeio" "4" +"qts60stylethemeio.pri" "5" "qtsupport" "4" "qtsupport.pri" "5" "qtsupport_dependencies" "4" @@ -6296,6 +6313,7 @@ "utils_dependencies.pri" "4" "Headers" "3" "abstractqmlprofilerrunner.h" "4" +"codaqmlprofilerrunner.h" "4" "localqmlprofilerrunner.h" "4" "qmlprofiler_global.h" "4" "qmlprofilerattachdialog.h" "4" @@ -6307,6 +6325,7 @@ "qmlprofilertool.h" "4" "remotelinuxqmlprofilerrunner.h" "4" "Sources" "3" +"codaqmlprofilerrunner.cpp" "4" "localqmlprofilerrunner.cpp" "4" "qmlprofilerattachdialog.cpp" "4" "qmlprofilerdetailsrewriter.cpp" "4" @@ -6539,17 +6558,81 @@ "qt4simulatortargetfactory.cpp" "5" "simulatorqtversion.cpp" "5" "simulatorqtversionfactory.cpp" "5" +"qt-s60" "3" +"qt-s60.pri" "4" "Headers" "4" +"abldparser.h" "5" "certificatepathchooser.h" "5" +"codaruncontrol.h" "5" "gccetoolchain.h" "5" "passphraseforkeydialog.h" "5" +"qt4symbiantarget.h" "5" +"qt4symbiantargetfactory.h" "5" +"rvctparser.h" "5" +"rvcttoolchain.h" "5" +"s60certificatedetailsdialog.h" "5" +"s60certificateinfo.h" "5" +"s60createpackageparser.h" "5" +"s60createpackagestep.h" "5" +"s60deployconfiguration.h" "5" +"s60deployconfigurationwidget.h" "5" +"s60deploystep.h" "5" +"s60devicedebugruncontrol.h" "5" +"s60devicerunconfiguration.h" "5" +"s60devicerunconfigurationwidget.h" "5" +"s60manager.h" "5" +"s60publisherovi.h" "5" +"s60publishingbuildsettingspageovi.h" "5" +"s60publishingresultspageovi.h" "5" +"s60publishingsissettingspageovi.h" "5" +"s60publishingwizardfactories.h" "5" +"s60publishingwizardovi.h" "5" +"s60runcontrolbase.h" "5" +"s60runcontrolfactory.h" "5" +"s60symbiancertificate.h" "5" +"sbsv2parser.h" "5" +"symbianqtversion.h" "5" +"symbianqtversionfactory.h" "5" "Sources" "4" +"abldparser.cpp" "5" "certificatepathchooser.cpp" "5" +"codaruncontrol.cpp" "5" "gccetoolchain.cpp" "5" "passphraseforkeydialog.cpp" "5" "qt4symbiantarget.cpp" "5" "qt4symbiantargetfactory.cpp" "5" +"rvctparser.cpp" "5" +"rvcttoolchain.cpp" "5" +"s60certificatedetailsdialog.cpp" "5" +"s60certificateinfo.cpp" "5" +"s60createpackageparser.cpp" "5" +"s60createpackagestep.cpp" "5" +"s60deployconfiguration.cpp" "5" +"s60deployconfigurationwidget.cpp" "5" +"s60deploystep.cpp" "5" +"s60devicedebugruncontrol.cpp" "5" +"s60devicerunconfiguration.cpp" "5" +"s60devicerunconfigurationwidget.cpp" "5" +"s60manager.cpp" "5" +"s60publisherovi.cpp" "5" +"s60publishingbuildsettingspageovi.cpp" "5" +"s60publishingresultspageovi.cpp" "5" +"s60publishingsissettingspageovi.cpp" "5" +"s60publishingwizardfactories.cpp" "5" +"s60publishingwizardovi.cpp" "5" +"s60runcontrolbase.cpp" "5" +"s60runcontrolfactory.cpp" "5" +"s60symbiancertificate.cpp" "5" +"sbsv2parser.cpp" "5" +"symbianqtversion.cpp" "5" +"symbianqtversionfactory.cpp" "5" "Forms" "4" +"rvcttoolchainconfigwidget.ui" "5" +"s60certificatedetailsdialog.ui" "5" +"s60createpackagestep.ui" "5" +"s60publishingbuildsettingspageovi.ui" "5" +"s60publishingresultspageovi.ui" "5" +"s60publishingsissettingspageovi.ui" "5" "qt4projectmanager_dependencies" "3" "qt4projectmanager_dependencies.pri" "4" "qtcreator" "3" @@ -6563,6 +6646,8 @@ "qtsupport.pri" "4" "qtsupport_dependencies" "3" "qtsupport_dependencies.pri" "4" +"symbianutils" "3" +"symbianutils.pri" "4" "texteditor" "3" "texteditor.pri" "4" "texteditor_dependencies" "3" @@ -6702,6 +6787,7 @@ "mobileappwizardgenericoptionspage.ui" "5" "mobileappwizardharmattanoptionspage.ui" "5" "mobileappwizardmaemooptionspage.ui" "5" +"mobileappwizardsymbianoptionspage.ui" "5" "mobilelibrarywizardoptionpage.ui" "5" "qtquickcomponentsetoptionspage.ui" "5" "targetsetuppage.ui" "5" @@ -6897,6 +6983,8 @@ "qtsupport_dependencies.pri" "4" "remotelinux_dependencies" "3" "remotelinux_dependencies.pri" "4" +"symbianutils" "3" +"symbianutils.pri" "4" "texteditor" "3" "texteditor.pri" "4" "texteditor_dependencies" "3" @@ -7695,6 +7783,8 @@ "remotelinux.pri" "4" "remotelinux_dependencies" "3" "remotelinux_dependencies.pri" "4" +"symbianutils" "3" +"symbianutils.pri" "4" "texteditor" "3" "texteditor.pri" "4" "texteditor_dependencies" "3" From 856b7f15aba496860ebd53c4c855d18a7bdf995f Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Sun, 2 Sep 2012 11:26:26 +0300 Subject: [PATCH 09/36] ClearCase: Support systems without external diff CC's internal diff is worthless, just disable multiple files actions Change-Id: Ia8541e6edc6582777fc141da849819a5a11543b6 Reviewed-by: Tobias Hunger Reviewed-by: Leena Miettinen --- src/plugins/clearcase/clearcaseplugin.cpp | 22 ++++++-- src/plugins/clearcase/clearcasesettings.cpp | 1 + src/plugins/clearcase/clearcasesettings.h | 1 + src/plugins/clearcase/settingspage.cpp | 27 ++++++---- src/plugins/clearcase/settingspage.ui | 58 ++++++++++++++++++++- 5 files changed, 96 insertions(+), 13 deletions(-) diff --git a/src/plugins/clearcase/clearcaseplugin.cpp b/src/plugins/clearcase/clearcaseplugin.cpp index b2ce7101699..007526027c0 100644 --- a/src/plugins/clearcase/clearcaseplugin.cpp +++ b/src/plugins/clearcase/clearcaseplugin.cpp @@ -706,8 +706,13 @@ void ClearCasePlugin::undoHijackCurrent() const QString fileName = state.relativeCurrentFile(); bool keep = false; - QString diffres = diffExternal(ccGetFileVersion(state.topLevel(), fileName), fileName); - if (diffres.at(0) != QLatin1Char('F')) { // Files are identical + bool askKeep = true; + if (m_settings.extDiffAvailable) { + QString diffres = diffExternal(ccGetFileVersion(state.topLevel(), fileName), fileName); + if (diffres.at(0) == QLatin1Char('F')) // Files are identical + askKeep = false; + } + if (askKeep) { Ui::UndoCheckOut unhijackUi; QDialog unhijackDlg; unhijackUi.setupUi(&unhijackDlg); @@ -749,6 +754,11 @@ void ClearCasePlugin::ccDiffWithPred(const QStringList &files) diffGraphical(file); return; // done here, diff is opened in a new window } + if (!m_settings.extDiffAvailable) { + VcsBase::VcsBaseOutputWindow::instance()->appendError( + tr("External diff is required to compare multiple files.")); + return; + } QString result; foreach (const QString &file, files) { if (m_statusMap->value(QDir::fromNativeSeparators(file)).status == FileStatus::Hijacked) @@ -814,6 +824,11 @@ void ClearCasePlugin::diffActivity() QTC_ASSERT(state.hasTopLevel(), return); if (ClearCase::Constants::debug) qDebug() << Q_FUNC_INFO; + if (!m_settings.extDiffAvailable) { + VcsBase::VcsBaseOutputWindow::instance()->appendError( + tr("External diff is required to compare multiple files.")); + return; + } QString topLevel = state.topLevel(); QString activity = QInputDialog::getText(0, tr("Enter Activity"), tr("Activity Name"), QLineEdit::Normal, m_activity); if (activity.isEmpty()) @@ -1148,7 +1163,8 @@ void ClearCasePlugin::describe(const QString &source, const QString &changeNr) const ClearCaseResponse response = runCleartool(topLevel, args, m_settings.timeOutMS(), 0, codec); description = response.stdOut; - description += diffExternal(id); + if (m_settings.extDiffAvailable) + description += diffExternal(id); // Re-use an existing view if possible to support // the common usage pattern of continuously changing and diffing a file diff --git a/src/plugins/clearcase/clearcasesettings.cpp b/src/plugins/clearcase/clearcasesettings.cpp index 313d081fe4b..63f5f09b47a 100644 --- a/src/plugins/clearcase/clearcasesettings.cpp +++ b/src/plugins/clearcase/clearcasesettings.cpp @@ -98,6 +98,7 @@ void ClearCaseSettings::fromSettings(QSettings *settings) promptToCheckIn = settings->value(QLatin1String(promptToCheckInKeyC), false).toBool(); disableIndexer = settings->value(QLatin1String(disableIndexerKeyC), false).toBool(); indexOnlyVOBs = settings->value(QLatin1String(indexOnlyVOBsC), QString()).toString(); + extDiffAvailable = !Utils::Environment::systemEnvironment().searchInPath(QLatin1String("diff")).isEmpty(); settings->beginGroup(QLatin1String(totalFilesKeyC)); foreach (const QString &view, settings->childKeys()) totalFiles[view] = settings->value(view).toInt(); diff --git a/src/plugins/clearcase/clearcasesettings.h b/src/plugins/clearcase/clearcasesettings.h index a7b7be46a30..0c10d07cd25 100644 --- a/src/plugins/clearcase/clearcasesettings.h +++ b/src/plugins/clearcase/clearcasesettings.h @@ -73,6 +73,7 @@ public: bool promptToCheckIn; bool disableIndexer; QString indexOnlyVOBs; + bool extDiffAvailable; QHash totalFiles; }; diff --git a/src/plugins/clearcase/settingspage.cpp b/src/plugins/clearcase/settingspage.cpp index ff5f8f21d44..08ab9507b8f 100644 --- a/src/plugins/clearcase/settingspage.cpp +++ b/src/plugins/clearcase/settingspage.cpp @@ -37,6 +37,7 @@ #include #include +#include #include #include @@ -71,6 +72,7 @@ ClearCaseSettings SettingsPageWidget::settings() const rc.disableIndexer = m_ui.disableIndexerCheckBox->isChecked(); rc.diffArgs = m_ui.diffArgsEdit->text(); rc.indexOnlyVOBs = m_ui.indexOnlyVOBsEdit->text(); + rc.extDiffAvailable = m_ui.externalDiffRadioButton->isEnabled(); return rc; } @@ -79,16 +81,23 @@ void SettingsPageWidget::setSettings(const ClearCaseSettings &s) m_ui.commandPathChooser->setPath(s.ccCommand); m_ui.timeOutSpinBox->setValue(s.timeOutS); m_ui.autoCheckOutCheckBox->setChecked(s.autoCheckOut); - switch (s.diffType) { - case GraphicalDiff: - m_ui.graphicalDiffRadioButton->setChecked(true); - m_ui.diffWidget->setEnabled(false); - break; - case ExternalDiff: - m_ui.externalDiffRadioButton->setChecked(true); - m_ui.diffWidget->setEnabled(true); - break; + bool extDiffAvailable = !Utils::Environment::systemEnvironment().searchInPath(QLatin1String("diff")).isEmpty(); + if (extDiffAvailable) { + m_ui.diffWarningLabel->setVisible(false); + } else { + QString diffWarning = tr("In order to use External diff, 'diff' command needs to be accessible."); +#ifdef Q_OS_WIN + diffWarning.append(tr(" DiffUtils is available for free download " + "here. " + "Please extract it to a directory in your PATH.")); +#endif + m_ui.diffWarningLabel->setText(diffWarning); + m_ui.externalDiffRadioButton->setEnabled(false); } + if (extDiffAvailable && s.diffType == ExternalDiff) + m_ui.externalDiffRadioButton->setChecked(true); + else + m_ui.graphicalDiffRadioButton->setChecked(true); m_ui.autoAssignActivityCheckBox->setChecked(s.autoAssignActivityName); m_ui.historyCountSpinBox->setValue(s.historyCount); m_ui.promptCheckBox->setChecked(s.promptToCheckIn); diff --git a/src/plugins/clearcase/settingspage.ui b/src/plugins/clearcase/settingspage.ui index 7f4c3247089..9d80e2b4eff 100644 --- a/src/plugins/clearcase/settingspage.ui +++ b/src/plugins/clearcase/settingspage.ui @@ -7,7 +7,7 @@ 0 0 363 - 384 + 403 @@ -39,11 +39,17 @@ Diff + + QFormLayout::AllNonFixedFieldsGrow + &Graphical (Single file only) + + true + @@ -55,6 +61,9 @@ + + false + 0 @@ -75,6 +84,53 @@ + + + + + + + + + 255 + 0 + 0 + + + + + + + + + 255 + 0 + 0 + + + + + + + + + 68 + 96 + 92 + + + + + + + + + + + true + + + From a426cadeece38bc64209abf77149b990c2995480 Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Fri, 31 Aug 2012 19:57:54 +0200 Subject: [PATCH 10/36] Squish: Added Fremantle target Change-Id: I4c7d5a053d42693e658e82699e9339c1a72d0057 Reviewed-by: Christian Stenger --- .../settings/unix/Nokia/qtcreator/devices.xml | 46 +++++++++++++++++++ .../unix/Nokia/qtcreator/profiles.xml | 22 ++++++++- .../unix/Nokia/qtcreator/toolchains.xml | 15 +++++- .../windows/Nokia/qtcreator/devices.xml | 46 +++++++++++++++++++ .../windows/Nokia/qtcreator/profiles.xml | 22 ++++++++- .../windows/Nokia/qtcreator/toolchains.xml | 15 +++++- 6 files changed, 160 insertions(+), 6 deletions(-) create mode 100644 tests/system/settings/unix/Nokia/qtcreator/devices.xml create mode 100644 tests/system/settings/windows/Nokia/qtcreator/devices.xml diff --git a/tests/system/settings/unix/Nokia/qtcreator/devices.xml b/tests/system/settings/unix/Nokia/qtcreator/devices.xml new file mode 100644 index 00000000000..cf0e1556156 --- /dev/null +++ b/tests/system/settings/unix/Nokia/qtcreator/devices.xml @@ -0,0 +1,46 @@ + + + + + + DeviceManager + + + Desktop Device + {68a75dff-5ec6-40cb-884f-8f383ed2ebb2} + + + + 1 + + + Desktop Device + + Run locally + 1 + Desktop + + 0 + 0 + 0 + + + + 1 + 10000-10100 + 192.168.2.15 + {68a75dff-5ec6-40cb-884f-8f383ed2ebb2} + + Maemo5/Fremantle Device + 0 + Maemo5OsType + + 22 + 10 + 0 + developer + + + + + diff --git a/tests/system/settings/unix/Nokia/qtcreator/profiles.xml b/tests/system/settings/unix/Nokia/qtcreator/profiles.xml index b3a3a5e5620..42482f30ac9 100644 --- a/tests/system/settings/unix/Nokia/qtcreator/profiles.xml +++ b/tests/system/settings/unix/Nokia/qtcreator/profiles.xml @@ -1,6 +1,6 @@ - + Profile.0 @@ -38,9 +38,27 @@ Qt Simulator + + Profile.2 + + false + + /usr/bin/gdb + {68a75dff-5ec6-40cb-884f-8f383ed2ebb2} + Maemo5OsType + + ProjectExplorer.ToolChain.Gcc:{32ee0a53-87d9-4f17-b8a5-a7642101e803} + + 3 + + :///DESKTOP/// + {f559999e-8f5d-4246-9321-ea9d1c444c85} + Fremantle + + Profile.Count - 2 + 3 Profile.Default diff --git a/tests/system/settings/unix/Nokia/qtcreator/toolchains.xml b/tests/system/settings/unix/Nokia/qtcreator/toolchains.xml index 3fec8907ff4..44307c16991 100644 --- a/tests/system/settings/unix/Nokia/qtcreator/toolchains.xml +++ b/tests/system/settings/unix/Nokia/qtcreator/toolchains.xml @@ -15,9 +15,22 @@ ProjectExplorer.ToolChain.Gcc:{c3f59b87-6997-4bd8-8067-ee04dc536371} + + ToolChain.1 + + ~/QtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/g++ + + arm-linux-generic-elf-32bit + + arm-linux-maemo-elf-32bit + false + GCC for Fremantle + ProjectExplorer.ToolChain.Gcc:{32ee0a53-87d9-4f17-b8a5-a7642101e803} + + ToolChain.Count - 1 + 2 Version diff --git a/tests/system/settings/windows/Nokia/qtcreator/devices.xml b/tests/system/settings/windows/Nokia/qtcreator/devices.xml new file mode 100644 index 00000000000..ee41924e964 --- /dev/null +++ b/tests/system/settings/windows/Nokia/qtcreator/devices.xml @@ -0,0 +1,46 @@ + + + + + + DeviceManager + + + Desktop Device + {0d112162-56a5-40cb-a911-e0545489da5c} + + + + 1 + + + Desktop Device + + Run locally + 1 + Desktop + + 0 + 0 + 0 + + + + 1 + 10000-10100 + 192.168.2.15 + {0d112162-56a5-40cb-a911-e0545489da5c} + + Maemo5/Fremantle Device + 0 + Maemo5OsType + + 22 + 10 + 0 + developer + + + + + diff --git a/tests/system/settings/windows/Nokia/qtcreator/profiles.xml b/tests/system/settings/windows/Nokia/qtcreator/profiles.xml index f7fde15dea3..7f5f8fdfabf 100644 --- a/tests/system/settings/windows/Nokia/qtcreator/profiles.xml +++ b/tests/system/settings/windows/Nokia/qtcreator/profiles.xml @@ -1,6 +1,6 @@ - + Profile.0 @@ -38,9 +38,27 @@ Qt Simulator + + Profile.2 + + false + + C:/QtSDK/pythongdb/python_2.7based/gdb-arm-none-linux-gnueabi.exe + {0d112162-56a5-40cb-a911-e0545489da5c} + Maemo5OsType + + ProjectExplorer.ToolChain.Gcc:{333fff9b-5a71-4289-ac68-af2174cb68df} + + 16 + + :///DESKTOP/// + {618722a5-c008-4869-9404-07f755973496} + Fremantle + + Profile.Count - 2 + 3 Profile.Default diff --git a/tests/system/settings/windows/Nokia/qtcreator/toolchains.xml b/tests/system/settings/windows/Nokia/qtcreator/toolchains.xml index 5350264958f..0c6929b7a9f 100644 --- a/tests/system/settings/windows/Nokia/qtcreator/toolchains.xml +++ b/tests/system/settings/windows/Nokia/qtcreator/toolchains.xml @@ -15,9 +15,22 @@ ProjectExplorer.ToolChain.Mingw:{2729dd3e-84f5-42e1-aed1-6a27163346ce} + + ToolChain.1 + + C:/QtSDK/Maemo/4.6.2/targets/fremantle-pr13/bin/g++.exe + + arm-linux-generic-elf-32bit + + arm-linux-maemo-elf-32bit + false + GCC for Fremantle + ProjectExplorer.ToolChain.Gcc:{333fff9b-5a71-4289-ac68-af2174cb68df} + + ToolChain.Count - 1 + 2 Version From 7d5f1646539498a14d2e0f7ede633f547634f89a Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Mon, 3 Sep 2012 15:33:40 +0200 Subject: [PATCH 11/36] Build fix Change-Id: I8810a779e6862fae2e3d9db0b9658295f8a772b5 Reviewed-by: hjk --- src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp | 1 - 1 file changed, 1 deletion(-) diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp index fdb185466d4..9c4483c4491 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp @@ -31,7 +31,6 @@ #include "targetsetuppage.h" #include "importwidget.h" -#include "ui_targetsetuppage.h" #include "buildconfigurationinfo.h" #include "qt4buildconfiguration.h" #include "qt4project.h" From e518cdd44b29b5bd9d6dc0ef317975d88786b853 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 3 Sep 2012 14:40:32 +0200 Subject: [PATCH 12/36] Mac: Add make target for code signing. Use like this: SIGNING_IDENTITY="My ID" make codesign Change-Id: Id71547a7e5926c34b6dad22017b5005791419cf0 Reviewed-by: Oswald Buddenhagen --- qtcreator.pro | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/qtcreator.pro b/qtcreator.pro index d08345e3516..c9b2be0268c 100644 --- a/qtcreator.pro +++ b/qtcreator.pro @@ -20,10 +20,11 @@ OTHER_FILES += dist/copyright_template.txt \ macx { APPBUNDLE = "$$OUT_PWD/bin/Qt Creator.app" deployqt.commands = $$PWD/scripts/deployqtHelper_mac.sh \"$${APPBUNDLE}\" + codesign.commands = codesign -s \"$(SIGNING_IDENTITY)\" \"$${APPBUNDLE}\" bindist.commands = 7z a -mx9 $$OUT_PWD/qt-creator-mac$(INSTALL_EDITION)-$${QTCREATOR_VERSION}$(INSTALL_POSTFIX).7z \"$$OUT_PWD/bin/Qt Creator.app/\" dmg.commands = $$PWD/scripts/makedmg.sh $$OUT_PWD/bin qt-creator-mac$(INSTALL_EDITION)-$${QTCREATOR_VERSION}$(INSTALL_POSTFIX).dmg dmg.depends = deployqt - QMAKE_EXTRA_TARGETS += dmg + QMAKE_EXTRA_TARGETS += codesign dmg } else { deployqt.commands = $$PWD/scripts/deployqt.py -i $(INSTALL_ROOT) deployqt.depends = install From 347d0e4e5a11240f8cf7250ac8c0227fa2b3f811 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 3 Sep 2012 17:21:31 +0200 Subject: [PATCH 13/36] Unblock device test dialog on Qt 5. Do not open the dialog with the wizard as parent after QWizard::exec() has finished. Task-number: QTBUG-27039 Change-Id: I51d5d9fa07adca0570c2b91b50f84e143e592309 Reviewed-by: hjk --- .../remotelinux/genericlinuxdeviceconfigurationwizard.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp index 083a636bb37..e87802eb72e 100644 --- a/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp +++ b/src/plugins/remotelinux/genericlinuxdeviceconfigurationwizard.cpp @@ -90,7 +90,9 @@ IDevice::Ptr GenericLinuxDeviceConfigurationWizard::device() Core::Id(Constants::GenericLinuxOsType), IDevice::Hardware); device->setFreePorts(Utils::PortList::fromString(QLatin1String("10000-10100"))); device->setSshParameters(sshParams); - LinuxDeviceTestDialog dlg(device, new GenericLinuxDeviceTester(this), this); + // Might be called after accept. + QWidget *parent = isVisible() ? this : static_cast(0); + LinuxDeviceTestDialog dlg(device, new GenericLinuxDeviceTester(this), parent); dlg.exec(); return device; } From ac6ca18ec0cd466be1bbf4e74d132f3d9ca30407 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Wed, 22 Aug 2012 12:39:37 +0200 Subject: [PATCH 14/36] Squish: Fix tst_create_proj_wizard Change-Id: Ibccb5b6c1496d5ae4c9021086d55dc4236f6ac71 Reviewed-by: Robert Loehning --- tests/system/shared/project.py | 2 + tests/system/shared/utils.py | 49 +++++++++++++------ .../tst_create_proj_wizard/test.py | 13 ++--- 3 files changed, 42 insertions(+), 22 deletions(-) diff --git a/tests/system/shared/project.py b/tests/system/shared/project.py index 8b83d19c6f4..8fc7177e9ce 100644 --- a/tests/system/shared/project.py +++ b/tests/system/shared/project.py @@ -423,6 +423,8 @@ def __getSupportedPlatforms__(text, getAsStrings=False): result.append(QtQuickConstants.Targets.EMBEDDED_LINUX) if 'MeeGo/Harmattan' in supports: result.append(QtQuickConstants.Targets.HARMATTAN) + addSimulator = True + if 'Maemo/Fremantle' in supports: result.append(QtQuickConstants.Targets.MAEMO5) addSimulator = True if len(result) == 0 or addSimulator: diff --git a/tests/system/shared/utils.py b/tests/system/shared/utils.py index 8e11a04d7e2..09ad3f769b7 100644 --- a/tests/system/shared/utils.py +++ b/tests/system/shared/utils.py @@ -286,23 +286,40 @@ def __checkParentAccess__(filePath): # options dialog and returns a dict holding the targets as keys # and a list of supported versions as value def getCorrectlyConfiguredTargets(): + def __retrieveQtVersionName__(target, version): + treeWidget = waitForObject(":QtSupport__Internal__QtVersionManager.qtdirList_QTreeWidget") + return treeWidget.currentItem().text(0) + targetQtVersionNames = {} result = {} - for tv in iterateQtVersions(): - for target,version in tv.iteritems(): - # Dialog sometimes differs from targets' names - if target == "Maemo": - target = "Maemo5" - implicitTargets = [target] - if target == "Desktop" and platform.system() in ("Linux", "Darwin"): - implicitTargets.append("Embedded Linux") - for currentTarget in implicitTargets: - if currentTarget in result: - oldV = result[currentTarget] - if version not in oldV: - oldV.append(version) - result.update({currentTarget:oldV}) - else: - result.update({currentTarget:[version]}) + targetsQtVersions, qtVersionNames = iterateQtVersions(True, __retrieveQtVersionName__) + clickTab(waitForObject(":Options.qt_tabwidget_tabbar_QTabBar"), "Targets") + treeView = waitForObject(":Targets_QTreeView") + model = treeView.model() + test.compare(model.rowCount(), 2, "Verifying expected target section count") + autoDetected = model.index(0, 0) + test.compare(autoDetected.data().toString(), "Auto-detected", + "Verifying label for target section") + manual = model.index(1, 0) + test.compare(manual.data().toString(), "Manual", "Verifying label for target section") + for section in [autoDetected, manual]: + for index in [section.child(i, 0) for i in range(model.rowCount(section))]: + targetName = str(index.data().toString()) + if (targetName.endswith(" (default)")): + targetName = targetName.rstrip(" (default)") + item = ".".join([str(section.data().toString()), + str(index.data().toString()).replace(".", "\\.")]) + clickItem(treeView, item, 5, 5, 0, Qt.LeftButton) + qtVersionStr = str(waitForObject(":Targets_QtVersion_QComboBox").currentText) + targetQtVersionNames[targetName] = qtVersionStr + # merge defined target names with their configured Qt versions and devices + for target,qtVersion in targetQtVersionNames.iteritems(): + result[target] = targetsQtVersions[qtVersionNames.index(qtVersion)].items()[0] + clickButton(waitForObject(":Options.Cancel_QPushButton")) + # adjust device name(s) to match getStringForTarget() - some differ from time to time + for targetName in result.keys(): + targetInfo = result[targetName] + if targetInfo[0] == "Maemo": + result.update({targetName:("Maemo5", targetInfo[1])}) test.log("Correctly configured targets: %s" % str(result)) return result diff --git a/tests/system/suite_general/tst_create_proj_wizard/test.py b/tests/system/suite_general/tst_create_proj_wizard/test.py index e600f3e7d48..85fe151d3fa 100644 --- a/tests/system/suite_general/tst_create_proj_wizard/test.py +++ b/tests/system/suite_general/tst_create_proj_wizard/test.py @@ -70,23 +70,24 @@ def main(): except LookupError: pass waitForObject("{type='QLabel' unnamed='1' visible='1' text='Target Setup'}") - availableCheckboxes = filter(visibleCheckBoxExists, QtQuickConstants.getAllTargetStrings()) + availableCheckboxes = filter(visibleCheckBoxExists, targets.keys()) JIRA.performWorkaroundIfStillOpen(6994, JIRA.Bug.CREATOR, template, displayedPlatforms) # verification whether expected, found and configured match for t in targets: if requiredVersion: - if max(targets[t]) < requiredVersion: + if targets[t][1] < requiredVersion: if t in availableCheckboxes: test.fail("Target '%s' found as checkbox, but required version (%s) is higher " - "than configured version(s) (%s)!" % (t, requiredVersion, str(targets[t]))) + "than configured version (%s)!" % (t, requiredVersion, + str(targets[t][1]))) availableCheckboxes.remove(t) else: test.passes("Irrelevant target '%s' not found on 'Target setup' page - " - "required version is '%s', current version(s) are '%s'." % - (t, requiredVersion, str(targets[t]))) + "required version is '%s', current version is '%s'." % + (t, requiredVersion, str(targets[t][1]))) continue found = False - if t in displayedPlatforms: + if targets[t][0] in displayedPlatforms: if t in availableCheckboxes: test.passes("Found expected target '%s' on 'Target setup' page." % t) availableCheckboxes.remove(t) From c3e7a9b830353eb19202251920136c5c7466a89a Mon Sep 17 00:00:00 2001 From: David Schulz Date: Mon, 3 Sep 2012 15:19:45 +0200 Subject: [PATCH 15/36] Fixed signed int overflow in remotelinux plugin Change-Id: Icf2a707a0195b1d197b7c965100a783f3e78f52a Reviewed-by: Oswald Buddenhagen Reviewed-by: Robert Loehning --- .../remotelinuxcheckforfreediskspaceservice.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/src/plugins/remotelinux/remotelinuxcheckforfreediskspaceservice.cpp b/src/plugins/remotelinux/remotelinuxcheckforfreediskspaceservice.cpp index 2a5bfe9dd82..d2dac4cc240 100644 --- a/src/plugins/remotelinux/remotelinuxcheckforfreediskspaceservice.cpp +++ b/src/plugins/remotelinux/remotelinuxcheckforfreediskspaceservice.cpp @@ -91,6 +91,7 @@ void RemoteLinuxCheckForFreeDiskSpaceService::handleProcessFinished() QByteArray processOutput = d->processRunner->readAllStandardOutput(); processOutput.chop(1); // newline quint64 freeSpace = processOutput.toULongLong(&isNumber); + quint64 requiredSpaceInMegaBytes = d->requiredSpaceInBytes / (1024 * 1024); if (!isNumber) { emit errorMessage(tr("Unexpected output from remote process: '%1'.") .arg(QString::fromUtf8(processOutput))); @@ -98,15 +99,15 @@ void RemoteLinuxCheckForFreeDiskSpaceService::handleProcessFinished() return; } - freeSpace *= 1024; - if (freeSpace < d->requiredSpaceInBytes) { - emit errorMessage(tr("The remote file system has only %n bytes of free space, " - "but %1 bytes are required.", 0, freeSpace).arg(d->requiredSpaceInBytes)); + freeSpace /= 1024; // convert kilobyte to megabyte + if (freeSpace < requiredSpaceInMegaBytes) { + emit errorMessage(tr("The remote file system has only %n megabytes of free space, " + "but %1 megabytes are required.", 0, freeSpace).arg(requiredSpaceInMegaBytes)); stopDeployment(); return; } - emit progressMessage(tr("The remote file system has %n bytes of free space, going ahead.", + emit progressMessage(tr("The remote file system has %n megabytes of free space, going ahead.", 0, freeSpace)); stopDeployment(); } From 0d1120803602f6ac1120eef55b7c1971df8d1b4f Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 3 Sep 2012 17:09:29 +0200 Subject: [PATCH 16/36] Use parent directory as name for Qt version if directory is 'qt'. Change-Id: I7a20eebadfda65aa68c1ff4f19c55b8a5e36559a Reviewed-by: Daniel Teske --- src/plugins/qtsupport/baseqtversion.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 957e6936486..7d01ab44c0c 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -241,9 +241,11 @@ QString BaseQtVersion::defaultDisplayName(const QString &versionString, const Ut location = QCoreApplication::translate("QtVersion", "System"); break; } + location = dirName; + // Also skip default checkouts named 'qt'. Parent dir might have descriptive name. if (dirName.compare(QLatin1String("bin"), Qt::CaseInsensitive) - && dirName.compare(QLatin1String("qtbase"), Qt::CaseInsensitive)) { - location = dirName; + && dirName.compare(QLatin1String("qtbase"), Qt::CaseInsensitive) + && dirName.compare(QLatin1String("qt"), Qt::CaseInsensitive)) { break; } } while (dir.cdUp()); From 41a7d1c6248f2238a724856c17ebcbfba0614fa6 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Mon, 3 Sep 2012 17:21:31 +0200 Subject: [PATCH 17/36] Unblock Maemo device test dialog on Qt 5. Do not open the dialog with the wizard as parent after QWizard::exec() has finished. Task-number: QTBUG-27039 Change-Id: I6c04481b57b1b7bd5437012b6507c6618323159e Reviewed-by: hjk --- src/plugins/madde/maemodeviceconfigwizard.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/plugins/madde/maemodeviceconfigwizard.cpp b/src/plugins/madde/maemodeviceconfigwizard.cpp index 493eaca1a15..6572072166f 100644 --- a/src/plugins/madde/maemodeviceconfigwizard.cpp +++ b/src/plugins/madde/maemodeviceconfigwizard.cpp @@ -577,7 +577,9 @@ IDevice::Ptr MaemoDeviceConfigWizard::device() device->setFreePorts(PortList::fromString(freePortsSpec)); device->setSshParameters(sshParams); if (doTest) { - LinuxDeviceTestDialog dlg(device, new MaddeDeviceTester(this), this); + // Might be called after accept. + QWidget *parent = isVisible() ? this : static_cast(0); + LinuxDeviceTestDialog dlg(device, new MaddeDeviceTester(this), parent); dlg.exec(); } return device; From 903c3cafe83fe8434ad6d18b400b73dd2ef50a99 Mon Sep 17 00:00:00 2001 From: Leandro Melo Date: Mon, 3 Sep 2012 13:38:20 +0200 Subject: [PATCH 18/36] C++: Improve lookup - collect more valid items There was a fix for QTCREATORBUG-7730 in the case of nested forward declarations in commit 74a458bca09b5bd170b64e04bb68c8d958c61932. However, it introduced regressions and actually didn't solve the issue, since the behavior was hidden by another error fixed later. The patch should properly fix the issue and the regression pointed in QTCREATORBUG-7777. Task-number: QTCREATORBUG-7730 Task-number: QTCREATORBUG-7777 Change-Id: I27397fefdc7cc9a60111761df1f76a01407886f7 Reviewed-by: Christian Kamm Reviewed-by: Orgad Shaneh --- src/libs/cplusplus/FindUsages.cpp | 29 ------------ src/libs/cplusplus/FindUsages.h | 2 - src/libs/cplusplus/LookupContext.cpp | 71 ++++++++++++++++++++++++++-- src/libs/cplusplus/LookupContext.h | 4 ++ 4 files changed, 72 insertions(+), 34 deletions(-) diff --git a/src/libs/cplusplus/FindUsages.cpp b/src/libs/cplusplus/FindUsages.cpp index 3086ca0d0f6..1ae48798d69 100644 --- a/src/libs/cplusplus/FindUsages.cpp +++ b/src/libs/cplusplus/FindUsages.cpp @@ -212,35 +212,6 @@ void FindUsages::reportResult(unsigned tokenIndex) _references.append(tokenIndex); } -bool FindUsages::compareFullyQualifiedName(const QList &path, const QList &other) -{ - if (path.length() != other.length()) - return false; - - for (int i = 0; i < path.length(); ++i) { - if (! compareName(path.at(i), other.at(i))) - return false; - } - - return true; -} - -bool FindUsages::compareName(const Name *name, const Name *other) -{ - if (name == other) - return true; - - else if (name && other) { - const Identifier *id = name->identifier(); - const Identifier *otherId = other->identifier(); - - if (id == otherId || (id && id->isEqualTo(otherId))) - return true; - } - - return false; -} - bool FindUsages::isLocalScope(Scope *scope) { if (scope) { diff --git a/src/libs/cplusplus/FindUsages.h b/src/libs/cplusplus/FindUsages.h index 2f5ec585b94..bd943238921 100644 --- a/src/libs/cplusplus/FindUsages.h +++ b/src/libs/cplusplus/FindUsages.h @@ -82,8 +82,6 @@ protected: bool checkCandidates(const QList &candidates) const; void checkExpression(unsigned startToken, unsigned endToken, Scope *scope = 0); - static bool compareFullyQualifiedName(const QList &path, const QList &other); - static bool compareName(const Name *name, const Name *other); static bool isLocalScope(Scope *scope); void statement(StatementAST *ast); diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index d41846014ca..8dbaf72cf83 100644 --- a/src/libs/cplusplus/LookupContext.cpp +++ b/src/libs/cplusplus/LookupContext.cpp @@ -88,6 +88,39 @@ static void path_helper(Symbol *symbol, QList *names) } } +static bool compareName(const Name *name, const Name *other) +{ + if (name == other) + return true; + + else if (name && other) { + const Identifier *id = name->identifier(); + const Identifier *otherId = other->identifier(); + + if (id == otherId || (id && id->isEqualTo(otherId))) + return true; + } + + return false; +} + +namespace CPlusPlus { + +bool compareFullyQualifiedName(const QList &path, const QList &other) +{ + if (path.length() != other.length()) + return false; + + for (int i = 0; i < path.length(); ++i) { + if (! compareName(path.at(i), other.at(i))) + return false; + } + + return true; +} + +} + bool ClassOrNamespace::CompareName::operator()(const Name *name, const Name *other) const { Q_ASSERT(name != 0); @@ -416,20 +449,51 @@ QList ClassOrNamespace::lookup_helper(const Name *name, bool searchI QList result; if (name) { - QSet processed; if (const QualifiedNameId *q = name->asQualifiedNameId()) { if (! q->base()) result = globalNamespace()->find(q->name()); - else if (ClassOrNamespace *binding = lookupType(q->base())) + else if (ClassOrNamespace *binding = lookupType(q->base())) { result = binding->find(q->name()); - lookup_helper(name, this, &result, &processed, /*templateId = */ 0); + QList fullName; + addNames(name, &fullName); + + // It's also possible that there are matches in the parent binding through + // a qualified name. For instance, a nested class which is forward declared + // in the class but defined outside it - we should capture both. + Symbol *match = 0; + ClassOrNamespace *parentBinding = binding->parent(); + while (parentBinding && !match) { + for (int j = 0; j < parentBinding->symbols().size() && !match; ++j) { + if (Scope *scope = parentBinding->symbols().at(j)->asScope()) { + for (unsigned i = 0; i < scope->memberCount(); ++i) { + Symbol *candidate = scope->memberAt(i); + if (compareFullyQualifiedName( + fullName, + LookupContext::fullyQualifiedName(candidate))) { + match = candidate; + break; + } + } + } + } + parentBinding = parentBinding->parent(); + } + + if (match) { + LookupItem item; + item.setDeclaration(match); + item.setBinding(binding); + result.append(item); + } + } return result; } + QSet processed; ClassOrNamespace *binding = this; do { lookup_helper(name, binding, &result, &processed, /*templateId = */ 0); @@ -456,6 +520,7 @@ void ClassOrNamespace::lookup_helper(const Name *name, ClassOrNamespace *binding else if (s->isUsingNamespaceDirective()) continue; + if (Scope *scope = s->asScope()) { if (Class *klass = scope->asClass()) { if (const Identifier *id = klass->identifier()) { diff --git a/src/libs/cplusplus/LookupContext.h b/src/libs/cplusplus/LookupContext.h index a2de7f8cadf..b2fa81c5609 100644 --- a/src/libs/cplusplus/LookupContext.h +++ b/src/libs/cplusplus/LookupContext.h @@ -252,6 +252,10 @@ private: QSharedPointer _control; }; +bool CPLUSPLUS_EXPORT compareFullyQualifiedName(const QList &path, + const QList &other); + + } // namespace CPlusPlus #endif // CPLUSPLUS_LOOKUPCONTEXT_H From 25f00f99eaab72eb7759656a939f5b27dd4a8575 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 4 Sep 2012 12:19:16 +0200 Subject: [PATCH 19/36] debugger: un-duplicate code No need for a copy of Qt::escape. Change-Id: Id4bf0b8d09485375a41a728f0cc6ceca91c9fb42 Reviewed-by: Christian Kandeler --- src/plugins/debugger/watchdata.cpp | 22 ++-------------------- 1 file changed, 2 insertions(+), 20 deletions(-) diff --git a/src/plugins/debugger/watchdata.cpp b/src/plugins/debugger/watchdata.cpp index 96bcedeecc1..7fe10e58397 100644 --- a/src/plugins/debugger/watchdata.cpp +++ b/src/plugins/debugger/watchdata.cpp @@ -32,6 +32,7 @@ #include "watchutils.h" #include +#include #include //////////////////////////////////////////////////////////////////// @@ -43,25 +44,6 @@ namespace Debugger { namespace Internal { -static QString htmlEscape(const QString &plain) -{ - QString rich; - rich.reserve(int(plain.length() * 1.1)); - for (int i = 0; i < plain.length(); ++i) { - if (plain.at(i) == QLatin1Char('<')) - rich += QLatin1String("<"); - else if (plain.at(i) == QLatin1Char('>')) - rich += QLatin1String(">"); - else if (plain.at(i) == QLatin1Char('&')) - rich += QLatin1String("&"); - else if (plain.at(i) == QLatin1Char('"')) - rich += QLatin1String("""); - else - rich += plain.at(i); - } - return rich; -} - bool isPointerType(const QByteArray &type) { return type.endsWith('*') || type.endsWith("* const"); @@ -369,7 +351,7 @@ static void formatToolTipRow(QTextStream &str, const QString &category, const QString &value) { str << "" << category << " : " - << htmlEscape(value) << ""; + << Qt::escape(value) << ""; } QString WatchData::toToolTip() const From 512aad281a5812b074f75767cb073e354463d00b Mon Sep 17 00:00:00 2001 From: Kai Koehne Date: Tue, 4 Sep 2012 12:43:09 +0200 Subject: [PATCH 20/36] Qt4ProjectManager: Fix translation context Unify translation context introduced in 4dd31391a Change-Id: I1ccea979d1b64647b74ace3466b6053a9e1397de Reviewed-by: Alessandro Portale --- src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp b/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp index 64b15785404..d21b19838fa 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp +++ b/src/plugins/qt4projectmanager/qt-desktop/desktopqtversion.cpp @@ -72,7 +72,7 @@ QStringList DesktopQtVersion::warningReason() const { QStringList ret = BaseQtVersion::warningReason(); if (qtVersion() >= QtSupport::QtVersionNumber(5, 0, 0) && qmlsceneCommand().isEmpty()) - ret << QCoreApplication::translate("Qt Version", "No qmlscene installed."); + ret << QCoreApplication::translate("QtVersion", "No qmlscene installed."); if (qtVersion() >= QtSupport::QtVersionNumber(4, 7, 0) && qmlviewerCommand().isEmpty()) ret << QCoreApplication::translate("QtVersion", "No qmlviewer installed."); return ret; From 51433cbd84edca973c161468af2268a9785845f7 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Tue, 4 Sep 2012 13:03:21 +0200 Subject: [PATCH 21/36] QMakeProject: Set xqmakespec in addition to qmakespec That's a workaround for not properly parsing the qmake command line. Change-Id: I39e613b5419e8918b1120c6c2d782aab3b155021 Reviewed-by: Oswald Buddenhagen --- src/plugins/qt4projectmanager/qt4project.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 4e061af1e6b..187a144f3df 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -944,7 +944,7 @@ QtSupport::ProFileReader *Qt4Project::createProFileReader(Qt4ProFileNode *qt4Pro env = bc->environment(); if (bc->qmakeStep()) { qmakeArgs = bc->qmakeStep()->parserArguments(); - m_qmakeGlobals->qmakespec = bc->qmakeStep()->mkspec().toString(); + m_qmakeGlobals->qmakespec = m_qmakeGlobals->xqmakespec = bc->qmakeStep()->mkspec().toString(); } else { qmakeArgs = bc->configCommandLineArguments(); } From 72fd0a416ed0eeb01026a020dbcf147f4b4b8930 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Tue, 4 Sep 2012 11:02:11 +0200 Subject: [PATCH 22/36] Qt4Project: Also cancel code model updates on partial .pro reevaluation It seems that not doing that was intentional. But not doing that looks like an obvious bug. Task-number: QTCREATORBUG-7783 Change-Id: Ide7c7be6711f64f9e8b87bca2fe35cb2722aa589 Reviewed-by: Tobias Hunger Reviewed-by: Orgad Shaneh --- src/plugins/qt4projectmanager/qt4project.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 187a144f3df..67251b95c06 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -708,6 +708,10 @@ void Qt4Project::scheduleAsyncUpdate(Qt4ProFileNode *node) m_partialEvaluate.append(node); // and start the timer anew m_asyncUpdateTimer.start(); + + // Cancel running code model update + m_codeModelFuture.cancel(); + m_codeModelCanceled = true; } else if (m_asyncUpdateState == AsyncUpdateInProgress) { // A update is in progress // And this slot only gets called if a file changed on disc From 9e5c6518c0c1916b8b10c107f2f548c2be66b7f1 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Tue, 4 Sep 2012 11:30:11 +0200 Subject: [PATCH 23/36] Qt4BuildConfiguration: Allow relative paths for the build directory Task-number: QTCREATORBUG-7791 Change-Id: Ied2dcd8f8ccb16f427d60c6f6b2d93afb4c4b7e4 Reviewed-by: Tobias Hunger --- src/plugins/qt4projectmanager/qt4buildconfiguration.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp index 9def2f76210..29076cde49d 100644 --- a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp @@ -196,7 +196,8 @@ QString Qt4BuildConfiguration::rawBuildDirectory() const /// returns the build directory QString Qt4BuildConfiguration::buildDirectory() const { - return QDir::cleanPath(environment().expandVariables(rawBuildDirectory())); + QString path = QDir::cleanPath(environment().expandVariables(rawBuildDirectory())); + return QDir::cleanPath(QDir(target()->project()->projectDirectory()).absoluteFilePath(path)); } bool Qt4BuildConfiguration::supportsShadowBuilds() From 867d655278398561c2bfe879e42062f93ae85453 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Tue, 4 Sep 2012 11:41:32 +0200 Subject: [PATCH 24/36] Qt4Project CodeModel: Use the project's mkspec not the qtversion's They might differ if the user passes any -spec parameter Change-Id: I9408541a09a6a687fdbae879bd1ab4c92e62aa1e Reviewed-by: Oswald Buddenhagen --- src/plugins/qt4projectmanager/qt4nodes.cpp | 2 +- src/plugins/qt4projectmanager/qt4project.cpp | 4 +++- src/shared/proparser/profileevaluator.cpp | 5 +++++ src/shared/proparser/profileevaluator.h | 2 ++ 4 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp index 4f04f945a06..266137d3f0a 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.cpp +++ b/src/plugins/qt4projectmanager/qt4nodes.cpp @@ -1914,7 +1914,7 @@ void Qt4ProFileNode::applyEvaluate(EvalResult evalResult, bool async) // update TargetInformation m_qt4targetInformation = targetInformation(m_readerExact); - m_resolvedMkspecPath = m_project->qmakeGlobals()->qmakespec; + m_resolvedMkspecPath = m_readerExact->resolvedMkSpec(); m_subProjectsNotToDeploy = subProjectsNotToDeploy; setupInstallsList(m_readerExact); diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index 67251b95c06..efdbcd43c19 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -542,8 +542,10 @@ void Qt4Project::updateCppCodeModel() if (qtVersion) { if (!qtVersion->frameworkInstallPath().isEmpty()) part->frameworkPaths.append(qtVersion->frameworkInstallPath()); - part->includePaths.append(qtVersion->mkspecPath().toString()); + } + if (Qt4ProFileNode *node = rootQt4ProjectNode()) + part->includePaths.append(node->resolvedMkspecPath()); // part->precompiledHeaders part->precompiledHeaders.append(pro->variableValue(PrecompiledHeaderVar)); diff --git a/src/shared/proparser/profileevaluator.cpp b/src/shared/proparser/profileevaluator.cpp index 6e1ad8af863..0008656d31a 100644 --- a/src/shared/proparser/profileevaluator.cpp +++ b/src/shared/proparser/profileevaluator.cpp @@ -203,6 +203,11 @@ QString ProFileEvaluator::propertyValue(const QString &name) const return d->m_option->propertyValue(ProKey(name)).toQString(); } +QString ProFileEvaluator::resolvedMkSpec() const +{ + return d->m_qmakespecFull; +} + #ifdef PROEVALUATOR_CUMULATIVE void ProFileEvaluator::setCumulative(bool on) { diff --git a/src/shared/proparser/profileevaluator.h b/src/shared/proparser/profileevaluator.h index 3d6f9179113..d4429ba54d7 100644 --- a/src/shared/proparser/profileevaluator.h +++ b/src/shared/proparser/profileevaluator.h @@ -83,6 +83,8 @@ public: const ProFile *pro) const; QString propertyValue(const QString &val) const; + QString resolvedMkSpec() const; + private: QString sysrootify(const QString &path, const QString &baseDir) const; From 4e6bec003366d52ae967d1e2dc91f6fc1f313823 Mon Sep 17 00:00:00 2001 From: hjk Date: Tue, 4 Sep 2012 12:49:24 +0200 Subject: [PATCH 25/36] debugger: show newlines in QStrings also in tooltips Not necessarily needed, but more consistent. Task-number: QTCREATORBUG-7278 Change-Id: I6c72b90fa18514aecccee9aa2de3ee626e681b60 Reviewed-by: hjk --- src/plugins/debugger/watchdata.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/plugins/debugger/watchdata.cpp b/src/plugins/debugger/watchdata.cpp index 7fe10e58397..6fd7dd972ab 100644 --- a/src/plugins/debugger/watchdata.cpp +++ b/src/plugins/debugger/watchdata.cpp @@ -350,8 +350,10 @@ QString WatchData::toString() const static void formatToolTipRow(QTextStream &str, const QString &category, const QString &value) { + QString val = Qt::escape(value); + val.replace(QLatin1Char('\n'), QLatin1String("
")); str << "" << category << " : " - << Qt::escape(value) << ""; + << val << ""; } QString WatchData::toToolTip() const @@ -366,7 +368,7 @@ QString WatchData::toToolTip() const formatToolTipRow(str, tr("Internal Type"), QLatin1String(type)); formatToolTipRow(str, tr("Displayed Type"), displayedType); QString val = value; - if (value.size() > 1000) { + if (val.size() > 1000) { val.truncate(1000); val += tr(" ... "); } From fb59a39a786789f3e44e9a7165a5920e60694a6a Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Fri, 31 Aug 2012 17:01:15 +0200 Subject: [PATCH 26/36] Fix saving of XML configuration files ... when removing settings Change-Id: If85061321082a8cd0e35752f71d2498fd4693dfd Reviewed-by: Daniel Teske --- src/libs/utils/persistentsettings.cpp | 20 ++++++------------- src/libs/utils/persistentsettings.h | 6 ++---- .../devicesupport/devicemanager.cpp | 5 +++-- .../projectexplorer/profilemanager.cpp | 13 ++++++------ src/plugins/projectexplorer/session.cpp | 18 ++++++++--------- .../projectexplorer/settingsaccessor.cpp | 12 ++++++----- .../projectexplorer/toolchainmanager.cpp | 9 +++++---- src/plugins/qtsupport/qtversionmanager.cpp | 8 +++++--- src/plugins/texteditor/codestylepool.cpp | 8 +++++--- 9 files changed, 49 insertions(+), 50 deletions(-) diff --git a/src/libs/utils/persistentsettings.cpp b/src/libs/utils/persistentsettings.cpp index 7134158869a..733ebef39d5 100644 --- a/src/libs/utils/persistentsettings.cpp +++ b/src/libs/utils/persistentsettings.cpp @@ -373,20 +373,12 @@ static void writeVariantValue(QXmlStreamWriter &w, const Context &ctx, } PersistentSettingsWriter::PersistentSettingsWriter(const FileName &fileName, const QString &docType) : - m_fileName(fileName), m_docType(docType), m_mustSave(false) + m_fileName(fileName), m_docType(docType) { } -void PersistentSettingsWriter::saveValue(const QString &variable, const QVariant &value) +bool PersistentSettingsWriter::save(const QVariantMap &data, QWidget *parent) const { - if (m_valueMap.contains(variable) && m_valueMap.value(variable) == value) - return; - m_mustSave = true; - m_valueMap.insert(variable, value); -} - -bool PersistentSettingsWriter::save(QWidget *parent) const -{ - if (!m_mustSave) + if (data == m_savedData) return true; QDir tmp; @@ -403,8 +395,8 @@ bool PersistentSettingsWriter::save(QWidget *parent) const arg(QLatin1String(Core::Constants::IDE_VERSION_LONG), QDateTime::currentDateTime().toString(Qt::ISODate))); w.writeStartElement(ctx.qtCreatorElement); - const QVariantMap::const_iterator cend = m_valueMap.constEnd(); - for (QVariantMap::const_iterator it = m_valueMap.constBegin(); it != cend; ++it) { + const QVariantMap::const_iterator cend = data.constEnd(); + for (QVariantMap::const_iterator it = data.constBegin(); it != cend; ++it) { w.writeStartElement(ctx.dataElement); w.writeTextElement(ctx.variableElement, it.key()); writeVariantValue(w, ctx, it.value()); @@ -416,7 +408,7 @@ bool PersistentSettingsWriter::save(QWidget *parent) const } bool ok = saver.finalize(parent); if (ok) - m_mustSave = false; + m_savedData = data; return ok; } diff --git a/src/libs/utils/persistentsettings.h b/src/libs/utils/persistentsettings.h index ec0d3cb0e9f..c5547f4a99f 100644 --- a/src/libs/utils/persistentsettings.h +++ b/src/libs/utils/persistentsettings.h @@ -60,16 +60,14 @@ class QTCREATOR_UTILS_EXPORT PersistentSettingsWriter { public: PersistentSettingsWriter(const FileName &fileName, const QString &docType); - void saveValue(const QString &variable, const QVariant &value); - bool save(QWidget *parent) const; + bool save(const QVariantMap &data, QWidget *parent) const; Utils::FileName fileName() const; private: - QMap m_valueMap; const Utils::FileName m_fileName; const QString m_docType; - mutable bool m_mustSave; + mutable QMap m_savedData; }; } // namespace Utils diff --git a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp index 3616d7c538b..b63cc813dc9 100644 --- a/src/plugins/projectexplorer/devicesupport/devicemanager.cpp +++ b/src/plugins/projectexplorer/devicesupport/devicemanager.cpp @@ -136,8 +136,9 @@ void DeviceManager::copy(const DeviceManager *source, DeviceManager *target, boo void DeviceManager::save() { - d->writer->saveValue(QLatin1String(DeviceManagerKey), toMap()); - d->writer->save(Core::ICore::mainWindow()); + QVariantMap data; + data.insert(QLatin1String(DeviceManagerKey), toMap()); + d->writer->save(data, Core::ICore::mainWindow()); } void DeviceManager::load() diff --git a/src/plugins/projectexplorer/profilemanager.cpp b/src/plugins/projectexplorer/profilemanager.cpp index e91878a42ce..61cfea49e28 100644 --- a/src/plugins/projectexplorer/profilemanager.cpp +++ b/src/plugins/projectexplorer/profilemanager.cpp @@ -227,20 +227,21 @@ void ProfileManager::saveProfiles() if (!d->m_initialized) // ignore save requests while we are not initialized. return; - d->m_writer->saveValue(QLatin1String(PROFILE_FILE_VERSION_KEY), 1); + QVariantMap data; + data.insert(QLatin1String(PROFILE_FILE_VERSION_KEY), 1); int count = 0; foreach (Profile *p, profiles()) { QVariantMap tmp = p->toMap(); if (tmp.isEmpty()) continue; - d->m_writer->saveValue(QString::fromLatin1(PROFILE_DATA_KEY) + QString::number(count), tmp); + data.insert(QString::fromLatin1(PROFILE_DATA_KEY) + QString::number(count), tmp); ++count; } - d->m_writer->saveValue(QLatin1String(PROFILE_COUNT_KEY), count); - d->m_writer->saveValue(QLatin1String(PROFILE_DEFAULT_KEY), - d->m_defaultProfile ? QString::fromLatin1(d->m_defaultProfile->id().name()) : QString()); - d->m_writer->save(Core::ICore::mainWindow()); + data.insert(QLatin1String(PROFILE_COUNT_KEY), count); + data.insert(QLatin1String(PROFILE_DEFAULT_KEY), + d->m_defaultProfile ? QString::fromLatin1(d->m_defaultProfile->id().name()) : QString()); + d->m_writer->save(data, Core::ICore::mainWindow()); } bool greaterPriority(ProfileInformation *a, ProfileInformation *b) diff --git a/src/plugins/projectexplorer/session.cpp b/src/plugins/projectexplorer/session.cpp index 79e3ae6fc27..257a647879a 100644 --- a/src/plugins/projectexplorer/session.cpp +++ b/src/plugins/projectexplorer/session.cpp @@ -312,9 +312,10 @@ bool SessionManager::save() QLatin1String("QtCreatorSession")); } + QVariantMap data; // save the startup project if (m_startupProject) - m_writer->saveValue(QLatin1String("StartupProject"), m_startupProject->document()->fileName()); + data.insert(QLatin1String("StartupProject"), m_startupProject->document()->fileName()); QStringList projectFiles; foreach (Project *pro, m_projects) @@ -326,7 +327,7 @@ bool SessionManager::save() if (!projectFiles.contains(failed)) projectFiles << failed; - m_writer->saveValue(QLatin1String("ProjectList"), projectFiles); + data.insert(QLatin1String("ProjectList"), projectFiles); QMap depMap; QMap::const_iterator i = m_depMap.constBegin(); @@ -339,7 +340,7 @@ bool SessionManager::save() depMap.insert(key, values); ++i; } - m_writer->saveValue(QLatin1String("ProjectDependencies"), QVariant(depMap)); + data.insert(QLatin1String("ProjectDependencies"), QVariant(depMap)); int editorCount = 0; QList editors = ICore::editorManager()->openedEditors(); @@ -348,21 +349,20 @@ bool SessionManager::save() if (!editor->isTemporary()) ++editorCount; } - m_writer->saveValue(QLatin1String("OpenEditors"), editorCount); - m_writer->saveValue(QLatin1String("EditorSettings"), - ICore::editorManager()->saveState().toBase64()); + data.insert(QLatin1String("OpenEditors"), editorCount); + data.insert(QLatin1String("EditorSettings"), ICore::editorManager()->saveState().toBase64()); QMap::const_iterator it, end; end = m_values.constEnd(); QStringList keys; for (it = m_values.constBegin(); it != end; ++it) { - m_writer->saveValue(QLatin1String("value-") + it.key(), it.value()); + data.insert(QLatin1String("value-") + it.key(), it.value()); keys << it.key(); } - m_writer->saveValue(QLatin1String("valueKeys"), keys); + data.insert(QLatin1String("valueKeys"), keys); - bool result = m_writer->save(Core::ICore::mainWindow()); + bool result = m_writer->save(data, Core::ICore::mainWindow()); if (!result) { QMessageBox::warning(0, tr("Error while saving session"), tr("Could not save session to file %1").arg(m_writer->fileName().toUserOutput())); diff --git a/src/plugins/projectexplorer/settingsaccessor.cpp b/src/plugins/projectexplorer/settingsaccessor.cpp index 9beb42d014d..d78191a4fd0 100644 --- a/src/plugins/projectexplorer/settingsaccessor.cpp +++ b/src/plugins/projectexplorer/settingsaccessor.cpp @@ -936,18 +936,20 @@ bool SettingsAccessor::FileAccessor::writeFile(const SettingsData *settings) con m_writer = new Utils::PersistentSettingsWriter(settings->m_fileName, QLatin1String("QtCreatorProject")); } + QVariantMap data; + for (QVariantMap::const_iterator i = settings->m_map.constBegin(); i != settings->m_map.constEnd(); ++i) { - m_writer->saveValue(i.key(), i.value()); + data.insert(i.key(), i.value()); } - m_writer->saveValue(QLatin1String(VERSION_KEY), m_accessor->m_lastVersion + 1); + data.insert(QLatin1String(VERSION_KEY), m_accessor->m_lastVersion + 1); if (m_environmentSpecific) - m_writer->saveValue(QLatin1String(ENVIRONMENT_ID_KEY), - ProjectExplorerPlugin::instance()->projectExplorerSettings().environmentId.toString()); - return m_writer->save(Core::ICore::mainWindow()); + data.insert(QLatin1String(ENVIRONMENT_ID_KEY), + ProjectExplorerPlugin::instance()->projectExplorerSettings().environmentId.toString()); + return m_writer->save(data, Core::ICore::mainWindow()); } // ------------------------------------------------------------------------- diff --git a/src/plugins/projectexplorer/toolchainmanager.cpp b/src/plugins/projectexplorer/toolchainmanager.cpp index b286c9db534..59f482f88c3 100644 --- a/src/plugins/projectexplorer/toolchainmanager.cpp +++ b/src/plugins/projectexplorer/toolchainmanager.cpp @@ -209,7 +209,8 @@ ToolChainManager::~ToolChainManager() void ToolChainManager::saveToolChains() { - d->m_writer->saveValue(QLatin1String(TOOLCHAIN_FILE_VERSION_KEY), 1); + QVariantMap data; + data.insert(QLatin1String(TOOLCHAIN_FILE_VERSION_KEY), 1); int count = 0; foreach (ToolChain *tc, d->toolChains()) { @@ -217,12 +218,12 @@ void ToolChainManager::saveToolChains() QVariantMap tmp = tc->toMap(); if (tmp.isEmpty()) continue; - d->m_writer->saveValue(QString::fromLatin1(TOOLCHAIN_DATA_KEY) + QString::number(count), tmp); + data.insert(QString::fromLatin1(TOOLCHAIN_DATA_KEY) + QString::number(count), tmp); ++count; } } - d->m_writer->saveValue(QLatin1String(TOOLCHAIN_COUNT_KEY), count); - d->m_writer->save(Core::ICore::mainWindow()); + data.insert(QLatin1String(TOOLCHAIN_COUNT_KEY), count); + d->m_writer->save(data, Core::ICore::mainWindow()); // Do not save default debuggers! Those are set by the SDK! } diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp index 7d93a1d04be..086fbcf4013 100644 --- a/src/plugins/qtsupport/qtversionmanager.cpp +++ b/src/plugins/qtsupport/qtversionmanager.cpp @@ -364,7 +364,9 @@ void QtVersionManager::saveQtVersions() if (!m_writer) m_writer = new Utils::PersistentSettingsWriter(settingsFileName(QLatin1String(QTVERSION_FILENAME)), QLatin1String("QtCreatorQtVersions")); - m_writer->saveValue(QLatin1String(QTVERSION_FILE_VERSION_KEY), 1); + + QVariantMap data; + data.insert(QLatin1String(QTVERSION_FILE_VERSION_KEY), 1); int count = 0; foreach (BaseQtVersion *qtv, m_versions) { @@ -372,11 +374,11 @@ void QtVersionManager::saveQtVersions() if (tmp.isEmpty()) continue; tmp.insert(QLatin1String(QTVERSION_TYPE_KEY), qtv->type()); - m_writer->saveValue(QString::fromLatin1(QTVERSION_DATA_KEY) + QString::number(count), tmp); + data.insert(QString::fromLatin1(QTVERSION_DATA_KEY) + QString::number(count), tmp); ++count; } - m_writer->save(Core::ICore::mainWindow()); + m_writer->save(data, Core::ICore::mainWindow()); } void QtVersionManager::findSystemQt() diff --git a/src/plugins/texteditor/codestylepool.cpp b/src/plugins/texteditor/codestylepool.cpp index e2707f4c111..8dfd5a2bcd1 100644 --- a/src/plugins/texteditor/codestylepool.cpp +++ b/src/plugins/texteditor/codestylepool.cpp @@ -286,9 +286,11 @@ void CodeStylePool::exportCodeStyle(const Utils::FileName &fileName, ICodeStyleP { QVariantMap map; codeStyle->toMap(QString::null, &map); + + QVariantMap tmp; + tmp.insert(QLatin1String(displayNameKey), codeStyle->displayName()); + tmp.insert(QLatin1String(codeStyleDataKey), map); Utils::PersistentSettingsWriter writer(fileName, QLatin1String(codeStyleDocKey)); - writer.saveValue(QLatin1String(displayNameKey), codeStyle->displayName()); - writer.saveValue(QLatin1String(codeStyleDataKey), map); - writer.save(0); + writer.save(map, 0); } From 328d205b624a94cf2f515ae8934b86b934c43f48 Mon Sep 17 00:00:00 2001 From: Eike Ziller Date: Mon, 3 Sep 2012 17:50:37 +0200 Subject: [PATCH 27/36] Device type + tool chain + other settings -> Kit We called that "Target" before Change-Id: Ie0d673c643947c26ac2706907f6250fc1739388a Reviewed-by: Leena Miettinen --- doc/api/first-plugin.qdoc | 10 +++--- ...arget.png => firstplugin-kitselection.png} | Bin ...elector.png => qtcreator-kit-selector.png} | Bin .../analyze/creator-valgrind-overview.qdoc | 4 +-- doc/src/analyze/creator-valgrind.qdoc | 12 +++---- doc/src/analyze/qtquick-profiler.qdoc | 2 +- doc/src/android/androiddev.qdoc | 6 ++-- doc/src/debugger/creator-debugger-setup.qdoc | 27 +++++++------- doc/src/debugger/creator-debugger.qdoc | 11 +++--- doc/src/debugger/qtquick-debugging.qdoc | 2 +- doc/src/howto/creator-keyboard-shortcuts.qdoc | 2 +- doc/src/howto/creator-ui.qdoc | 4 +-- .../creator-deployment-madde.qdoc | 11 +++--- .../linux-mobile/creator-madde-emulator.qdoc | 7 ++-- ...reator-projects-settings-run-linux.qdocinc | 9 ++--- .../creator-publish-maemo-extras-devel.qdoc | 3 +- doc/src/linux-mobile/linuxdev.qdoc | 27 +++++++------- .../overview/creator-deployment-overview.qdoc | 8 ++--- doc/src/overview/creator-getting-started.qdoc | 2 +- doc/src/overview/creator-glossary.qdoc | 34 ++++++++---------- doc/src/overview/creator-issues.qdoc | 2 +- doc/src/overview/creator-mobile-targets.qdoc | 3 +- doc/src/overview/creator-overview.qdoc | 5 +-- .../creator-projects-build-run-tutorial.qdoc | 8 ++--- .../creator-projects-building-running.qdoc | 20 +++++++---- .../projects/creator-projects-building.qdoc | 15 ++++---- .../projects/creator-projects-compilers.qdoc | 10 +++--- .../projects/creator-projects-creating.qdoc | 16 ++++----- .../projects/creator-projects-opening.qdoc | 15 ++++---- .../creator-projects-qt-versions.qdoc | 7 ++-- .../creator-projects-running-desktop.qdocinc | 4 +-- ...creator-projects-running-simulator.qdocinc | 2 +- .../creator-projects-settings-build.qdoc | 9 ++--- .../creator-projects-settings-overview.qdoc | 19 +++++----- ...ator-projects-settings-run-analyze.qdocinc | 3 +- ...ator-projects-settings-run-desktop.qdocinc | 2 +- .../creator-projects-settings-run.qdoc | 6 ++-- .../projects/creator-projects-targets.qdoc | 25 ++++++------- doc/src/qtcreator.qdoc | 2 +- ...ator-projects-settings-run-qtquick.qdocinc | 2 +- doc/src/qtquick/qtquick-app-tutorial.qdoc | 10 +++--- doc/src/qtquick/qtquick-creating.qdoc | 14 ++++---- doc/src/widgets/qtdesigner-app-tutorial.qdoc | 10 +++--- src/plugins/analyzerbase/ianalyzertool.cpp | 2 +- 44 files changed, 201 insertions(+), 191 deletions(-) rename doc/api/images/{firstplugin-target.png => firstplugin-kitselection.png} (100%) rename doc/images/{qtcreator-target-selector.png => qtcreator-kit-selector.png} (100%) diff --git a/doc/api/first-plugin.qdoc b/doc/api/first-plugin.qdoc index 928103bf784..e2f9162f14a 100644 --- a/doc/api/first-plugin.qdoc +++ b/doc/api/first-plugin.qdoc @@ -39,7 +39,7 @@ your plugin with. \list 1 - \o Select \gui{File > New File or Project > Other Qt Project > Qt Creator Plugin > Choose}. + \o Select \gui{File > New File or Project > Libraries > Qt Creator Plugin > Choose}. \image firstplugin-wizard.png "Choose the \QC Plugin Wizard" @@ -52,12 +52,12 @@ from the project name. You will choose that name later in the wizard. Continue to the next page. - The \gui{Target Setup} dialog opens. + The \gui{Kit Selection} dialog opens. - \image firstplugin-target.png "Choose the Desktop Target and Matching Qt" + \image firstplugin-kitselection.png "Choose the kit to build and run your project with" - \o Select the target and Qt version to build your project with. - For a \QC plugin this needs to be the \gui{Desktop} target, + \o Select the \l{glossary-buildandrun-kit}{kit} to build and run your project with. + For a \QC plugin this needs to be a kit with \gui{Desktop} device type, and a Qt version that is compatible with the Qt version that your \QC was built with (in the best case the exact same build). If you use an incompatible Qt version to build your plugin, you diff --git a/doc/api/images/firstplugin-target.png b/doc/api/images/firstplugin-kitselection.png similarity index 100% rename from doc/api/images/firstplugin-target.png rename to doc/api/images/firstplugin-kitselection.png diff --git a/doc/images/qtcreator-target-selector.png b/doc/images/qtcreator-kit-selector.png similarity index 100% rename from doc/images/qtcreator-target-selector.png rename to doc/images/qtcreator-kit-selector.png diff --git a/doc/src/analyze/creator-valgrind-overview.qdoc b/doc/src/analyze/creator-valgrind-overview.qdoc index 7d4db5c742b..2b525a570e0 100644 --- a/doc/src/analyze/creator-valgrind-overview.qdoc +++ b/doc/src/analyze/creator-valgrind-overview.qdoc @@ -37,8 +37,8 @@ to use them from \QC. To run the Valgrind tools on a remote host over SSH, select \gui {Analyze - > Valgrind Analyze Memory (Remote)} or \gui {Valgrind Function Profile - (Remote)}. + > Valgrind Analyze Memory (External)} or \gui {Valgrind Function Profile + (External)}. To stop the currently running analyzer, select \gui {Analyze > Stop}. diff --git a/doc/src/analyze/creator-valgrind.qdoc b/doc/src/analyze/creator-valgrind.qdoc index a25fbdbfd4c..6ec02400da6 100644 --- a/doc/src/analyze/creator-valgrind.qdoc +++ b/doc/src/analyze/creator-valgrind.qdoc @@ -252,15 +252,13 @@ \list 1 - \o Select \gui {Analyze > Valgrind Analyze Memory (Remote)} or - \gui {Valgrind Function Profile (Remote)}. + \o Select \gui {Analyze > Valgrind Analyze Memory (External)} or + \gui {Valgrind Function Profile (External)}. - \image qtcreator-valgrind-remote-settings.png "Start Debugger dialog" + \image qtcreator-valgrind-remote-settings.png "Start Analyzer dialog" - \o In the \gui Remote group, specify the connection to the remote host. - - \o In the \gui Target group, specify the application to run and analyze - on the remote host. + \o Specify the application to run and analyze, and the \l{glossary-buildandrun-kit}{kit} + to use. \endlist diff --git a/doc/src/analyze/qtquick-profiler.qdoc b/doc/src/analyze/qtquick-profiler.qdoc index 45f0b539159..916b6dfc282 100644 --- a/doc/src/analyze/qtquick-profiler.qdoc +++ b/doc/src/analyze/qtquick-profiler.qdoc @@ -87,7 +87,7 @@ \section1 Attaching to Running Qt Quick Applications To profile Qt Quick applications that are not launched by \QC, select - \gui {Analyze > QML Profiler (Remote)}. You must enable QML debugging for + \gui {Analyze > QML Profiler (External)}. You must enable QML debugging for the application in the project build settings. For more information, see \l{Setting Up QML Debugging}. diff --git a/doc/src/android/androiddev.qdoc b/doc/src/android/androiddev.qdoc index 48bb265603a..ab9d0a91629 100644 --- a/doc/src/android/androiddev.qdoc +++ b/doc/src/android/androiddev.qdoc @@ -32,8 +32,10 @@ and analyze applications on them from \QC. If you have a tool chain for building applications for Android devices - installed on the development PC, you can add it to \QC. You can then select - the \gui {Android} target to run applications on Android devices. + installed on the development PC, you can add it to \QC. You can then add a + \l{glossary-buildandrun-kit}{kit} + with the Android device type, the tool chain, and the Qt version for Android, + to build and run applications on Android devices. \section1 Requirements diff --git a/doc/src/debugger/creator-debugger-setup.qdoc b/doc/src/debugger/creator-debugger-setup.qdoc index 016b21c9c3d..ea369f2800b 100644 --- a/doc/src/debugger/creator-debugger-setup.qdoc +++ b/doc/src/debugger/creator-debugger-setup.qdoc @@ -32,10 +32,10 @@ \title Setting Up Debugger - The main debugger settings are associated with the build - \l{glossary-development-target}{target} of your project. To specify the - debugger and compiler to use for each build target, select \gui Tools > - \gui Options > \gui {Build and Run} > \gui Targets. + The main debugger settings are associated with the + \l{glossary-buildandrun-kit}{kit} you build and run your project with. To specify the + debugger and compiler to use for each kit, select \gui Tools > + \gui Options > \gui {Build and Run} > \gui Kits. You need to set up the debugger only if the automatic setup fails, because the native debugger is missing (as is usually the @@ -45,8 +45,9 @@ want to use a locally installed replacement instead). \note If you need to change the debugger to use for an automatically - detected target, you can \gui{Clone} the target and change the parameters in - the clone. Make sure to select the cloned target for your project. + detected \l{glossary-buildandrun-kit}{kit}, + you can \gui{Clone} the kit and change the parameters in + the clone. Make sure to select the cloned kit for your project. \note To use the debugging tools for Windows, you must install them and add the Symbol Server provided by Microsoft to the symbol search @@ -54,7 +55,7 @@ Server in Windows}. \note To use the Free Software Foundation (FSF) version of GDB on - Mac OS, you must sign it and modify your target settings. + Mac OS, you must sign it and modify your \l{glossary-buildandrun-kit}{kit} settings. This section explains the options you have for debugging C++ code and provides installation notes for the supported native debuggers. @@ -185,8 +186,7 @@ \o On Linux and Windows, use the Python-enabled GDB versions that are installed when you install \QC and Qt SDK. On Mac OS X, use the GDB provided with Xcode. - For a custom \l{glossary-development-target}{target}, you can - build your own Python-enabled GDB. Follow the instructions in + You can also build your own Python-enabled GDB. Follow the instructions in \l{http://developer.qt.nokia.com/wiki/QtCreatorBuildGdb} {Building GDB}. @@ -234,7 +234,7 @@ supports Python from \l{ftp://ftp.qt.nokia.com/misc/gdb/7.2/gdb72_mac_platform.tar.bz2}. To use FSF GDB on Mac OS, you must sign it and add it to the \QC - targets. For more information, see + \l{glossary-buildandrun-kit}{kits}. For more information, see \l{Setting up FSF GDB for Mac OS}. \note The Mac OS X Snow Leopard (10.6) has a bug that might cause the @@ -272,7 +272,8 @@ \section1 Setting up FSF GDB for Mac OS - To use FSF GDB on Mac OS, you must sign it and add it to the \QC targets. + To use FSF GDB on Mac OS, you must sign it and add it to the \QC + \l{glossary-buildandrun-kit}{kits}. \list 1 @@ -313,13 +314,13 @@ \endcode \o In \QC, select \gui {Qt Creator > Preferences > Build & Run > - Targets} > \gui Add to create a build target that uses FSF GDB. + Kits} > \gui Add to create a kit that uses FSF GDB. \o In the \gui Debugger field, specify the path to FSF GDB (\c $HOME/gdb72/bin/fsfgdb, but with an explicit value for \c $HOME). - \o To use the debugger, add the target in the \gui {Build Settings} + \o To use the debugger, add the kit in the \gui {Build Settings} of the project. \endlist diff --git a/doc/src/debugger/creator-debugger.qdoc b/doc/src/debugger/creator-debugger.qdoc index 9386f794d28..284608e9b31 100644 --- a/doc/src/debugger/creator-debugger.qdoc +++ b/doc/src/debugger/creator-debugger.qdoc @@ -252,9 +252,9 @@ While this setup might look daunting, it is mostly invisible to the user of \QC. To start debugging on a remote target with the - necessary helper processes running, select the target in - \gui{Projects > Build Settings} - or in the \gui{Debug > Start Debugging} menu. + necessary helper processes running, select the corresponding + \l{glossary-buildandrun-kit}{kit} in + \gui{Projects > Build & Run} or in the \gui{Debug > Start Debugging} menu. Special use cases, such as attaching to a running process on the target, might still require manual setup. @@ -693,8 +693,7 @@ which may contain both release and debug versions of the library. When you run applications on the Mac OS desktop, the release version of Frameworks is used by default. To step into Frameworks, select the \gui {Use debug versions of - Frameworks} option in the project run settings for \gui Desktop and - \gui {\QS} targets. + Frameworks} option in the project run settings. \section2 Viewing Threads @@ -792,7 +791,7 @@ To give the user simple access also to these items, \QC employs so-called Debugging Helpers. Debugging Helpers come in two varieties, compiled, and Python based, depending on the selected - \l{glossary-development-target}{target}. + \l{glossary-buildandrun-kit}{kit}. By default, Debugging Helpers are automatically and transparently used. To disable them, select \gui Tools > \gui Options > \gui Debugger > diff --git a/doc/src/debugger/qtquick-debugging.qdoc b/doc/src/debugger/qtquick-debugging.qdoc index 6acdbed0009..36740492bfb 100644 --- a/doc/src/debugger/qtquick-debugging.qdoc +++ b/doc/src/debugger/qtquick-debugging.qdoc @@ -89,7 +89,7 @@ \o To debug applications on devices, check that Qt 4.7.4, or later, libraries are installed on the device and - \l{Running on Multiple Targets}{select the device as the target} + \l{Running on Multiple Targets}{select the corresponding kit for the device} before you start debugging. \endlist diff --git a/doc/src/howto/creator-keyboard-shortcuts.qdoc b/doc/src/howto/creator-keyboard-shortcuts.qdoc index b19ad8c398e..3b5403f1f84 100644 --- a/doc/src/howto/creator-keyboard-shortcuts.qdoc +++ b/doc/src/howto/creator-keyboard-shortcuts.qdoc @@ -549,7 +549,7 @@ \o Open project \o Ctrl+Shift+O \row - \o Select build and run target + \o Select the \l{glossary-buildandrun-kit}{kit} to build and run your project with \o Ctrl+T \row \o Run diff --git a/doc/src/howto/creator-ui.qdoc b/doc/src/howto/creator-ui.qdoc index 17c9d9d3f97..30d7e9f3690 100644 --- a/doc/src/howto/creator-ui.qdoc +++ b/doc/src/howto/creator-ui.qdoc @@ -51,8 +51,8 @@ You can use the mode selector (1) to change to another \QC mode. - You can use the target selector (2) to select the - \l{glossary-development-target}{target} for running (3), debugging (4), or + You can use the kit selector (2) to select the + \l{glossary-buildandrun-kit}{kit} for running (3), debugging (4), or building (5) the application. Output from these actions is displayed in the output panes (7). diff --git a/doc/src/linux-mobile/creator-deployment-madde.qdoc b/doc/src/linux-mobile/creator-deployment-madde.qdoc index 08ab88c6ace..5974f111728 100644 --- a/doc/src/linux-mobile/creator-deployment-madde.qdoc +++ b/doc/src/linux-mobile/creator-deployment-madde.qdoc @@ -54,8 +54,8 @@ \image qtcreator-embedded-linux-deployment.png "Deploy to embedded Linux" - When you run the application on the \gui {Embedded Linux} target, \QC - deploys the application as specified by the deploy steps. By default, + When you run the application on the \gui {Embedded Linux} device, + \QC deploys the application as specified by the deploy steps. By default, \QC copies the application files to the device by using the SSH file transfer protocol (SFTP), as specified by the \gui {Upload files via SFTP} step. @@ -91,7 +91,7 @@ \section1 Creating Debian Installation Packages - When you run the application on the \gui{Maemo5} or \gui Harmattan target, + When you run the application on the \gui{Maemo5} or \gui Harmattan device, \QC generates a Debian installation package in the build directory by default. You can deliver the installation package to users for installation on devices that are of the same type and run the same firmware as the @@ -117,8 +117,9 @@ \note \QC automates this process for you. \QC provides templates for a set of files that must be included in Debian - packages. When you create a \gui Maemo5 or \gui Harmattan target for a - project, \QC asks whether packaging files are to be added to the project and + packages. When you start using a \l{glossary-buildandrun-kit}{kit} with + \gui Maemo5 or \gui Harmattan device type + for a project, \QC asks whether packaging files are to be added to the project and to version control. If you plan to edit the packaging files, add them to version control. diff --git a/doc/src/linux-mobile/creator-madde-emulator.qdoc b/doc/src/linux-mobile/creator-madde-emulator.qdoc index eac6fead5fa..692908edd4f 100644 --- a/doc/src/linux-mobile/creator-madde-emulator.qdoc +++ b/doc/src/linux-mobile/creator-madde-emulator.qdoc @@ -57,9 +57,10 @@ \section1 Starting the Emulator The \gui {Start MeeGo Emulator} button is visible if you have a project - open in \QC for which you have added the Maemo or MeeGo Harmattan - build target. It starts the Maemo or MeeGo Harmattan emulator, depending - on the selected target. + open in \QC for which you have added a \l{glossary-buildandrun-kit}{kit} + with Maemo or MeeGo Harmattan device type. + It starts the Maemo or MeeGo Harmattan emulator, depending + on the selected kit. To start the emulator, click \inlineimage qtcreator-maemo-emulator-button.png "Start MeeGo Emulator button" diff --git a/doc/src/linux-mobile/creator-projects-settings-run-linux.qdocinc b/doc/src/linux-mobile/creator-projects-settings-run-linux.qdocinc index 54da0425808..5cec581486c 100644 --- a/doc/src/linux-mobile/creator-projects-settings-run-linux.qdocinc +++ b/doc/src/linux-mobile/creator-projects-settings-run-linux.qdocinc @@ -1,8 +1,9 @@ \section2 Specifying Run Settings for Linux-Based Devices - To run an application on a Linux-based device target (embedded Linux, MeeGo - Harmattan, or Maemo), create and select a device configuration in the run - settings for the project. + To run an application on a Linux-based device (embedded Linux, MeeGo + Harmattan, or Maemo), create and select a device configuration in the + \l{glossary-buildandrun-kit}{kit} that is used for building and running the project and set its + device type correspondingly. You can also pass command line arguments to your application. \image qtcreator-screenshot-run-settings-maemo.png "Run settings for Linux-based devices" @@ -16,7 +17,7 @@ When you run the application, \QC copies the files to the connected device. - For MeeGo Harmattan and Maemo targets, \QC also generates an + For MeeGo Harmattan and Maemo device types, \QC also generates an installation package in the build directory by default. You can deliver the installation package to users for installation on devices that are of the same type and run the same firmware as the diff --git a/doc/src/linux-mobile/creator-publish-maemo-extras-devel.qdoc b/doc/src/linux-mobile/creator-publish-maemo-extras-devel.qdoc index f3ecc7cf4b6..d2f25c48fc1 100644 --- a/doc/src/linux-mobile/creator-publish-maemo-extras-devel.qdoc +++ b/doc/src/linux-mobile/creator-publish-maemo-extras-devel.qdoc @@ -61,7 +61,8 @@ \list 1 - \o Select the \gui {Maemo5} build target for your project. + \o Select the \l{glossary-buildandrun-kit}{kit} with \gui {Maemo5} device type + for your project. \o Choose \gui {Build > Publish Project}. diff --git a/doc/src/linux-mobile/linuxdev.qdoc b/doc/src/linux-mobile/linuxdev.qdoc index 96050276068..b215ecc7d8b 100644 --- a/doc/src/linux-mobile/linuxdev.qdoc +++ b/doc/src/linux-mobile/linuxdev.qdoc @@ -31,17 +31,17 @@ If you have a tool chain for building applications for embedded Linux devices (with no MADDE support) installed on the development PC, you can add - it to \QC. You can then select the \gui {Embedded Linux} target to - run applications on embedded Linux devices. + it to \QC. You can then select a \l{glossary-buildandrun-kit}{kit} + with \gui {Embedded Linux} device type to + build and run applications on embedded Linux devices. To be able to run and debug applications on embedded Linux devices, you must - create device configurations and select them in the \QC run - settings. + create device configurations and select them in the \QC \l{glossary-buildandrun-kit}{kit} You use a wizard to create the connections. You can edit the settings later - in \gui {Tools > Options > Linux Devices > Device Configurations}. + in \gui {Tools > Options > Devices > Devices}. - \image qtcreator-linux-device-configurations.png "Device Configurations dialog" + \image qtcreator-linux-device-configurations.png "Devices dialog" You can protect the connections between \QC and a device by using either a password or an SSH key. If you do not have an SSH key, you can @@ -67,8 +67,8 @@ \list 1 - \o Select \gui {Tools > Options > Linux Devices > Device - Configurations > Add > Generic Linux Device > Start Wizard}. + \o Select \gui {Tools > Options > Linux Devices > Devices > Add + > Generic Linux Device > Start Wizard}. \image qtcreator-screenshot-devconf-linux.png "Connection Data wizard" @@ -91,9 +91,10 @@ \endlist - \o Select \gui Tools > \gui Options > \gui {Build & Run} > \gui Targets - > \gui Add to add a target for building for the device. Select the - Qt version, compiler, and device that you added above. + \o Select \gui Tools > \gui Options > \gui {Build & Run} > \gui Kits + > \gui Add to add a kit for building for the device. Select the + Qt version, compiler, and device that you added above, and choose + \gui {Generic Linux Device} for the device type. \o To specify build settings: @@ -102,9 +103,9 @@ \o Open a project for an application you want to develop for the device. - \o Select \gui {Projects > Targets > Add}. + \o Select \gui {Projects > Build & Run Settings > Add Kit}. - \o Select the target that you added above. + \o Select the kit that you added above. \endlist diff --git a/doc/src/overview/creator-deployment-overview.qdoc b/doc/src/overview/creator-deployment-overview.qdoc index 400f3413da2..2461ba30fae 100644 --- a/doc/src/overview/creator-deployment-overview.qdoc +++ b/doc/src/overview/creator-deployment-overview.qdoc @@ -40,7 +40,7 @@ \o \l{Deploying Applications to Linux-Based Devices} - When you deploy the application on a Linux-based device target, such + When you deploy the application on a Linux-based device, such as \gui {Embedded Linux}, \gui Harmattan, or \gui{Maemo5}, \QC copies the application files to the connected device. You can test and debug the application on the device. @@ -48,14 +48,14 @@ Maemo 5 devices. \o \l{Deploying Applications to QNX Devices} - When you deploy the application on the \gui{QNX} target, depending + When you deploy the application on a \gui{QNX} device, depending on your target device, \QC either generates a BAR package in the build directory and deploys it to the connected device, or copies the application files to the connected device. You can test and debug the application on the device. \o \l{Deploying Applications to Android Devices} - When you deploy the application on the Android target, \QC copies + When you deploy the application on an Android device, \QC copies the application files to the device. In addition, you can determine the Qt libraries to use. \endlist @@ -68,7 +68,7 @@ When you are ready to publish the application on a publishing channel, you must make sure that the installation file meets the requirements for publishing and installing applications to the - target devices. + targeted devices. \endlist */ diff --git a/doc/src/overview/creator-getting-started.qdoc b/doc/src/overview/creator-getting-started.qdoc index 6616f6f15ce..bab83192c62 100644 --- a/doc/src/overview/creator-getting-started.qdoc +++ b/doc/src/overview/creator-getting-started.qdoc @@ -49,7 +49,7 @@ with the parts of the user interface, go to \l{User Interface}. \o \bold {\l{Building and Running an Example}} - To check that \l{glossary-development-target}{targets} were + To check that \l{glossary-buildandrun-kit}{kits} for building and running were successfully installed as part of the \QSDK installation, open an example application and run it. If you have not done so before, go to \l{Building and Running an Example}. diff --git a/doc/src/overview/creator-glossary.qdoc b/doc/src/overview/creator-glossary.qdoc index 73d48e9bf31..293cdd74514 100644 --- a/doc/src/overview/creator-glossary.qdoc +++ b/doc/src/overview/creator-glossary.qdoc @@ -43,7 +43,8 @@ into binaries. Different build configurations allow you to quickly build the project for different purposes. By default, \QC creates \e {debug build} and \e {release build} - configurations for each \e target. A debug build contains + configurations for each \l{glossary-buildandrun-kit}{kit} defined for your project. + A debug build contains additional debug symbols that you need for debugging the application but that you can leave out from the release version. Generally, you use the debug configuration for testing and the @@ -79,6 +80,15 @@ copied to a location in the file system of the development PC or a mobile device. + \row + \o Kit + \target glossary-buildandrun-kit + \o \QC groups build and run specific settings as kits to make + cross-platform development easier. Each kit consists of a set + of values that define one environment, such as a device, + tool chain, Qt version, and debugger command to use. Configure kits at + \gui {Tools > Options > Build & Run > Kits}. + \row \o Mode \target glossary-mode @@ -102,14 +112,15 @@ \target glossary-project-qt \o \QC allows you to have multiple versions of Qt installed on your development PC and use different versions to build your projects - for different \e targets. + for different purposes. \row \o Run configuration \target glossary-run-config \o Starts the application in the location where it was copied by the \e {deploy configuration}. By default, when you run a - project, \QC builds it, deploys it to the selected \e target, + project, \QC builds it, deploys it to the device specified in the selected + \l{glossary-buildandrun-kit}{kit}, and runs it there. However, if you have not made any changes to the project since you last built and deployed it, \QC simply runs it again. @@ -126,23 +137,6 @@ if you need many build configurations for a single set of source files. - \row - \o Target - \target glossary-development-target - \o \QC groups platform specific settings as targets to make - cross-platform development easier. Each target consists of a set - of values that define one environment, such as a device, - tool chain, Qt version, and debugger command to use. - - \row - \o Tool chain - \target glossary-tool-chain - \o Specifies a compiler and a debugger and other necessary - tools for building an application for a particular \e target. - \QC tries to detect the tool chains that are available on your - system. You can manually add tool chains that are not detected - automatically. - \endtable */ diff --git a/doc/src/overview/creator-issues.qdoc b/doc/src/overview/creator-issues.qdoc index ade3e753026..74d2b2a952c 100644 --- a/doc/src/overview/creator-issues.qdoc +++ b/doc/src/overview/creator-issues.qdoc @@ -107,7 +107,7 @@ \if defined(qcmanual) \o On Windows, you must create projects for Maemo 5 and Harmattan - targets on the same partition where you installed \QSDK, \QC, and + device types on the same partition where you installed \QSDK, \QC, and MADDE. \endif diff --git a/doc/src/overview/creator-mobile-targets.qdoc b/doc/src/overview/creator-mobile-targets.qdoc index 315dd31f3be..08e6014bbfe 100644 --- a/doc/src/overview/creator-mobile-targets.qdoc +++ b/doc/src/overview/creator-mobile-targets.qdoc @@ -32,7 +32,8 @@ \title Connecting Mobile Targets You can connect mobile devices to the development PC to build, run, debug, - and analyze applications on them from \QC. When you install mobile targets + and analyze applications on them from \QC. When you install + \l{glossary-buildandrun-kit}{kits} for building and running on mobile targets as part of the \QSDK, the build and run settings for the target devices are set up automatically in \QC. However, \QSDK does not contain a tool chain for building applications for embedded Linux devices. diff --git a/doc/src/overview/creator-overview.qdoc b/doc/src/overview/creator-overview.qdoc index 41cfe940eea..fbd9b47b926 100644 --- a/doc/src/overview/creator-overview.qdoc +++ b/doc/src/overview/creator-overview.qdoc @@ -87,9 +87,10 @@ and commands used to build the project. \QC provides support for building, running, and deploying Qt - applications for desktop environment and mobile devices. Build, + applications for desktop environment and mobile devices. + \l{glossary-buildandrun-kit}{Kits}, build, run, and deployment settings allow you to quickly switch between - targets. + different setups and targets. For more information, see \l{Building and Running}. \o \bold {\l{Debugging and Analyzing}} diff --git a/doc/src/projects/creator-projects-build-run-tutorial.qdoc b/doc/src/projects/creator-projects-build-run-tutorial.qdoc index cf7ad4379b2..11fa27de4d1 100644 --- a/doc/src/projects/creator-projects-build-run-tutorial.qdoc +++ b/doc/src/projects/creator-projects-build-run-tutorial.qdoc @@ -50,22 +50,22 @@ \o Select \gui Projects to configure the project: - \image qtcreator-gs-build-example-targets.png "Selecting targets" + \image qtcreator-gs-build-example-targets.png "Selecting kit for building and running" \list 1 \o Select at least \QS and one of the mobile - \l{glossary-development-target}{targets} (1), Maemo 5 or + \l{glossary-buildandrun-kit}{kits} (1), Maemo 5 or MeeGo Harmattan, depending on the device you develop for. \o Select \gui {Configure Project} (2). \endlist - \o To test the application in \QS, click the \gui {Target + \o To test the application in \QS, click the \gui {Kit Selector} and select \gui {\QS}. - \image qtcreator-gs-build-example-select-qs.png "Selecting Qt Simulator as target" + \image qtcreator-gs-build-example-select-qs.png "Selecting Qt Simulator as target device type" \o Click \inlineimage qtcreator-run.png diff --git a/doc/src/projects/creator-projects-building-running.qdoc b/doc/src/projects/creator-projects-building-running.qdoc index 3b24ebcf771..75dc88ca45b 100644 --- a/doc/src/projects/creator-projects-building-running.qdoc +++ b/doc/src/projects/creator-projects-building-running.qdoc @@ -34,20 +34,24 @@ \image creator_buildingrunning.png \QC provides support for building, running, and deploying Qt applications - for different \l{glossary-development-target}{targets}. + for different targets, or using different compilers, debuggers or Qt versions. + \l{glossary-buildandrun-kit}{Kits} define the tools, + device type and other settings to use when building and running your project. \list \o \l{Building for Multiple Targets} \e {Build configurations} contain everything you need to compile - the sources into binaries. + the sources into binaries. Build configurations use the tools and settings + defined in their corresponding \l{glossary-buildandrun-kit}{kit}. \o \l{Running on Multiple Targets} \e {Run configurations} start the application in the location where it was copied by the \e{deploy configuration}. By default, when you select the \gui Run function, \QC builds the project, - deploys it to the selected target, and runs it there. However, + deploys it to the target defined in the \l{glossary-buildandrun-kit}{kit}, + and runs it there. However, if you have not made any changes to the project since you last built and deployed it, \QC simply runs it again. @@ -60,8 +64,8 @@ \o \l{Connecting Mobile Targets} - When you install tool chains for build targets as part of the \QSDK, - the build and run settings for mobile device targets are set up + When you install tool chains for device types as part of the \QSDK, + the build and run settings for mobile device types are set up automatically. However, you might need to install and configure some additional software on the devices to be able to connect to them from the development PC. @@ -75,7 +79,7 @@ \o \l{Customizing the Build Process} By default, running an application also builds it and deploys it to - a location from where it can be run on the target. You can change + a location from where it can be run on the target device. You can change the relationship between the build, run, and deploy configurations. \o \l{http://doc.qt.nokia.com/qtsimulator/index.html} @@ -89,7 +93,9 @@ Therefore, applications that run well on \QS also run on any device that hosts the Qt and Qt Mobility libraries. The \QS is installed as part of the \QSDK. After it is - installed, you can select it as a build target in \QC. + installed, you can create a \l{glossary-buildandrun-kit}{kit} + with \gui Desktop device type and the Qt Simulator Qt version for + building and running your projects. \o \l{Using Maemo or MeeGo Harmattan Emulator} diff --git a/doc/src/projects/creator-projects-building.qdoc b/doc/src/projects/creator-projects-building.qdoc index 440fea20074..307310255c5 100644 --- a/doc/src/projects/creator-projects-building.qdoc +++ b/doc/src/projects/creator-projects-building.qdoc @@ -31,12 +31,15 @@ \title Building for Multiple Targets - You can build applications for multiple \l{glossary-development-target} - {targets}. By default, when you run the application on a target, you - automatically build it for the target and deploy it to the target first. + You can build applications for multiple targets, or using different compilers, + debuggers or Qt versions. \l{glossary-buildandrun-kit}{Kits} define the tools, + device type and other settings to use. + + By default, when you run the application, you + automatically build and deploy it first. However, you can also perform each operation separately. - To check that the application code can be compiled and linked for a target, + To check that the application code can be compiled and linked for a device, you can build the project. The build errors and warnings are displayed in the \gui {Issues} output pane. More detailed information is displayed in the \gui {Compile Output} pane. @@ -45,9 +48,9 @@ \list 1 - \o Select a target for the project. + \o Select a \l{glossary-buildandrun-kit}{kit} for the project. - \image qtcreator-target-selector.png "Target selector" + \image qtcreator-kit-selector.png "Kit selector" \o Choose \gui {Build > Build Project} or press \key {Ctrl+B}. diff --git a/doc/src/projects/creator-projects-compilers.qdoc b/doc/src/projects/creator-projects-compilers.qdoc index 9382336da67..e99bd621aec 100644 --- a/doc/src/projects/creator-projects-compilers.qdoc +++ b/doc/src/projects/creator-projects-compilers.qdoc @@ -33,9 +33,9 @@ Qt is supported on a variety of 32-bit and 64-bit platforms, and can usually be built on each platform with GCC, a vendor-supplied compiler, or - a third party compiler. In \QC, a \l{glossary-development-target}{target} - specifies the compiler and other necessary tools for building an - application for a particular platform. + a third party compiler. In \QC, a \l{glossary-buildandrun-kit}{kit} + specifies the compiler and other necessary tools for building and running an + application on a particular platform. \QC automatically detects the compilers that are registered by your system or by an SDK. You can add compilers to build applications by using other @@ -64,8 +64,8 @@ the application binary interface (ABI) version from the list of available versions. You can also create a custom ABI definition. - You specify the compiler to use for each target in \gui Tools > - \gui Options > \gui {Build & Run} > \gui Targets. + You specify the compiler to use for each kit in \gui Tools > + \gui Options > \gui {Build & Run} > \gui Kits. To add compilers: diff --git a/doc/src/projects/creator-projects-creating.qdoc b/doc/src/projects/creator-projects-creating.qdoc index 1f8a371499b..cd467f1169a 100644 --- a/doc/src/projects/creator-projects-creating.qdoc +++ b/doc/src/projects/creator-projects-creating.qdoc @@ -68,9 +68,9 @@ use \QC as a code editor and to fully control the steps and commands used to build the project. - You can install mobile device \l{glossary-development-target}{targets} - as part of the \QSDK. The build and run settings for the - installed targets are set up automatically. However, you might need to + You can install tools for mobile devices + as part of the \QSDK. The \l{glossary-buildandrun-kit}{kits} and build and run settings for the + installed device types are set up automatically. However, you might need to install and configure some additional software on the devices to be able to connect to them from the development PC. @@ -78,7 +78,7 @@ In the first step, you select a template for the project. You can filter templates (1) to view only - those that apply to a particular target. + those that apply to a particular device type. \image qtcreator-new-qt-quick-project-wizard.png @@ -225,8 +225,8 @@ To create a new project, select \gui File > \gui{New File or Project} and select the type of your project. The contents of the wizard dialogs depend - on the project type and the build targets that you select in the - \gui {Target Setup} dialog. Follow the instructions of the wizard. + on the project type and the \l{glossary-buildandrun-kit}{kits} that you select in the + \gui {Kit Selection} dialog. Follow the instructions of the wizard. For examples of creating different types of projects, see \l{Tutorials}. @@ -238,8 +238,8 @@ for building and running projects, select \gui{Tools} > \gui{Options} > \gui{Build & Run} > \gui{General}. - To specify build and run settings for different target platforms, select - \gui Projects. + To specify build and run settings for different target platforms , + select \gui Projects. \section1 Adding Files to Projects diff --git a/doc/src/projects/creator-projects-opening.qdoc b/doc/src/projects/creator-projects-opening.qdoc index 6d30ba4f4d3..cf9cedb34e5 100644 --- a/doc/src/projects/creator-projects-opening.qdoc +++ b/doc/src/projects/creator-projects-opening.qdoc @@ -39,19 +39,20 @@ one environment to another. Therefore, we recommend that you click \gui No and enter the information again in the \gui {Configure Project} tab. - The \gui {Configure Project} tab displays a list of development environments - for target platforms that are installed on the development PC and - configured in \gui Tools > \gui Options > \gui {Build & Run} > \gui Targets. - Select the targets that you want to build the project for. + The \gui {Configure Project} tab displays a list of \l{glossary-buildandrun-kit}{kits} + for building and running projects, that are installed on the development PC and + configured in \gui Tools > \gui Options > \gui {Build & Run} > \gui Kits. + Select the kits that you want to build and run the project with. \image qtcreator-open-project-targets.png "Configure Project tab" Even if you do not intend to build the project, the C++ and QML code models need a Qt version and compiler to offer code completion. To specify them, select the \gui Options link, or select \gui {Tools > Options > Build & Run - > Targets}. + > Kits}. - If \QC cannot find an existing build for a particular target, it starts out + If \QC cannot find an existing build for a particular \l{glossary-buildandrun-kit}{kit}, + it starts out from a clean slate, and creates new debug and release build configurations in the specified directory. \QC suggests a name and location for the directory that you can change. @@ -71,7 +72,7 @@ \o Select \gui File > \gui{Open File or Project} and select the project to open. - \o In the \gui {Configure Project} tab, select build targets for your + \o In the \gui {Configure Project} tab, select kits for building and running your project, and click \gui {Configure Project}. \endlist diff --git a/doc/src/projects/creator-projects-qt-versions.qdoc b/doc/src/projects/creator-projects-qt-versions.qdoc index b9a31b8be5a..9185ac45a57 100644 --- a/doc/src/projects/creator-projects-qt-versions.qdoc +++ b/doc/src/projects/creator-projects-qt-versions.qdoc @@ -32,7 +32,7 @@ \title Adding Qt Versions \QC allows you to have multiple versions of Qt installed on your development - PC and use different versions to build your projects for different targets. + PC and use different versions to build your projects. For example, \QSDK contains special Qt versions for developing applications for mobile devices. @@ -42,8 +42,9 @@ \gui {Qt version for} section. To add Qt versions, select \gui {Tools > Options > Build & Run > Qt Versions}. - You specify the Qt version to use for each \l{glossary-development-target} - {target} in \gui Tools > \gui Options > \gui {Build & Run} > \gui Targets. + You specify the Qt version to use for each \l{glossary-buildandrun-kit} + {kit} for building and running your projects + in \gui Tools > \gui Options > \gui {Build & Run} > \gui Kits. \section2 Setting Up New Qt Versions diff --git a/doc/src/projects/creator-projects-running-desktop.qdocinc b/doc/src/projects/creator-projects-running-desktop.qdocinc index c5f2cc732fe..0a7b810b9b0 100644 --- a/doc/src/projects/creator-projects-running-desktop.qdocinc +++ b/doc/src/projects/creator-projects-running-desktop.qdocinc @@ -2,9 +2,9 @@ \list 1 - \o Select \gui Desktop as the target. + \o Select \gui Desktop as the build and run \l{glossary-buildandrun-kit}{kit}. - \image qtcreator-target-selector.png "Target selector" + \image qtcreator-kit-selector.png "Kit selector" \o Click the \gui Run button. diff --git a/doc/src/projects/creator-projects-running-simulator.qdocinc b/doc/src/projects/creator-projects-running-simulator.qdocinc index 1b802dbc56b..7a96271c626 100644 --- a/doc/src/projects/creator-projects-running-simulator.qdocinc +++ b/doc/src/projects/creator-projects-running-simulator.qdocinc @@ -7,7 +7,7 @@ \list 1 - \o Select \gui {\QS} as the target. + \o Select \gui {\QS} as the build and run \l{glossary-buildandrun-kit}{kit}. \o Click the \gui Run button. diff --git a/doc/src/projects/creator-projects-settings-build.qdoc b/doc/src/projects/creator-projects-settings-build.qdoc index 8e5e1d7a0f4..3a39742c3fb 100644 --- a/doc/src/projects/creator-projects-settings-build.qdoc +++ b/doc/src/projects/creator-projects-settings-build.qdoc @@ -55,11 +55,12 @@ By default, \QC builds projects in a separate directory from the source directory, as \l{glossary-shadow-build} {shadow builds}. This keeps the - files generated for each \l{glossary-development-target}{target} separate. - If you only build for one target, you can deselect the \gui {Shadow build} + files generated for each \l{glossary-buildandrun-kit}{build and run kit} separate. + If you only build and run with a single \l{glossary-buildandrun-kit}{kit}, + you can deselect the \gui {Shadow build} checkbox. - Shadow building is not supported for the following target platforms on + Shadow building is not supported for the following device types on Windows: \list @@ -192,7 +193,7 @@ \list - \o \l{Adding Targets} + \o \l{Adding Kits} \o \l{Adding Qt Versions} \o \l{Adding Compilers} diff --git a/doc/src/projects/creator-projects-settings-overview.qdoc b/doc/src/projects/creator-projects-settings-overview.qdoc index 2a4f293d79e..2584d2337e9 100644 --- a/doc/src/projects/creator-projects-settings-overview.qdoc +++ b/doc/src/projects/creator-projects-settings-overview.qdoc @@ -33,8 +33,7 @@ \omit When you install the \QSDK, the build and run settings for the development - targets - delivered with the \QSDK are set up automatically. + targets delivered with the \QSDK are set up automatically. \endomit To view and modify the settings for currently open projects, switch to the @@ -42,23 +41,23 @@ \image qtcreator-project-targets.png - To add build and run targets for the project, select \gui Add. The list - displays targets that are configured in \gui Tools > \gui Options > - \gui {Build & Run} > \gui Targets. To add targets to the list, select + To add build and run \l{glossary-buildandrun-kit}{kits} for the project, select \gui Add. The list + displays kits that are configured in \gui Tools > \gui Options > + \gui {Build & Run} > \gui Kits. To add kits to the list, select \gui Manage. - To remove a target, hover the cursor over it (1) and click - \inlineimage qtcreator-target-remove.png "Remove Target button" + To remove a kit, hover the cursor over it (1) and click + \inlineimage qtcreator-target-remove.png "Remove Kit button" . - You can select the targets and use the \gui Build menu commands to build, + You can select the kits and use the \gui Build menu commands to build, deploy, and run projects. The project pane consists of the following tabs: \list - \o \l{Adding Targets}{Targets} + \o \l{Adding Kits}{Build & Run} \list @@ -69,7 +68,7 @@ \endlist \note If you have not configured the project for building, the - \gui Targets tab is replaced by the \l{Opening Projects} + \gui {Build & Run} tab is replaced by the \l{Opening Projects} {Configure Projects} tab. \o \l{Specifying Editor Settings}{Editor Settings} diff --git a/doc/src/projects/creator-projects-settings-run-analyze.qdocinc b/doc/src/projects/creator-projects-settings-run-analyze.qdocinc index 69352b1dcf4..f53563feefb 100644 --- a/doc/src/projects/creator-projects-settings-run-analyze.qdocinc +++ b/doc/src/projects/creator-projects-settings-run-analyze.qdocinc @@ -4,8 +4,7 @@ detecting memory leaks and profiling function execution. You can configure the tools according to your needs. - You can specify analyzer settings for the desktop and \QS targets. - You can specify them either globally for all projects or separately for each + You can specify analyzer settings either globally for all projects or separately for each project. To specify analyzer settings for the current project: diff --git a/doc/src/projects/creator-projects-settings-run-desktop.qdocinc b/doc/src/projects/creator-projects-settings-run-desktop.qdocinc index 59b275d09e4..06b680927f2 100644 --- a/doc/src/projects/creator-projects-settings-run-desktop.qdocinc +++ b/doc/src/projects/creator-projects-settings-run-desktop.qdocinc @@ -1,4 +1,4 @@ - \section2 Specifying Run Settings for Desktop Targets + \section2 Specifying Run Settings for Desktop Device Types You can specify command line arguments to be passed to the executable and the working directory to use. The working directory defaults to diff --git a/doc/src/projects/creator-projects-settings-run.qdoc b/doc/src/projects/creator-projects-settings-run.qdoc index 38f32faefd8..407fe672462 100644 --- a/doc/src/projects/creator-projects-settings-run.qdoc +++ b/doc/src/projects/creator-projects-settings-run.qdoc @@ -32,10 +32,10 @@ \title Specifying Run Settings \QC automatically creates run configurations for your project. - To view and modify the settings, select \gui {Projects > Run}. + To view and modify the settings, select \gui {Projects > Build & Run > Run}. - The settings to specify depend on the type of the project and on the build - target for the project. + The settings to specify depend on the type of the project and on the + \l{glossary-buildandrun-kit}{kit} that you build and run the project with. Click \gui Add to add run settings for a project and \gui Remove to remove the current settings. diff --git a/doc/src/projects/creator-projects-targets.qdoc b/doc/src/projects/creator-projects-targets.qdoc index 6cadd5cdbb1..2c7aefb6e5c 100644 --- a/doc/src/projects/creator-projects-targets.qdoc +++ b/doc/src/projects/creator-projects-targets.qdoc @@ -29,13 +29,14 @@ \page creator-targets.html \nextpage creator-project-qmake.html - \title Adding Targets + \title Adding Kits - \QC groups platform specific settings as \e targets to make cross-platform - development easier. Each target consists of a set of values that define one + \QC groups settings used for building and running projects as kits + to make cross-platform and cross-configuration + development easier. Each kit consists of a set of values that define one environment, such as a device, compiler, Qt version, and debugger command - to use, and some metadata, such as an icon and a name for the target. Once - you have defined targets, you can select them to build and run projects. + to use, and some metadata, such as an icon and a name for the kit. Once + you have defined kits, you can select them to build and run projects. \QC supports development for the desktop and for the following types of devices: @@ -54,18 +55,18 @@ \endlist - To add targets: + To add kits: \list 1 - \o Select \gui Tools > \gui Options > \gui {Build & Run} > \gui Targets + \o Select \gui Tools > \gui Options > \gui {Build & Run} > \gui Kits > \gui Add. \image qtcreator-targets.png - To clone the selected target, select \gui Clone. + To clone the selected kit, select \gui Clone. - \o In the \gui Name column, double-click the target name to change it. + \o In the \gui Name column, double-click the kit name to change it. @@ -73,11 +74,11 @@ target. Double-click the icon next to the field to select the image that is - displayed in the target selector for this target. You can use any + displayed in the kit selector for this kit. You can use any image in a supported file format (for example, PNG). The image is scaled to the size 64x64 pixels. For example, using the compiler logo as an icon allows you to easily see, which compiler is used to - build the project for the selected target. + build the project for the selected kit. \o In the \gui Device field, select the device configuration to target. @@ -104,7 +105,7 @@ \QC checks the directories listed in the \c{PATH} environment variable for the qmake executable. If a qmake executable is found, it is referred to as \bold{Qt in PATH} and selected as the Qt - version to use for the \gui Desktop target. + version to use for the \gui Desktop kit that is created by default. \o In the \gui {Qt mkspec} field, specify build instructions for qmake. If you leave this field empty, the default value is used. diff --git a/doc/src/qtcreator.qdoc b/doc/src/qtcreator.qdoc index 0e8d3214af7..44e6632004b 100644 --- a/doc/src/qtcreator.qdoc +++ b/doc/src/qtcreator.qdoc @@ -169,7 +169,7 @@ \list \o \l{Specifying Build Settings} \list - \o \l{Adding Targets} + \o \l{Adding Kits} \o \l{Adding Qt Versions} \o \l{Adding Compilers} \endlist diff --git a/doc/src/qtquick/creator-projects-settings-run-qtquick.qdocinc b/doc/src/qtquick/creator-projects-settings-run-qtquick.qdocinc index 32434f1c56f..09d36b33fd7 100644 --- a/doc/src/qtquick/creator-projects-settings-run-qtquick.qdocinc +++ b/doc/src/qtquick/creator-projects-settings-run-qtquick.qdocinc @@ -1,6 +1,6 @@ \section1 Specifying Run Settings for Qt Quick UI Projects - You can specify run settings for the \gui Desktop target: + You can specify run settings for \l{glossary-buildandrun-kit}{kits} with \gui Desktop device type: \list diff --git a/doc/src/qtquick/qtquick-app-tutorial.qdoc b/doc/src/qtquick/qtquick-app-tutorial.qdoc index b00b72a2f71..2c963ce1d53 100644 --- a/doc/src/qtquick/qtquick-app-tutorial.qdoc +++ b/doc/src/qtquick/qtquick-app-tutorial.qdoc @@ -59,13 +59,11 @@ \o In the \gui {Create in} field, enter the path for the project files. For example, \c {C:\Qt\examples}, and then click \gui{Next}. - \o In the \gui {Application Type} dialog, select \gui {Built-in - elements only (for all platforms)}, and then click \gui{Next}. + \o Select \l{glossary-buildandrun-kit}{kits} for running and building your project, + and then click \gui{Next}. - \o Select targets, and then click \gui{Next}. - - \note Targets are listed if they have been specified in \gui Tools > - \gui Options > \gui {Build & Run} > \gui Targets. + \note Kits are listed if they have been specified in \gui Tools > + \gui Options > \gui {Build & Run} > \gui Kits. \o Select \gui Next in the following dialogs to use the default settings. diff --git a/doc/src/qtquick/qtquick-creating.qdoc b/doc/src/qtquick/qtquick-creating.qdoc index 025b38787f5..d92505411c5 100644 --- a/doc/src/qtquick/qtquick-creating.qdoc +++ b/doc/src/qtquick/qtquick-creating.qdoc @@ -154,15 +154,15 @@ \o Click \gui{Next}. - The \gui {Target Setup} dialog opens. + The \gui {Kit Selection} dialog opens. - \image qmldesigner-new-project-qt-versions.png "Target Setup dialog" + \image qmldesigner-new-project-qt-versions.png "Kit Selection dialog" - \o Select build targets for your project, + \o Select build and run \l{glossary-buildandrun-kit}{kits} for your project, and then click \gui{Next}. - \note If only one target is specified in \gui Tools > \gui Options > - \gui {Build & Run} > \gui Targets, this dialog is skipped. + \note If only one kit is specified in \gui Tools > \gui Options > + \gui {Build & Run} > \gui Kits, this dialog is skipped. The \gui {Mobile Options} dialog opens. @@ -172,8 +172,8 @@ application behaves when the orientation of the device display rotates between portrait and landscape, and then click \gui Next. - \note This dialog opens only if you select \gui Maemo5 - target in the \gui {Target Setup} dialog. On + \note This dialog opens only if you select a \l{glossary-buildandrun-kit}{kit} + with \gui Maemo5 device type in the \gui {Kit Selection} dialog. On Harmattan, the Qt Quick Components for MeeGo provide native-looking rotation. diff --git a/doc/src/widgets/qtdesigner-app-tutorial.qdoc b/doc/src/widgets/qtdesigner-app-tutorial.qdoc index 8afe90923b5..9e917d52c84 100644 --- a/doc/src/widgets/qtdesigner-app-tutorial.qdoc +++ b/doc/src/widgets/qtdesigner-app-tutorial.qdoc @@ -57,15 +57,15 @@ \o In the \gui {Create in} field, enter the path for the project files. For example, \c {C:\Qt\examples}, and then click \gui{Next}. - The \gui {Target Setup} dialog opens. + The \gui {Kit Selection} dialog opens. - \image qtcreator-new-project-qt-versions-qt-gui.png "Target Setup dialog" + \image qtcreator-new-project-qt-versions-qt-gui.png "Kit Selection dialog" - \o Select build targets for your project, + \o Select build and run \l{glossary-buildandrun-kit}{kits} for your project, and click \gui{Next}. - \note If only one target is specified in \gui Tools > \gui Options > - \gui {Build & Run} > \gui Targets, this dialog is + \note If only one kit is specified in \gui Tools > \gui Options > + \gui {Build & Run} > \gui Kits, this dialog is skipped. The \gui{Class Information} dialog opens. diff --git a/src/plugins/analyzerbase/ianalyzertool.cpp b/src/plugins/analyzerbase/ianalyzertool.cpp index 6be5ee5c858..9090f3dfbf0 100644 --- a/src/plugins/analyzerbase/ianalyzertool.cpp +++ b/src/plugins/analyzerbase/ianalyzertool.cpp @@ -66,7 +66,7 @@ QString IAnalyzerTool::defaultActionName(const IAnalyzerTool *tool, StartMode mo { QString base = tool->displayName(); if (mode == StartRemote) - return base + tr(" (Remote)"); + return base + tr(" (External)"); return base; } From 8ba422d07c4371a47b575bdef3051554cd4063e0 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Mon, 3 Sep 2012 18:31:44 +0200 Subject: [PATCH 28/36] s/profile/kit/ * Rename profiles to kits. * Update some strings: * projects mode has a Kits tab, not a Targets tab. * " Settings" was dropped from the sub-tabs of the Kits tab * menu entry "Build/Open Build/Run Target Selector" was renamed to "Build/Open Build and Run Kits Selector". * Use "Kit" instead of "Target" in miniprojecttargetselector. (The class was not renamed as it does indeed select targets, not kits) Change-Id: I0727e086e2dfa0e8aaaf89fdc6f2e3596c7a4314 Reviewed-by: Eike Ziller --- .../analyzerbase/startremotedialog.cpp | 22 +- src/plugins/android/addnewavddialog.ui | 2 +- src/plugins/android/androiddebugsupport.cpp | 14 +- .../android/androiddeployconfiguration.cpp | 8 +- src/plugins/android/androiddeploystep.cpp | 4 +- .../android/androiddeploystepfactory.cpp | 2 +- src/plugins/android/androidmanager.cpp | 10 +- .../androidpackageinstallationfactory.cpp | 2 +- .../android/androidrunconfiguration.cpp | 8 +- src/plugins/android/androidrunfactories.cpp | 4 +- src/plugins/android/androidtoolchain.cpp | 4 +- .../autotoolsbuildconfiguration.cpp | 6 +- .../autotoolsproject.cpp | 12 +- .../autotoolsprojectmanager/makestep.cpp | 8 +- .../cmakebuildconfiguration.cpp | 12 +- .../cmakeopenprojectwizard.cpp | 28 +- .../cmakeprojectmanager/cmakeproject.cpp | 12 +- .../cmakerunconfiguration.cpp | 2 +- src/plugins/cmakeprojectmanager/makestep.cpp | 8 +- src/plugins/debugger/debugger.pro | 8 +- src/plugins/debugger/debugger.qbs | 8 +- src/plugins/debugger/debuggerdialogs.cpp | 56 +- src/plugins/debugger/debuggerdialogs.h | 8 +- ...widget.cpp => debuggerkitconfigwidget.cpp} | 47 +- ...nfigwidget.h => debuggerkitconfigwidget.h} | 28 +- ...rmation.cpp => debuggerkitinformation.cpp} | 42 +- ...information.h => debuggerkitinformation.h} | 24 +- src/plugins/debugger/debuggerplugin.cpp | 132 ++--- src/plugins/debugger/debuggerrunner.cpp | 8 +- .../debugger/debuggerstartparameters.h | 4 +- .../debugger/gdb/startgdbserverdialog.cpp | 14 +- .../debugger/gdb/startgdbserverdialog.h | 2 +- src/plugins/debugger/loadcoredialog.cpp | 40 +- src/plugins/debugger/loadcoredialog.h | 6 +- .../genericbuildconfiguration.cpp | 6 +- .../genericprojectmanager/genericmakestep.cpp | 8 +- .../genericprojectmanager/genericproject.cpp | 12 +- src/plugins/madde/debianmanager.cpp | 8 +- src/plugins/madde/maddeqemustartstep.cpp | 4 +- .../maddeuploadandinstallpackagesteps.cpp | 4 +- .../madde/maemodeployconfigurationwidget.cpp | 4 +- src/plugins/madde/maemodeploymentmounter.cpp | 10 +- src/plugins/madde/maemodeploymentmounter.h | 6 +- src/plugins/madde/maemodeploystepfactory.cpp | 6 +- src/plugins/madde/maemoglobal.cpp | 24 +- src/plugins/madde/maemoglobal.h | 10 +- .../madde/maemoinstalltosysrootstep.cpp | 16 +- .../madde/maemopackagecreationfactory.cpp | 2 +- .../madde/maemopackagecreationstep.cpp | 8 +- .../madde/maemopackagecreationwidget.cpp | 10 +- .../madde/maemopublisherfremantlefree.cpp | 10 +- ...blishingbuildsettingspagefremantlefree.cpp | 4 +- .../madde/maemopublishingwizardfactories.cpp | 4 +- src/plugins/madde/maemoqemumanager.cpp | 20 +- src/plugins/madde/maemoqtversion.cpp | 8 +- src/plugins/madde/maemoqtversion.h | 2 +- src/plugins/madde/maemorunconfiguration.cpp | 10 +- .../madde/maemorunconfigurationwidget.cpp | 6 +- src/plugins/madde/maemorunfactories.cpp | 10 +- .../madde/qt4maemodeployconfiguration.cpp | 20 +- .../projectexplorer/buildconfiguration.cpp | 14 +- .../projectexplorer/buildconfiguration.h | 4 +- .../buildsettingspropertiespage.cpp | 2 +- .../codestylesettingspropertiespage.cpp | 4 +- .../projectexplorer/deployconfiguration.cpp | 6 +- .../devicesupport/deviceprocessesdialog.cpp | 22 +- .../devicesupport/deviceprocessesdialog.h | 6 +- .../editorsettingspropertiespage.cpp | 4 +- .../projectexplorer/{profile.cpp => kit.cpp} | 120 ++--- .../projectexplorer/{profile.h => kit.h} | 38 +- .../{profilechooser.cpp => kitchooser.cpp} | 48 +- .../{profilechooser.h => kitchooser.h} | 26 +- ...rofileconfigwidget.h => kitconfigwidget.h} | 12 +- ...fileinformation.cpp => kitinformation.cpp} | 180 +++---- ...{profileinformation.h => kitinformation.h} | 112 ++-- ...get.cpp => kitinformationconfigwidget.cpp} | 58 +-- ...gwidget.h => kitinformationconfigwidget.h} | 34 +- src/plugins/projectexplorer/kitmanager.cpp | 478 ++++++++++++++++++ src/plugins/projectexplorer/kitmanager.h | 171 +++++++ ...gwidget.cpp => kitmanagerconfigwidget.cpp} | 42 +- ...onfigwidget.h => kitmanagerconfigwidget.h} | 20 +- .../{profilemodel.cpp => kitmodel.cpp} | 276 +++++----- .../{profilemodel.h => kitmodel.h} | 70 +-- ...fileoptionspage.cpp => kitoptionspage.cpp} | 126 ++--- ...{profileoptionspage.h => kitoptionspage.h} | 40 +- .../miniprojecttargetselector.cpp | 14 +- .../miniprojecttargetselector.h | 4 +- .../projectexplorer/profilemanager.cpp | 478 ------------------ src/plugins/projectexplorer/profilemanager.h | 171 ------- src/plugins/projectexplorer/project.cpp | 32 +- src/plugins/projectexplorer/project.h | 12 +- .../projectexplorer/projectexplorer.cpp | 26 +- .../projectexplorer/projectexplorer.pro | 34 +- .../projectexplorer/projectexplorer.qbs | 34 +- .../projectexplorerconstants.h | 2 +- src/plugins/projectexplorer/projectwindow.cpp | 8 +- src/plugins/projectexplorer/projectwindow.h | 2 +- .../projectexplorer/runconfiguration.cpp | 4 +- .../projectexplorer/settingsaccessor.cpp | 44 +- src/plugins/projectexplorer/target.cpp | 32 +- src/plugins/projectexplorer/target.h | 14 +- .../projectexplorer/targetsettingspanel.cpp | 38 +- .../projectexplorer/targetsettingswidget.cpp | 4 +- .../projectexplorer/toolchainmanager.cpp | 2 +- .../integration/designdocumentcontroller.cpp | 6 +- src/plugins/qmlprofiler/qmlprofilertool.cpp | 12 +- .../remotelinuxqmlprofilerrunner.cpp | 4 +- src/plugins/qmlprojectmanager/qmlproject.cpp | 22 +- src/plugins/qmlprojectmanager/qmlproject.h | 2 +- .../qmlprojectrunconfiguration.cpp | 6 +- .../qmlprojectrunconfigurationfactory.cpp | 12 +- .../qmlprojectruncontrol.cpp | 2 +- .../qnx/blackberryapplicationrunner.cpp | 2 +- src/plugins/qnx/blackberryconnect.cpp | 2 +- .../qnx/blackberrycreatepackagestep.cpp | 6 +- .../blackberrycreatepackagestepfactory.cpp | 4 +- .../qnx/blackberrydeployconfiguration.cpp | 8 +- .../blackberrydeployconfigurationfactory.cpp | 4 +- .../qnx/blackberrydeployinformation.cpp | 4 +- .../qnx/blackberrydeploystepfactory.cpp | 4 +- .../qnx/blackberrydeviceconfiguration.cpp | 6 +- .../qnx/blackberrydeviceconfiguration.h | 4 +- .../qnx/blackberryrunconfiguration.cpp | 2 +- .../qnx/blackberryrunconfigurationfactory.cpp | 6 +- .../qnx/blackberryruncontrolfactory.cpp | 16 +- src/plugins/qnx/qnxabstractqtversion.cpp | 2 +- src/plugins/qnx/qnxabstractqtversion.h | 2 +- src/plugins/qnx/qnxdebugsupport.cpp | 4 +- .../qnx/qnxdeployconfigurationfactory.cpp | 4 +- src/plugins/qnx/qnxdeploystepfactory.cpp | 4 +- .../qnx/qnxrunconfigurationfactory.cpp | 4 +- src/plugins/qnx/qnxruncontrolfactory.cpp | 18 +- .../customwidgetwizarddialog.cpp | 16 +- .../qt4projectmanager/externaleditors.cpp | 4 +- .../librarydetailscontroller.cpp | 4 +- src/plugins/qt4projectmanager/makestep.cpp | 14 +- ...figwidget.cpp => qmakekitconfigwidget.cpp} | 29 +- ...econfigwidget.h => qmakekitconfigwidget.h} | 16 +- ...nformation.cpp => qmakekitinformation.cpp} | 64 +-- ...ileinformation.h => qmakekitinformation.h} | 28 +- src/plugins/qt4projectmanager/qmakestep.cpp | 28 +- .../qt-desktop/qt4runconfiguration.cpp | 28 +- .../qt-desktop/qt4runconfiguration.h | 4 +- .../qt4buildconfiguration.cpp | 36 +- .../qt4projectmanager/qt4buildconfiguration.h | 4 +- src/plugins/qt4projectmanager/qt4nodes.cpp | 6 +- src/plugins/qt4projectmanager/qt4nodes.h | 2 +- src/plugins/qt4projectmanager/qt4project.cpp | 65 ++- src/plugins/qt4projectmanager/qt4project.h | 10 +- .../qt4projectconfigwidget.cpp | 6 +- .../qt4projectmanager/qt4projectmanager.cpp | 6 +- .../qt4projectmanager/qt4projectmanager.pro | 8 +- .../qt4projectmanagerplugin.cpp | 6 +- .../qt4projectmanagerplugin.h | 2 +- .../qt4targetsetupwidget.cpp | 60 +-- .../qt4projectmanager/qt4targetsetupwidget.h | 16 +- .../qtuicodemodelsupport.cpp | 6 +- .../unconfiguredprojectpanel.cpp | 26 +- .../unconfiguredprojectpanel.h | 4 +- .../wizards/abstractmobileappwizard.cpp | 30 +- .../wizards/abstractmobileappwizard.h | 4 +- .../qt4projectmanager/wizards/qtwizard.cpp | 26 +- .../qt4projectmanager/wizards/qtwizard.h | 4 +- .../wizards/subdirsprojectwizard.cpp | 2 +- .../wizards/targetsetuppage.cpp | 210 ++++---- .../wizards/targetsetuppage.h | 36 +- src/plugins/qtsupport/baseqtversion.cpp | 16 +- src/plugins/qtsupport/baseqtversion.h | 8 +- .../customexecutablerunconfiguration.cpp | 2 +- ...configwidget.cpp => qtkitconfigwidget.cpp} | 49 +- ...fileconfigwidget.h => qtkitconfigwidget.h} | 16 +- ...leinformation.cpp => qtkitinformation.cpp} | 55 +- ...rofileinformation.h => qtkitinformation.h} | 50 +- src/plugins/qtsupport/qtsupport.pro | 8 +- src/plugins/qtsupport/qtsupportplugin.cpp | 6 +- src/plugins/qtsupport/qtversionmanager.cpp | 2 +- src/plugins/qtsupport/qtversionmanager.h | 2 +- .../abstractremotelinuxdeployservice.cpp | 28 +- .../abstractremotelinuxdeployservice.h | 4 +- .../abstractremotelinuxdeploystep.cpp | 2 +- src/plugins/remotelinux/deploymentinfo.cpp | 4 +- .../genericremotelinuxdeploystepfactory.cpp | 2 +- .../remotelinux/remotelinuxdebugsupport.cpp | 16 +- .../remotelinuxdeployconfigurationfactory.cpp | 8 +- .../remotelinuxenvironmentreader.cpp | 8 +- .../remotelinuxenvironmentreader.h | 4 +- .../remotelinuxrunconfiguration.cpp | 4 +- .../remotelinuxrunconfigurationfactory.cpp | 6 +- .../remotelinux/remotelinuxruncontrol.cpp | 4 +- .../remotelinuxruncontrolfactory.cpp | 4 +- ...pespecificdeviceconfigurationlistmodel.cpp | 6 +- src/plugins/valgrind/valgrindtool.cpp | 4 +- 192 files changed, 2495 insertions(+), 2500 deletions(-) rename src/plugins/debugger/{debuggerprofileconfigwidget.cpp => debuggerkitconfigwidget.cpp} (74%) rename src/plugins/debugger/{debuggerprofileconfigwidget.h => debuggerkitconfigwidget.h} (71%) rename src/plugins/debugger/{debuggerprofileinformation.cpp => debuggerkitinformation.cpp} (85%) rename src/plugins/debugger/{debuggerprofileinformation.h => debuggerkitinformation.h} (66%) rename src/plugins/projectexplorer/{profile.cpp => kit.cpp} (71%) rename src/plugins/projectexplorer/{profile.h => kit.h} (77%) rename src/plugins/projectexplorer/{profilechooser.cpp => kitchooser.cpp} (62%) rename src/plugins/projectexplorer/{profilechooser.h => kitchooser.h} (73%) rename src/plugins/projectexplorer/{profileconfigwidget.h => kitconfigwidget.h} (87%) rename src/plugins/projectexplorer/{profileinformation.cpp => kitinformation.cpp} (55%) rename src/plugins/projectexplorer/{profileinformation.h => kitinformation.h} (51%) rename src/plugins/projectexplorer/{profileinformationconfigwidget.cpp => kitinformationconfigwidget.cpp} (86%) rename src/plugins/projectexplorer/{profileinformationconfigwidget.h => kitinformationconfigwidget.h} (81%) create mode 100644 src/plugins/projectexplorer/kitmanager.cpp create mode 100644 src/plugins/projectexplorer/kitmanager.h rename src/plugins/projectexplorer/{profilemanagerconfigwidget.cpp => kitmanagerconfigwidget.cpp} (79%) rename src/plugins/projectexplorer/{profilemanagerconfigwidget.h => kitmanagerconfigwidget.h} (78%) rename src/plugins/projectexplorer/{profilemodel.cpp => kitmodel.cpp} (54%) rename src/plugins/projectexplorer/{profilemodel.h => kitmodel.h} (64%) rename src/plugins/projectexplorer/{profileoptionspage.cpp => kitoptionspage.cpp} (64%) rename src/plugins/projectexplorer/{profileoptionspage.h => kitoptionspage.h} (77%) delete mode 100644 src/plugins/projectexplorer/profilemanager.cpp delete mode 100644 src/plugins/projectexplorer/profilemanager.h rename src/plugins/qt4projectmanager/{qmakeprofileconfigwidget.cpp => qmakekitconfigwidget.cpp} (69%) rename src/plugins/qt4projectmanager/{qmakeprofileconfigwidget.h => qmakekitconfigwidget.h} (78%) rename src/plugins/qt4projectmanager/{qmakeprofileinformation.cpp => qmakekitinformation.cpp} (58%) rename src/plugins/qt4projectmanager/{qmakeprofileinformation.h => qmakekitinformation.h} (66%) rename src/plugins/qtsupport/{qtprofileconfigwidget.cpp => qtkitconfigwidget.cpp} (75%) rename src/plugins/qtsupport/{qtprofileconfigwidget.h => qtkitconfigwidget.h} (81%) rename src/plugins/qtsupport/{qtprofileinformation.cpp => qtkitinformation.cpp} (66%) rename src/plugins/qtsupport/{qtprofileinformation.h => qtkitinformation.h} (52%) diff --git a/src/plugins/analyzerbase/startremotedialog.cpp b/src/plugins/analyzerbase/startremotedialog.cpp index ec728134592..b6796c4f211 100644 --- a/src/plugins/analyzerbase/startremotedialog.cpp +++ b/src/plugins/analyzerbase/startremotedialog.cpp @@ -32,8 +32,8 @@ #include #include -#include -#include +#include +#include #include #include @@ -53,7 +53,7 @@ namespace Internal { class StartRemoteDialogPrivate { public: - ProfileChooser *profileChooser; + KitChooser *kitChooser; QLineEdit *executable; QLineEdit *arguments; QLineEdit *workingDirectory; @@ -69,7 +69,7 @@ StartRemoteDialog::StartRemoteDialog(QWidget *parent) setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); setWindowTitle(tr("Start Remote Analysis")); - d->profileChooser = new ProfileChooser(this, ProfileChooser::RemoteDebugging); + d->kitChooser = new KitChooser(this, KitChooser::RemoteDebugging); d->executable = new QLineEdit(this); d->arguments = new QLineEdit(this); d->workingDirectory = new QLineEdit(this); @@ -80,7 +80,7 @@ StartRemoteDialog::StartRemoteDialog(QWidget *parent) QFormLayout *formLayout = new QFormLayout; formLayout->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); - formLayout->addRow(tr("Target:"), d->profileChooser); + formLayout->addRow(tr("Kit:"), d->kitChooser); formLayout->addRow(tr("Executable:"), d->executable); formLayout->addRow(tr("Arguments:"), d->arguments); formLayout->addRow(tr("Working directory:"), d->workingDirectory); @@ -91,14 +91,14 @@ StartRemoteDialog::StartRemoteDialog(QWidget *parent) QSettings *settings = Core::ICore::settings(); settings->beginGroup(QLatin1String("AnalyzerStartRemoteDialog")); - QString profile = settings->value(QLatin1String("profile")).toString(); - d->profileChooser->setCurrentProfileId(Core::Id(profile)); + QString kit = settings->value(QLatin1String("profile")).toString(); + d->kitChooser->setCurrentKitId(Core::Id(kit)); d->executable->setText(settings->value(QLatin1String("executable")).toString()); d->workingDirectory->setText(settings->value(QLatin1String("workingDirectory")).toString()); d->arguments->setText(settings->value(QLatin1String("arguments")).toString()); settings->endGroup(); - connect(d->profileChooser, SIGNAL(activated(int)), SLOT(validate())); + connect(d->kitChooser, SIGNAL(activated(int)), SLOT(validate())); connect(d->executable, SIGNAL(textChanged(QString)), SLOT(validate())); connect(d->workingDirectory, SIGNAL(textChanged(QString)), SLOT(validate())); connect(d->arguments, SIGNAL(textChanged(QString)), SLOT(validate())); @@ -117,7 +117,7 @@ void StartRemoteDialog::accept() { QSettings *settings = Core::ICore::settings(); settings->beginGroup(QLatin1String("AnalyzerStartRemoteDialog")); - settings->setValue(QLatin1String("profile"), d->profileChooser->currentProfileId().toString()); + settings->setValue(QLatin1String("profile"), d->kitChooser->currentKitId().toString()); settings->setValue(QLatin1String("executable"), d->executable->text()); settings->setValue(QLatin1String("workingDirectory"), d->workingDirectory->text()); settings->setValue(QLatin1String("arguments"), d->arguments->text()); @@ -134,8 +134,8 @@ void StartRemoteDialog::validate() QSsh::SshConnectionParameters StartRemoteDialog::sshParams() const { - Profile *profile = d->profileChooser->currentProfile(); - IDevice::ConstPtr device = DeviceProfileInformation::device(profile); + Kit *kit = d->kitChooser->currentKit(); + IDevice::ConstPtr device = DeviceKitInformation::device(kit); return device->sshParameters(); } diff --git a/src/plugins/android/addnewavddialog.ui b/src/plugins/android/addnewavddialog.ui index 149f79dfcf9..6c57b31c6a6 100644 --- a/src/plugins/android/addnewavddialog.ui +++ b/src/plugins/android/addnewavddialog.ui @@ -32,7 +32,7 @@ - Target: + Kit: Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter diff --git a/src/plugins/android/androiddebugsupport.cpp b/src/plugins/android/androiddebugsupport.cpp index 4e10eea2557..72f71004655 100644 --- a/src/plugins/android/androiddebugsupport.cpp +++ b/src/plugins/android/androiddebugsupport.cpp @@ -37,7 +37,7 @@ #include #include -#include +#include #include #include @@ -45,7 +45,7 @@ #include #include #include -#include +#include #include @@ -93,10 +93,10 @@ RunControl *AndroidDebugSupport::createDebugRunControl(AndroidRunConfiguration * if (runConfig->debuggerAspect()->useCppDebugger()) { params.languages |= CppLanguage; - Profile *profile = target->profile(); - params.sysRoot = SysRootProfileInformation::sysRoot(profile).toString(); - params.debuggerCommand = DebuggerProfileInformation::debuggerCommand(profile).toString(); - if (ToolChain *tc = ToolChainProfileInformation::toolChain(profile)) + Kit *kit = target->kit(); + params.sysRoot = SysRootKitInformation::sysRoot(kit).toString(); + params.debuggerCommand = DebuggerKitInformation::debuggerCommand(kit).toString(); + if (ToolChain *tc = ToolChainKitInformation::toolChain(kit)) params.toolChainAbi = tc->targetAbi(); params.executable = project->rootQt4ProjectNode()->buildDir() + QLatin1String("/app_process"); params.remoteChannel = runConfig->remoteChannel(); @@ -105,7 +105,7 @@ RunControl *AndroidDebugSupport::createDebugRunControl(AndroidRunConfiguration * foreach (Qt4ProFileNode *node, nodes) if (node->projectType() == ApplicationTemplate) params.solibSearchPath.append(node->targetInformation().buildDir); - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(profile); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(kit); params.solibSearchPath.append(qtSoPaths(version)); } if (runConfig->debuggerAspect()->useQmlDebugger()) { diff --git a/src/plugins/android/androiddeployconfiguration.cpp b/src/plugins/android/androiddeployconfiguration.cpp index 8cd678d73ee..6d06801af65 100644 --- a/src/plugins/android/androiddeployconfiguration.cpp +++ b/src/plugins/android/androiddeployconfiguration.cpp @@ -39,7 +39,7 @@ #include #include -#include +#include #include using namespace ProjectExplorer; @@ -119,15 +119,15 @@ QList AndroidDeployConfigurationFactory::availableCreationIds(Target * if (!qobject_cast(parent->project())) return ids; - if (!parent->project()->supportsProfile(parent->profile())) + if (!parent->project()->supportsKit(parent->kit())) return ids; - ToolChain *tc = ToolChainProfileInformation::toolChain(parent->profile()); + ToolChain *tc = ToolChainKitInformation::toolChain(parent->kit()); if (!tc || tc->targetAbi().osFlavor() != Abi::AndroidLinuxFlavor) return ids; - if (QtSupport::QtProfileInformation::qtVersion(parent->profile())->type() != QLatin1String(Constants::ANDROIDQT)) + if (QtSupport::QtKitInformation::qtVersion(parent->kit())->type() != QLatin1String(Constants::ANDROIDQT)) return ids; ids << Core::Id(ANDROID_DEPLOYCONFIGURATION_ID); diff --git a/src/plugins/android/androiddeploystep.cpp b/src/plugins/android/androiddeploystep.cpp index e06012a8e89..df8fc9867b1 100644 --- a/src/plugins/android/androiddeploystep.cpp +++ b/src/plugins/android/androiddeploystep.cpp @@ -44,7 +44,7 @@ #include #include -#include +#include #include @@ -97,7 +97,7 @@ bool AndroidDeployStep::init() return false; } - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (!version) return false; diff --git a/src/plugins/android/androiddeploystepfactory.cpp b/src/plugins/android/androiddeploystepfactory.cpp index a19fe3f9664..e7a6a6e9cdf 100644 --- a/src/plugins/android/androiddeploystepfactory.cpp +++ b/src/plugins/android/androiddeploystepfactory.cpp @@ -37,7 +37,7 @@ #include #include #include -#include +#include #include diff --git a/src/plugins/android/androidmanager.cpp b/src/plugins/android/androidmanager.cpp index 54de2d032ab..6e13f8538be 100644 --- a/src/plugins/android/androidmanager.cpp +++ b/src/plugins/android/androidmanager.cpp @@ -44,7 +44,7 @@ #include #include #include -#include +#include #include #include @@ -81,7 +81,7 @@ bool AndroidManager::supportsAndroid(ProjectExplorer::Target *target) { if (!qobject_cast(target->project())) return false; - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); return version && version->platformName() == QLatin1String(QtSupport::Constants::ANDROID_PLATFORM); } @@ -388,7 +388,7 @@ QString AndroidManager::targetApplicationPath(ProjectExplorer::Target *target) bool AndroidManager::createAndroidTemplatesIfNecessary(ProjectExplorer::Target *target) { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); Qt4ProjectManager::Qt4Project *qt4Project = qobject_cast(target->project()); if (!qt4Project || !qt4Project->rootProjectNode() || !version) return false; @@ -555,7 +555,7 @@ void AndroidManager::updateTarget(ProjectExplorer::Target *target, const QString Utils::FileName AndroidManager::localLibsRulesFilePath(ProjectExplorer::Target *target) { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); if (!version) return Utils::FileName(); return Utils::FileName::fromString(version->qmakeProperty("QT_INSTALL_LIBS") + QLatin1String("/rules.xml")); @@ -573,7 +573,7 @@ QString AndroidManager::loadLocalJars(ProjectExplorer::Target *target, int apiLe QStringList AndroidManager::availableQtLibs(ProjectExplorer::Target *target) { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); if (!target->activeRunConfiguration()) return QStringList(); diff --git a/src/plugins/android/androidpackageinstallationfactory.cpp b/src/plugins/android/androidpackageinstallationfactory.cpp index 0bd36954cc5..cc4eb657d8a 100644 --- a/src/plugins/android/androidpackageinstallationfactory.cpp +++ b/src/plugins/android/androidpackageinstallationfactory.cpp @@ -36,7 +36,7 @@ #include #include #include -#include +#include #include using namespace ProjectExplorer; diff --git a/src/plugins/android/androidrunconfiguration.cpp b/src/plugins/android/androidrunconfiguration.cpp index 60f85246525..85f9014f44f 100644 --- a/src/plugins/android/androidrunconfiguration.cpp +++ b/src/plugins/android/androidrunconfiguration.cpp @@ -34,10 +34,10 @@ #include "androidtoolchain.h" #include "androidmanager.h" -#include +#include #include #include -#include +#include #include @@ -87,7 +87,7 @@ AndroidConfig AndroidRunConfiguration::config() const const Utils::FileName AndroidRunConfiguration::gdbCmd() const { - ToolChain *tc = ToolChainProfileInformation::toolChain(target()->profile()); + ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit()); if (!tc) return Utils::FileName(); return AndroidConfigurations::instance().gdbPath(tc->targetAbi().architecture()); @@ -110,7 +110,7 @@ const QString AndroidRunConfiguration::remoteChannel() const const QString AndroidRunConfiguration::dumperLib() const { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (!version) return QString(); return version->gdbDebuggingHelperLibrary(); diff --git a/src/plugins/android/androidrunfactories.cpp b/src/plugins/android/androidrunfactories.cpp index 66383a1b8a8..193354c8bbe 100644 --- a/src/plugins/android/androidrunfactories.cpp +++ b/src/plugins/android/androidrunfactories.cpp @@ -43,7 +43,7 @@ #include #include #include -#include +#include #include @@ -140,7 +140,7 @@ RunConfiguration *AndroidRunConfigurationFactory::clone(Target *parent, RunConfi bool AndroidRunConfigurationFactory::canHandle(Target *t) const { - if (!t->project()->supportsProfile(t->profile())) + if (!t->project()->supportsKit(t->kit())) return false; return AndroidManager::supportsAndroid(t); } diff --git a/src/plugins/android/androidtoolchain.cpp b/src/plugins/android/androidtoolchain.cpp index 6b0a7e94f10..c0f59adf295 100644 --- a/src/plugins/android/androidtoolchain.cpp +++ b/src/plugins/android/androidtoolchain.cpp @@ -38,7 +38,7 @@ #include #include #include -#include +#include #include #include @@ -93,7 +93,7 @@ void AndroidToolChain::addToEnvironment(Utils::Environment &env) const Qt4Project *qt4pro = qobject_cast(ProjectExplorerPlugin::instance()->currentProject()); if (!qt4pro || !qt4pro->activeTarget() - || QtSupport::QtProfileInformation::qtVersion(qt4pro->activeTarget()->profile())->type() != QLatin1String(Constants::ANDROIDQT)) + || QtSupport::QtKitInformation::qtVersion(qt4pro->activeTarget()->kit())->type() != QLatin1String(Constants::ANDROIDQT)) return; QString ndk_host = QLatin1String( diff --git a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp index 45c63b3ebb5..a7ca5a05c70 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsbuildconfiguration.cpp @@ -42,7 +42,7 @@ #include "configurestep.h" #include -#include +#include #include #include #include @@ -117,7 +117,7 @@ void AutotoolsBuildConfiguration::setBuildDirectory(const QString &buildDirector IOutputParser *AutotoolsBuildConfiguration::createOutputParser() const { - ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(target()->profile()); + ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(target()->kit()); if (tc) return tc->outputParser(); return 0; @@ -214,7 +214,7 @@ AutotoolsBuildConfiguration *AutotoolsBuildConfigurationFactory::createDefaultCo bool AutotoolsBuildConfigurationFactory::canHandle(const Target *t) const { - if (!t->project()->supportsProfile(t->profile())) + if (!t->project()->supportsKit(t->kit())) return false; return t->project()->id() == Constants::AUTOTOOLS_PROJECT_ID; } diff --git a/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp b/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp index 4fa1d370a63..ff4b78966cc 100644 --- a/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp +++ b/src/plugins/autotoolsprojectmanager/autotoolsproject.cpp @@ -44,8 +44,8 @@ #include #include -#include -#include +#include +#include #include #include #include @@ -158,9 +158,9 @@ bool AutotoolsProject::fromMap(const QVariantMap &map) // Load the project tree structure. loadProjectTree(); - Profile *defaultProfile = ProfileManager::instance()->defaultProfile(); - if (!activeTarget() && defaultProfile) - addTarget(createTarget(defaultProfile)); + Kit *defaultKit = KitManager::instance()->defaultKit(); + if (!activeTarget() && defaultKit) + addTarget(createTarget(defaultKit)); return true; } @@ -418,7 +418,7 @@ void AutotoolsProject::updateCppCodeModel() QByteArray macros; if (activeTarget()) { - ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(activeTarget()->profile()); + ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(activeTarget()->kit()); if (tc) { const QList allHeaderPaths = tc->systemHeaderPaths(); foreach (const HeaderPath &headerPath, allHeaderPaths) { diff --git a/src/plugins/autotoolsprojectmanager/makestep.cpp b/src/plugins/autotoolsprojectmanager/makestep.cpp index 2ca4ae81024..01738224ce6 100644 --- a/src/plugins/autotoolsprojectmanager/makestep.cpp +++ b/src/plugins/autotoolsprojectmanager/makestep.cpp @@ -41,7 +41,7 @@ #include #include #include -#include +#include #include #include #include @@ -174,7 +174,7 @@ bool MakeStep::init() setIgnoreReturnValue(m_clean); - ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(bc->target()->profile()); + ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(target()->kit()); ProcessParameters *pp = processParameters(); pp->setMacroExpander(bc->macroExpander()); @@ -289,7 +289,7 @@ QString MakeStepConfigWidget::summaryText() const void MakeStepConfigWidget::updateDetails() { AutotoolsBuildConfiguration *bc = m_makeStep->autotoolsBuildConfiguration(); - ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(m_makeStep->target()->profile()); + ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(m_makeStep->target()->kit()); if (tc) { QString arguments = Utils::QtcProcess::joinArgs(m_makeStep->m_buildTargets); @@ -303,7 +303,7 @@ void MakeStepConfigWidget::updateDetails() param.setArguments(arguments); m_summaryText = param.summary(displayName()); } else { - m_summaryText = QLatin1String("") + ProjectExplorer::ToolChainProfileInformation::msgNoToolChainInTarget() + QLatin1String(""); + m_summaryText = QLatin1String("") + ProjectExplorer::ToolChainKitInformation::msgNoToolChainInTarget() + QLatin1String(""); } emit updateSummary(); diff --git a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp index 1bc699083ec..ac933cb48b0 100644 --- a/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakebuildconfiguration.cpp @@ -36,12 +36,12 @@ #include #include #include -#include +#include #include #include #include #include -#include +#include #include #include @@ -113,11 +113,11 @@ ProjectExplorer::IOutputParser *CMakeBuildConfiguration::createOutputParser() co { ProjectExplorer::IOutputParser *parserchain = new ProjectExplorer::GnuMakeParser; - int versionId = QtSupport::QtProfileInformation::qtVersionId(target()->profile()); + int versionId = QtSupport::QtKitInformation::qtVersionId(target()->kit()); if (versionId >= 0) parserchain->appendOutputParser(new QtSupport::QtParser); - ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(target()->profile()); + ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(target()->kit()); if (tc) parserchain->appendOutputParser(tc->outputParser()); return parserchain; @@ -126,7 +126,7 @@ ProjectExplorer::IOutputParser *CMakeBuildConfiguration::createOutputParser() co Utils::Environment CMakeBuildConfiguration::baseEnvironment() const { Utils::Environment env = BuildConfiguration::baseEnvironment(); - target()->profile()->addToEnvironment(env); + target()->kit()->addToEnvironment(env); return env; } @@ -248,7 +248,7 @@ CMakeBuildConfiguration *CMakeBuildConfigurationFactory::restore(ProjectExplorer bool CMakeBuildConfigurationFactory::canHandle(const ProjectExplorer::Target *t) const { - if (!t->project()->supportsProfile(t->profile())) + if (!t->project()->supportsKit(t->kit())) return false; return qobject_cast(t->project()); } diff --git a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp index 7807dee197e..b5c98e8c8b4 100644 --- a/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeopenprojectwizard.cpp @@ -34,8 +34,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include @@ -405,13 +405,13 @@ void CMakeRunPage::initializePage() m_generatorComboBox->clear(); bool hasCodeBlocksGenerator = m_cmakeWizard->cmakeManager()->hasCodeBlocksMsvcGenerator(); - QList profileList = - ProjectExplorer::ProfileManager::instance()->profiles(); + QList kitList = + ProjectExplorer::KitManager::instance()->kits(); - foreach (ProjectExplorer::Profile *p, profileList) { - QVariant profileVariant = qVariantFromValue(static_cast(p)); + foreach (ProjectExplorer::Kit *k, kitList) { + QVariant kitVariant = qVariantFromValue(static_cast(k)); - ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(p); + ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(k); if (!tc) continue; ProjectExplorer::Abi targetAbi = tc->targetAbi(); @@ -421,21 +421,21 @@ void CMakeRunPage::initializePage() || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2010Flavor || targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMsvc2012Flavor) { if (hasCodeBlocksGenerator && (cachedGenerator.isEmpty() || cachedGenerator == "NMake Makefiles")) - m_generatorComboBox->addItem(tr("NMake Generator (%1)").arg(p->displayName()), profileVariant); + m_generatorComboBox->addItem(tr("NMake Generator (%1)").arg(k->displayName()), kitVariant); } else if (targetAbi.osFlavor() == ProjectExplorer::Abi::WindowsMSysFlavor) { #ifdef Q_OS_WIN if (cachedGenerator.isEmpty() || cachedGenerator == "MinGW Makefiles") - m_generatorComboBox->addItem(tr("MinGW Generator (%1)").arg(p->displayName()), profileVariant); + m_generatorComboBox->addItem(tr("MinGW Generator (%1)").arg(p->displayName()), kitVariant); #else if (cachedGenerator.isEmpty() || cachedGenerator == "Unix Makefiles") - m_generatorComboBox->addItem(tr("Unix Generator (%1)").arg(p->displayName()), profileVariant); + m_generatorComboBox->addItem(tr("Unix Generator (%1)").arg(k->displayName()), kitVariant); #endif } } else { // Non windows if (cachedGenerator.isEmpty() || cachedGenerator == "Unix Makefiles") - m_generatorComboBox->addItem(tr("Unix Generator (%1)").arg(p->displayName()), profileVariant); + m_generatorComboBox->addItem(tr("Unix Generator (%1)").arg(k->displayName()), kitVariant); } } } @@ -448,15 +448,15 @@ void CMakeRunPage::runCMake() int index = m_generatorComboBox->currentIndex(); - ProjectExplorer::Profile *p = 0; + ProjectExplorer::Kit *p = 0; if (index >= 0) - p = static_cast(m_generatorComboBox->itemData(index).value()); + p = static_cast(m_generatorComboBox->itemData(index).value()); if (!p) { m_output->appendPlainText(tr("No generator selected.")); return; } - ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(p); + ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(p); m_runCMake->setEnabled(false); m_argumentsLineEdit->setEnabled(false); diff --git a/src/plugins/cmakeprojectmanager/cmakeproject.cpp b/src/plugins/cmakeprojectmanager/cmakeproject.cpp index dd2d44e2454..239e46594a7 100644 --- a/src/plugins/cmakeprojectmanager/cmakeproject.cpp +++ b/src/plugins/cmakeprojectmanager/cmakeproject.cpp @@ -45,8 +45,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include @@ -286,7 +286,7 @@ bool CMakeProject::parseCMakeLists() createUiCodeModelSupport(); - ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(activeTarget()->profile()); + ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(activeTarget()->kit()); if (!tc) { emit buildTargetsChanged(); emit fileListChanged(); @@ -530,9 +530,9 @@ bool CMakeProject::fromMap(const QVariantMap &map) if (!Project::fromMap(map)) return false; - Profile *defaultProfile = ProfileManager::instance()->defaultProfile(); - if (!activeTarget() && defaultProfile) - addTarget(createTarget(defaultProfile)); + Kit *defaultKit = KitManager::instance()->defaultKit(); + if (!activeTarget() && defaultKit) + addTarget(createTarget(defaultKit)); // We have a user file, but we could still be missing the cbp file // or simply run createXml with the saved settings diff --git a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp index 76e9696601b..c74dca76013 100644 --- a/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp +++ b/src/plugins/cmakeprojectmanager/cmakerunconfiguration.cpp @@ -496,7 +496,7 @@ QString CMakeRunConfigurationFactory::displayNameForId(const Core::Id id) const bool CMakeRunConfigurationFactory::canHandle(ProjectExplorer::Target *parent) const { - if (!parent->project()->supportsProfile(parent->profile())) + if (!parent->project()->supportsKit(parent->kit())) return false; return qobject_cast(parent->project()); } diff --git a/src/plugins/cmakeprojectmanager/makestep.cpp b/src/plugins/cmakeprojectmanager/makestep.cpp index 6e51cbd2a01..feda03a96c1 100644 --- a/src/plugins/cmakeprojectmanager/makestep.cpp +++ b/src/plugins/cmakeprojectmanager/makestep.cpp @@ -37,7 +37,7 @@ #include #include #include -#include +#include #include #include #include @@ -137,7 +137,7 @@ bool MakeStep::init() setIgnoreReturnValue(m_clean); - ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(target()->profile()); + ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(target()->kit()); ProcessParameters *pp = processParameters(); pp->setMacroExpander(bc->macroExpander()); pp->setEnvironment(bc->environment()); @@ -308,7 +308,7 @@ void MakeStepConfigWidget::updateDetails() return; } - ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(m_makeStep->target()->profile()); + ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(m_makeStep->target()->kit()); if (tc) { QString arguments = Utils::QtcProcess::joinArgs(m_makeStep->buildTargets()); Utils::QtcProcess::addArgs(&arguments, m_makeStep->additionalArguments()); @@ -321,7 +321,7 @@ void MakeStepConfigWidget::updateDetails() param.setArguments(arguments); m_summaryText = param.summary(displayName()); } else { - m_summaryText = QLatin1String("") + ProjectExplorer::ToolChainProfileInformation::msgNoToolChainInTarget() + QLatin1String(""); + m_summaryText = QLatin1String("") + ProjectExplorer::ToolChainKitInformation::msgNoToolChainInTarget() + QLatin1String(""); } emit updateSummary(); } diff --git a/src/plugins/debugger/debugger.pro b/src/plugins/debugger/debugger.pro index 246a491594c..83d207eead6 100644 --- a/src/plugins/debugger/debugger.pro +++ b/src/plugins/debugger/debugger.pro @@ -38,8 +38,8 @@ HEADERS += \ debuggerstartparameters.h \ debuggerstreamops.h \ debuggerstringutils.h \ - debuggerprofileconfigwidget.h \ - debuggerprofileinformation.h \ + debuggerkitconfigwidget.h \ + debuggerkitinformation.h \ disassembleragent.h \ disassemblerlines.h \ loadcoredialog.h \ @@ -92,8 +92,8 @@ SOURCES += \ debuggerplugin.cpp \ debuggerrunner.cpp \ debuggerstreamops.cpp \ - debuggerprofileconfigwidget.cpp \ - debuggerprofileinformation.cpp \ + debuggerkitconfigwidget.cpp \ + debuggerkitinformation.cpp \ disassembleragent.cpp \ disassemblerlines.cpp \ loadcoredialog.cpp \ diff --git a/src/plugins/debugger/debugger.qbs b/src/plugins/debugger/debugger.qbs index cd1300f276f..7538677da29 100644 --- a/src/plugins/debugger/debugger.qbs +++ b/src/plugins/debugger/debugger.qbs @@ -33,10 +33,10 @@ QtcPlugin { files: [ "debugger.qrc", - "debuggerprofileconfigwidget.cpp", - "debuggerprofileconfigwidget.h", - "debuggerprofileinformation.cpp", - "debuggerprofileinformation.h", + "debuggerkitconfigwidget.cpp", + "debuggerkitconfigwidget.h", + "debuggerkitinformation.cpp", + "debuggerkitinformation.h", "basewindow.cpp", "breakhandler.cpp", "breakhandler.h", diff --git a/src/plugins/debugger/debuggerdialogs.cpp b/src/plugins/debugger/debuggerdialogs.cpp index f27b8c00e47..893cbb13f09 100644 --- a/src/plugins/debugger/debuggerdialogs.cpp +++ b/src/plugins/debugger/debuggerdialogs.cpp @@ -32,15 +32,15 @@ #include "debuggerstartparameters.h" #include "debuggerconstants.h" -#include "debuggerprofileinformation.h" +#include "debuggerkitinformation.h" #include "debuggerstringutils.h" #include "cdb/cdbengine.h" #include "shared/hostutils.h" #include #include -#include -#include +#include +#include #include #include #include @@ -88,7 +88,7 @@ namespace Internal { class StartApplicationDialogPrivate { public: - ProfileChooser *profileChooser; + KitChooser *kitChooser; PathChooser *localExecutablePathChooser; FancyLineEdit *arguments; PathChooser *workingDirectory; @@ -127,7 +127,7 @@ public: bool operator==(const StartApplicationParameters &p) const { return equals(p); } bool operator!=(const StartApplicationParameters &p) const { return !equals(p); } - Id profileId; + Id kitId; QString localExecutable; QString processArgs; QString workingDirectory; @@ -150,7 +150,7 @@ bool StartApplicationParameters::equals(const StartApplicationParameters &rhs) c && breakAtMain == rhs.breakAtMain && runInTerminal == rhs.runInTerminal && serverStartScript == rhs.serverStartScript - && profileId == rhs.profileId + && kitId == rhs.kitId && debugInfoLocation == rhs.debugInfoLocation; } @@ -167,15 +167,15 @@ QString StartApplicationParameters::displayName() const name += QLatin1String("..."); } - if (Profile *profile = ProfileManager::instance()->find(profileId)) - name += QString::fromLatin1(" (%1)").arg(profile->displayName()); + if (Kit *kit = KitManager::instance()->find(kitId)) + name += QString::fromLatin1(" (%1)").arg(kit->displayName()); return name; } void StartApplicationParameters::toSettings(QSettings *settings) const { - settings->setValue(_("LastProfileId"), profileId.toString()); + settings->setValue(_("LastProfileId"), kitId.toString()); settings->setValue(_("LastExternalExecutable"), localExecutable); settings->setValue(_("LastExternalExecutableArguments"), processArgs); settings->setValue(_("LastExternalWorkingDirectory"), workingDirectory); @@ -187,8 +187,8 @@ void StartApplicationParameters::toSettings(QSettings *settings) const void StartApplicationParameters::fromSettings(const QSettings *settings) { - const QString profileIdString = settings->value(_("LastProfileId")).toString(); - profileId = profileIdString.isEmpty() ? Id() : Id(profileIdString); + const QString kitIdString = settings->value(_("LastProfileId")).toString(); + kitId = kitIdString.isEmpty() ? Id() : Id(kitIdString); localExecutable = settings->value(_("LastExternalExecutable")).toString(); processArgs = settings->value(_("LastExternalExecutableArguments")).toString(); workingDirectory = settings->value(_("LastExternalWorkingDirectory")).toString(); @@ -225,7 +225,7 @@ StartApplicationDialog::StartApplicationDialog(QWidget *parent) d->runInTerminalCheckBox = new QCheckBox(this); - d->profileChooser = new ProfileChooser(this, ProfileChooser::LocalDebugging); + d->kitChooser = new KitChooser(this, KitChooser::LocalDebugging); d->breakAtMainCheckBox = new QCheckBox(this); d->breakAtMainCheckBox->setText(QString()); @@ -263,7 +263,7 @@ StartApplicationDialog::StartApplicationDialog(QWidget *parent) QFormLayout *formLayout = new QFormLayout(); formLayout->setFieldGrowthPolicy(QFormLayout::AllNonFixedFieldsGrow); - formLayout->addRow(tr("&Target:"), d->profileChooser); + formLayout->addRow(tr("&Kit:"), d->kitChooser); formLayout->addRow(tr("Local &executable:"), d->localExecutablePathChooser); formLayout->addRow(tr("Command line &arguments:"), d->arguments); formLayout->addRow(tr("&Working directory:"), d->workingDirectory); @@ -319,9 +319,9 @@ void StartApplicationDialog::historyIndexChanged(int index) setParameters(v.value()); } -Id StartApplicationDialog::profileId() const +Id StartApplicationDialog::kitId() const { - return d->profileChooser->currentProfileId(); + return d->kitChooser->currentKitId(); } void StartApplicationDialog::updateState() @@ -373,9 +373,9 @@ bool StartApplicationDialog::run(QWidget *parent, QSettings *settings, DebuggerS settings->endGroup(); } - Profile *profile = dialog.d->profileChooser->currentProfile(); - QTC_ASSERT(profile, return false); - fillParameters(sp, profile); + Kit *kit = dialog.d->kitChooser->currentKit(); + QTC_ASSERT(kit, return false); + fillParameters(sp, kit); sp->executable = newParameters.localExecutable; sp->displayName = newParameters.displayName(); @@ -387,7 +387,7 @@ bool StartApplicationDialog::run(QWidget *parent, QSettings *settings, DebuggerS sp->serverStartScript = newParameters.serverStartScript; sp->debugInfoLocation = newParameters.debugInfoLocation; - bool isLocal = DeviceProfileInformation::device(profile)->type() + bool isLocal = DeviceKitInformation::device(kit)->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE; sp->startMode = isLocal ? StartExternal : StartRemoteProcess; return true; @@ -398,7 +398,7 @@ StartApplicationParameters StartApplicationDialog::parameters() const StartApplicationParameters result; result.localExecutable = d->localExecutablePathChooser->path(); result.serverStartScript = d->serverStartScriptPathChooser->path(); - result.profileId = d->profileChooser->currentProfileId(); + result.kitId = d->kitChooser->currentKitId(); result.debugInfoLocation = d->debuginfoPathChooser->path(); result.processArgs = d->arguments->text(); result.workingDirectory = d->workingDirectory->path(); @@ -409,7 +409,7 @@ StartApplicationParameters StartApplicationDialog::parameters() const void StartApplicationDialog::setParameters(const StartApplicationParameters &p) { - d->profileChooser->setCurrentProfileId(p.profileId); + d->kitChooser->setCurrentKitId(p.kitId); d->localExecutablePathChooser->setPath(p.localExecutable); d->serverStartScriptPathChooser->setPath(p.serverStartScript); d->debuginfoPathChooser->setPath(p.debugInfoLocation); @@ -430,7 +430,7 @@ class AttachToQmlPortDialogPrivate { public: QSpinBox *portSpinBox; - ProfileChooser *profileChooser; + KitChooser *kitChooser; }; AttachToQmlPortDialog::AttachToQmlPortDialog(QWidget *parent) @@ -440,7 +440,7 @@ AttachToQmlPortDialog::AttachToQmlPortDialog(QWidget *parent) setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint); setWindowTitle(tr("Start Debugger")); - d->profileChooser = new ProfileChooser(this); + d->kitChooser = new KitChooser(this); d->portSpinBox = new QSpinBox(this); d->portSpinBox->setMaximum(65535); @@ -451,7 +451,7 @@ AttachToQmlPortDialog::AttachToQmlPortDialog(QWidget *parent) buttonBox->button(QDialogButtonBox::Ok)->setDefault(true); QFormLayout *formLayout = new QFormLayout(); - formLayout->addRow(tr("Target:"), d->profileChooser); + formLayout->addRow(tr("Kit:"), d->kitChooser); formLayout->addRow(tr("&Port:"), d->portSpinBox); QVBoxLayout *verticalLayout = new QVBoxLayout(this); @@ -477,14 +477,14 @@ int AttachToQmlPortDialog::port() const return d->portSpinBox->value(); } -Profile *AttachToQmlPortDialog::profile() const +Kit *AttachToQmlPortDialog::kit() const { - return d->profileChooser->currentProfile(); + return d->kitChooser->currentKit(); } -void AttachToQmlPortDialog::setProfileId(const Id &id) +void AttachToQmlPortDialog::setKitId(const Id &id) { - d->profileChooser->setCurrentProfileId(id); + d->kitChooser->setCurrentKitId(id); } // --------- StartRemoteCdbDialog diff --git a/src/plugins/debugger/debuggerdialogs.h b/src/plugins/debugger/debuggerdialogs.h index 49e32347a2d..a8d8274c605 100644 --- a/src/plugins/debugger/debuggerdialogs.h +++ b/src/plugins/debugger/debuggerdialogs.h @@ -44,7 +44,7 @@ class QSettings; QT_END_NAMESPACE namespace Core { class Id; } -namespace ProjectExplorer { class Profile; } +namespace ProjectExplorer { class Kit; } namespace Debugger { class DebuggerStartParameters; @@ -78,7 +78,7 @@ private: void setParameters(const StartApplicationParameters &p); void setHistory(const QList &l); void hideStartScript(); - Core::Id profileId() const; + Core::Id kitId() const; StartApplicationDialogPrivate *d; }; @@ -94,8 +94,8 @@ public: int port() const; void setPort(const int port); - ProjectExplorer::Profile *profile() const; - void setProfileId(const Core::Id &id); + ProjectExplorer::Kit *kit() const; + void setKitId(const Core::Id &id); private: AttachToQmlPortDialogPrivate *d; diff --git a/src/plugins/debugger/debuggerprofileconfigwidget.cpp b/src/plugins/debugger/debuggerkitconfigwidget.cpp similarity index 74% rename from src/plugins/debugger/debuggerprofileconfigwidget.cpp rename to src/plugins/debugger/debuggerkitconfigwidget.cpp index 81789acfb11..96cf2b04a75 100644 --- a/src/plugins/debugger/debuggerprofileconfigwidget.cpp +++ b/src/plugins/debugger/debuggerkitconfigwidget.cpp @@ -28,12 +28,12 @@ ** **************************************************************************/ -#include "debuggerprofileconfigwidget.h" +#include "debuggerkitconfigwidget.h" -#include "debuggerprofileinformation.h" +#include "debuggerkitinformation.h" #include -#include +#include #include #include @@ -56,23 +56,23 @@ namespace Internal { static const char dgbToolsDownloadLink32C[] = "http://www.microsoft.com/whdc/devtools/debugging/installx86.Mspx"; static const char dgbToolsDownloadLink64C[] = "http://www.microsoft.com/whdc/devtools/debugging/install64bit.Mspx"; // ----------------------------------------------------------------------- -// DebuggerProfileConfigWidget: +// DebuggerKitConfigWidget: // ----------------------------------------------------------------------- -DebuggerProfileConfigWidget::DebuggerProfileConfigWidget(ProjectExplorer::Profile *p, - const DebuggerProfileInformation *pi, - QWidget *parent) : - ProjectExplorer::ProfileConfigWidget(parent), - m_profile(p), - m_info(pi), +DebuggerKitConfigWidget::DebuggerKitConfigWidget(ProjectExplorer::Kit *k, + const DebuggerKitInformation *ki, + QWidget *parent) : + ProjectExplorer::KitConfigWidget(parent), + m_kit(k), + m_info(ki), m_chooser(new Utils::PathChooser) { - setToolTip(tr("The debugger to use for this target.")); + setToolTip(tr("The debugger to use for this kit.")); QVBoxLayout *layout = new QVBoxLayout(this); layout->setMargin(0); - ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(p); + ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(k); if (tc && tc->targetAbi().os() == ProjectExplorer::Abi::WindowsOS && tc->targetAbi().osFlavor() != ProjectExplorer::Abi::WindowsMSysFlavor) { QLabel *msvcDebuggerConfigLabel = new QLabel; @@ -104,43 +104,42 @@ DebuggerProfileConfigWidget::DebuggerProfileConfigWidget(ProjectExplorer::Profil connect(m_chooser, SIGNAL(changed(QString)), this, SIGNAL(dirty())); } -QString DebuggerProfileConfigWidget::displayName() const +QString DebuggerKitConfigWidget::displayName() const { return tr("Debugger:"); } -void DebuggerProfileConfigWidget::makeReadOnly() +void DebuggerKitConfigWidget::makeReadOnly() { m_chooser->setEnabled(false); } -void DebuggerProfileConfigWidget::apply() +void DebuggerKitConfigWidget::apply() { Utils::FileName fn = m_chooser->fileName(); - DebuggerProfileInformation::setDebuggerCommand(m_profile, fn); + DebuggerKitInformation::setDebuggerCommand(m_kit, fn); } -void DebuggerProfileConfigWidget::discard() +void DebuggerKitConfigWidget::discard() { - m_chooser->setFileName(DebuggerProfileInformation::debuggerCommand(m_profile)); + m_chooser->setFileName(DebuggerKitInformation::debuggerCommand(m_kit)); } -bool DebuggerProfileConfigWidget::isDirty() const +bool DebuggerKitConfigWidget::isDirty() const { - return m_chooser->fileName() != DebuggerProfileInformation::debuggerCommand(m_profile); + return m_chooser->fileName() != DebuggerKitInformation::debuggerCommand(m_kit); } -QWidget *DebuggerProfileConfigWidget::buttonWidget() const +QWidget *DebuggerKitConfigWidget::buttonWidget() const { return m_chooser->buttonAtIndex(1); } -void DebuggerProfileConfigWidget::autoDetectDebugger() +void DebuggerKitConfigWidget::autoDetectDebugger() { - QVariant v = m_info->defaultValue(m_profile); + QVariant v = m_info->defaultValue(m_kit); m_chooser->setFileName(Utils::FileName::fromString(v.toString())); } } // namespace Internal - } // namespace Debugger diff --git a/src/plugins/debugger/debuggerprofileconfigwidget.h b/src/plugins/debugger/debuggerkitconfigwidget.h similarity index 71% rename from src/plugins/debugger/debuggerprofileconfigwidget.h rename to src/plugins/debugger/debuggerkitconfigwidget.h index f87b89f1b39..b818f3817f4 100644 --- a/src/plugins/debugger/debuggerprofileconfigwidget.h +++ b/src/plugins/debugger/debuggerkitconfigwidget.h @@ -28,33 +28,33 @@ ** **************************************************************************/ -#ifndef DEBUGGER_DEBUGGERPROFILECONFIGWIDGET_H -#define DEBUGGER_DEBUGGERPROFILECONFIGWIDGET_H +#ifndef DEBUGGER_DEBUGGERKITCONFIGWIDGET_H +#define DEBUGGER_DEBUGGERKITCONFIGWIDGET_H -#include +#include #include -#include +#include -namespace ProjectExplorer { class Profile; } +namespace ProjectExplorer { class Kit; } namespace Utils { class PathChooser; } namespace Debugger { -class DebuggerProfileInformation; +class DebuggerKitInformation; namespace Internal { // ----------------------------------------------------------------------- -// DebuggerProfileConfigWidget: +// DebuggerKitConfigWidget: // ----------------------------------------------------------------------- -class DebuggerProfileConfigWidget : public ProjectExplorer::ProfileConfigWidget +class DebuggerKitConfigWidget : public ProjectExplorer::KitConfigWidget { Q_OBJECT public: - DebuggerProfileConfigWidget(ProjectExplorer::Profile *p, - const DebuggerProfileInformation *pi, - QWidget *parent = 0); + DebuggerKitConfigWidget(ProjectExplorer::Kit *p, + const DebuggerKitInformation *ki, + QWidget *parent = 0); QString displayName() const; @@ -69,12 +69,12 @@ private slots: void autoDetectDebugger(); private: - ProjectExplorer::Profile *m_profile; - const DebuggerProfileInformation *m_info; + ProjectExplorer::Kit *m_kit; + const DebuggerKitInformation *m_info; Utils::PathChooser *m_chooser; }; } // namespace Internal } // namespace Debugger -#endif // DEBUGGER_DEBUGGERPROFILEINFORMATION_H +#endif // DEBUGGER_DEBUGGERKITINFORMATION_H diff --git a/src/plugins/debugger/debuggerprofileinformation.cpp b/src/plugins/debugger/debuggerkitinformation.cpp similarity index 85% rename from src/plugins/debugger/debuggerprofileinformation.cpp rename to src/plugins/debugger/debuggerkitinformation.cpp index f794bbc6342..8d7db74f57f 100644 --- a/src/plugins/debugger/debuggerprofileinformation.cpp +++ b/src/plugins/debugger/debuggerkitinformation.cpp @@ -28,9 +28,9 @@ ** **************************************************************************/ -#include "debuggerprofileinformation.h" +#include "debuggerkitinformation.h" -#include "debuggerprofileconfigwidget.h" +#include "debuggerkitconfigwidget.h" #include #include @@ -115,30 +115,30 @@ static QPair autoDetectCdbDebugger() namespace Debugger { // -------------------------------------------------------------------------- -// DebuggerProfileInformation: +// DebuggerKitInformation: // -------------------------------------------------------------------------- static const char DEBUGGER_INFORMATION[] = "Debugger.Information"; -DebuggerProfileInformation::DebuggerProfileInformation() +DebuggerKitInformation::DebuggerKitInformation() { - setObjectName(QLatin1String("DebuggerProfileInformation")); + setObjectName(QLatin1String("DebuggerKitInformation")); } -Core::Id DebuggerProfileInformation::dataId() const +Core::Id DebuggerKitInformation::dataId() const { static Core::Id id = Core::Id(DEBUGGER_INFORMATION); return id; } -unsigned int DebuggerProfileInformation::priority() const +unsigned int DebuggerKitInformation::priority() const { return 28000; } -QVariant DebuggerProfileInformation::defaultValue(Profile *p) const +QVariant DebuggerKitInformation::defaultValue(Kit *k) const { - ToolChain *tc = ToolChainProfileInformation::toolChain(p); + ToolChain *tc = ToolChainKitInformation::toolChain(k); Abi abi = Abi::hostAbi(); if (tc) abi = tc->targetAbi(); @@ -166,11 +166,11 @@ QVariant DebuggerProfileInformation::defaultValue(Profile *p) const return env.searchInPath(debugger); } -QList DebuggerProfileInformation::validate(Profile *p) const +QList DebuggerKitInformation::validate(Kit *k) const { const Core::Id id(Constants::TASK_CATEGORY_BUILDSYSTEM); QList result; - FileName dbg = debuggerCommand(p); + FileName dbg = debuggerCommand(k); if (dbg.isEmpty()) { result << Task(Task::Warning, tr("No debugger set up."), FileName(), -1, id); return result; @@ -182,7 +182,7 @@ QList DebuggerProfileInformation::validate(Profile *p) const else if (!fi.isExecutable()) result << Task(Task::Error, tr("Debugger not exectutable."), FileName(), -1, id); - if (ToolChain *tc = ToolChainProfileInformation::toolChain(p)) { + if (ToolChain *tc = ToolChainKitInformation::toolChain(k)) { // We need an absolute path to be able to locate Python on Windows. const Abi abi = tc->targetAbi(); if (abi.os() == Abi::WindowsOS && !fi.isAbsolute()) { @@ -202,25 +202,25 @@ QList DebuggerProfileInformation::validate(Profile *p) const return result; } -ProfileConfigWidget *DebuggerProfileInformation::createConfigWidget(Profile *p) const +KitConfigWidget *DebuggerKitInformation::createConfigWidget(Kit *k) const { - return new Internal::DebuggerProfileConfigWidget(p, this); + return new Internal::DebuggerKitConfigWidget(k, this); } -ProfileInformation::ItemList DebuggerProfileInformation::toUserOutput(Profile *p) const +KitInformation::ItemList DebuggerKitInformation::toUserOutput(Kit *k) const { - return ItemList() << qMakePair(tr("Debugger"), debuggerCommand(p).toUserOutput()); + return ItemList() << qMakePair(tr("Debugger"), debuggerCommand(k).toUserOutput()); } -FileName DebuggerProfileInformation::debuggerCommand(const Profile *p) +FileName DebuggerKitInformation::debuggerCommand(const Kit *k) { - return FileName::fromString(p ? p->value(Core::Id(DEBUGGER_INFORMATION)).toString() : QString()); + return FileName::fromString(k ? k->value(Core::Id(DEBUGGER_INFORMATION)).toString() : QString()); } -void DebuggerProfileInformation::setDebuggerCommand(Profile *p, const FileName &command) +void DebuggerKitInformation::setDebuggerCommand(Kit *k, const FileName &command) { - QTC_ASSERT(p, return); - p->setValue(Core::Id(DEBUGGER_INFORMATION), command.toString()); + QTC_ASSERT(k, return); + k->setValue(Core::Id(DEBUGGER_INFORMATION), command.toString()); } } // namespace Debugger diff --git a/src/plugins/debugger/debuggerprofileinformation.h b/src/plugins/debugger/debuggerkitinformation.h similarity index 66% rename from src/plugins/debugger/debuggerprofileinformation.h rename to src/plugins/debugger/debuggerkitinformation.h index ae409c96f55..e6d9dab6c81 100644 --- a/src/plugins/debugger/debuggerprofileinformation.h +++ b/src/plugins/debugger/debuggerkitinformation.h @@ -28,38 +28,38 @@ ** **************************************************************************/ -#ifndef DEBUGGER_DEBUGGERPROFILEINFORMATION_H -#define DEBUGGER_DEBUGGERPROFILEINFORMATION_H +#ifndef DEBUGGER_DEBUGGERKITINFORMATION_H +#define DEBUGGER_DEBUGGERKITINFORMATION_H #include "debugger_global.h" -#include +#include namespace Debugger { -class DEBUGGER_EXPORT DebuggerProfileInformation : public ProjectExplorer::ProfileInformation +class DEBUGGER_EXPORT DebuggerKitInformation : public ProjectExplorer::KitInformation { Q_OBJECT public: - DebuggerProfileInformation(); + DebuggerKitInformation(); Core::Id dataId() const; unsigned int priority() const; // the higher the closer to the top. - QVariant defaultValue(ProjectExplorer::Profile *p) const; + QVariant defaultValue(ProjectExplorer::Kit *k) const; - QList validate(ProjectExplorer::Profile *p) const; + QList validate(ProjectExplorer::Kit *k) const; - ProjectExplorer::ProfileConfigWidget *createConfigWidget(ProjectExplorer::Profile *p) const; + ProjectExplorer::KitConfigWidget *createConfigWidget(ProjectExplorer::Kit *k) const; - ItemList toUserOutput(ProjectExplorer::Profile *p) const; + ItemList toUserOutput(ProjectExplorer::Kit *k) const; - static Utils::FileName debuggerCommand(const ProjectExplorer::Profile *p); - static void setDebuggerCommand(ProjectExplorer::Profile *p, const Utils::FileName &command); + static Utils::FileName debuggerCommand(const ProjectExplorer::Kit *k); + static void setDebuggerCommand(ProjectExplorer::Kit *k, const Utils::FileName &command); }; } // namespace Debugger -#endif // DEBUGGER_DEBUGGERPROFILEINFORMATION_H +#endif // DEBUGGER_DEBUGGERKITINFORMATION_H diff --git a/src/plugins/debugger/debuggerplugin.cpp b/src/plugins/debugger/debuggerplugin.cpp index 13546e60fe0..9ebe9948588 100644 --- a/src/plugins/debugger/debuggerplugin.cpp +++ b/src/plugins/debugger/debuggerplugin.cpp @@ -41,7 +41,7 @@ #include "debuggerrunner.h" #include "debuggerruncontrolfactory.h" #include "debuggerstringutils.h" -#include "debuggerprofileinformation.h" +#include "debuggerkitinformation.h" #include "memoryagent.h" #include "breakpoint.h" #include "breakhandler.h" @@ -101,9 +101,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include #include #include @@ -561,13 +561,13 @@ static inline QString executableForPid(qint64 pid) return QString(); } -class AbiProfileMatcher : public ProfileMatcher +class AbiKitMatcher : public KitMatcher { public: - explicit AbiProfileMatcher(const QList &abis) : m_abis(abis) {} - bool matches(const Profile *p) const + explicit AbiKitMatcher(const QList &abis) : m_abis(abis) {} + bool matches(const Kit *p) const { - if (const ToolChain *tc = ToolChainProfileInformation::toolChain(p)) + if (const ToolChain *tc = ToolChainKitInformation::toolChain(p)) return m_abis.contains(tc->targetAbi()); return false; } @@ -576,13 +576,13 @@ private: const QList m_abis; }; -class CompatibleAbiProfileMatcher : public ProfileMatcher +class CompatibleAbiKitMatcher : public KitMatcher { public: - explicit CompatibleAbiProfileMatcher(const QList &abis) : m_abis(abis) {} - bool matches(const Profile *p) const + explicit CompatibleAbiKitMatcher(const QList &abis) : m_abis(abis) {} + bool matches(const Kit *p) const { - if (const ToolChain *tc = ToolChainProfileInformation::toolChain(p)) + if (const ToolChain *tc = ToolChainKitInformation::toolChain(p)) foreach (const Abi &a, m_abis) if (a.isCompatibleWith(tc->targetAbi())) return true; @@ -593,14 +593,14 @@ private: const QList m_abis; }; -class CdbMatcher : ProfileMatcher +class CdbMatcher : KitMatcher { public: CdbMatcher(char wordWidth = 0) : m_wordWidth(wordWidth) {} - bool matches(const Profile *profile) const + bool matches(const Kit *k) const { - const ToolChain *tc = ToolChainProfileInformation::toolChain(profile); + const ToolChain *tc = ToolChainKitInformation::toolChain(k); QTC_ASSERT(tc, return false); const Abi abi = tc->targetAbi(); if (abi.architecture() != Abi::X86Architecture @@ -615,31 +615,31 @@ public: return true; } - // Find a CDB profile for debugging unknown processes. + // Find a CDB kit for debugging unknown processes. // On a 64bit OS, prefer a 64bit debugger. - static Profile *findUniversalCdbProfile() + static Kit *findUniversalCdbKit() { #ifdef Q_OS_WIN if (Utils::winIs64BitSystem()) { CdbMatcher matcher64(64); - if (Profile *cdb64Profile = ProfileManager::instance()->find(&matcher64)) - return cdb64Profile; + if (Kit *cdb64Kit = KitManager::instance()->find(&matcher64)) + return cdb64Kit; } #endif CdbMatcher matcher; - return ProfileManager::instance()->find(&matcher); + return KitManager::instance()->find(&matcher); } private: const char m_wordWidth; }; -void fillParameters(DebuggerStartParameters *sp, const Profile *profile /* = 0 */) +void fillParameters(DebuggerStartParameters *sp, const Kit *kit /* = 0 */) { - if (!profile) { + if (!kit) { // This code can only be reached when starting via the command line // (-debug pid or executable) or attaching from runconfiguration - // without specifying a profile. Try to find a profile via ABI. + // without specifying a kit. Try to find a kit via ABI. QList abis; if (sp->toolChainAbi.isValid()) { abis.push_back(sp->toolChainAbi); @@ -653,25 +653,25 @@ void fillParameters(DebuggerStartParameters *sp, const Profile *profile /* = 0 * abis = Abi::abisOfBinary(Utils::FileName::fromString(sp->executable)); } if (!abis.isEmpty()) { - AbiProfileMatcher matcher(abis); - profile = ProfileManager::instance()->find(&matcher); - if (!profile) { - CompatibleAbiProfileMatcher matcher(abis); - profile = ProfileManager::instance()->find(&matcher); + AbiKitMatcher matcher(abis); + kit = KitManager::instance()->find(&matcher); + if (!kit) { + CompatibleAbiKitMatcher matcher(abis); + kit = KitManager::instance()->find(&matcher); } } - if (!profile) - profile = ProfileManager::instance()->defaultProfile(); + if (!kit) + kit = KitManager::instance()->defaultKit(); } - sp->sysRoot = SysRootProfileInformation::sysRoot(profile).toString(); - sp->debuggerCommand = DebuggerProfileInformation::debuggerCommand(profile).toString(); + sp->sysRoot = SysRootKitInformation::sysRoot(kit).toString(); + sp->debuggerCommand = DebuggerKitInformation::debuggerCommand(kit).toString(); - ToolChain *tc = ToolChainProfileInformation::toolChain(profile); + ToolChain *tc = ToolChainKitInformation::toolChain(kit); if (tc) sp->toolChainAbi = tc->targetAbi(); - IDevice::ConstPtr device = DeviceProfileInformation::device(profile); + IDevice::ConstPtr device = DeviceKitInformation::device(kit); if (device) { sp->connParams = device->sshParameters(); sp->remoteChannel = sp->connParams.host + QLatin1Char(':') + QString::number(sp->connParams.port); @@ -1388,14 +1388,14 @@ bool DebuggerPluginPrivate::parseArgument(QStringList::const_iterator &it, { const QString &option = *it; // '-debug ' - // '-debug [,server=][,core=][,profile=]' + // '-debug [,server=][,core=][,kit=]' if (*it == _("-debug")) { ++it; if (it == cend) { *errorMessage = msgParameterMissing(*it); return false; } - Profile *profile = 0; + Kit *kit = 0; DebuggerStartParameters sp; qulonglong pid = it->toULongLong(); if (pid) { @@ -1433,12 +1433,12 @@ bool DebuggerPluginPrivate::parseArgument(QStringList::const_iterator &it, sp.displayName = tr("Core file \"%1\"").arg(sp.coreFile); sp.startMessage = tr("Attaching to core file %1.").arg(sp.coreFile); } - else if (key == QLatin1String("profile")) { - profile = ProfileManager::instance()->find(Id(val)); + else if (key == QLatin1String("kit")) { + kit = KitManager::instance()->find(Id(val)); } } } - fillParameters(&sp, profile); + fillParameters(&sp, kit); if (sp.startMode == StartExternal) { sp.displayName = tr("Executable file \"%1\"").arg(sp.executable); sp.startMessage = tr("Debugging file %1.").arg(sp.executable); @@ -1458,7 +1458,7 @@ bool DebuggerPluginPrivate::parseArgument(QStringList::const_iterator &it, return false; } DebuggerStartParameters sp; - fillParameters(&sp, CdbMatcher::findUniversalCdbProfile()); + fillParameters(&sp, CdbMatcher::findUniversalCdbKit()); sp.startMode = AttachCrashedExternal; sp.crashParameter = it->section(QLatin1Char(':'), 0, 0); sp.attachPID = it->section(QLatin1Char(':'), 1, 1).toULongLong(); @@ -1579,7 +1579,7 @@ void DebuggerPluginPrivate::attachCore() { AttachCoreDialog dlg(mainWindow()); - dlg.setProfileId(Id(configValue(_("LastExternalProfile")).toString())); + dlg.setKitId(Id(configValue(_("LastExternalProfile")).toString())); dlg.setLocalExecutableFile(configValue(_("LastExternalExecutableFile")).toString()); dlg.setLocalCoreFile(configValue(_("LastLocalCoreFile")).toString()); dlg.setRemoteCoreFile(configValue(_("LastRemoteCoreFile")).toString()); @@ -1591,12 +1591,12 @@ void DebuggerPluginPrivate::attachCore() setConfigValue(_("LastExternalExecutableFile"), dlg.localExecutableFile()); setConfigValue(_("LastLocalCoreFile"), dlg.localCoreFile()); setConfigValue(_("LastRemoteCoreFile"), dlg.remoteCoreFile()); - setConfigValue(_("LastExternalProfile"), dlg.profile()->id().toString()); + setConfigValue(_("LastExternalProfile"), dlg.kit()->id().toString()); setConfigValue(_("LastExternalStartScript"), dlg.overrideStartScript()); DebuggerStartParameters sp; QString display = dlg.isLocal() ? dlg.localCoreFile() : dlg.remoteCoreFile(); - fillParameters(&sp, dlg.profile()); + fillParameters(&sp, dlg.kit()); sp.masterEngineType = GdbEngineType; sp.executable = dlg.localExecutableFile(); sp.coreFile = dlg.localCoreFile(); @@ -1611,9 +1611,9 @@ void DebuggerPluginPrivate::startRemoteCdbSession() { const QString connectionKey = _("CdbRemoteConnection"); DebuggerStartParameters sp; - Profile *profile = CdbMatcher::findUniversalCdbProfile(); - QTC_ASSERT(profile, return); - fillParameters(&sp, profile); + Kit *kit = CdbMatcher::findUniversalCdbKit(); + QTC_ASSERT(kit, return); + fillParameters(&sp, kit); sp.startMode = AttachToRemoteServer; sp.closeMode = KillAtClose; StartRemoteCdbDialog dlg(mainWindow()); @@ -1660,10 +1660,10 @@ void DebuggerPluginPrivate::attachToProcess(bool startServerOnly) } dlg->setAttribute(Qt::WA_DeleteOnClose); - ProfileChooser *profileChooser = dlg->profileChooser(); - Profile *profile = profileChooser->currentProfile(); - QTC_ASSERT(profile, return); - IDevice::ConstPtr device = DeviceProfileInformation::device(profile); + KitChooser *kitChooser = dlg->kitChooser(); + Kit *kit = kitChooser->currentKit(); + QTC_ASSERT(kit, return); + IDevice::ConstPtr device = DeviceKitInformation::device(kit); QTC_ASSERT(device, return); DeviceProcess process = dlg->currentProcess(); if (process.pid == 0) { @@ -1683,7 +1683,7 @@ void DebuggerPluginPrivate::attachToProcess(bool startServerOnly) if (device->type() == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE) { DebuggerStartParameters sp; - fillParameters(&sp, profile); + fillParameters(&sp, kit); sp.attachPID = process.pid; sp.displayName = tr("Process %1").arg(process.pid); sp.executable = process.exe; @@ -1704,11 +1704,11 @@ void DebuggerPluginPrivate::attachExternalApplication(ProjectExplorer::RunContro sp.startMode = AttachExternal; sp.closeMode = DetachAtClose; sp.toolChainAbi = rc->abi(); - Profile *profile = 0; + Kit *kit = 0; if (const RunConfiguration *runConfiguration = rc->runConfiguration()) if (const Target *target = runConfiguration->target()) - profile = target->profile(); - fillParameters(&sp, profile); + kit = target->kit(); + fillParameters(&sp, kit); DebuggerRunControlFactory::createAndScheduleRun(sp); } @@ -1723,19 +1723,19 @@ void DebuggerPluginPrivate::attachToQmlPort() else dlg.setPort(sp.qmlServerPort); - const QVariant profileId = configValue(_("LastProfile")); - if (profileId.isValid()) - dlg.setProfileId(Id(profileId.toString())); + const QVariant kitId = configValue(_("LastProfile")); + if (kitId.isValid()) + dlg.setKitId(Id(kitId.toString())); if (dlg.exec() != QDialog::Accepted) return; - Profile *profile = dlg.profile(); - QTC_ASSERT(profile, return); + Kit *kit = dlg.kit(); + QTC_ASSERT(kit, return); setConfigValue(_("LastQmlServerPort"), dlg.port()); - setConfigValue(_("LastProfile"), profile->id().toString()); + setConfigValue(_("LastProfile"), kit->id().toString()); - fillParameters(&sp, profile); + fillParameters(&sp, kit); sp.qmlServerAddress = sp.connParams.host; sp.qmlServerPort = dlg.port(); sp.startMode = AttachToRemoteProcess; @@ -3369,7 +3369,7 @@ bool DebuggerPlugin::initialize(const QStringList &arguments, QString *errorMess mstart->addSeparator(globalcontext, Constants::G_GENERAL); mstart->addSeparator(globalcontext, Constants::G_SPECIAL); - ProfileManager::instance()->registerProfileInformation(new DebuggerProfileInformation); + KitManager::instance()->registerKitInformation(new DebuggerKitInformation); return theDebuggerCore->initialize(arguments, errorMessage); } @@ -3463,12 +3463,12 @@ static Target *activeTarget() return project->activeTarget(); } -static Profile *currentProfile() +static Kit *currentKit() { Target *t = activeTarget(); if (!t || !t->isEnabled()) return 0; - return activeTarget()->profile(); + return activeTarget()->kit(); } static LocalApplicationRunConfiguration *activeLocalRunConfiguration() @@ -3516,7 +3516,7 @@ void DebuggerPluginPrivate::testPythonDumpers1() void DebuggerPluginPrivate::testPythonDumpers2() { DebuggerStartParameters sp; - fillParameters(&sp, currentProfile()); + fillParameters(&sp, currentKit()); sp.executable = activeLocalRunConfiguration()->executable(); testRunProject(sp, TestCallBack(this, "testPythonDumpers3")); } @@ -3548,7 +3548,7 @@ void DebuggerPluginPrivate::testStateMachine1() void DebuggerPluginPrivate::testStateMachine2() { DebuggerStartParameters sp; - fillParameters(&sp, currentProfile()); + fillParameters(&sp, currentKit()); sp.executable = activeLocalRunConfiguration()->executable(); sp.testCase = TestNoBoundsOfCurrentFunction; testRunProject(sp, TestCallBack(this, "testStateMachine3")); diff --git a/src/plugins/debugger/debuggerrunner.cpp b/src/plugins/debugger/debuggerrunner.cpp index 69a084b3e5b..85d96b9f50a 100644 --- a/src/plugins/debugger/debuggerrunner.cpp +++ b/src/plugins/debugger/debuggerrunner.cpp @@ -39,7 +39,7 @@ #include "debuggerplugin.h" #include "debuggerstringutils.h" #include "debuggerstartparameters.h" -#include "debuggerprofileinformation.h" +#include "debuggerkitinformation.h" #include "lldb/lldbenginehost.h" #include "debuggertooltipmanager.h" @@ -485,8 +485,8 @@ static DebuggerStartParameters localStartParameters(RunConfiguration *runConfigu QTC_ASSERT(rc, return sp); Target *target = runConfiguration->target(); - Profile *profile = target ? target->profile() : ProfileManager::instance()->defaultProfile(); - fillParameters(&sp, profile); + Kit *kit = target ? target->kit() : KitManager::instance()->defaultKit(); + fillParameters(&sp, kit); sp.environment = rc->environment(); sp.workingDirectory = rc->workingDirectory(); @@ -624,7 +624,7 @@ static void fixupEngineTypes(DebuggerStartParameters &sp, RunConfiguration *rc) if (rc) { DebuggerRunConfigurationAspect *aspect = rc->debuggerAspect(); if (const Target *target = rc->target()) - fillParameters(&sp, target->profile()); + fillParameters(&sp, target->kit()); const bool useCppDebugger = aspect->useCppDebugger(); const bool useQmlDebugger = aspect->useQmlDebugger(); if (useQmlDebugger) { diff --git a/src/plugins/debugger/debuggerstartparameters.h b/src/plugins/debugger/debuggerstartparameters.h index acb28354dbd..09e0a4f5543 100644 --- a/src/plugins/debugger/debuggerstartparameters.h +++ b/src/plugins/debugger/debuggerstartparameters.h @@ -38,7 +38,7 @@ #include #include #include -#include +#include #include #include @@ -140,7 +140,7 @@ public: namespace Internal { -void fillParameters(DebuggerStartParameters *sp, const ProjectExplorer::Profile *profile = 0); +void fillParameters(DebuggerStartParameters *sp, const ProjectExplorer::Kit *kit = 0); } // namespace Internal } // namespace Debugger diff --git a/src/plugins/debugger/gdb/startgdbserverdialog.cpp b/src/plugins/debugger/gdb/startgdbserverdialog.cpp index dbeaea6dc2a..20a08293ced 100644 --- a/src/plugins/debugger/gdb/startgdbserverdialog.cpp +++ b/src/plugins/debugger/gdb/startgdbserverdialog.cpp @@ -33,14 +33,14 @@ #include "debuggercore.h" #include "debuggermainwindow.h" #include "debuggerplugin.h" -#include "debuggerprofileinformation.h" +#include "debuggerkitinformation.h" #include "debuggerrunner.h" #include "debuggerruncontrolfactory.h" #include "debuggerstartparameters.h" #include #include -#include +#include #include #include #include @@ -69,7 +69,7 @@ public: DeviceProcessesDialog *dialog; bool startServerOnly; DeviceProcess process; - Profile *profile; + Kit *kit; IDevice::ConstPtr device; DeviceUsedPortsGatherer gatherer; @@ -81,9 +81,9 @@ GdbServerStarter::GdbServerStarter(DeviceProcessesDialog *dlg, bool startServerO { d = new StartGdbServerDialogPrivate; d->dialog = dlg; - d->profile = dlg->profileChooser()->currentProfile(); + d->kit = dlg->kitChooser()->currentKit(); d->process = dlg->currentProcess(); - d->device = DeviceProfileInformation::device(d->profile); + d->device = DeviceKitInformation::device(d->kit); d->startServerOnly = startServerOnly; } @@ -169,7 +169,7 @@ void GdbServerStarter::handleProcessErrorOutput() void GdbServerStarter::attach(int port) { - QString sysroot = SysRootProfileInformation::sysRoot(d->profile).toString(); + QString sysroot = SysRootKitInformation::sysRoot(d->kit).toString(); QString binary; QString localExecutable; QString candidate = sysroot + d->process.exe; @@ -207,7 +207,7 @@ void GdbServerStarter::attach(int port) } DebuggerStartParameters sp; - fillParameters(&sp, d->profile); + fillParameters(&sp, d->kit); sp.masterEngineType = GdbEngineType; sp.connParams.port = port; sp.displayName = tr("Remote: \"%1:%2\"").arg(sp.connParams.host).arg(port); diff --git a/src/plugins/debugger/gdb/startgdbserverdialog.h b/src/plugins/debugger/gdb/startgdbserverdialog.h index 285848996ec..e8f019241d8 100644 --- a/src/plugins/debugger/gdb/startgdbserverdialog.h +++ b/src/plugins/debugger/gdb/startgdbserverdialog.h @@ -32,7 +32,7 @@ #define STARTGDBSERVERDIALOG_H #include "debugger_global.h" -#include +#include #include namespace Debugger { diff --git a/src/plugins/debugger/loadcoredialog.cpp b/src/plugins/debugger/loadcoredialog.cpp index 374025cd079..aee1ce75db9 100644 --- a/src/plugins/debugger/loadcoredialog.cpp +++ b/src/plugins/debugger/loadcoredialog.cpp @@ -36,8 +36,8 @@ #include #include -#include -#include +#include +#include #include #include #include @@ -93,7 +93,7 @@ class SelectRemoteFileDialog : public QDialog public: explicit SelectRemoteFileDialog(QWidget *parent); - void attachToDevice(Profile *profile); + void attachToDevice(Kit *k); QString localFile() const { return m_localFile; } QString remoteFile() const { return m_remoteFile; } @@ -151,11 +151,11 @@ SelectRemoteFileDialog::SelectRemoteFileDialog(QWidget *parent) SLOT(handleConnectionError(QString))); } -void SelectRemoteFileDialog::attachToDevice(Profile *profile) +void SelectRemoteFileDialog::attachToDevice(Kit *k) { m_buttonBox->button(QDialogButtonBox::Ok)->setEnabled(true); - QTC_ASSERT(profile, return); - IDevice::ConstPtr device = DeviceProfileInformation::device(profile); + QTC_ASSERT(k, return); + IDevice::ConstPtr device = DeviceKitInformation::device(k); QTC_ASSERT(device, return); QSsh::SshConnectionParameters sshParams = device->sshParameters(); m_fileSystemModel.setSshConnection(sshParams); @@ -223,7 +223,7 @@ void SelectRemoteFileDialog::selectFile() class AttachCoreDialogPrivate { public: - ProfileChooser *profileChooser; + KitChooser *kitChooser; QSettings *settings; @@ -245,7 +245,7 @@ AttachCoreDialog::AttachCoreDialog(QWidget *parent) d->settings = ICore::settings(); - d->profileChooser = new ProfileChooser(this); + d->kitChooser = new KitChooser(this); d->selectRemoteCoreButton = new QPushButton(tr("Browse..."), this); d->remoteCoreFileName = new QLineEdit(this); @@ -277,7 +277,7 @@ AttachCoreDialog::AttachCoreDialog(QWidget *parent) formLayout->setContentsMargins(0, 0, 0, 0); formLayout->setHorizontalSpacing(6); formLayout->setVerticalSpacing(6); - formLayout->addRow(tr("Target:"), d->profileChooser); + formLayout->addRow(tr("Kit:"), d->kitChooser); formLayout->addRow(tr("&Executable:"), d->localExecFileName); formLayout->addRow(tr("Core file:"), coreLayout); formLayout->addRow(tr("Override &start script:"), d->overrideStartScriptFileName); @@ -296,7 +296,7 @@ AttachCoreDialog::AttachCoreDialog(QWidget *parent) connect(d->selectRemoteCoreButton, SIGNAL(clicked()), SLOT(selectRemoteCoreFile())); connect(d->remoteCoreFileName, SIGNAL(textChanged(QString)), SLOT(changed())); - connect(d->profileChooser, SIGNAL(activated(int)), SLOT(changed())); + connect(d->kitChooser, SIGNAL(activated(int)), SLOT(changed())); connect(d->buttonBox, SIGNAL(rejected()), SLOT(reject())); connect(d->buttonBox, SIGNAL(accepted()), SLOT(accept())); } @@ -308,19 +308,19 @@ AttachCoreDialog::~AttachCoreDialog() bool AttachCoreDialog::isLocal() const { - Profile *profile = d->profileChooser->currentProfile(); - QTC_ASSERT(profile, return false); - IDevice::ConstPtr device = DeviceProfileInformation::device(profile); + Kit *k = d->kitChooser->currentKit(); + QTC_ASSERT(k, return false); + IDevice::ConstPtr device = DeviceKitInformation::device(k); QTC_ASSERT(device, return false); SshConnectionParameters sshParams = device->sshParameters(); d->settings->setValue(QLatin1String("LastProfile"), - d->profileChooser->currentProfileId().toString()); + d->kitChooser->currentKitId().toString()); return sshParams.host.isEmpty(); } void AttachCoreDialog::changed() { - bool isValid = d->profileChooser->currentIndex() >= 0 + bool isValid = d->kitChooser->currentIndex() >= 0 && !localCoreFile().isEmpty(); d->buttonBox->button(QDialogButtonBox::Ok)->setEnabled(isValid); @@ -341,7 +341,7 @@ void AttachCoreDialog::selectRemoteCoreFile() QTC_ASSERT(!isLocal(), return); SelectRemoteFileDialog dlg(this); dlg.setWindowTitle(tr("Select Remote Core File")); - dlg.attachToDevice(d->profileChooser->currentProfile()); + dlg.attachToDevice(d->kitChooser->currentKit()); if (dlg.exec() == QDialog::Rejected) return; d->localCoreFileName->setPath(dlg.localFile()); @@ -379,15 +379,15 @@ QString AttachCoreDialog::remoteCoreFile() const return d->remoteCoreFileName->text(); } -void AttachCoreDialog::setProfileId(const Core::Id &id) +void AttachCoreDialog::setKitId(const Core::Id &id) { - d->profileChooser->setCurrentProfileId(id); + d->kitChooser->setCurrentKitId(id); changed(); } -Profile *AttachCoreDialog::profile() const +Kit *AttachCoreDialog::kit() const { - return d->profileChooser->currentProfile(); + return d->kitChooser->currentKit(); } QString AttachCoreDialog::overrideStartScript() const diff --git a/src/plugins/debugger/loadcoredialog.h b/src/plugins/debugger/loadcoredialog.h index 34cc05bc019..3efcfe4cea2 100644 --- a/src/plugins/debugger/loadcoredialog.h +++ b/src/plugins/debugger/loadcoredialog.h @@ -34,7 +34,7 @@ #include namespace Core { class Id; } -namespace ProjectExplorer { class Profile; } +namespace ProjectExplorer { class Kit; } namespace Debugger { namespace Internal { @@ -56,12 +56,12 @@ public: bool isLocal() const; // For persistance. - ProjectExplorer::Profile *profile() const; + ProjectExplorer::Kit *kit() const; void setLocalExecutableFile(const QString &executable); void setLocalCoreFile(const QString &core); void setRemoteCoreFile(const QString &core); void setOverrideStartScript(const QString &scriptName); - void setProfileId(const Core::Id &id); + void setKitId(const Core::Id &id); private slots: void changed(); diff --git a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp index 8dffe02457a..727476103b7 100644 --- a/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp +++ b/src/plugins/genericprojectmanager/genericbuildconfiguration.cpp @@ -34,7 +34,7 @@ #include "genericproject.h" #include -#include +#include #include #include #include @@ -113,7 +113,7 @@ BuildConfigWidget *GenericBuildConfiguration::createConfigWidget() IOutputParser *GenericBuildConfiguration::createOutputParser() const { - ToolChain *tc = ToolChainProfileInformation::toolChain(target()->profile()); + ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit()); return tc ? tc->outputParser() : 0; } @@ -223,7 +223,7 @@ BuildConfiguration *GenericBuildConfigurationFactory::restore(Target *parent, co bool GenericBuildConfigurationFactory::canHandle(const Target *t) const { - if (!t->project()->supportsProfile(t->profile())) + if (!t->project()->supportsKit(t->kit())) return false; return qobject_cast(t->project()); } diff --git a/src/plugins/genericprojectmanager/genericmakestep.cpp b/src/plugins/genericprojectmanager/genericmakestep.cpp index 97ae8253aea..6100366af41 100644 --- a/src/plugins/genericprojectmanager/genericmakestep.cpp +++ b/src/plugins/genericprojectmanager/genericmakestep.cpp @@ -37,7 +37,7 @@ #include #include #include -#include +#include #include #include #include @@ -119,7 +119,7 @@ bool GenericMakeStep::init() setIgnoreReturnValue(m_clean); setOutputParser(new GnuMakeParser()); - ToolChain *tc = ToolChainProfileInformation::toolChain(bc->target()->profile()); + ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit()); if (tc) appendOutputParser(tc->outputParser()); outputParser()->setWorkingDirectory(pp->effectiveWorkingDirectory()); @@ -169,7 +169,7 @@ QString GenericMakeStep::makeCommand() const { QString command = m_makeCommand; if (command.isEmpty()) { - ToolChain *tc = ToolChainProfileInformation::toolChain(target()->profile()); + ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit()); if (tc) command = tc->makeCommand(); else @@ -243,7 +243,7 @@ GenericMakeStepConfigWidget::GenericMakeStepConfigWidget(GenericMakeStep *makeSt connect(ProjectExplorerPlugin::instance(), SIGNAL(settingsChanged()), this, SLOT(updateDetails())); - connect(m_makeStep->target(), SIGNAL(profileChanged()), + connect(m_makeStep->target(), SIGNAL(kitChanged()), this, SLOT(updateMakeOverrrideLabel())); } diff --git a/src/plugins/genericprojectmanager/genericproject.cpp b/src/plugins/genericprojectmanager/genericproject.cpp index 23d533c8775..fbf0bbb2fbf 100644 --- a/src/plugins/genericprojectmanager/genericproject.cpp +++ b/src/plugins/genericprojectmanager/genericproject.cpp @@ -43,8 +43,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include @@ -250,7 +250,7 @@ void GenericProject::refresh(RefreshOptions options) new CPlusPlus::CppModelManagerInterface::ProjectPart); ToolChain *tc = activeTarget() ? - ToolChainProfileInformation::toolChain(activeTarget()->profile()) : 0; + ToolChainKitInformation::toolChain(activeTarget()->kit()) : 0; if (tc) { part->defines = tc->predefinedMacros(QStringList()); part->defines += '\n'; @@ -430,9 +430,9 @@ bool GenericProject::fromMap(const QVariantMap &map) if (!Project::fromMap(map)) return false; - Profile *defaultProfile = ProfileManager::instance()->defaultProfile(); - if (!activeTarget() && defaultProfile) - addTarget(createTarget(defaultProfile)); + Kit *defaultKit = KitManager::instance()->defaultKit(); + if (!activeTarget() && defaultKit) + addTarget(createTarget(defaultKit)); // Sanity check: We need both a buildconfiguration and a runconfiguration! QList targetList = targets(); diff --git a/src/plugins/madde/debianmanager.cpp b/src/plugins/madde/debianmanager.cpp index d3273589acf..d8a7c80599f 100644 --- a/src/plugins/madde/debianmanager.cpp +++ b/src/plugins/madde/debianmanager.cpp @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include #include @@ -612,7 +612,7 @@ DebianManager::ActionStatus DebianManager::createTemplate(Qt4ProjectManager::Qt4 << (packageName + QLatin1Char('_') + AbstractMaemoPackageCreationStep::DefaultVersionNumber); - QtSupport::BaseQtVersion *lqt = QtSupport::QtProfileInformation::qtVersion(bc->target()->profile()); + QtSupport::BaseQtVersion *lqt = QtSupport::QtKitInformation::qtVersion(bc->target()->kit()); if (!lqt) { raiseError(tr("Unable to create Debian templates: No Qt version set.")); return ActionFailed; @@ -653,7 +653,7 @@ DebianManager::ActionStatus DebianManager::createTemplate(Qt4ProjectManager::Qt4 setPackageName(debianDir, packageName); - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(bc->target()->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(bc->target()->kit()); const QByteArray sec = section(deviceType); const QByteArray nameField = packageManagerNameFieldName(deviceType); @@ -674,7 +674,7 @@ Utils::FileName DebianManager::debianDirectory(ProjectExplorer::Target *target) { Utils::FileName path = Utils::FileName::fromString(target->project()->projectDirectory()); path.appendPath(PackagingDirName); - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(target->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(target->kit()); if (deviceType == HarmattanOsType) path.appendPath(QLatin1String("debian_harmattan")); else if (deviceType == Maemo5OsType) diff --git a/src/plugins/madde/maddeqemustartstep.cpp b/src/plugins/madde/maddeqemustartstep.cpp index a2748712d5e..ffcb7f7f0c3 100644 --- a/src/plugins/madde/maddeqemustartstep.cpp +++ b/src/plugins/madde/maddeqemustartstep.cpp @@ -32,7 +32,7 @@ #include "maemoqemumanager.h" #include -#include +#include #include #include @@ -66,7 +66,7 @@ private: } MaemoQemuRuntime rt; - const int qtId = QtSupport::QtProfileInformation::qtVersionId(profile()); + const int qtId = QtSupport::QtKitInformation::qtVersionId(profile()); if (MaemoQemuManager::instance().runtimeForQtVersion(qtId, &rt)) { MaemoQemuManager::instance().startRuntime(); emit errorMessage(tr("Cannot deploy: Qemu was not running. " diff --git a/src/plugins/madde/maddeuploadandinstallpackagesteps.cpp b/src/plugins/madde/maddeuploadandinstallpackagesteps.cpp index 9a5c918f45a..fdadf6017c2 100644 --- a/src/plugins/madde/maddeuploadandinstallpackagesteps.cpp +++ b/src/plugins/madde/maddeuploadandinstallpackagesteps.cpp @@ -35,7 +35,7 @@ #include "maemoqemumanager.h" #include -#include +#include #include #include #include @@ -117,7 +117,7 @@ MaemoUploadAndInstallPackageStep::MaemoUploadAndInstallPackageStep(ProjectExplor void MaemoUploadAndInstallPackageStep::ctor() { setDefaultDisplayName(displayName()); - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(target()->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(target()->kit()); if (deviceType == HarmattanOsType) m_deployService = new HarmattanUploadAndInstallPackageAction(this); else diff --git a/src/plugins/madde/maemodeployconfigurationwidget.cpp b/src/plugins/madde/maemodeployconfigurationwidget.cpp index 8f6829a04e4..007d0301ae3 100644 --- a/src/plugins/madde/maemodeployconfigurationwidget.cpp +++ b/src/plugins/madde/maemodeployconfigurationwidget.cpp @@ -34,7 +34,7 @@ #include "maemoconstants.h" #include "qt4maemodeployconfiguration.h" -#include +#include #include #include #include @@ -130,7 +130,7 @@ void MaemoDeployConfigurationWidget::addDesktopFile() DeployableFile d; d.remoteDir = QLatin1String("/usr/share/applications"); Core::Id deviceType - = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(deployConfiguration()->target()->profile()); + = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(deployConfiguration()->target()->kit()); if (deviceType == Maemo5OsType) d.remoteDir += QLatin1String("/hildon"); d.localFilePath = desktopFilePath; diff --git a/src/plugins/madde/maemodeploymentmounter.cpp b/src/plugins/madde/maemodeploymentmounter.cpp index c7769e0a896..902c9e5ad37 100644 --- a/src/plugins/madde/maemodeploymentmounter.cpp +++ b/src/plugins/madde/maemodeploymentmounter.cpp @@ -34,7 +34,7 @@ #include "maemoremotemounter.h" #include -#include +#include #include #include #include @@ -63,15 +63,15 @@ MaemoDeploymentMounter::~MaemoDeploymentMounter() {} void MaemoDeploymentMounter::setupMounts(SshConnection *connection, const QList &mountSpecs, - const Profile *profile) + const Kit *k) { QTC_ASSERT(m_state == Inactive, return); m_mountSpecs = mountSpecs; m_connection = connection; - m_profile = profile; - m_devConf = DeviceProfileInformation::device(profile); - m_mounter->setParameters(m_devConf, MaemoGlobal::maddeRoot(profile)); + m_kit = k; + m_devConf = DeviceKitInformation::device(k); + m_mounter->setParameters(m_devConf, MaemoGlobal::maddeRoot(k)); connect(m_connection, SIGNAL(error(QSsh::SshError)), SLOT(handleConnectionError())); setState(UnmountingOldDirs); unmount(); diff --git a/src/plugins/madde/maemodeploymentmounter.h b/src/plugins/madde/maemodeploymentmounter.h index 1c25b8e32a9..e3370afdbd7 100644 --- a/src/plugins/madde/maemodeploymentmounter.h +++ b/src/plugins/madde/maemodeploymentmounter.h @@ -36,7 +36,7 @@ #include #include -namespace ProjectExplorer { class Profile; } +namespace ProjectExplorer { class Kit; } namespace QSsh { class SshConnection; } namespace Utils { class FileName; } @@ -55,7 +55,7 @@ public: // Connection must be in connected state. void setupMounts(QSsh::SshConnection *connection, const QList &mountSpecs, - const ProjectExplorer::Profile *profile); + const ProjectExplorer::Kit *k); void tearDownMounts(); signals: @@ -86,7 +86,7 @@ private: ProjectExplorer::IDevice::ConstPtr m_devConf; MaemoRemoteMounter * const m_mounter; QList m_mountSpecs; - const ProjectExplorer::Profile *m_profile; + const ProjectExplorer::Kit *m_kit; }; } // namespace Internal diff --git a/src/plugins/madde/maemodeploystepfactory.cpp b/src/plugins/madde/maemodeploystepfactory.cpp index 475bd7b8f19..b27098a3800 100644 --- a/src/plugins/madde/maemodeploystepfactory.cpp +++ b/src/plugins/madde/maemodeploystepfactory.cpp @@ -41,7 +41,7 @@ #include #include #include -#include +#include #include #include #include @@ -69,7 +69,7 @@ QList MaemoDeployStepFactory::availableCreationIds(BuildStepList *pare return ids; QString platform; - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(parent->target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(parent->target()->kit()); if (version) platform = version->platformName(); @@ -121,7 +121,7 @@ bool MaemoDeployStepFactory::canCreate(BuildStepList *parent, const Core::Id id) BuildStep *MaemoDeployStepFactory::create(BuildStepList *parent, const Core::Id id) { - Core::Id deviceType = DeviceTypeProfileInformation::deviceTypeId(parent->target()->profile()); + Core::Id deviceType = DeviceTypeKitInformation::deviceTypeId(parent->target()->kit()); if (id == MaemoInstallDebianPackageToSysrootStep::Id) return new MaemoInstallDebianPackageToSysrootStep(parent); diff --git a/src/plugins/madde/maemoglobal.cpp b/src/plugins/madde/maemoglobal.cpp index 7ae076e6215..f6881a754a2 100644 --- a/src/plugins/madde/maemoglobal.cpp +++ b/src/plugins/madde/maemoglobal.cpp @@ -33,11 +33,11 @@ #include "maemoqemumanager.h" #include -#include +#include #include #include #include -#include +#include #include #include @@ -58,9 +58,9 @@ namespace { static const QLatin1String binQmake("/bin/qmake" EXEC_SUFFIX); } // namespace -bool MaemoGlobal::hasMaemoDevice(const Profile *p) +bool MaemoGlobal::hasMaemoDevice(const Kit *k) { - IDevice::ConstPtr dev = DeviceProfileInformation::device(p); + IDevice::ConstPtr dev = DeviceKitInformation::device(k); if (dev.isNull()) return false; @@ -68,9 +68,9 @@ bool MaemoGlobal::hasMaemoDevice(const Profile *p) return type == Maemo5OsType || type == HarmattanOsType; } -bool MaemoGlobal::supportsMaemoDevice(const Profile *p) +bool MaemoGlobal::supportsMaemoDevice(const Kit *p) { - const Core::Id type = DeviceTypeProfileInformation::deviceTypeId(p); + const Core::Id type = DeviceTypeKitInformation::deviceTypeId(p); return type == Maemo5OsType || type == HarmattanOsType; } @@ -121,7 +121,7 @@ QString MaemoGlobal::devrootshPath() int MaemoGlobal::applicationIconSize(const Target *target) { - Core::Id deviceType = DeviceTypeProfileInformation::deviceTypeId(target->profile()); + Core::Id deviceType = DeviceTypeKitInformation::deviceTypeId(target->kit()); return deviceType == HarmattanOsType ? 80 : 64; } @@ -144,10 +144,10 @@ QString MaemoGlobal::remoteSourceProfilesCommand() return QString::fromAscii(remoteCall); } -Utils::PortList MaemoGlobal::freePorts(const Profile *profile) +Utils::PortList MaemoGlobal::freePorts(const Kit *k) { - IDevice::ConstPtr device = DeviceProfileInformation::device(profile); - QtSupport::BaseQtVersion *qtVersion = QtSupport::QtProfileInformation::qtVersion(profile); + IDevice::ConstPtr device = DeviceKitInformation::device(k); + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k); if (!device || !qtVersion) return Utils::PortList(); @@ -167,9 +167,9 @@ QString MaemoGlobal::maddeRoot(const QString &qmakePath) return dir.absolutePath(); } -Utils::FileName MaemoGlobal::maddeRoot(const Profile *profile) +Utils::FileName MaemoGlobal::maddeRoot(const Kit *k) { - return SysRootProfileInformation::sysRoot(profile).parentDir().parentDir(); + return SysRootKitInformation::sysRoot(k).parentDir().parentDir(); } QString MaemoGlobal::targetRoot(const QString &qmakePath) diff --git a/src/plugins/madde/maemoglobal.h b/src/plugins/madde/maemoglobal.h index f28e36dcfdc..d8ef3509a55 100644 --- a/src/plugins/madde/maemoglobal.h +++ b/src/plugins/madde/maemoglobal.h @@ -45,7 +45,7 @@ class QProcess; QT_END_NAMESPACE namespace ProjectExplorer { -class Profile; +class Kit; class Target; } // namespace ProjectExplorer @@ -81,8 +81,8 @@ class MaemoGlobal { Q_DECLARE_TR_FUNCTIONS(RemoteLinux::Internal::MaemoGlobal) public: - static bool hasMaemoDevice(const ProjectExplorer::Profile *p); - static bool supportsMaemoDevice(const ProjectExplorer::Profile *p); + static bool hasMaemoDevice(const ProjectExplorer::Kit *k); + static bool supportsMaemoDevice(const ProjectExplorer::Kit *p); static bool isValidMaemo5QtVersion(const QString &qmakePath); static bool isValidHarmattanQtVersion(const QString &qmakePath); @@ -91,12 +91,12 @@ public: static int applicationIconSize(const ProjectExplorer::Target *target); static QString remoteSudo(Core::Id deviceType, const QString &uname); static QString remoteSourceProfilesCommand(); - static Utils::PortList freePorts(const ProjectExplorer::Profile *profile); + static Utils::PortList freePorts(const ProjectExplorer::Kit *k); static void addMaddeEnvironment(Utils::Environment &env, const QString &qmakePath); static void transformMaddeCall(QString &command, QStringList &args, const QString &qmakePath); static QString maddeRoot(const QString &qmakePath); - static Utils::FileName maddeRoot(const ProjectExplorer::Profile *profile); + static Utils::FileName maddeRoot(const ProjectExplorer::Kit *k); static QString targetRoot(const QString &qmakePath); static QString targetName(const QString &qmakePath); static QString madCommand(const QString &qmakePath); diff --git a/src/plugins/madde/maemoinstalltosysrootstep.cpp b/src/plugins/madde/maemoinstalltosysrootstep.cpp index 7268d2fd78b..52d9592c492 100644 --- a/src/plugins/madde/maemoinstalltosysrootstep.cpp +++ b/src/plugins/madde/maemoinstalltosysrootstep.cpp @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include #include @@ -157,7 +157,7 @@ bool AbstractMaemoInstallPackageToSysrootStep::init() return false; } - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (!version) { addOutput(tr("Cannot install package to sysroot without a Qt version."), ErrorMessageOutput); @@ -235,7 +235,7 @@ QStringList MaemoInstallDebianPackageToSysrootStep::madArguments() const { QStringList args; args << QLatin1String("xdpkg"); - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(target()->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(target()->kit()); if (deviceType == HarmattanOsType) args << QLatin1String("--no-force-downgrade"); args << QLatin1String("-i"); @@ -274,13 +274,13 @@ bool MaemoCopyToSysrootStep::init() } const MaemoQtVersion *const qtVersion - = dynamic_cast(QtSupport::QtProfileInformation::qtVersion(target()->profile())); + = dynamic_cast(QtSupport::QtKitInformation::qtVersion(target()->kit())); if (!qtVersion) { addOutput(tr("Cannot copy to sysroot without valid Qt version."), ErrorMessageOutput); return false; } - m_systemRoot = ProjectExplorer::SysRootProfileInformation::sysRoot(target()->profile()).toString(); + m_systemRoot = ProjectExplorer::SysRootKitInformation::sysRoot(target()->kit()).toString(); const DeploymentInfo * const deploymentInfo = static_cast(deployConfiguration())->deploymentInfo(); @@ -352,7 +352,7 @@ bool MaemoMakeInstallToSysrootStep::init() return false; } const QtSupport::BaseQtVersion *const qtVersion - = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (!qtVersion) { addOutput("Cannot deploy: Unusable build configuration.", ErrorMessageOutput); @@ -363,8 +363,8 @@ bool MaemoMakeInstallToSysrootStep::init() MaemoGlobal::addMaddeEnvironment(env, qtVersion->qmakeCommand().toString()); QString command = MaemoGlobal::madCommand(qtVersion->qmakeCommand().toString()); QString systemRoot; - if (ProjectExplorer::SysRootProfileInformation::hasSysRoot(target()->profile())) - systemRoot = ProjectExplorer::SysRootProfileInformation::sysRoot(target()->profile()).toString(); + if (ProjectExplorer::SysRootKitInformation::hasSysRoot(target()->kit())) + systemRoot = ProjectExplorer::SysRootKitInformation::sysRoot(target()->kit()).toString(); QStringList args = QStringList() << QLatin1String("-t") << MaemoGlobal::targetName(qtVersion->qmakeCommand().toString()) << QLatin1String("make") << QLatin1String("install") << (QLatin1String("INSTALL_ROOT=") + systemRoot); diff --git a/src/plugins/madde/maemopackagecreationfactory.cpp b/src/plugins/madde/maemopackagecreationfactory.cpp index c8a067eab0a..5143cec80c1 100644 --- a/src/plugins/madde/maemopackagecreationfactory.cpp +++ b/src/plugins/madde/maemopackagecreationfactory.cpp @@ -36,7 +36,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/plugins/madde/maemopackagecreationstep.cpp b/src/plugins/madde/maemopackagecreationstep.cpp index 16789d70118..d6b24cde622 100644 --- a/src/plugins/madde/maemopackagecreationstep.cpp +++ b/src/plugins/madde/maemopackagecreationstep.cpp @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include #include #include @@ -96,7 +96,7 @@ bool AbstractMaemoPackageCreationStep::init() QLatin1String("nostrip"), QLatin1String(" ")); } - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (!version) { raiseError(tr("Packaging failed: No Qt version.")); return false; @@ -236,7 +236,7 @@ void AbstractMaemoPackageCreationStep::preparePackagingProcess(QProcess *proc, QString AbstractMaemoPackageCreationStep::replaceDots(const QString &name) const { - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(target()->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(target()->kit()); // Idiotic OVI store requirement for N900 (but not allowed for N9 ...). if (deviceType == Maemo5OsType) { QString adaptedName = name; @@ -274,7 +274,7 @@ bool MaemoDebianPackageCreationStep::init() { if (!AbstractMaemoPackageCreationStep::init()) return false; - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); m_maddeRoot = MaemoGlobal::maddeRoot(version->qmakeCommand().toString()); m_projectDirectory = project()->projectDirectory(); m_pkgFileName = DebianManager::packageFileName(DebianManager::debianDirectory(target())).toString(); diff --git a/src/plugins/madde/maemopackagecreationwidget.cpp b/src/plugins/madde/maemopackagecreationwidget.cpp index 7d5fba9b53e..36680f14c65 100644 --- a/src/plugins/madde/maemopackagecreationwidget.cpp +++ b/src/plugins/madde/maemopackagecreationwidget.cpp @@ -36,7 +36,7 @@ #include "maemopackagecreationstep.h" #include -#include +#include #include #include #include @@ -71,7 +71,7 @@ void MaemoPackageCreationWidget::initGui() { m_ui->shortDescriptionLineEdit->setMaxLength(60); updateVersionInfo(); - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(m_step->target()->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(m_step->target()->kit()); const Utils::FileName path = DebianManager::debianDirectory(m_step->target()); const QSize iconSize = MaddeDevice::packageManagerIconSize(deviceType); m_ui->packageManagerIconButton->setFixedSize(iconSize); @@ -170,7 +170,7 @@ void MaemoPackageCreationWidget::updatePackageManagerName() { const Utils::FileName path = DebianManager::debianDirectory(m_step->target()); Core::Id deviceType - = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(m_step->target()->profile()); + = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(m_step->target()->kit()); m_ui->packageManagerNameLineEdit->setText(DebianManager::packageManagerName(path, deviceType)); } @@ -184,7 +184,7 @@ void MaemoPackageCreationWidget::setPackageManagerIcon() { const Utils::FileName path = DebianManager::debianDirectory(m_step->target()); Core::Id deviceType - = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(m_step->target()->profile()); + = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(m_step->target()->kit()); QString imageFilter = tr("Images") + QLatin1String("( "); const QList &imageTypes = QImageReader::supportedImageFormats(); foreach (const QByteArray &imageType, imageTypes) @@ -215,7 +215,7 @@ void MaemoPackageCreationWidget::setPackageManagerName() { const Utils::FileName path = DebianManager::debianDirectory(m_step->target()); Core::Id deviceType - = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(m_step->target()->profile()); + = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(m_step->target()->kit()); if (!DebianManager::setPackageManagerName(path, deviceType, m_ui->packageManagerNameLineEdit->text())) { QMessageBox::critical(this, tr("File Error"), tr("Could not set package name for project manager.")); diff --git a/src/plugins/madde/maemopublisherfremantlefree.cpp b/src/plugins/madde/maemopublisherfremantlefree.cpp index 8ca0d9c7bcf..2ea9b46defc 100644 --- a/src/plugins/madde/maemopublisherfremantlefree.cpp +++ b/src/plugins/madde/maemopublisherfremantlefree.cpp @@ -42,7 +42,7 @@ #include #include #include -#include +#include #include #include #include @@ -311,10 +311,10 @@ void MaemoPublisherFremantleFree::handleProcessFinished(bool failedToStart) setState(RunningMakeDistclean); // Toolchain might be null! (yes because this sucks) ProjectExplorer::ToolChain *tc - = ProjectExplorer::ToolChainProfileInformation::toolChain(m_buildConfig->target()->profile()); + = ProjectExplorer::ToolChainKitInformation::toolChain(m_buildConfig->target()->kit()); if (!tc) { finishWithFailure(QString(), tr("Make distclean failed: %1") - .arg(ProjectExplorer::ToolChainProfileInformation::msgNoToolChainInTarget())); + .arg(ProjectExplorer::ToolChainKitInformation::msgNoToolChainInTarget())); } m_process->start(tc->makeCommand(), QStringList() << QLatin1String("distclean")); } @@ -380,7 +380,7 @@ void MaemoPublisherFremantleFree::runDpkgBuildPackage() } } - QtSupport::BaseQtVersion *lqt = QtSupport::QtProfileInformation::qtVersion(m_buildConfig->target()->profile()); + QtSupport::BaseQtVersion *lqt = QtSupport::QtKitInformation::qtVersion(m_buildConfig->target()->kit()); if (!lqt) finishWithFailure(QString(), tr("No Qt version set.")); @@ -606,7 +606,7 @@ QStringList MaemoPublisherFremantleFree::findProblems() const QStringList problems; ProjectExplorer::Target *target = m_buildConfig->target(); Core::Id deviceType - = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(target->profile()); + = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(target->kit()); if (deviceType != Maemo5OsType) return QStringList(); diff --git a/src/plugins/madde/maemopublishingbuildsettingspagefremantlefree.cpp b/src/plugins/madde/maemopublishingbuildsettingspagefremantlefree.cpp index 672a6e72cea..f4f2b1abd27 100644 --- a/src/plugins/madde/maemopublishingbuildsettingspagefremantlefree.cpp +++ b/src/plugins/madde/maemopublishingbuildsettingspagefremantlefree.cpp @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include #include @@ -79,7 +79,7 @@ void MaemoPublishingBuildSettingsPageFremantleFree::collectBuildConfigurations(c m_buildConfigs.clear(); foreach (const Target *const target, project->targets()) { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); if (!version || version->platformName() != QLatin1String(QtSupport::Constants::MAEMO_FREMANTLE_PLATFORM)) continue; foreach (BuildConfiguration *const bc, target->buildConfigurations()) { diff --git a/src/plugins/madde/maemopublishingwizardfactories.cpp b/src/plugins/madde/maemopublishingwizardfactories.cpp index 7ba97a73c11..58218bdbeee 100644 --- a/src/plugins/madde/maemopublishingwizardfactories.cpp +++ b/src/plugins/madde/maemopublishingwizardfactories.cpp @@ -37,7 +37,7 @@ #include #include #include -#include +#include #include using namespace ProjectExplorer; @@ -71,7 +71,7 @@ bool MaemoPublishingWizardFactoryFremantleFree::canCreateWizard(const Project *p if (!qobject_cast(project)) return false; foreach (const Target *const target, project->targets()) { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); const QString &platform = version ? version->platformName() : QString(); if (platform == QLatin1String(QtSupport::Constants::MAEMO_FREMANTLE_PLATFORM)) return true; diff --git a/src/plugins/madde/maemoqemumanager.cpp b/src/plugins/madde/maemoqemumanager.cpp index 6140ee761bd..f688d84035e 100644 --- a/src/plugins/madde/maemoqemumanager.cpp +++ b/src/plugins/madde/maemoqemumanager.cpp @@ -48,7 +48,7 @@ #include #include #include -#include +#include #include #include #include @@ -246,23 +246,23 @@ void MaemoQemuManager::projectChanged(ProjectExplorer::Project *project) void MaemoQemuManager::targetAdded(ProjectExplorer::Target *target) { - if (!target || !MaemoGlobal::hasMaemoDevice(target->profile())) + if (!target || !MaemoGlobal::hasMaemoDevice(target->kit())) return; // handle the Qt version changes the build configuration uses connect(target, SIGNAL(environmentChanged()), this, SLOT(environmentChanged())); - connect(target, SIGNAL(profileChanged()), this, SLOT(systemChanged())); + connect(target, SIGNAL(kitChanged()), this, SLOT(systemChanged())); toggleStarterButton(target); } void MaemoQemuManager::targetRemoved(ProjectExplorer::Target *target) { - if (!target || !MaemoGlobal::hasMaemoDevice(target->profile())) + if (!target || !MaemoGlobal::hasMaemoDevice(target->kit())) return; disconnect(target, SIGNAL(environmentChanged()), this, SLOT(environmentChanged())); - disconnect(target, SIGNAL(profileChanged()), this, SLOT(systemChanged())); + disconnect(target, SIGNAL(kitChanged()), this, SLOT(systemChanged())); showOrHideQemuButton(); } @@ -459,7 +459,7 @@ void MaemoQemuManager::toggleStarterButton(Target *target) { int uniqueId = -1; if (target) { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); if (version) uniqueId = version->uniqueId(); } @@ -474,7 +474,7 @@ void MaemoQemuManager::toggleStarterButton(Target *target) const Project * const p = ProjectExplorerPlugin::instance()->session()->startupProject(); const bool qemuButtonEnabled - = p && p->activeTarget() && MaemoGlobal::hasMaemoDevice(target->profile()) + = p && p->activeTarget() && MaemoGlobal::hasMaemoDevice(target->kit()) && m_runtimes.value(uniqueId, MaemoQemuRuntime()).isValid() && targetUsesMatchingRuntimeConfig(target) && !isRunning; m_qemuAction->setEnabled(qemuButtonEnabled); @@ -487,7 +487,7 @@ bool MaemoQemuManager::sessionHasMaemoTarget() const const QList &projects = explorer->session()->projects(); foreach (const Project *p, projects) { foreach (const Target * const target, p->targets()) { - if (MaemoGlobal::hasMaemoDevice(target->profile())) + if (MaemoGlobal::hasMaemoDevice(target->kit())) return true; } } @@ -507,13 +507,13 @@ bool MaemoQemuManager::targetUsesMatchingRuntimeConfig(Target *target, if (!mrc) return false; - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); if (!version || !m_runtimes.value(version->uniqueId(), MaemoQemuRuntime()).isValid()) return false; if (qtVersion) *qtVersion = version; - const IDevice::ConstPtr config = DeviceProfileInformation::device(target->profile()); + const IDevice::ConstPtr config = DeviceKitInformation::device(target->kit()); return !config.isNull() && config->machineType() == IDevice::Emulator; } diff --git a/src/plugins/madde/maemoqtversion.cpp b/src/plugins/madde/maemoqtversion.cpp index 21e1309f089..b5b9928fa00 100644 --- a/src/plugins/madde/maemoqtversion.cpp +++ b/src/plugins/madde/maemoqtversion.cpp @@ -32,7 +32,7 @@ #include "maemoconstants.h" #include "maemoglobal.h" -#include +#include #include #include @@ -163,13 +163,13 @@ QString MaemoQtVersion::platformDisplayName() const return QLatin1String(QtSupport::Constants::MEEGO_HARMATTAN_PLATFORM_TR); } -void MaemoQtVersion::addToEnvironment(const ProjectExplorer::Profile *p, Utils::Environment &env) const +void MaemoQtVersion::addToEnvironment(const ProjectExplorer::Kit *k, Utils::Environment &env) const { - Q_UNUSED(p); + Q_UNUSED(k); const QString maddeRoot = MaemoGlobal::maddeRoot(qmakeCommand().toString()); // Needed to make pkg-config stuff work. - Utils::FileName sysRoot = ProjectExplorer::SysRootProfileInformation::sysRoot(p); + Utils::FileName sysRoot = ProjectExplorer::SysRootKitInformation::sysRoot(k); env.prependOrSet(QLatin1String("SYSROOT_DIR"), sysRoot.toUserOutput()); env.prependOrSetPath(QDir::toNativeSeparators(QString("%1/madbin") .arg(maddeRoot))); diff --git a/src/plugins/madde/maemoqtversion.h b/src/plugins/madde/maemoqtversion.h index ee817e45ae4..35b7be3592e 100644 --- a/src/plugins/madde/maemoqtversion.h +++ b/src/plugins/madde/maemoqtversion.h @@ -49,7 +49,7 @@ public: bool isValid() const; QList detectQtAbis() const; - void addToEnvironment(const ProjectExplorer::Profile *p, Utils::Environment &env) const; + void addToEnvironment(const ProjectExplorer::Kit *k, Utils::Environment &env) const; QString description() const; diff --git a/src/plugins/madde/maemorunconfiguration.cpp b/src/plugins/madde/maemorunconfiguration.cpp index fc5a325345e..3355b4e37dc 100644 --- a/src/plugins/madde/maemorunconfiguration.cpp +++ b/src/plugins/madde/maemorunconfiguration.cpp @@ -36,7 +36,7 @@ #include #include -#include +#include #include #include #include @@ -77,7 +77,7 @@ void MaemoRunConfiguration::init() SLOT(handleRemoteMountsChanged())); connect(m_remoteMounts, SIGNAL(modelReset()), SLOT(handleRemoteMountsChanged())); - if (DeviceTypeProfileInformation::deviceTypeId(target()->profile()) != HarmattanOsType) + if (DeviceTypeKitInformation::deviceTypeId(target()->kit()) != HarmattanOsType) debuggerAspect()->suppressQmlDebuggingOptions(); } @@ -119,7 +119,7 @@ QString MaemoRunConfiguration::environmentPreparationCommand() const QString MaemoRunConfiguration::commandPrefix() const { - IDevice::ConstPtr dev = DeviceProfileInformation::device(target()->profile()); + IDevice::ConstPtr dev = DeviceKitInformation::device(target()->kit()); if (!dev) return QString(); @@ -130,13 +130,13 @@ QString MaemoRunConfiguration::commandPrefix() const Utils::PortList MaemoRunConfiguration::freePorts() const { - return MaemoGlobal::freePorts(target()->profile()); + return MaemoGlobal::freePorts(target()->kit()); } bool MaemoRunConfiguration::hasEnoughFreePorts(RunMode mode) const { const int freePortCount = freePorts().count(); - Core::Id typeId = DeviceTypeProfileInformation::deviceTypeId(target()->profile()); + Core::Id typeId = DeviceTypeKitInformation::deviceTypeId(target()->kit()); const bool remoteMountsAllowed = MaddeDevice::allowsRemoteMounts(typeId); const int mountDirCount = remoteMountsAllowed ? remoteMounts()->validMountSpecificationCount() : 0; diff --git a/src/plugins/madde/maemorunconfigurationwidget.cpp b/src/plugins/madde/maemorunconfigurationwidget.cpp index 815f9db73ea..485e4237329 100644 --- a/src/plugins/madde/maemorunconfigurationwidget.cpp +++ b/src/plugins/madde/maemorunconfigurationwidget.cpp @@ -37,7 +37,7 @@ #include #include #include -#include +#include #include #include #include @@ -82,12 +82,12 @@ MaemoRunConfigurationWidget::MaemoRunConfigurationWidget( QVBoxLayout *subLayout = new QVBoxLayout(m_subWidget); subLayout->setMargin(0); addMountWidgets(subLayout); - connect(m_runConfiguration->target(), SIGNAL(profileChanged()), this, SLOT(updateMountWarning())); + connect(m_runConfiguration->target(), SIGNAL(kitChanged()), this, SLOT(updateMountWarning())); connect(m_runConfiguration->debuggerAspect(), SIGNAL(debuggersChanged()), SLOT(updateMountWarning())); updateMountWarning(); - Core::Id devId = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(runConfiguration->target()->profile()); + Core::Id devId = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(runConfiguration->target()->kit()); m_mountDetailsContainer->setVisible(MaddeDevice::allowsRemoteMounts(devId)); connect(m_runConfiguration, SIGNAL(enabledChanged()), diff --git a/src/plugins/madde/maemorunfactories.cpp b/src/plugins/madde/maemorunfactories.cpp index bfa191e9c48..da19923d871 100644 --- a/src/plugins/madde/maemorunfactories.cpp +++ b/src/plugins/madde/maemorunfactories.cpp @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include #include #include @@ -69,9 +69,9 @@ QString pathFromId(Core::Id id) template void setHelperActions(Receiver *receiver, MaemoRunConfiguration *runConfig, RunControl *runControl) { - const Profile * const profile = runConfig->target()->profile(); + const Kit * const k = runConfig->target()->kit(); MaemoPreRunAction * const preRunAction = new MaemoPreRunAction( - DeviceProfileInformation::device(profile), MaemoGlobal::maddeRoot(profile), + DeviceKitInformation::device(k), MaemoGlobal::maddeRoot(k), runConfig->remoteMounts()->mountSpecs(), runControl); MaemoPostRunAction * const postRunAction = new MaemoPostRunAction(preRunAction->mounter(), runControl); @@ -165,11 +165,11 @@ RunConfiguration *MaemoRunConfigurationFactory::clone(Target *parent, RunConfigu bool MaemoRunConfigurationFactory::canHandle(Target *t) const { - if (!t->project()->supportsProfile(t->profile())) + if (!t->project()->supportsKit(t->kit())) return false; if (!qobject_cast(t->project())) return false; - Core::Id devType = DeviceTypeProfileInformation::deviceTypeId(t->profile()); + Core::Id devType = DeviceTypeKitInformation::deviceTypeId(t->kit()); return devType == Maemo5OsType || devType == HarmattanOsType; } diff --git a/src/plugins/madde/qt4maemodeployconfiguration.cpp b/src/plugins/madde/qt4maemodeployconfiguration.cpp index 7b03269a3c6..34c14e695a9 100644 --- a/src/plugins/madde/qt4maemodeployconfiguration.cpp +++ b/src/plugins/madde/qt4maemodeployconfiguration.cpp @@ -45,7 +45,7 @@ #include #include #include -#include +#include #include #include #include @@ -121,7 +121,7 @@ DeploymentSettingsAssistant *Qt4MaemoDeployConfiguration::deploymentSettingsAssi QString Qt4MaemoDeployConfiguration::qmakeScope() const { - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(target()->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(target()->kit()); if (deviceType == Maemo5OsType) return QLatin1String("maemo5"); @@ -132,7 +132,7 @@ QString Qt4MaemoDeployConfiguration::qmakeScope() const QString Qt4MaemoDeployConfiguration::installPrefix() const { - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(target()->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(target()->kit()); if (deviceType == Maemo5OsType) return QLatin1String("/opt"); @@ -159,7 +159,7 @@ void Qt4MaemoDeployConfiguration::setupPackaging() void Qt4MaemoDeployConfiguration::setupDebianPackaging() { Qt4BuildConfiguration *bc = qobject_cast(target()->activeBuildConfiguration()); - if (!bc || !target()->profile()) + if (!bc || !target()->kit()) return; Utils::FileName debianDir = DebianManager::debianDirectory(target()); @@ -176,7 +176,7 @@ void Qt4MaemoDeployConfiguration::setupDebianPackaging() if (status == DebianManager::NoActionRequired) return; - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(target()->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(target()->kit()); QString projectName = target()->project()->displayName(); if (!DebianManager::hasPackageManagerIcon(debianDir)) { @@ -269,7 +269,7 @@ QList Qt4MaemoDeployConfigurationFactory::availableCreationIds(Target if (!canHandle(parent)) return ids; - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(parent->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(parent->kit()); if (deviceType == Maemo5OsType) ids << Qt4MaemoDeployConfiguration::fremantleWithPackagingId() << Qt4MaemoDeployConfiguration::fremantleWithoutPackagingId(); @@ -330,7 +330,7 @@ bool Qt4MaemoDeployConfigurationFactory::canRestore(Target *parent, const QVaria Core::Id id = idFromMap(map); return canHandle(parent) && (availableCreationIds(parent).contains(id) || id == OldDeployConfigId) - && MaemoGlobal::supportsMaemoDevice(parent->profile()); + && MaemoGlobal::supportsMaemoDevice(parent->kit()); } DeployConfiguration *Qt4MaemoDeployConfigurationFactory::restore(Target *parent, const QVariantMap &map) @@ -338,7 +338,7 @@ DeployConfiguration *Qt4MaemoDeployConfigurationFactory::restore(Target *parent, if (!canRestore(parent, map)) return 0; Core::Id id = idFromMap(map); - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(parent->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(parent->kit()); if (id == OldDeployConfigId) { if (deviceType == Maemo5OsType) id = Qt4MaemoDeployConfiguration::fremantleWithPackagingId(); @@ -367,9 +367,9 @@ bool Qt4MaemoDeployConfigurationFactory::canHandle(Target *parent) const { if (!qobject_cast(parent->project())) return false; - if (!parent->project()->supportsProfile(parent->profile())) + if (!parent->project()->supportsKit(parent->kit())) return false; - return MaemoGlobal::supportsMaemoDevice(parent->profile()); + return MaemoGlobal::supportsMaemoDevice(parent->kit()); } } // namespace Internal diff --git a/src/plugins/projectexplorer/buildconfiguration.cpp b/src/plugins/projectexplorer/buildconfiguration.cpp index 4ca1bd79036..19a40d3e443 100644 --- a/src/plugins/projectexplorer/buildconfiguration.cpp +++ b/src/plugins/projectexplorer/buildconfiguration.cpp @@ -34,7 +34,7 @@ #include "buildsteplist.h" #include "projectexplorer.h" #include "projectexplorerconstants.h" -#include "profilemanager.h" +#include "kitmanager.h" #include "target.h" #include "project.h" @@ -92,8 +92,8 @@ BuildConfiguration::BuildConfiguration(Target *target, const Core::Id id) : bsl->setDefaultDisplayName(tr("Clean")); m_stepLists.append(bsl); - connect(ProfileManager::instance(), SIGNAL(profileUpdated(ProjectExplorer::Profile*)), - this, SLOT(handleProfileUpdate(ProjectExplorer::Profile*))); + connect(KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)), + this, SLOT(handleKitUpdate(ProjectExplorer::Kit*))); } BuildConfiguration::BuildConfiguration(Target *target, BuildConfiguration *source) : @@ -107,8 +107,8 @@ BuildConfiguration::BuildConfiguration(Target *target, BuildConfiguration *sourc // otherwise BuildStepFactories might reject to set up a BuildStep for us // since we are not yet the derived class! - connect(ProfileManager::instance(), SIGNAL(profileUpdated(ProjectExplorer::Profile*)), - this, SLOT(handleProfileUpdate(ProjectExplorer::Profile*))); + connect(KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)), + this, SLOT(handleKitUpdate(ProjectExplorer::Kit*))); } BuildConfiguration::~BuildConfiguration() @@ -187,9 +187,9 @@ bool BuildConfiguration::fromMap(const QVariantMap &map) return ProjectConfiguration::fromMap(map); } -void BuildConfiguration::handleProfileUpdate(ProjectExplorer::Profile *p) +void BuildConfiguration::handleKitUpdate(ProjectExplorer::Kit *p) { - if (p != target()->profile()) + if (p != target()->kit()) return; emit environmentChanged(); } diff --git a/src/plugins/projectexplorer/buildconfiguration.h b/src/plugins/projectexplorer/buildconfiguration.h index 109136ddde0..77d8c478ff2 100644 --- a/src/plugins/projectexplorer/buildconfiguration.h +++ b/src/plugins/projectexplorer/buildconfiguration.h @@ -47,7 +47,7 @@ namespace ProjectExplorer { class BuildConfiguration; class BuildConfigWidget; class BuildStepList; -class Profile; +class Kit; class Target; class IOutputParser; @@ -112,7 +112,7 @@ protected: virtual bool fromMap(const QVariantMap &map); private slots: - void handleProfileUpdate(ProjectExplorer::Profile *p); + void handleKitUpdate(ProjectExplorer::Kit *p); private: bool m_clearSystemEnvironment; diff --git a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp index 8c1bea62d96..e0f5cad3ce6 100644 --- a/src/plugins/projectexplorer/buildsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/buildsettingspropertiespage.cpp @@ -173,7 +173,7 @@ BuildSettingsWidget::BuildSettingsWidget(Target *target) : connect(m_target, SIGNAL(activeBuildConfigurationChanged(ProjectExplorer::BuildConfiguration*)), this, SLOT(updateActiveConfiguration())); - connect(m_target, SIGNAL(profileChanged()), this, SLOT(updateAddButtonMenu())); + connect(m_target, SIGNAL(kitChanged()), this, SLOT(updateAddButtonMenu())); } void BuildSettingsWidget::addSubWidget(BuildConfigWidget *widget) diff --git a/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp b/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp index d0f105a1d02..f2d731ebcb3 100644 --- a/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/codestylesettingspropertiespage.cpp @@ -48,7 +48,7 @@ QString CodeStyleSettingsPanelFactory::id() const QString CodeStyleSettingsPanelFactory::displayName() const { - return QCoreApplication::translate("CodeStyleSettingsPanelFactory", "Code Style Settings"); + return QCoreApplication::translate("CodeStyleSettingsPanelFactory", "Code Style"); } int CodeStyleSettingsPanelFactory::priority() const @@ -67,7 +67,7 @@ PropertiesPanel *CodeStyleSettingsPanelFactory::createPanel(Project *project) PropertiesPanel *panel = new PropertiesPanel; panel->setWidget(new CodeStyleSettingsWidget(project)); panel->setIcon(QIcon(QLatin1String(":/projectexplorer/images/CodeStyleSettings.png"))); - panel->setDisplayName(QCoreApplication::translate("CodeStyleSettingsPanel", "Code Style Settings")); + panel->setDisplayName(QCoreApplication::translate("CodeStyleSettingsPanel", "Code Style")); return panel; } diff --git a/src/plugins/projectexplorer/deployconfiguration.cpp b/src/plugins/projectexplorer/deployconfiguration.cpp index d7853eca372..edb5e169868 100644 --- a/src/plugins/projectexplorer/deployconfiguration.cpp +++ b/src/plugins/projectexplorer/deployconfiguration.cpp @@ -33,7 +33,7 @@ #include "buildmanager.h" #include "buildsteplist.h" #include "buildstepspage.h" -#include "profileinformation.h" +#include "kitinformation.h" #include "project.h" #include "projectexplorer.h" #include "projectexplorerconstants.h" @@ -242,9 +242,9 @@ DeployConfigurationFactory *DeployConfigurationFactory::find(Target *parent) bool DeployConfigurationFactory::canHandle(Target *parent) const { - if (!parent->project()->supportsProfile(parent->profile())) + if (!parent->project()->supportsKit(parent->kit())) return false; - return DeviceTypeProfileInformation::deviceTypeId(parent->profile()) == Constants::DESKTOP_DEVICE_TYPE; + return DeviceTypeKitInformation::deviceTypeId(parent->kit()) == Constants::DESKTOP_DEVICE_TYPE; } /// diff --git a/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.cpp b/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.cpp index 5c88d9b5bd1..c3d4375c6c8 100644 --- a/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.cpp +++ b/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.cpp @@ -29,8 +29,8 @@ #include "devicesupport/deviceprocessesdialog.h" #include "devicesupport/deviceprocesslist.h" -#include "profilechooser.h" -#include "profileinformation.h" +#include "kitchooser.h" +#include "kitinformation.h" #include #include @@ -113,7 +113,7 @@ public: QWidget *q; DeviceProcessList *processList; ProcessListFilterModel proxyModel; - ProfileChooser *profileChooser; + KitChooser *kitChooser; QTreeView *procView; QTextBrowser *errorText; @@ -133,7 +133,7 @@ DeviceProcessesDialogPrivate::DeviceProcessesDialogPrivate(QWidget *parent) processFilterLineEdit->setPlaceholderText(DeviceProcessesDialog::tr("Filter")); processFilterLineEdit->setFocus(Qt::TabFocusReason); - profileChooser = new ProfileChooser(q); + kitChooser = new KitChooser(q); procView = new QTreeView(q); procView->setModel(&proxyModel); @@ -157,7 +157,7 @@ DeviceProcessesDialogPrivate::DeviceProcessesDialogPrivate(QWidget *parent) QFormLayout *leftColumn = new QFormLayout(); leftColumn->setFieldGrowthPolicy(QFormLayout::ExpandingFieldsGrow); - leftColumn->addRow(DeviceProcessesDialog::tr("Target:"), profileChooser); + leftColumn->addRow(DeviceProcessesDialog::tr("Kit:"), kitChooser); leftColumn->addRow(DeviceProcessesDialog::tr("&Filter:"), processFilterLineEdit); // QVBoxLayout *rightColumn = new QVBoxLayout(); @@ -185,7 +185,7 @@ DeviceProcessesDialogPrivate::DeviceProcessesDialogPrivate(QWidget *parent) SIGNAL(selectionChanged(QItemSelection,QItemSelection)), SLOT(updateButtons())); connect(updateListButton, SIGNAL(clicked()), SLOT(updateProcessList())); - connect(profileChooser, SIGNAL(currentIndexChanged(int)), SLOT(updateDevice())); + connect(kitChooser, SIGNAL(currentIndexChanged(int)), SLOT(updateDevice())); connect(killProcessButton, SIGNAL(clicked()), SLOT(killProcess())); connect(&proxyModel, SIGNAL(layoutChanged()), SLOT(handleProcessListUpdated())); connect(buttonBox, SIGNAL(accepted()), q, SLOT(accept())); @@ -246,7 +246,7 @@ void DeviceProcessesDialogPrivate::killProcess() void DeviceProcessesDialogPrivate::updateDevice() { - setDevice(DeviceProfileInformation::device(profileChooser->currentProfile())); + setDevice(DeviceKitInformation::device(kitChooser->currentKit())); } void DeviceProcessesDialogPrivate::handleProcessKilled() @@ -323,13 +323,13 @@ void DeviceProcessesDialog::addCloseButton() void DeviceProcessesDialog::setDevice(const IDevice::ConstPtr &device) { - d->profileChooser->hide(); + d->kitChooser->hide(); d->setDevice(device); } void DeviceProcessesDialog::showAllDevices() { - d->profileChooser->show(); + d->kitChooser->show(); d->updateDevice(); } @@ -338,9 +338,9 @@ DeviceProcess DeviceProcessesDialog::currentProcess() const return d->selectedProcess(); } -ProfileChooser *DeviceProcessesDialog::profileChooser() const +KitChooser *DeviceProcessesDialog::kitChooser() const { - return d->profileChooser; + return d->kitChooser; } void DeviceProcessesDialog::logMessage(const QString &line) diff --git a/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.h b/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.h index 3f7a968fa40..13d65e21006 100644 --- a/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.h +++ b/src/plugins/projectexplorer/devicesupport/deviceprocessesdialog.h @@ -32,7 +32,7 @@ #include "../projectexplorer_export.h" -#include +#include #include #include @@ -40,7 +40,7 @@ namespace ProjectExplorer { -class ProfileChooser; +class KitChooser; namespace Internal { class DeviceProcessesDialogPrivate; } @@ -57,7 +57,7 @@ public: void setDevice(const IDevice::ConstPtr &device); void showAllDevices(); DeviceProcess currentProcess() const; - ProfileChooser *profileChooser() const; + KitChooser *kitChooser() const; void logMessage(const QString &line); private: diff --git a/src/plugins/projectexplorer/editorsettingspropertiespage.cpp b/src/plugins/projectexplorer/editorsettingspropertiespage.cpp index 5d59ed25669..1f766ccd11d 100644 --- a/src/plugins/projectexplorer/editorsettingspropertiespage.cpp +++ b/src/plugins/projectexplorer/editorsettingspropertiespage.cpp @@ -44,7 +44,7 @@ QString EditorSettingsPanelFactory::id() const QString EditorSettingsPanelFactory::displayName() const { - return QCoreApplication::translate("EditorSettingsPanelFactory", "Editor Settings"); + return QCoreApplication::translate("EditorSettingsPanelFactory", "Editor"); } int EditorSettingsPanelFactory::priority() const @@ -61,7 +61,7 @@ bool EditorSettingsPanelFactory::supports(Project *project) PropertiesPanel *EditorSettingsPanelFactory::createPanel(Project *project) { PropertiesPanel *panel = new PropertiesPanel; - panel->setDisplayName(QCoreApplication::translate("EditorSettingsPanel", "Editor Settings")); + panel->setDisplayName(QCoreApplication::translate("EditorSettingsPanel", "Editor")); panel->setWidget(new EditorSettingsWidget(project)), panel->setIcon(QIcon(QLatin1String(":/projectexplorer/images/EditorSettings.png"))); return panel; diff --git a/src/plugins/projectexplorer/profile.cpp b/src/plugins/projectexplorer/kit.cpp similarity index 71% rename from src/plugins/projectexplorer/profile.cpp rename to src/plugins/projectexplorer/kit.cpp index 867282ca723..cd448b93c60 100644 --- a/src/plugins/projectexplorer/profile.cpp +++ b/src/plugins/projectexplorer/kit.cpp @@ -28,11 +28,11 @@ ** **************************************************************************/ -#include "profile.h" +#include "kit.h" #include "devicesupport/devicemanager.h" -#include "profileinformation.h" -#include "profilemanager.h" +#include "kitinformation.h" +#include "kitmanager.h" #include "project.h" #include "toolchainmanager.h" @@ -55,15 +55,15 @@ const char ICON_KEY[] = "PE.Profile.Icon"; namespace ProjectExplorer { // ------------------------------------------------------------------------- -// ProfilePrivate +// KitPrivate // ------------------------------------------------------------------------- namespace Internal { -class ProfilePrivate +class KitPrivate { public: - ProfilePrivate() : + KitPrivate() : m_id(QUuid::createUuid().toString().toLatin1().constData()), m_autodetected(false), m_isValid(true) @@ -82,32 +82,32 @@ public: } // namespace Internal // ------------------------------------------------------------------------- -// Profile: +// Kit: // ------------------------------------------------------------------------- -Profile::Profile() : - d(new Internal::ProfilePrivate) +Kit::Kit() : + d(new Internal::KitPrivate) { - ProfileManager *stm = ProfileManager::instance(); - foreach (ProfileInformation *sti, stm->profileInformation()) + KitManager *stm = KitManager::instance(); + foreach (KitInformation *sti, stm->kitInformation()) d->m_data.insert(sti->dataId(), sti->defaultValue(this)); - setDisplayName(QCoreApplication::translate("ProjectExplorer::Profile", "Unnamed")); + setDisplayName(QCoreApplication::translate("ProjectExplorer::Kit", "Unnamed")); setIconPath(QLatin1String(":///DESKTOP///")); } -Profile::~Profile() +Kit::~Kit() { delete d; } -Profile *Profile::clone(bool keepName) const +Kit *Kit::clone(bool keepName) const { - Profile *p = new Profile; + Kit *p = new Kit; if (keepName) p->d->m_displayName = d->m_displayName; else - p->d->m_displayName = QCoreApplication::translate("ProjectExplorer::Profile", "Clone of %1") + p->d->m_displayName = QCoreApplication::translate("ProjectExplorer::Kit", "Clone of %1") .arg(d->m_displayName); p->d->m_autodetected = false; p->d->m_data = d->m_data; @@ -117,21 +117,21 @@ Profile *Profile::clone(bool keepName) const return p; } -bool Profile::isValid() const +bool Kit::isValid() const { return d->m_id.isValid() && d->m_isValid; } -QList Profile::validate() +QList Kit::validate() { QList result; - QList infoList = ProfileManager::instance()->profileInformation(); - foreach (ProfileInformation *i, infoList) + QList infoList = KitManager::instance()->kitInformation(); + foreach (KitInformation *i, infoList) result.append(i->validate(this)); return result; } -QString Profile::displayName() const +QString Kit::displayName() const { return d->m_displayName; } @@ -143,16 +143,16 @@ static QString candidateName(const QString &name, const QString &postfix) return name + QLatin1Char('-') + postfix; } -void Profile::setDisplayName(const QString &name) +void Kit::setDisplayName(const QString &name) { - ProfileManager *pm = ProfileManager::instance(); - QList profileInfo = pm->profileInformation(); + KitManager *pm = KitManager::instance(); + QList kitInfo = pm->kitInformation(); QStringList nameList; - foreach (Profile *p, pm->profiles()) { + foreach (Kit *p, pm->kits()) { nameList << p->displayName(); - foreach (ProfileInformation *pi, profileInfo) { - const QString postfix = pi->displayNamePostfix(p); + foreach (KitInformation *ki, kitInfo) { + const QString postfix = ki->displayNamePostfix(p); if (!postfix.isEmpty()) nameList << candidateName(p->displayName(), postfix); } @@ -161,8 +161,8 @@ void Profile::setDisplayName(const QString &name) QStringList candidateNames; candidateNames << name; - foreach (ProfileInformation *pi, profileInfo) { - const QString postfix = pi->displayNamePostfix(this); + foreach (KitInformation *ki, kitInfo) { + const QString postfix = ki->displayNamePostfix(this); if (!postfix.isEmpty()) candidateNames << candidateName(name, postfix); } @@ -181,30 +181,30 @@ void Profile::setDisplayName(const QString &name) if (d->m_displayName == uniqueName) return; d->m_displayName = uniqueName; - profileUpdated(); + kitUpdated(); } -bool Profile::isAutoDetected() const +bool Kit::isAutoDetected() const { return d->m_autodetected; } -Core::Id Profile::id() const +Core::Id Kit::id() const { return d->m_id; } -QIcon Profile::icon() const +QIcon Kit::icon() const { return d->m_icon; } -QString Profile::iconPath() const +QString Kit::iconPath() const { return d->m_iconPath; } -void Profile::setIconPath(const QString &path) +void Kit::setIconPath(const QString &path) { if (d->m_iconPath == path) return; @@ -215,36 +215,36 @@ void Profile::setIconPath(const QString &path) d->m_icon = qApp->style()->standardIcon(QStyle::SP_ComputerIcon); else d->m_icon = QIcon(path); - profileUpdated(); + kitUpdated(); } -QVariant Profile::value(const Core::Id &key, const QVariant &unset) const +QVariant Kit::value(const Core::Id &key, const QVariant &unset) const { return d->m_data.value(key, unset); } -bool Profile::hasValue(const Core::Id &key) const +bool Kit::hasValue(const Core::Id &key) const { return d->m_data.contains(key); } -void Profile::setValue(const Core::Id &key, const QVariant &value) +void Kit::setValue(const Core::Id &key, const QVariant &value) { if (d->m_data.value(key) == value) return; d->m_data.insert(key, value); - profileUpdated(); + kitUpdated(); } -void Profile::removeKey(const Core::Id &key) +void Kit::removeKey(const Core::Id &key) { if (!d->m_data.contains(key)) return; d->m_data.remove(key); - profileUpdated(); + kitUpdated(); } -QVariantMap Profile::toMap() const +QVariantMap Kit::toMap() const { QVariantMap data; data.insert(QLatin1String(ID_KEY), QString::fromLatin1(d->m_id.name())); @@ -260,19 +260,19 @@ QVariantMap Profile::toMap() const return data; } -bool Profile::operator==(const Profile &other) const +bool Kit::operator==(const Kit &other) const { return d->m_data == other.d->m_data; } -void Profile::addToEnvironment(Utils::Environment &env) const +void Kit::addToEnvironment(Utils::Environment &env) const { - QList infoList = ProfileManager::instance()->profileInformation(); - foreach (ProfileInformation *si, infoList) - si->addToEnvironment(this, env); + QList infoList = KitManager::instance()->kitInformation(); + foreach (KitInformation *ki, infoList) + ki->addToEnvironment(this, env); } -QString Profile::toHtml() +QString Kit::toHtml() { QString rc; QTextStream str(&rc); @@ -287,10 +287,10 @@ QString Profile::toHtml() str << ""; switch (t.type) { case Task::Error: - QCoreApplication::translate("ProjectExplorer::Profile", "Error:"); + QCoreApplication::translate("ProjectExplorer::Kit", "Error:"); break; case Task::Warning: - QCoreApplication::translate("ProjectExplorer::Profile", "Warning:"); + QCoreApplication::translate("ProjectExplorer::Kit", "Warning:"); break; case Task::Unknown: default: @@ -301,17 +301,17 @@ QString Profile::toHtml() str << "

"; } - QList infoList = ProfileManager::instance()->profileInformation(); - foreach (ProfileInformation *i, infoList) { - ProfileInformation::ItemList list = i->toUserOutput(this); - foreach (const ProfileInformation::Item &j, list) + QList infoList = KitManager::instance()->kitInformation(); + foreach (KitInformation *ki, infoList) { + KitInformation::ItemList list = ki->toUserOutput(this); + foreach (const KitInformation::Item &j, list) str << "" << j.first << ":" << j.second << ""; } str << ""; return rc; } -bool Profile::fromMap(const QVariantMap &data) +bool Kit::fromMap(const QVariantMap &data) { const QString id = data.value(QLatin1String(ID_KEY)).toString(); if (id.isEmpty()) @@ -328,19 +328,19 @@ bool Profile::fromMap(const QVariantMap &data) return true; } -void Profile::setAutoDetected(bool detected) +void Kit::setAutoDetected(bool detected) { d->m_autodetected = detected; } -void Profile::setValid(bool valid) +void Kit::setValid(bool valid) { d->m_isValid = valid; } -void Profile::profileUpdated() +void Kit::kitUpdated() { - ProfileManager::instance()->notifyAboutUpdate(this); + KitManager::instance()->notifyAboutUpdate(this); } } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/profile.h b/src/plugins/projectexplorer/kit.h similarity index 77% rename from src/plugins/projectexplorer/profile.h rename to src/plugins/projectexplorer/kit.h index 4db326dbdfb..9eb600b5d99 100644 --- a/src/plugins/projectexplorer/profile.h +++ b/src/plugins/projectexplorer/kit.h @@ -28,8 +28,8 @@ ** **************************************************************************/ -#ifndef PROFILE_H -#define PROFILE_H +#ifndef KIT_H +#define KIT_H #include "projectexplorer_export.h" #include "task.h" @@ -43,21 +43,21 @@ namespace Utils { class Environment; } namespace ProjectExplorer { namespace Internal { -class ProfileManagerPrivate; -class ProfilePrivate; +class KitManagerPrivate; +class KitPrivate; } // namespace Internal /** - * @brief The Profile class + * @brief The Kit class * - * The profile holds a set of values defining a system targeted by the software + * The kit holds a set of values defining a system targeted by the software * under development. */ -class PROJECTEXPLORER_EXPORT Profile +class PROJECTEXPLORER_EXPORT Kit { public: - Profile(); - ~Profile(); + Kit(); + ~Kit(); bool isValid() const; QList validate(); @@ -77,34 +77,34 @@ public: void setValue(const Core::Id &key, const QVariant &value); void removeKey(const Core::Id &key); - bool operator==(const Profile &other) const; + bool operator==(const Kit &other) const; void addToEnvironment(Utils::Environment &env) const; QString toHtml(); - Profile *clone(bool keepName = false) const; + Kit *clone(bool keepName = false) const; private: // Unimplemented. - Profile(const Profile &other); - void operator=(const Profile &other); + Kit(const Kit &other); + void operator=(const Kit &other); void setAutoDetected(bool detected); void setValid(bool valid); - void profileUpdated(); + void kitUpdated(); QVariantMap toMap() const; bool fromMap(const QVariantMap &value); - Internal::ProfilePrivate *d; + Internal::KitPrivate *d; - friend class ProfileManager; - friend class Internal::ProfileManagerPrivate; + friend class KitManager; + friend class Internal::KitManagerPrivate; }; } // namespace ProjectExplorer -Q_DECLARE_METATYPE(ProjectExplorer::Profile *) +Q_DECLARE_METATYPE(ProjectExplorer::Kit *) -#endif // PROFILE_H +#endif // KIT_H diff --git a/src/plugins/projectexplorer/profilechooser.cpp b/src/plugins/projectexplorer/kitchooser.cpp similarity index 62% rename from src/plugins/projectexplorer/profilechooser.cpp rename to src/plugins/projectexplorer/kitchooser.cpp index da73a5f1465..8273990ed79 100644 --- a/src/plugins/projectexplorer/profilechooser.cpp +++ b/src/plugins/projectexplorer/kitchooser.cpp @@ -28,17 +28,17 @@ ** **************************************************************************/ -#include "profilechooser.h" +#include "kitchooser.h" -#include "profileinformation.h" -#include "profilemanager.h" +#include "kitinformation.h" +#include "kitmanager.h" #include "abi.h" #include namespace ProjectExplorer { -ProfileChooser::ProfileChooser(QWidget *parent, unsigned flags) : +KitChooser::KitChooser(QWidget *parent, unsigned flags) : QComboBox(parent) { populate(flags); @@ -46,64 +46,64 @@ ProfileChooser::ProfileChooser(QWidget *parent, unsigned flags) : connect(this, SIGNAL(currentIndexChanged(int)), SLOT(onCurrentIndexChanged(int))); } -void ProfileChooser::onCurrentIndexChanged(int index) +void KitChooser::onCurrentIndexChanged(int index) { - if (Profile *profile = profileAt(index)) - setToolTip(profile->toHtml()); + if (Kit *kit = kitAt(index)) + setToolTip(kit->toHtml()); else setToolTip(QString()); } -void ProfileChooser::populate(unsigned flags) +void KitChooser::populate(unsigned flags) { clear(); const Abi hostAbi = Abi::hostAbi(); - foreach (Profile *profile, ProfileManager::instance()->profiles()) { - if (!profile->isValid() && !(flags & IncludeInvalidProfiles)) + foreach (Kit *kit, KitManager::instance()->kits()) { + if (!kit->isValid() && !(flags & IncludeInvalidKits)) continue; - ToolChain *tc = ToolChainProfileInformation::toolChain(profile); + ToolChain *tc = ToolChainKitInformation::toolChain(kit); if (!tc) continue; const Abi abi = tc->targetAbi(); if ((flags & HostAbiOnly) && hostAbi.os() != abi.os()) continue; - const QString debuggerCommand = profile->value(Core::Id("Debugger.Information")).toString(); + const QString debuggerCommand = kit->value(Core::Id("Debugger.Information")).toString(); if ((flags & HasDebugger) && debuggerCommand.isEmpty()) continue; const QString completeBase = QFileInfo(debuggerCommand).completeBaseName(); - const QString name = tr("%1 (%2)").arg(profile->displayName(), completeBase); - addItem(name, qVariantFromValue(profile->id())); - setItemData(count() - 1, profile->toHtml(), Qt::ToolTipRole); + const QString name = tr("%1 (%2)").arg(kit->displayName(), completeBase); + addItem(name, qVariantFromValue(kit->id())); + setItemData(count() - 1, kit->toHtml(), Qt::ToolTipRole); } setEnabled(count() > 1); } -Profile *ProfileChooser::currentProfile() const +Kit *KitChooser::currentKit() const { const int index = currentIndex(); - return index == -1 ? 0 : profileAt(index); + return index == -1 ? 0 : kitAt(index); } -void ProfileChooser::setCurrentProfileId(Core::Id id) +void KitChooser::setCurrentKitId(Core::Id id) { for (int i = 0, n = count(); i != n; ++i) { - if (profileAt(i)->id() == id) { + if (kitAt(i)->id() == id) { setCurrentIndex(i); break; } } } -Core::Id ProfileChooser::currentProfileId() const +Core::Id KitChooser::currentKitId() const { - Profile *profile = currentProfile(); - return profile ? profile->id() : Core::Id(); + Kit *kit = currentKit(); + return kit ? kit->id() : Core::Id(); } -Profile *ProfileChooser::profileAt(int index) const +Kit *KitChooser::kitAt(int index) const { Core::Id id = qvariant_cast(itemData(index)); - return ProfileManager::instance()->find(id); + return KitManager::instance()->find(id); } } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/profilechooser.h b/src/plugins/projectexplorer/kitchooser.h similarity index 73% rename from src/plugins/projectexplorer/profilechooser.h rename to src/plugins/projectexplorer/kitchooser.h index 66582786e44..c53cfb85750 100644 --- a/src/plugins/projectexplorer/profilechooser.h +++ b/src/plugins/projectexplorer/kitchooser.h @@ -28,8 +28,8 @@ ** **************************************************************************/ -#ifndef PROJECTEXPLORER_PROFILECHOOSER_H -#define PROJECTEXPLORER_PROFILECHOOSER_H +#ifndef PROJECTEXPLORER_KITCHOOSER_H +#define PROJECTEXPLORER_KITCHOOSER_H #include "projectexplorer_export.h" @@ -39,35 +39,35 @@ namespace Core { class Id; } namespace ProjectExplorer { -class Profile; +class Kit; -// Let the user pick a profile. -class PROJECTEXPLORER_EXPORT ProfileChooser : public QComboBox +// Let the user pick a kit. +class PROJECTEXPLORER_EXPORT KitChooser : public QComboBox { Q_OBJECT public: enum Flags { HostAbiOnly = 0x1, - IncludeInvalidProfiles = 0x2, + IncludeInvalidKits = 0x2, HasDebugger = 0x4, - RemoteDebugging = IncludeInvalidProfiles | HasDebugger, + RemoteDebugging = IncludeInvalidKits | HasDebugger, LocalDebugging = RemoteDebugging | HostAbiOnly }; - explicit ProfileChooser(QWidget *parent, unsigned flags = 0); + explicit KitChooser(QWidget *parent, unsigned flags = 0); - void setCurrentProfileId(Core::Id id); - Core::Id currentProfileId() const; + void setCurrentKitId(Core::Id id); + Core::Id currentKitId() const; - Profile *currentProfile() const; + Kit *currentKit() const; private: Q_SLOT void onCurrentIndexChanged(int index); void populate(unsigned flags); - Profile *profileAt(int index) const; + Kit *kitAt(int index) const; }; } // namespace ProjectExplorer -#endif // PROJECTEXPLORER_PROFILECHOOSER_H +#endif // PROJECTEXPLORER_KITCHOOSER_H diff --git a/src/plugins/projectexplorer/profileconfigwidget.h b/src/plugins/projectexplorer/kitconfigwidget.h similarity index 87% rename from src/plugins/projectexplorer/profileconfigwidget.h rename to src/plugins/projectexplorer/kitconfigwidget.h index 02f37981715..d48033dbc81 100644 --- a/src/plugins/projectexplorer/profileconfigwidget.h +++ b/src/plugins/projectexplorer/kitconfigwidget.h @@ -28,8 +28,8 @@ ** **************************************************************************/ -#ifndef PROFILECONFIGWIDGET_H -#define PROFILECONFIGWIDGET_H +#ifndef KITCONFIGWIDGET_H +#define KITCONFIGWIDGET_H #include "projectexplorer_export.h" @@ -38,15 +38,15 @@ namespace ProjectExplorer { // -------------------------------------------------------------------------- -// ProfileConfigWidget +// KitConfigWidget // -------------------------------------------------------------------------- -class PROJECTEXPLORER_EXPORT ProfileConfigWidget : public QWidget +class PROJECTEXPLORER_EXPORT KitConfigWidget : public QWidget { Q_OBJECT public: - ProfileConfigWidget(QWidget *parent = 0) : QWidget(parent) + KitConfigWidget(QWidget *parent = 0) : QWidget(parent) { } virtual QString displayName() const = 0; @@ -63,4 +63,4 @@ signals: } // namespace ProjectExplorer -#endif // PROFILECONFIGWIDGET_H +#endif // KITCONFIGWIDGET_H diff --git a/src/plugins/projectexplorer/profileinformation.cpp b/src/plugins/projectexplorer/kitinformation.cpp similarity index 55% rename from src/plugins/projectexplorer/profileinformation.cpp rename to src/plugins/projectexplorer/kitinformation.cpp index 7a31baf4e93..277f72c5847 100644 --- a/src/plugins/projectexplorer/profileinformation.cpp +++ b/src/plugins/projectexplorer/kitinformation.cpp @@ -28,13 +28,13 @@ ** **************************************************************************/ -#include "profileinformation.h" +#include "kitinformation.h" #include "devicesupport/desktopdevice.h" #include "devicesupport/devicemanager.h" #include "projectexplorerconstants.h" -#include "profile.h" -#include "profileinformationconfigwidget.h" +#include "kit.h" +#include "kitinformationconfigwidget.h" #include "toolchain.h" #include "toolchainmanager.h" @@ -55,67 +55,67 @@ namespace ProjectExplorer { static const char SYSROOT_INFORMATION[] = "PE.Profile.SysRoot"; -SysRootProfileInformation::SysRootProfileInformation() +SysRootKitInformation::SysRootKitInformation() { setObjectName(QLatin1String("SysRootInformation")); } -Core::Id SysRootProfileInformation::dataId() const +Core::Id SysRootKitInformation::dataId() const { static const Core::Id id(SYSROOT_INFORMATION); return id; } -unsigned int SysRootProfileInformation::priority() const +unsigned int SysRootKitInformation::priority() const { return 32000; } -QVariant SysRootProfileInformation::defaultValue(Profile *p) const +QVariant SysRootKitInformation::defaultValue(Kit *k) const { - Q_UNUSED(p) + Q_UNUSED(k) return QString(); } -QList SysRootProfileInformation::validate(Profile *p) const +QList SysRootKitInformation::validate(Kit *k) const { QList result; - const Utils::FileName dir = SysRootProfileInformation::sysRoot(p); - if (!dir.toFileInfo().isDir() && SysRootProfileInformation::hasSysRoot(p)) { + const Utils::FileName dir = SysRootKitInformation::sysRoot(k); + if (!dir.toFileInfo().isDir() && SysRootKitInformation::hasSysRoot(k)) { result << Task(Task::Error, tr("Sys Root \"%1\" is not a directory.").arg(dir.toUserOutput()), Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM)); } return result; } -ProfileConfigWidget *SysRootProfileInformation::createConfigWidget(Profile *p) const +KitConfigWidget *SysRootKitInformation::createConfigWidget(Kit *k) const { - Q_ASSERT(p); - return new Internal::SysRootInformationConfigWidget(p); + Q_ASSERT(k); + return new Internal::SysRootInformationConfigWidget(k); } -ProfileInformation::ItemList SysRootProfileInformation::toUserOutput(Profile *p) const +KitInformation::ItemList SysRootKitInformation::toUserOutput(Kit *k) const { - return ItemList() << qMakePair(tr("Sys Root"), sysRoot(p).toUserOutput()); + return ItemList() << qMakePair(tr("Sys Root"), sysRoot(k).toUserOutput()); } -bool SysRootProfileInformation::hasSysRoot(const Profile *p) +bool SysRootKitInformation::hasSysRoot(const Kit *k) { - if (p) - return !p->value(Core::Id(SYSROOT_INFORMATION)).toString().isEmpty(); + if (k) + return !k->value(Core::Id(SYSROOT_INFORMATION)).toString().isEmpty(); return false; } -Utils::FileName SysRootProfileInformation::sysRoot(const Profile *p) +Utils::FileName SysRootKitInformation::sysRoot(const Kit *k) { - if (!p) + if (!k) return Utils::FileName(); - return Utils::FileName::fromString(p->value(Core::Id(SYSROOT_INFORMATION)).toString()); + return Utils::FileName::fromString(k->value(Core::Id(SYSROOT_INFORMATION)).toString()); } -void SysRootProfileInformation::setSysRoot(Profile *p, const Utils::FileName &v) +void SysRootKitInformation::setSysRoot(Kit *k, const Utils::FileName &v) { - p->setValue(Core::Id(SYSROOT_INFORMATION), v.toString()); + k->setValue(Core::Id(SYSROOT_INFORMATION), v.toString()); } // -------------------------------------------------------------------------- @@ -124,7 +124,7 @@ void SysRootProfileInformation::setSysRoot(Profile *p, const Utils::FileName &v) static const char TOOLCHAIN_INFORMATION[] = "PE.Profile.ToolChain"; -ToolChainProfileInformation::ToolChainProfileInformation() +ToolChainKitInformation::ToolChainKitInformation() { setObjectName(QLatin1String("ToolChainInformation")); connect(ToolChainManager::instance(), SIGNAL(toolChainRemoved(ProjectExplorer::ToolChain*)), @@ -133,20 +133,20 @@ ToolChainProfileInformation::ToolChainProfileInformation() this, SIGNAL(validationNeeded())); } -Core::Id ToolChainProfileInformation::dataId() const +Core::Id ToolChainKitInformation::dataId() const { static const Core::Id id(TOOLCHAIN_INFORMATION); return id; } -unsigned int ToolChainProfileInformation::priority() const +unsigned int ToolChainKitInformation::priority() const { return 30000; } -QVariant ToolChainProfileInformation::defaultValue(Profile *p) const +QVariant ToolChainKitInformation::defaultValue(Kit *k) const { - Q_UNUSED(p); + Q_UNUSED(k); QList tcList = ToolChainManager::instance()->toolChains(); if (tcList.isEmpty()) return QString(); @@ -161,58 +161,58 @@ QVariant ToolChainProfileInformation::defaultValue(Profile *p) const return tcList.at(0)->id(); } -QList ToolChainProfileInformation::validate(Profile *p) const +QList ToolChainKitInformation::validate(Kit *k) const { QList result; - if (!toolChain(p)) { - setToolChain(p, 0); // make sure to clear out no longer known tool chains - result << Task(Task::Error, ToolChainProfileInformation::msgNoToolChainInTarget(), + if (!toolChain(k)) { + setToolChain(k, 0); // make sure to clear out no longer known tool chains + result << Task(Task::Error, ToolChainKitInformation::msgNoToolChainInTarget(), Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM)); } return result; } -ProfileConfigWidget *ToolChainProfileInformation::createConfigWidget(Profile *p) const +KitConfigWidget *ToolChainKitInformation::createConfigWidget(Kit *k) const { - Q_ASSERT(p); - return new Internal::ToolChainInformationConfigWidget(p); + Q_ASSERT(k); + return new Internal::ToolChainInformationConfigWidget(k); } -QString ToolChainProfileInformation::displayNamePostfix(const Profile *p) const +QString ToolChainKitInformation::displayNamePostfix(const Kit *k) const { - ToolChain *tc = toolChain(p); + ToolChain *tc = toolChain(k); return tc ? tc->displayName() : QString(); } -ProfileInformation::ItemList ToolChainProfileInformation::toUserOutput(Profile *p) const +KitInformation::ItemList ToolChainKitInformation::toUserOutput(Kit *k) const { - ToolChain *tc = toolChain(p); + ToolChain *tc = toolChain(k); return ItemList() << qMakePair(tr("Compiler"), tc ? tc->displayName() : tr("None")); } -void ToolChainProfileInformation::addToEnvironment(const Profile *p, Utils::Environment &env) const +void ToolChainKitInformation::addToEnvironment(const Kit *k, Utils::Environment &env) const { - ToolChain *tc = toolChain(p); + ToolChain *tc = toolChain(k); if (tc) tc->addToEnvironment(env); } -ToolChain *ToolChainProfileInformation::toolChain(const Profile *p) +ToolChain *ToolChainKitInformation::toolChain(const Kit *k) { - if (!p) + if (!k) return 0; - const QString id = p->value(Core::Id(TOOLCHAIN_INFORMATION)).toString(); + const QString id = k->value(Core::Id(TOOLCHAIN_INFORMATION)).toString(); return ToolChainManager::instance()->findToolChain(id); } -void ToolChainProfileInformation::setToolChain(Profile *p, ToolChain *tc) +void ToolChainKitInformation::setToolChain(Kit *k, ToolChain *tc) { - p->setValue(Core::Id(TOOLCHAIN_INFORMATION), tc ? tc->id() : QString()); + k->setValue(Core::Id(TOOLCHAIN_INFORMATION), tc ? tc->id() : QString()); } -QString ToolChainProfileInformation::msgNoToolChainInTarget() +QString ToolChainKitInformation::msgNoToolChainInTarget() { - return tr("No compiler set in target."); + return tr("No compiler set in kit."); } // -------------------------------------------------------------------------- @@ -221,47 +221,47 @@ QString ToolChainProfileInformation::msgNoToolChainInTarget() static const char DEVICETYPE_INFORMATION[] = "PE.Profile.DeviceType"; -DeviceTypeProfileInformation::DeviceTypeProfileInformation() +DeviceTypeKitInformation::DeviceTypeKitInformation() { setObjectName(QLatin1String("DeviceTypeInformation")); } -Core::Id DeviceTypeProfileInformation::dataId() const +Core::Id DeviceTypeKitInformation::dataId() const { static const Core::Id id(DEVICETYPE_INFORMATION); return id; } -unsigned int DeviceTypeProfileInformation::priority() const +unsigned int DeviceTypeKitInformation::priority() const { return 33000; } -QVariant DeviceTypeProfileInformation::defaultValue(Profile *p) const +QVariant DeviceTypeKitInformation::defaultValue(Kit *k) const { - Q_UNUSED(p); + Q_UNUSED(k); return QByteArray(Constants::DESKTOP_DEVICE_TYPE); } -QList DeviceTypeProfileInformation::validate(Profile *p) const +QList DeviceTypeKitInformation::validate(Kit *k) const { - IDevice::ConstPtr dev = DeviceProfileInformation::device(p); + IDevice::ConstPtr dev = DeviceKitInformation::device(k); QList result; - if (!dev.isNull() && dev->type() != DeviceTypeProfileInformation::deviceTypeId(p)) + if (!dev.isNull() && dev->type() != DeviceTypeKitInformation::deviceTypeId(k)) result.append(Task(Task::Error, tr("Device does not match device type."), Utils::FileName(), -1, Core::Id(Constants::TASK_CATEGORY_BUILDSYSTEM))); return result; } -ProfileConfigWidget *DeviceTypeProfileInformation::createConfigWidget(Profile *p) const +KitConfigWidget *DeviceTypeKitInformation::createConfigWidget(Kit *k) const { - Q_ASSERT(p); - return new Internal::DeviceTypeInformationConfigWidget(p); + Q_ASSERT(k); + return new Internal::DeviceTypeInformationConfigWidget(k); } -ProfileInformation::ItemList DeviceTypeProfileInformation::toUserOutput(Profile *p) const +KitInformation::ItemList DeviceTypeKitInformation::toUserOutput(Kit *k) const { - Core::Id type = deviceTypeId(p); + Core::Id type = deviceTypeId(k); QString typeDisplayName = tr("Unknown device type"); if (type.isValid()) { QList factories @@ -276,16 +276,16 @@ ProfileInformation::ItemList DeviceTypeProfileInformation::toUserOutput(Profile return ItemList() << qMakePair(tr("Device type"), typeDisplayName); } -const Core::Id DeviceTypeProfileInformation::deviceTypeId(const Profile *p) +const Core::Id DeviceTypeKitInformation::deviceTypeId(const Kit *k) { - if (!p) + if (!k) return Core::Id(); - return Core::Id(p->value(Core::Id(DEVICETYPE_INFORMATION)).toByteArray().constData()); + return Core::Id(k->value(Core::Id(DEVICETYPE_INFORMATION)).toByteArray().constData()); } -void DeviceTypeProfileInformation::setDeviceTypeId(Profile *p, Core::Id type) +void DeviceTypeKitInformation::setDeviceTypeId(Kit *k, Core::Id type) { - p->setValue(Core::Id(DEVICETYPE_INFORMATION), type.name()); + k->setValue(Core::Id(DEVICETYPE_INFORMATION), type.name()); } // -------------------------------------------------------------------------- @@ -294,7 +294,7 @@ void DeviceTypeProfileInformation::setDeviceTypeId(Profile *p, Core::Id type) static const char DEVICE_INFORMATION[] = "PE.Profile.Device"; -DeviceProfileInformation::DeviceProfileInformation() +DeviceKitInformation::DeviceKitInformation() { setObjectName(QLatin1String("DeviceInformation")); connect(DeviceManager::instance(), SIGNAL(deviceRemoved(Core::Id)), @@ -303,71 +303,71 @@ DeviceProfileInformation::DeviceProfileInformation() this, SIGNAL(validationNeeded())); } -Core::Id DeviceProfileInformation::dataId() const +Core::Id DeviceKitInformation::dataId() const { static const Core::Id id(DEVICE_INFORMATION); return id; } -unsigned int DeviceProfileInformation::priority() const +unsigned int DeviceKitInformation::priority() const { return 32000; } -QVariant DeviceProfileInformation::defaultValue(Profile *p) const +QVariant DeviceKitInformation::defaultValue(Kit *k) const { - Q_UNUSED(p); + Q_UNUSED(k); return QByteArray(Constants::DESKTOP_DEVICE_ID); } -QList DeviceProfileInformation::validate(Profile *p) const +QList DeviceKitInformation::validate(Kit *k) const { - Q_UNUSED(p); + Q_UNUSED(k); QList result; return result; } -ProfileConfigWidget *DeviceProfileInformation::createConfigWidget(Profile *p) const +KitConfigWidget *DeviceKitInformation::createConfigWidget(Kit *k) const { - Q_ASSERT(p); - return new Internal::DeviceInformationConfigWidget(p); + Q_ASSERT(k); + return new Internal::DeviceInformationConfigWidget(k); } -QString DeviceProfileInformation::displayNamePostfix(const Profile *p) const +QString DeviceKitInformation::displayNamePostfix(const Kit *k) const { - IDevice::ConstPtr dev = device(p); + IDevice::ConstPtr dev = device(k); return dev.isNull() ? QString() : dev->displayName(); } -ProfileInformation::ItemList DeviceProfileInformation::toUserOutput(Profile *p) const +KitInformation::ItemList DeviceKitInformation::toUserOutput(Kit *k) const { - IDevice::ConstPtr dev = device(p); + IDevice::ConstPtr dev = device(k); return ItemList() << qMakePair(tr("Device"), dev.isNull() ? tr("Unconfigured") : dev->displayName()); } -IDevice::ConstPtr DeviceProfileInformation::device(const Profile *p) +IDevice::ConstPtr DeviceKitInformation::device(const Kit *k) { DeviceManager *dm = DeviceManager::instance(); - return dm ? dm->find(deviceId(p)) : IDevice::ConstPtr(); + return dm ? dm->find(deviceId(k)) : IDevice::ConstPtr(); } -Core::Id DeviceProfileInformation::deviceId(const Profile *p) +Core::Id DeviceKitInformation::deviceId(const Kit *k) { - if (p) { - QString idname = p->value(Core::Id(DEVICE_INFORMATION)).toString(); + if (k) { + QString idname = k->value(Core::Id(DEVICE_INFORMATION)).toString(); return idname.isEmpty() ? IDevice::invalidId() : Core::Id(idname); } return IDevice::invalidId(); } -void DeviceProfileInformation::setDevice(Profile *p, IDevice::ConstPtr dev) +void DeviceKitInformation::setDevice(Kit *k, IDevice::ConstPtr dev) { - setDeviceId(p, dev ? dev->id() : IDevice::invalidId()); + setDeviceId(k, dev ? dev->id() : IDevice::invalidId()); } -void DeviceProfileInformation::setDeviceId(Profile *p, const Core::Id id) +void DeviceKitInformation::setDeviceId(Kit *k, const Core::Id id) { - p->setValue(Core::Id(DEVICE_INFORMATION), id.toString()); + k->setValue(Core::Id(DEVICE_INFORMATION), id.toString()); } } // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/profileinformation.h b/src/plugins/projectexplorer/kitinformation.h similarity index 51% rename from src/plugins/projectexplorer/profileinformation.h rename to src/plugins/projectexplorer/kitinformation.h index 641743924f7..ce6a6749dd7 100644 --- a/src/plugins/projectexplorer/profileinformation.h +++ b/src/plugins/projectexplorer/kitinformation.h @@ -28,11 +28,11 @@ ** **************************************************************************/ -#ifndef PROFILEINFORMATION_H -#define PROFILEINFORMATION_H +#ifndef KITINFORMATION_H +#define KITINFORMATION_H -#include "profilemanager.h" -#include "profile.h" +#include "kitmanager.h" +#include "kit.h" #include "devicesupport/idevice.h" #include "toolchain.h" @@ -43,44 +43,44 @@ namespace ProjectExplorer { -class ProfileConfigWidget; +class KitConfigWidget; // -------------------------------------------------------------------------- // SysRootInformation: // -------------------------------------------------------------------------- -class PROJECTEXPLORER_EXPORT SysRootProfileInformation : public ProfileInformation +class PROJECTEXPLORER_EXPORT SysRootKitInformation : public KitInformation { Q_OBJECT public: - SysRootProfileInformation(); + SysRootKitInformation(); Core::Id dataId() const; unsigned int priority() const; - QVariant defaultValue(Profile *p) const; + QVariant defaultValue(Kit *k) const; - QList validate(Profile *p) const; + QList validate(Kit *k) const; - ProfileConfigWidget *createConfigWidget(Profile *p) const; + KitConfigWidget *createConfigWidget(Kit *k) const; - ItemList toUserOutput(Profile *p) const; + ItemList toUserOutput(Kit *k) const; - static bool hasSysRoot(const Profile *p); - static Utils::FileName sysRoot(const Profile *p); - static void setSysRoot(Profile *p, const Utils::FileName &v); + static bool hasSysRoot(const Kit *k); + static Utils::FileName sysRoot(const Kit *k); + static void setSysRoot(Kit *k, const Utils::FileName &v); }; -class PROJECTEXPLORER_EXPORT SysRootMatcher : public ProfileMatcher +class PROJECTEXPLORER_EXPORT SysRootMatcher : public KitMatcher { public: SysRootMatcher(const Utils::FileName &fn) : m_sysroot(fn) { } - bool matches(const Profile *p) const + bool matches(const Kit *p) const { - return SysRootProfileInformation::sysRoot(p) == m_sysroot; + return SysRootKitInformation::sysRoot(p) == m_sysroot; } private: @@ -91,43 +91,43 @@ private: // ToolChainInformation: // -------------------------------------------------------------------------- -class PROJECTEXPLORER_EXPORT ToolChainProfileInformation : public ProfileInformation +class PROJECTEXPLORER_EXPORT ToolChainKitInformation : public KitInformation { Q_OBJECT public: - ToolChainProfileInformation(); + ToolChainKitInformation(); Core::Id dataId() const; unsigned int priority() const; - QVariant defaultValue(Profile *p) const; + QVariant defaultValue(Kit *k) const; - QList validate(Profile *p) const; + QList validate(Kit *k) const; - ProfileConfigWidget *createConfigWidget(Profile *p) const; + KitConfigWidget *createConfigWidget(Kit *k) const; - QString displayNamePostfix(const Profile *p) const; + QString displayNamePostfix(const Kit *k) const; - ItemList toUserOutput(Profile *p) const; + ItemList toUserOutput(Kit *k) const; - void addToEnvironment(const Profile *p, Utils::Environment &env) const; + void addToEnvironment(const Kit *k, Utils::Environment &env) const; - static ToolChain *toolChain(const Profile *p); - static void setToolChain(Profile *p, ToolChain *tc); + static ToolChain *toolChain(const Kit *k); + static void setToolChain(Kit *k, ToolChain *tc); static QString msgNoToolChainInTarget(); }; -class PROJECTEXPLORER_EXPORT ToolChainMatcher : public ProfileMatcher +class PROJECTEXPLORER_EXPORT ToolChainMatcher : public KitMatcher { public: ToolChainMatcher(const ToolChain *tc) : m_tc(tc) { } - bool matches(const Profile *p) const + bool matches(const Kit *p) const { - return ToolChainProfileInformation::toolChain(p) == m_tc; + return ToolChainKitInformation::toolChain(p) == m_tc; } private: @@ -138,37 +138,37 @@ private: // DeviceTypeInformation: // -------------------------------------------------------------------------- -class PROJECTEXPLORER_EXPORT DeviceTypeProfileInformation : public ProfileInformation +class PROJECTEXPLORER_EXPORT DeviceTypeKitInformation : public KitInformation { Q_OBJECT public: - DeviceTypeProfileInformation(); + DeviceTypeKitInformation(); Core::Id dataId() const; unsigned int priority() const; - QVariant defaultValue(Profile *p) const; + QVariant defaultValue(Kit *k) const; - QList validate(Profile *p) const; + QList validate(Kit *k) const; - ProfileConfigWidget *createConfigWidget(Profile *p) const; + KitConfigWidget *createConfigWidget(Kit *k) const; - ItemList toUserOutput(Profile *p) const; + ItemList toUserOutput(Kit *k) const; - static const Core::Id deviceTypeId(const Profile *p); - static void setDeviceTypeId(Profile *p, Core::Id type); + static const Core::Id deviceTypeId(const Kit *k); + static void setDeviceTypeId(Kit *k, Core::Id type); }; -class PROJECTEXPLORER_EXPORT DeviceTypeMatcher : public ProfileMatcher +class PROJECTEXPLORER_EXPORT DeviceTypeMatcher : public KitMatcher { public: DeviceTypeMatcher(const Core::Id t) : m_type(t) { } - bool matches(const Profile *p) const + bool matches(const Kit *p) const { - Core::Id deviceType = DeviceTypeProfileInformation::deviceTypeId(p); + Core::Id deviceType = DeviceTypeKitInformation::deviceTypeId(p); if (!deviceType.isValid()) return false; return deviceType == m_type; @@ -182,41 +182,41 @@ private: // DeviceInformation: // -------------------------------------------------------------------------- -class PROJECTEXPLORER_EXPORT DeviceProfileInformation : public ProfileInformation +class PROJECTEXPLORER_EXPORT DeviceKitInformation : public KitInformation { Q_OBJECT public: - DeviceProfileInformation(); + DeviceKitInformation(); Core::Id dataId() const; unsigned int priority() const; - QVariant defaultValue(Profile *p) const; + QVariant defaultValue(Kit *k) const; - QList validate(Profile *p) const; + QList validate(Kit *k) const; - ProfileConfigWidget *createConfigWidget(Profile *p) const; + KitConfigWidget *createConfigWidget(Kit *k) const; - QString displayNamePostfix(const Profile *p) const; + QString displayNamePostfix(const Kit *k) const; - ItemList toUserOutput(Profile *p) const; + ItemList toUserOutput(Kit *k) const; - static IDevice::ConstPtr device(const Profile *p); - static Core::Id deviceId(const Profile *p); - static void setDevice(Profile *p, IDevice::ConstPtr dev); - static void setDeviceId(Profile *p, const Core::Id id); + static IDevice::ConstPtr device(const Kit *k); + static Core::Id deviceId(const Kit *k); + static void setDevice(Kit *k, IDevice::ConstPtr dev); + static void setDeviceId(Kit *k, const Core::Id id); }; -class PROJECTEXPLORER_EXPORT DeviceMatcher : public ProfileMatcher +class PROJECTEXPLORER_EXPORT DeviceMatcher : public KitMatcher { public: DeviceMatcher(Core::Id id) : m_devId(id) { } - bool matches(const Profile *p) const + bool matches(const Kit *p) const { - return DeviceProfileInformation::deviceId(p) == m_devId; + return DeviceKitInformation::deviceId(p) == m_devId; } private: @@ -225,4 +225,4 @@ private: } // namespace ProjectExplorer -#endif // PROFILEINFORMATION_H +#endif // KITINFORMATION_H diff --git a/src/plugins/projectexplorer/profileinformationconfigwidget.cpp b/src/plugins/projectexplorer/kitinformationconfigwidget.cpp similarity index 86% rename from src/plugins/projectexplorer/profileinformationconfigwidget.cpp rename to src/plugins/projectexplorer/kitinformationconfigwidget.cpp index d480f563c2f..a6f2e8c4f72 100644 --- a/src/plugins/projectexplorer/profileinformationconfigwidget.cpp +++ b/src/plugins/projectexplorer/kitinformationconfigwidget.cpp @@ -28,14 +28,14 @@ ** **************************************************************************/ -#include "profileinformationconfigwidget.h" +#include "kitinformationconfigwidget.h" #include "devicesupport/devicemanager.h" #include "devicesupport/devicemanagermodel.h" #include "devicesupport/idevicefactory.h" #include "projectexplorerconstants.h" -#include "profile.h" -#include "profileinformation.h" +#include "kit.h" +#include "kitinformation.h" #include "toolchain.h" #include "toolchainmanager.h" @@ -55,9 +55,9 @@ namespace Internal { // SysRootInformationConfigWidget: // -------------------------------------------------------------------------- -SysRootInformationConfigWidget::SysRootInformationConfigWidget(Profile *p, QWidget *parent) : - ProfileConfigWidget(parent), - m_profile(p) +SysRootInformationConfigWidget::SysRootInformationConfigWidget(Kit *k, QWidget *parent) : + KitConfigWidget(parent), + m_kit(k) { setToolTip(tr("The root directory of the system image to use.
" "Leave empty when building for the desktop.")); @@ -68,7 +68,7 @@ SysRootInformationConfigWidget::SysRootInformationConfigWidget(Profile *p, QWidg layout->addWidget(m_chooser); m_chooser->setExpectedKind(Utils::PathChooser::ExistingDirectory); - m_chooser->setFileName(SysRootProfileInformation::sysRoot(p)); + m_chooser->setFileName(SysRootKitInformation::sysRoot(k)); connect(m_chooser, SIGNAL(changed(QString)), this, SIGNAL(dirty())); } @@ -80,17 +80,17 @@ QString SysRootInformationConfigWidget::displayName() const void SysRootInformationConfigWidget::apply() { - SysRootProfileInformation::setSysRoot(m_profile, m_chooser->fileName()); + SysRootKitInformation::setSysRoot(m_kit, m_chooser->fileName()); } void SysRootInformationConfigWidget::discard() { - m_chooser->setFileName(SysRootProfileInformation::sysRoot(m_profile)); + m_chooser->setFileName(SysRootKitInformation::sysRoot(m_kit)); } bool SysRootInformationConfigWidget::isDirty() const { - return SysRootProfileInformation::sysRoot(m_profile) != m_chooser->fileName(); + return SysRootKitInformation::sysRoot(m_kit) != m_chooser->fileName(); } void SysRootInformationConfigWidget::makeReadOnly() @@ -107,9 +107,9 @@ QWidget *SysRootInformationConfigWidget::buttonWidget() const // ToolChainInformationConfigWidget: // -------------------------------------------------------------------------- -ToolChainInformationConfigWidget::ToolChainInformationConfigWidget(Profile *p, QWidget *parent) : - ProfileConfigWidget(parent), - m_isReadOnly(false), m_profile(p), +ToolChainInformationConfigWidget::ToolChainInformationConfigWidget(Kit *k, QWidget *parent) : + KitConfigWidget(parent), + m_isReadOnly(false), m_kit(k), m_comboBox(new QComboBox), m_manageButton(new QPushButton(this)) { setToolTip(tr("The compiler to use for building.
" @@ -153,17 +153,17 @@ void ToolChainInformationConfigWidget::apply() { const QString id = m_comboBox->itemData(m_comboBox->currentIndex()).toString(); ToolChain *tc = ToolChainManager::instance()->findToolChain(id); - ToolChainProfileInformation::setToolChain(m_profile, tc); + ToolChainKitInformation::setToolChain(m_kit, tc); } void ToolChainInformationConfigWidget::discard() { - m_comboBox->setCurrentIndex(indexOf(ToolChainProfileInformation::toolChain(m_profile))); + m_comboBox->setCurrentIndex(indexOf(ToolChainKitInformation::toolChain(m_kit))); } bool ToolChainInformationConfigWidget::isDirty() const { - ToolChain *tc = ToolChainProfileInformation::toolChain(m_profile); + ToolChain *tc = ToolChainKitInformation::toolChain(m_kit); return (m_comboBox->itemData(m_comboBox->currentIndex()).toString()) == (tc ? tc->id() : QString()); } @@ -235,9 +235,9 @@ int ToolChainInformationConfigWidget::indexOf(const ToolChain *tc) // DeviceTypeInformationConfigWidget: // -------------------------------------------------------------------------- -DeviceTypeInformationConfigWidget::DeviceTypeInformationConfigWidget(Profile *p, QWidget *parent) : - ProfileConfigWidget(parent), - m_isReadOnly(false), m_profile(p), +DeviceTypeInformationConfigWidget::DeviceTypeInformationConfigWidget(Kit *k, QWidget *parent) : + KitConfigWidget(parent), + m_isReadOnly(false), m_kit(k), m_comboBox(new QComboBox) { setToolTip(tr("The type of device to run applications on.")); @@ -269,12 +269,12 @@ void DeviceTypeInformationConfigWidget::apply() Core::Id devType; if (m_comboBox->currentIndex() >= 0) devType = m_comboBox->itemData(m_comboBox->currentIndex()).value(); - DeviceTypeProfileInformation::setDeviceTypeId(m_profile, devType); + DeviceTypeKitInformation::setDeviceTypeId(m_kit, devType); } void DeviceTypeInformationConfigWidget::discard() { - Core::Id devType = DeviceTypeProfileInformation::deviceTypeId(m_profile); + Core::Id devType = DeviceTypeKitInformation::deviceTypeId(m_kit); if (!devType.isValid()) m_comboBox->setCurrentIndex(-1); for (int i = 0; i < m_comboBox->count(); ++i) { @@ -290,7 +290,7 @@ bool DeviceTypeInformationConfigWidget::isDirty() const Core::Id devType; if (m_comboBox->currentIndex() >= 0) devType = m_comboBox->itemData(m_comboBox->currentIndex()).value(); - return DeviceTypeProfileInformation::deviceTypeId(m_profile) != devType; + return DeviceTypeKitInformation::deviceTypeId(m_kit) != devType; } void DeviceTypeInformationConfigWidget::makeReadOnly() @@ -302,9 +302,9 @@ void DeviceTypeInformationConfigWidget::makeReadOnly() // DeviceInformationConfigWidget: // -------------------------------------------------------------------------- -DeviceInformationConfigWidget::DeviceInformationConfigWidget(Profile *p, QWidget *parent) : - ProfileConfigWidget(parent), - m_isReadOnly(false), m_profile(p), +DeviceInformationConfigWidget::DeviceInformationConfigWidget(Kit *k, QWidget *parent) : + KitConfigWidget(parent), + m_isReadOnly(false), m_kit(k), m_comboBox(new QComboBox), m_manageButton(new QPushButton(this)), m_model(new DeviceManagerModel(DeviceManager::instance())) { @@ -336,19 +336,19 @@ void DeviceInformationConfigWidget::apply() { int idx = m_comboBox->currentIndex(); if (idx >= 0) - DeviceProfileInformation::setDeviceId(m_profile, m_model->deviceId(idx)); + DeviceKitInformation::setDeviceId(m_kit, m_model->deviceId(idx)); else - DeviceProfileInformation::setDeviceId(m_profile, IDevice::invalidId()); + DeviceKitInformation::setDeviceId(m_kit, IDevice::invalidId()); } void DeviceInformationConfigWidget::discard() { - m_comboBox->setCurrentIndex(m_model->indexOf(DeviceProfileInformation::device(m_profile))); + m_comboBox->setCurrentIndex(m_model->indexOf(DeviceKitInformation::device(m_kit))); } bool DeviceInformationConfigWidget::isDirty() const { - Core::Id devId = DeviceProfileInformation::deviceId(m_profile); + Core::Id devId = DeviceKitInformation::deviceId(m_kit); return devId != m_model->deviceId(m_comboBox->currentIndex()); } diff --git a/src/plugins/projectexplorer/profileinformationconfigwidget.h b/src/plugins/projectexplorer/kitinformationconfigwidget.h similarity index 81% rename from src/plugins/projectexplorer/profileinformationconfigwidget.h rename to src/plugins/projectexplorer/kitinformationconfigwidget.h index d1fe859e7a5..f338b9be4cc 100644 --- a/src/plugins/projectexplorer/profileinformationconfigwidget.h +++ b/src/plugins/projectexplorer/kitinformationconfigwidget.h @@ -28,10 +28,10 @@ ** **************************************************************************/ -#ifndef PROFILEINFORMATIONCONFIGWIDGET_H -#define PROFILEINFORMATIONCONFIGWIDGET_H +#ifndef KITINFORMATIONCONFIGWIDGET_H +#define KITINFORMATIONCONFIGWIDGET_H -#include "profileconfigwidget.h" +#include "kitconfigwidget.h" QT_BEGIN_NAMESPACE class QComboBox; @@ -43,7 +43,7 @@ namespace Utils { class PathChooser; } namespace ProjectExplorer { class DeviceManagerModel; -class Profile; +class Kit; class ToolChain; namespace Internal { @@ -52,12 +52,12 @@ namespace Internal { // SysRootInformationConfigWidget: // -------------------------------------------------------------------------- -class SysRootInformationConfigWidget : public ProfileConfigWidget +class SysRootInformationConfigWidget : public KitConfigWidget { Q_OBJECT public: - explicit SysRootInformationConfigWidget(Profile *p, QWidget *parent = 0); + explicit SysRootInformationConfigWidget(Kit *k, QWidget *parent = 0); QString displayName() const; void apply(); @@ -67,7 +67,7 @@ public: QWidget *buttonWidget() const; private: - Profile *m_profile; + Kit *m_kit; Utils::PathChooser *m_chooser; }; @@ -75,12 +75,12 @@ private: // ToolChainInformationConfigWidget: // -------------------------------------------------------------------------- -class ToolChainInformationConfigWidget : public ProfileConfigWidget +class ToolChainInformationConfigWidget : public KitConfigWidget { Q_OBJECT public: - explicit ToolChainInformationConfigWidget(Profile *p, QWidget *parent = 0); + explicit ToolChainInformationConfigWidget(Kit *k, QWidget *parent = 0); QString displayName() const; void apply(); @@ -100,7 +100,7 @@ private: int indexOf(const ToolChain *tc); bool m_isReadOnly; - Profile *m_profile; + Kit *m_kit; QComboBox *m_comboBox; QPushButton *m_manageButton; }; @@ -109,12 +109,12 @@ private: // DeviceTypeInformationConfigWidget: // -------------------------------------------------------------------------- -class DeviceTypeInformationConfigWidget : public ProfileConfigWidget +class DeviceTypeInformationConfigWidget : public KitConfigWidget { Q_OBJECT public: - explicit DeviceTypeInformationConfigWidget(Profile *p, QWidget *parent = 0); + explicit DeviceTypeInformationConfigWidget(Kit *k, QWidget *parent = 0); QString displayName() const; void apply(); @@ -124,7 +124,7 @@ public: private: bool m_isReadOnly; - Profile *m_profile; + Kit *m_kit; QComboBox *m_comboBox; }; @@ -132,12 +132,12 @@ private: // DeviceInformationConfigWidget: // -------------------------------------------------------------------------- -class DeviceInformationConfigWidget : public ProfileConfigWidget +class DeviceInformationConfigWidget : public KitConfigWidget { Q_OBJECT public: - explicit DeviceInformationConfigWidget(Profile *p, QWidget *parent = 0); + explicit DeviceInformationConfigWidget(Kit *k, QWidget *parent = 0); QString displayName() const; void apply(); @@ -151,7 +151,7 @@ private slots: private: bool m_isReadOnly; - Profile *m_profile; + Kit *m_kit; QComboBox *m_comboBox; QPushButton *m_manageButton; DeviceManagerModel *m_model; @@ -160,4 +160,4 @@ private: } // namespace Internal } // namespace ProjectExplorer -#endif // PROFILEINFORMATIONCONFIGWIDGET_H +#endif // KITINFORMATIONCONFIGWIDGET_H diff --git a/src/plugins/projectexplorer/kitmanager.cpp b/src/plugins/projectexplorer/kitmanager.cpp new file mode 100644 index 00000000000..7c503690fdb --- /dev/null +++ b/src/plugins/projectexplorer/kitmanager.cpp @@ -0,0 +1,478 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: http://www.qt-project.org/ +** +** +** GNU Lesser General Public License Usage +** +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the GNU Lesser General +** Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** Other Usage +** +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +**************************************************************************/ + +#include "kitmanager.h" + +#include "kit.h" +#include "kitconfigwidget.h" +#include "kitinformation.h" +#include "kitmanagerconfigwidget.h" +#include "project.h" + +#include + +#include + +#include +#include + +#include +#include +#include + +#include +#include + +static const char KIT_DATA_KEY[] = "Profile."; +static const char KIT_COUNT_KEY[] = "Profile.Count"; +static const char KIT_FILE_VERSION_KEY[] = "Version"; +static const char KIT_DEFAULT_KEY[] = "Profile.Default"; +static const char KIT_FILENAME[] = "/qtcreator/profiles.xml"; + +using Utils::PersistentSettingsWriter; +using Utils::PersistentSettingsReader; + +static Utils::FileName settingsFileName() +{ + QFileInfo settingsLocation(ExtensionSystem::PluginManager::settings()->fileName()); + return Utils::FileName::fromString(settingsLocation.absolutePath() + QLatin1String(KIT_FILENAME)); +} + +namespace ProjectExplorer { + +KitManager *KitManager::m_instance = 0; + +namespace Internal { + +// -------------------------------------------------------------------------- +// KitManagerPrivate: +// -------------------------------------------------------------------------- + +class KitManagerPrivate +{ +public: + KitManagerPrivate(); + ~KitManagerPrivate(); + QList validateKit(Kit *k) const; + + Kit *m_defaultKit; + bool m_initialized; + QList m_informationList; + QList m_kitList; + Utils::PersistentSettingsWriter *m_writer; +}; + +KitManagerPrivate::KitManagerPrivate() + : m_defaultKit(0), m_initialized(false), + m_writer(new Utils::PersistentSettingsWriter(settingsFileName(), QLatin1String("QtCreatorProfiles"))) +{ } + +KitManagerPrivate::~KitManagerPrivate() +{ + qDeleteAll(m_informationList); + qDeleteAll(m_kitList); + delete m_writer; +} + +QList KitManagerPrivate::validateKit(Kit *k) const +{ + Q_ASSERT(k); + QList result; + bool hasError = false; + foreach (KitInformation *ki, m_informationList) { + QList tmp = ki->validate(k); + foreach (const Task &t, tmp) + if (t.type == Task::Error) + hasError = true; + result << tmp; + } + k->setValid(!hasError); + return result; +} + +} // namespace Internal + +// -------------------------------------------------------------------------- +// KitManager: +// -------------------------------------------------------------------------- + +KitManager *KitManager::instance() +{ + return m_instance; +} + +KitManager::KitManager(QObject *parent) : + QObject(parent), + d(new Internal::KitManagerPrivate()) +{ + Q_ASSERT(!m_instance); + m_instance = this; + + connect(Core::ICore::instance(), SIGNAL(saveSettingsRequested()), + this, SLOT(saveKits())); + + connect(this, SIGNAL(kitAdded(ProjectExplorer::Kit*)), + this, SIGNAL(kitsChanged())); + connect(this, SIGNAL(kitRemoved(ProjectExplorer::Kit*)), + this, SIGNAL(kitsChanged())); + connect(this, SIGNAL(kitUpdated(ProjectExplorer::Kit*)), + this, SIGNAL(kitsChanged())); +} + +void KitManager::restoreKits() +{ + QList kitsToRegister; + QList kitsToCheck; + + // read all kits from SDK + QFileInfo systemSettingsFile(Core::ICore::settings(QSettings::SystemScope)->fileName()); + KitList system = restoreKits(Utils::FileName::fromString(systemSettingsFile.absolutePath() + QLatin1String(KIT_FILENAME))); + QList readKits = system.kits; + // make sure we mark these as autodetected! + foreach (Kit *p, readKits) + p->setAutoDetected(true); + + kitsToRegister = readKits; // SDK kits are always considered to be up-to-date, so no need to + // recheck them. + + // read all kit chains from user file + KitList userKits = restoreKits(settingsFileName()); + readKits = userKits.kits; + + foreach (Kit *p, readKits) { + if (p->isAutoDetected()) + kitsToCheck.append(p); + else + kitsToRegister.append(p); + } + readKits.clear(); + + // Then auto create kits: + QList detectedKits; + + // Find/update autodetected kits: + Kit *toStore = 0; + foreach (Kit *currentDetected, detectedKits) { + toStore = currentDetected; + + // Check whether we had this kit stored and prefer the old one with the old id: + for (int i = 0; i < kitsToCheck.count(); ++i) { + if (*(kitsToCheck.at(i)) == *currentDetected) { + toStore = kitsToCheck.at(i); + kitsToCheck.removeAt(i); + delete currentDetected; + break; + } + } + addKit(toStore); + } + + // Delete all loaded autodetected kits that were not rediscovered: + qDeleteAll(kitsToCheck); + + // Store manual kits + foreach (Kit *p, kitsToRegister) + addKit(p); + + if (kits().isEmpty()) { + Kit *defaultKit = new Kit; // One kit using default values + defaultKit->setDisplayName(tr("Desktop")); + defaultKit->setAutoDetected(false); + defaultKit->setIconPath(QLatin1String(":///DESKTOP///")); + + addKit(defaultKit); + } + + Kit *p = find(userKits.defaultKit); + if (p) + setDefaultKit(p); +} + +KitManager::~KitManager() +{ + // Clean out kit information to avoid calling them during deregistration: + delete d; + m_instance = 0; +} + +void KitManager::saveKits() +{ + if (!d->m_initialized) // ignore save requests while we are not initialized. + return; + + QVariantMap data; + data.insert(QLatin1String(KIT_FILE_VERSION_KEY), 1); + + int count = 0; + foreach (Kit *p, kits()) { + QVariantMap tmp = p->toMap(); + if (tmp.isEmpty()) + continue; + data.insert(QString::fromLatin1(KIT_DATA_KEY) + QString::number(count), tmp); + ++count; + } + data.insert(QLatin1String(KIT_COUNT_KEY), count); + data.insert(QLatin1String(KIT_DEFAULT_KEY), + d->m_defaultKit ? QString::fromLatin1(d->m_defaultKit->id().name()) : QString()); + d->m_writer->save(data, Core::ICore::mainWindow()); +} + +bool greaterPriority(KitInformation *a, KitInformation *b) +{ + return a->priority() > b->priority(); +} + +void KitManager::registerKitInformation(KitInformation *ki) +{ + QList::iterator it + = qLowerBound(d->m_informationList.begin(), d->m_informationList.end(), ki, greaterPriority); + d->m_informationList.insert(it, ki); + + connect(ki, SIGNAL(validationNeeded()), this, SLOT(validateKits())); + + if (!d->m_initialized) + return; + + foreach (Kit *p, kits()) { + if (!p->hasValue(ki->dataId())) + p->setValue(ki->dataId(), ki->defaultValue(p)); + } + + return; +} + +void KitManager::deregisterKitInformation(KitInformation *ki) +{ + Q_ASSERT(d->m_informationList.contains(ki)); + d->m_informationList.removeAll(ki); + delete ki; +} + +KitManager::KitList KitManager::restoreKits(const Utils::FileName &fileName) +{ + KitList result; + + PersistentSettingsReader reader; + if (!reader.load(fileName)) + return result; + QVariantMap data = reader.restoreValues(); + + // Check version: + int version = data.value(QLatin1String(KIT_FILE_VERSION_KEY), 0).toInt(); + if (version < 1) + return result; + + const int count = data.value(QLatin1String(KIT_COUNT_KEY), 0).toInt(); + for (int i = 0; i < count; ++i) { + const QString key = QString::fromLatin1(KIT_DATA_KEY) + QString::number(i); + if (!data.contains(key)) + break; + + const QVariantMap stMap = data.value(key).toMap(); + + Kit *p = new Kit; + if (p->fromMap(stMap)) { + result.kits.append(p); + } else { + delete p; + qWarning("Warning: Unable to restore kits stored in %s at position %d.", + qPrintable(fileName.toUserOutput()), i); + } + } + const QString defaultId = data.value(QLatin1String(KIT_DEFAULT_KEY)).toString(); + if (defaultId.isEmpty()) + return result; + + const Core::Id id = Core::Id(defaultId); + foreach (Kit *i, result.kits) { + if (i->id() == id) { + result.defaultKit = id; + break; + } + } + return result; +} + +QList KitManager::kits(const KitMatcher *m) const +{ + if (!d->m_initialized) { + d->m_initialized = true; + const_cast(this)->restoreKits(); + } + + QList result; + foreach (Kit *p, d->m_kitList) { + if (!m || m->matches(p)) + result.append(p); + } + return result; +} + +Kit *KitManager::find(const Core::Id &id) const +{ + if (!id.isValid()) + return 0; + + foreach (Kit *p, kits()) { + if (p->id() == id) + return p; + } + return 0; +} + +Kit *KitManager::find(const KitMatcher *m) const +{ + QList matched = kits(m); + return matched.isEmpty() ? 0 : matched.first(); +} + +Kit *KitManager::defaultKit() +{ + if (!d->m_initialized) { + d->m_initialized = true; + restoreKits(); + } + return d->m_defaultKit; +} + +QList KitManager::kitInformation() const +{ + return d->m_informationList; +} + +KitConfigWidget *KitManager::createConfigWidget(Kit *k) const +{ + if (!k) + return 0; + + Internal::KitManagerConfigWidget *result = new Internal::KitManagerConfigWidget(k); + foreach (KitInformation *ki, d->m_informationList) + result->addConfigWidget(ki->createConfigWidget(k)); + + return result; +} + +void KitManager::notifyAboutUpdate(ProjectExplorer::Kit *p) +{ + if (!p || !kits().contains(p)) + return; + d->validateKit(p); + emit kitUpdated(p); +} + +bool KitManager::registerKit(ProjectExplorer::Kit *k) +{ + if (!k) + return true; + foreach (Kit *current, kits()) { + if (k == current) + return false; + } + + // make sure we have all the information in our kits: + foreach (KitInformation *ki, d->m_informationList) { + if (!k->hasValue(ki->dataId())) + k->setValue(ki->dataId(), ki->defaultValue(k)); + } + + addKit(k); + emit kitAdded(k); + return true; +} + +void KitManager::deregisterKit(Kit *k) +{ + if (!k || !kits().contains(k)) + return; + d->m_kitList.removeOne(k); + if (d->m_defaultKit == k) { + QList stList = kits(); + Kit *newDefault = 0; + foreach (Kit *cur, stList) { + if (cur->isValid()) { + newDefault = cur; + break; + } + } + setDefaultKit(newDefault); + } + emit kitRemoved(k); + delete k; +} + +QList KitManager::validateKit(Kit *k) +{ + QList result = d->validateKit(k); + qSort(result); + return result; +} + +void KitManager::setDefaultKit(Kit *k) +{ + if (d->m_defaultKit == k) + return; + if (k && !kits().contains(k)) + return; + d->m_defaultKit = k; + emit defaultkitChanged(); +} + +void KitManager::validateKits() +{ + foreach (Kit *p, kits()) + d->validateKit(p); +} + +void KitManager::addKit(Kit *k) +{ + if (!k) + return; + k->setDisplayName(k->displayName()); // make name unique + d->validateKit(k); + d->m_kitList.append(k); + if (!d->m_defaultKit || + (!d->m_defaultKit->isValid() && k->isValid())) + setDefaultKit(k); +} + + +void KitInformation::addToEnvironment(const Kit *k, Utils::Environment &env) const +{ + Q_UNUSED(k); + Q_UNUSED(env); +} + +QString KitInformation::displayNamePostfix(const Kit *k) const +{ + Q_UNUSED(k); + return QString(); +} + +} // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/kitmanager.h b/src/plugins/projectexplorer/kitmanager.h new file mode 100644 index 00000000000..4756535a234 --- /dev/null +++ b/src/plugins/projectexplorer/kitmanager.h @@ -0,0 +1,171 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: http://www.qt-project.org/ +** +** +** GNU Lesser General Public License Usage +** +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the GNU Lesser General +** Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** Other Usage +** +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +**************************************************************************/ + +#ifndef KITMANAGER_H +#define KITMANAGER_H + +#include "projectexplorer_export.h" + +#include "task.h" + +#include +#include + +#include +#include + +namespace Utils { class Environment; } + +namespace ProjectExplorer { +class Kit; +class KitConfigWidget; + +namespace Internal { +class KitManagerPrivate; +class KitModel; +} // namespace Internal + +/** + * @brief The KitInformation class + * + * One piece of information stored in the kit. + * + * This needs to get registered with the \a KitManager. + */ +class PROJECTEXPLORER_EXPORT KitInformation : public QObject +{ + Q_OBJECT + +public: + typedef QPair Item; + typedef QList ItemList; + + virtual Core::Id dataId() const = 0; + + virtual unsigned int priority() const = 0; // the higher the closer to the top. + + virtual bool visibleIn(Kit *) { return true; } + virtual QVariant defaultValue(Kit *) const = 0; + + virtual QList validate(Kit *) const = 0; + + virtual ItemList toUserOutput(Kit *) const = 0; + + virtual KitConfigWidget *createConfigWidget(Kit *) const = 0; + + virtual void addToEnvironment(const Kit *k, Utils::Environment &env) const; + + virtual QString displayNamePostfix(const Kit *k) const; + +signals: + void validationNeeded(); +}; + +class PROJECTEXPLORER_EXPORT KitMatcher +{ +public: + virtual ~KitMatcher() { } + virtual bool matches(const Kit *k) const = 0; +}; + +class PROJECTEXPLORER_EXPORT KitManager : public QObject +{ + Q_OBJECT + +public: + static KitManager *instance(); + ~KitManager(); + + QList kits(const KitMatcher *m = 0) const; + Kit *find(const Core::Id &id) const; + Kit *find(const KitMatcher *m) const; + Kit *defaultKit(); + + QList kitInformation() const; + + KitConfigWidget *createConfigWidget(Kit *k) const; + +public slots: + bool registerKit(ProjectExplorer::Kit *k); + void deregisterKit(ProjectExplorer::Kit *k); + QList validateKit(ProjectExplorer::Kit *k); + void setDefaultKit(ProjectExplorer::Kit *k); + + void saveKits(); + + void registerKitInformation(ProjectExplorer::KitInformation *ki); + void deregisterKitInformation(ProjectExplorer::KitInformation *ki); + +signals: + void kitAdded(ProjectExplorer::Kit *); + // Kit is still valid when this call happens! + void kitRemoved(ProjectExplorer::Kit *); + // Kit was updated. + void kitUpdated(ProjectExplorer::Kit *); + // Default kit was changed. + void defaultkitChanged(); + // Something changed. + void kitsChanged(); + +private slots: + void validateKits(); + +private: + explicit KitManager(QObject *parent = 0); + + // Make sure the this is only called after all + // KitInformation are registered! + void restoreKits(); + class KitList + { + public: + KitList() + { } + Core::Id defaultKit; + QList kits; + }; + KitList restoreKits(const Utils::FileName &fileName); + + void notifyAboutUpdate(ProjectExplorer::Kit *p); + void addKit(Kit *k); + + Internal::KitManagerPrivate *const d; + + static KitManager *m_instance; + + friend class Internal::KitManagerPrivate; // for the restoreToolChains methods + friend class ProjectExplorerPlugin; // for constructor + friend class Kit; + friend class Internal::KitModel; +}; + +} // namespace ProjectExplorer + +#endif // KITMANAGER_H diff --git a/src/plugins/projectexplorer/profilemanagerconfigwidget.cpp b/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp similarity index 79% rename from src/plugins/projectexplorer/profilemanagerconfigwidget.cpp rename to src/plugins/projectexplorer/kitmanagerconfigwidget.cpp index abf9dfb35d1..452127be962 100644 --- a/src/plugins/projectexplorer/profilemanagerconfigwidget.cpp +++ b/src/plugins/projectexplorer/kitmanagerconfigwidget.cpp @@ -28,9 +28,9 @@ ** **************************************************************************/ -#include "profilemanagerconfigwidget.h" +#include "kitmanagerconfigwidget.h" -#include "profile.h" +#include "kit.h" #include @@ -46,11 +46,11 @@ namespace ProjectExplorer { namespace Internal { -ProfileManagerConfigWidget::ProfileManagerConfigWidget(Profile *p, QWidget *parent) : - ProfileConfigWidget(parent), +KitManagerConfigWidget::KitManagerConfigWidget(Kit *k, QWidget *parent) : + KitConfigWidget(parent), m_layout(new QGridLayout), m_iconButton(new QToolButton), - m_profile(p) + m_kit(k) { m_layout->setMargin(0); m_layout->setSpacing(6); @@ -88,35 +88,35 @@ ProfileManagerConfigWidget::ProfileManagerConfigWidget(Profile *p, QWidget *pare connect(m_iconButton, SIGNAL(clicked()), this, SLOT(setIcon())); } -QString ProfileManagerConfigWidget::displayName() const +QString KitManagerConfigWidget::displayName() const { - return tr("Targets"); + return tr("Kits"); } -void ProfileManagerConfigWidget::apply() +void KitManagerConfigWidget::apply() { - foreach (ProfileConfigWidget *w, m_widgets) + foreach (KitConfigWidget *w, m_widgets) w->apply(); - m_profile->setIconPath(m_iconPath); + m_kit->setIconPath(m_iconPath); } -void ProfileManagerConfigWidget::discard() +void KitManagerConfigWidget::discard() { - foreach (ProfileConfigWidget *w, m_widgets) + foreach (KitConfigWidget *w, m_widgets) w->discard(); - m_iconButton->setIcon(m_profile->icon()); - m_iconPath = m_profile->iconPath(); + m_iconButton->setIcon(m_kit->icon()); + m_iconPath = m_kit->iconPath(); } -bool ProfileManagerConfigWidget::isDirty() const +bool KitManagerConfigWidget::isDirty() const { - foreach (ProfileConfigWidget *w, m_widgets) + foreach (KitConfigWidget *w, m_widgets) if (w->isDirty()) return true; - return m_profile->iconPath() != m_iconPath; + return m_kit->iconPath() != m_iconPath; } -void ProfileManagerConfigWidget::addConfigWidget(ProjectExplorer::ProfileConfigWidget *widget) +void KitManagerConfigWidget::addConfigWidget(ProjectExplorer::KitConfigWidget *widget) { Q_ASSERT(widget); Q_ASSERT(!m_widgets.contains(widget)); @@ -138,14 +138,14 @@ void ProfileManagerConfigWidget::addConfigWidget(ProjectExplorer::ProfileConfigW m_widgets.append(widget); } -void ProfileManagerConfigWidget::makeReadOnly() +void KitManagerConfigWidget::makeReadOnly() { - foreach (ProfileConfigWidget *w, m_widgets) + foreach (KitConfigWidget *w, m_widgets) w->makeReadOnly(); m_iconButton->setEnabled(false); } -void ProfileManagerConfigWidget::setIcon() +void KitManagerConfigWidget::setIcon() { const QString path = QFileDialog::getOpenFileName(0, tr("Select Icon"), m_iconPath, tr("Images (*.png *.xpm *.jpg)")); if (path.isEmpty()) diff --git a/src/plugins/projectexplorer/profilemanagerconfigwidget.h b/src/plugins/projectexplorer/kitmanagerconfigwidget.h similarity index 78% rename from src/plugins/projectexplorer/profilemanagerconfigwidget.h rename to src/plugins/projectexplorer/kitmanagerconfigwidget.h index 62bacb26f5e..afcf9b18e71 100644 --- a/src/plugins/projectexplorer/profilemanagerconfigwidget.h +++ b/src/plugins/projectexplorer/kitmanagerconfigwidget.h @@ -28,10 +28,10 @@ ** **************************************************************************/ -#ifndef PROFILEMANAGERWIDGET_H -#define PROFILEMANAGERWIDGET_H +#ifndef KITMANAGERWIDGET_H +#define KITMANAGERWIDGET_H -#include "profileconfigwidget.h" +#include "kitconfigwidget.h" QT_BEGIN_NAMESPACE class QHBoxLayout; @@ -40,23 +40,23 @@ class QToolButton; QT_END_NAMESPACE namespace ProjectExplorer { -class Profile; +class Kit; namespace Internal { -class ProfileManagerConfigWidget : public ProjectExplorer::ProfileConfigWidget +class KitManagerConfigWidget : public ProjectExplorer::KitConfigWidget { Q_OBJECT public: - explicit ProfileManagerConfigWidget(Profile *p, QWidget *parent = 0); + explicit KitManagerConfigWidget(Kit *k, QWidget *parent = 0); QString displayName() const; void apply(); void discard(); bool isDirty() const; - void addConfigWidget(ProjectExplorer::ProfileConfigWidget *widget); + void addConfigWidget(ProjectExplorer::KitConfigWidget *widget); void makeReadOnly(); private slots: @@ -65,12 +65,12 @@ private slots: private: QGridLayout *m_layout; QToolButton *m_iconButton; - QList m_widgets; - Profile *m_profile; + QList m_widgets; + Kit *m_kit; QString m_iconPath; }; } // namespace Internal } // namespace ProjectExplorer -#endif // PROFILEMANAGERCONFIGWIDGET_H +#endif // KITMANAGERWIDGET_H diff --git a/src/plugins/projectexplorer/profilemodel.cpp b/src/plugins/projectexplorer/kitmodel.cpp similarity index 54% rename from src/plugins/projectexplorer/profilemodel.cpp rename to src/plugins/projectexplorer/kitmodel.cpp index 3b7b499187b..337ae9a72d1 100644 --- a/src/plugins/projectexplorer/profilemodel.cpp +++ b/src/plugins/projectexplorer/kitmodel.cpp @@ -28,11 +28,11 @@ ** **************************************************************************/ -#include "profilemodel.h" +#include "kitmodel.h" -#include "profile.h" -#include "profileconfigwidget.h" -#include "profilemanager.h" +#include "kit.h" +#include "kitconfigwidget.h" +#include "kitmanager.h" #include @@ -43,128 +43,128 @@ namespace ProjectExplorer { namespace Internal { -class ProfileNode +class KitNode { public: - explicit ProfileNode(ProfileNode *pn, Profile *p = 0, bool c = false) : - parent(pn), profile(p), changed(c) + explicit KitNode(KitNode *pn, Kit *k = 0, bool c = false) : + parent(pn), kit(k), changed(c) { if (pn) pn->childNodes.append(this); - widget = ProfileManager::instance()->createConfigWidget(p); + widget = KitManager::instance()->createConfigWidget(k); if (widget) { - if (p && p->isAutoDetected()) + if (k && k->isAutoDetected()) widget->makeReadOnly(); widget->setVisible(false); } } - ~ProfileNode() + ~KitNode() { if (parent) parent->childNodes.removeOne(this); // deleting a child removes it from childNodes // so operate on a temporary list - QList tmp = childNodes; + QList tmp = childNodes; qDeleteAll(tmp); Q_ASSERT(childNodes.isEmpty()); } - ProfileNode *parent; + KitNode *parent; QString newName; - QList childNodes; - Profile *profile; - ProfileConfigWidget *widget; + QList childNodes; + Kit *kit; + KitConfigWidget *widget; bool changed; }; // -------------------------------------------------------------------------- -// ProfileModel +// KitModel // -------------------------------------------------------------------------- -ProfileModel::ProfileModel(QBoxLayout *parentLayout, QObject *parent) : +KitModel::KitModel(QBoxLayout *parentLayout, QObject *parent) : QAbstractItemModel(parent), m_parentLayout(parentLayout), m_defaultNode(0) { Q_ASSERT(m_parentLayout); - connect(ProfileManager::instance(), SIGNAL(profileAdded(ProjectExplorer::Profile*)), - this, SLOT(addProfile(ProjectExplorer::Profile*))); - connect(ProfileManager::instance(), SIGNAL(profileRemoved(ProjectExplorer::Profile*)), - this, SLOT(removeProfile(ProjectExplorer::Profile*))); - connect(ProfileManager::instance(), SIGNAL(profileUpdated(ProjectExplorer::Profile*)), - this, SLOT(updateProfile(ProjectExplorer::Profile*))); - connect(ProfileManager::instance(), SIGNAL(defaultProfileChanged()), - this, SLOT(changeDefaultProfile())); + connect(KitManager::instance(), SIGNAL(kitAdded(ProjectExplorer::Kit*)), + this, SLOT(addKit(ProjectExplorer::Kit*))); + connect(KitManager::instance(), SIGNAL(kitRemoved(ProjectExplorer::Kit*)), + this, SLOT(removeKit(ProjectExplorer::Kit*))); + connect(KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)), + this, SLOT(updateKit(ProjectExplorer::Kit*))); + connect(KitManager::instance(), SIGNAL(defaultkitChanged()), + this, SLOT(changeDefaultKit())); - m_root = new ProfileNode(0); - m_autoRoot = new ProfileNode(m_root); - m_manualRoot = new ProfileNode(m_root); + m_root = new KitNode(0); + m_autoRoot = new KitNode(m_root); + m_manualRoot = new KitNode(m_root); - foreach (Profile *p, ProfileManager::instance()->profiles()) - addProfile(p); + foreach (Kit *k, KitManager::instance()->kits()) + addKit(k); - changeDefaultProfile(); + changeDefaultKit(); } -ProfileModel::~ProfileModel() +KitModel::~KitModel() { delete m_root; } -QModelIndex ProfileModel::index(int row, int column, const QModelIndex &parent) const +QModelIndex KitModel::index(int row, int column, const QModelIndex &parent) const { if (!parent.isValid()) { if (row >= 0 && row < m_root->childNodes.count()) return createIndex(row, column, m_root->childNodes.at(row)); } - ProfileNode *node = static_cast(parent.internalPointer()); + KitNode *node = static_cast(parent.internalPointer()); if (row < node->childNodes.count() && column == 0) return createIndex(row, column, node->childNodes.at(row)); else return QModelIndex(); } -QModelIndex ProfileModel::parent(const QModelIndex &idx) const +QModelIndex KitModel::parent(const QModelIndex &idx) const { if (!idx.isValid()) return QModelIndex(); - ProfileNode *node = static_cast(idx.internalPointer()); + KitNode *node = static_cast(idx.internalPointer()); if (node->parent == m_root) return QModelIndex(); return index(node->parent); } -int ProfileModel::rowCount(const QModelIndex &parent) const +int KitModel::rowCount(const QModelIndex &parent) const { if (!parent.isValid()) return m_root->childNodes.count(); - ProfileNode *node = static_cast(parent.internalPointer()); + KitNode *node = static_cast(parent.internalPointer()); return node->childNodes.count(); } -int ProfileModel::columnCount(const QModelIndex &parent) const +int KitModel::columnCount(const QModelIndex &parent) const { Q_UNUSED(parent); return 1; } -QVariant ProfileModel::data(const QModelIndex &index, int role) const +QVariant KitModel::data(const QModelIndex &index, int role) const { static QIcon warningIcon(":/projectexplorer/images/compile_warning.png"); if (!index.isValid() || index.column() != 0) return QVariant(); - ProfileNode *node = static_cast(index.internalPointer()); + KitNode *node = static_cast(index.internalPointer()); QTC_ASSERT(node, return QVariant()); if (node == m_autoRoot && role == Qt::DisplayRole) return tr("Auto-detected"); if (node == m_manualRoot && role == Qt::DisplayRole) return tr("Manual"); - if (node->profile) { + if (node->kit) { if (role == Qt::FontRole) { QFont f = QApplication::font(); if (node->changed) @@ -173,54 +173,54 @@ QVariant ProfileModel::data(const QModelIndex &index, int role) const f.setItalic(f.style() != QFont::StyleItalic); return f; } else if (role == Qt::DisplayRole) { - QString baseName = node->newName.isEmpty() ? node->profile->displayName() : node->newName; + QString baseName = node->newName.isEmpty() ? node->kit->displayName() : node->newName; if (node == m_defaultNode) - //: Mark up a profile as the default one. + //: Mark up a kit as the default one. baseName = tr("%1 (default)").arg(baseName); return baseName; } else if (role == Qt::EditRole) { - return node->newName.isEmpty() ? node->profile->displayName() : node->newName; + return node->newName.isEmpty() ? node->kit->displayName() : node->newName; } else if (role == Qt::DecorationRole) { - return node->profile->isValid() ? QIcon() : warningIcon; + return node->kit->isValid() ? QIcon() : warningIcon; } else if (role == Qt::ToolTipRole) { - return node->profile->toHtml(); + return node->kit->toHtml(); } } return QVariant(); } -bool ProfileModel::setData(const QModelIndex &index, const QVariant &value, int role) +bool KitModel::setData(const QModelIndex &index, const QVariant &value, int role) { if (!index.isValid()) return false; - ProfileNode *node = static_cast(index.internalPointer()); + KitNode *node = static_cast(index.internalPointer()); Q_ASSERT(node); - if (index.column() != 0 || !node->profile || role != Qt::EditRole) + if (index.column() != 0 || !node->kit || role != Qt::EditRole) return false; node->newName = value.toString(); - if (!node->newName.isEmpty() && node->newName != node->profile->displayName()) + if (!node->newName.isEmpty() && node->newName != node->kit->displayName()) node->changed = true; return true; } -Qt::ItemFlags ProfileModel::flags(const QModelIndex &index) const +Qt::ItemFlags KitModel::flags(const QModelIndex &index) const { if (!index.isValid()) return 0; - ProfileNode *node = static_cast(index.internalPointer()); + KitNode *node = static_cast(index.internalPointer()); Q_ASSERT(node); - if (!node->profile) + if (!node->kit) return Qt::ItemIsEnabled; - if (node->profile->isAutoDetected()) + if (node->kit->isAutoDetected()) return Qt::ItemIsEnabled | Qt::ItemIsSelectable; return Qt::ItemIsEnabled | Qt::ItemIsSelectable | Qt::ItemIsEditable; } -QVariant ProfileModel::headerData(int section, Qt::Orientation orientation, int role) const +QVariant KitModel::headerData(int section, Qt::Orientation orientation, int role) const { Q_UNUSED(section); if (orientation == Qt::Horizontal && role == Qt::DisplayRole) @@ -228,64 +228,64 @@ QVariant ProfileModel::headerData(int section, Qt::Orientation orientation, int return QVariant(); } -Profile *ProfileModel::profile(const QModelIndex &index) +Kit *KitModel::kit(const QModelIndex &index) { if (!index.isValid()) return 0; - ProfileNode *node = static_cast(index.internalPointer()); + KitNode *node = static_cast(index.internalPointer()); Q_ASSERT(node); - return node->profile; + return node->kit; } -QModelIndex ProfileModel::indexOf(Profile *p) const +QModelIndex KitModel::indexOf(Kit *k) const { - ProfileNode *n = find(p); + KitNode *n = find(k); return n ? index(n) : QModelIndex(); } -void ProfileModel::setDefaultProfile(const QModelIndex &index) +void KitModel::setDefaultKit(const QModelIndex &index) { if (!index.isValid()) return; - ProfileNode *node = static_cast(index.internalPointer()); + KitNode *node = static_cast(index.internalPointer()); Q_ASSERT(node); - if (node->profile) + if (node->kit) setDefaultNode(node); } -bool ProfileModel::isDefaultProfile(const QModelIndex &index) +bool KitModel::isDefaultKit(const QModelIndex &index) { - return m_defaultNode == static_cast(index.internalPointer()); + return m_defaultNode == static_cast(index.internalPointer()); } -ProfileConfigWidget *ProfileModel::widget(const QModelIndex &index) +KitConfigWidget *KitModel::widget(const QModelIndex &index) { if (!index.isValid()) return 0; - ProfileNode *node = static_cast(index.internalPointer()); + KitNode *node = static_cast(index.internalPointer()); Q_ASSERT(node); return node->widget; } -bool ProfileModel::isDirty() const +bool KitModel::isDirty() const { - foreach (ProfileNode *n, m_manualRoot->childNodes) { + foreach (KitNode *n, m_manualRoot->childNodes) { if (n->changed) return true; } return false; } -bool ProfileModel::isDirty(Profile *p) const +bool KitModel::isDirty(Kit *k) const { - ProfileNode *n = find(p); + KitNode *n = find(k); return n ? !n->changed : false; } -void ProfileModel::setDirty() +void KitModel::setDirty() { - ProfileConfigWidget *w = qobject_cast(sender()); - foreach (ProfileNode *n, m_manualRoot->childNodes) { + KitConfigWidget *w = qobject_cast(sender()); + foreach (KitNode *n, m_manualRoot->childNodes) { if (n->widget == w) { n->changed = true; emit dataChanged(index(n, 0), index(n, columnCount(QModelIndex()))); @@ -293,76 +293,76 @@ void ProfileModel::setDirty() } } -void ProfileModel::apply() +void KitModel::apply() { - // Remove unused profiles: - QList nodes = m_toRemoveList; - foreach (ProfileNode *n, nodes) { + // Remove unused kits: + QList nodes = m_toRemoveList; + foreach (KitNode *n, nodes) { Q_ASSERT(!n->parent); - ProfileManager::instance()->deregisterProfile(n->profile); + KitManager::instance()->deregisterKit(n->kit); } Q_ASSERT(m_toRemoveList.isEmpty()); - // Update profiles: - foreach (ProfileNode *n, m_manualRoot->childNodes) { + // Update kits: + foreach (KitNode *n, m_manualRoot->childNodes) { Q_ASSERT(n); - Q_ASSERT(n->profile); + Q_ASSERT(n->kit); if (n->changed) { - ProfileManager::instance()->blockSignals(true); + KitManager::instance()->blockSignals(true); if (!n->newName.isEmpty()) { - n->profile->setDisplayName(n->newName); + n->kit->setDisplayName(n->newName); n->newName.clear(); } if (n->widget) n->widget->apply(); n->changed = false; - ProfileManager::instance()->blockSignals(false); - ProfileManager::instance()->notifyAboutUpdate(n->profile); + KitManager::instance()->blockSignals(false); + KitManager::instance()->notifyAboutUpdate(n->kit); emit dataChanged(index(n, 0), index(n, columnCount(QModelIndex()))); } } - // Add new (and already updated) profiles + // Add new (and already updated) kits QStringList removedSts; nodes = m_toAddList; - foreach (ProfileNode *n, nodes) { - if (!ProfileManager::instance()->registerProfile(n->profile)) - removedSts << n->profile->displayName(); + foreach (KitNode *n, nodes) { + if (!KitManager::instance()->registerKit(n->kit)) + removedSts << n->kit->displayName(); } - foreach (ProfileNode *n, m_toAddList) - markForRemoval(n->profile); + foreach (KitNode *n, m_toAddList) + markForRemoval(n->kit); if (removedSts.count() == 1) { QMessageBox::warning(0, - tr("Duplicate Target Detected"), - tr("The target
 %1
" + tr("Duplicate Kit Detected"), + tr("The kit
 %1
" " was already configured. It was not configured again.") .arg(removedSts.at(0))); } else if (!removedSts.isEmpty()) { QMessageBox::warning(0, - tr("Duplicate Targets Detected"), - tr("The following targets were already configured:
" + tr("Duplicate Kits Detected"), + tr("The following kits were already configured:
" " %1
" "They were not configured again.") .arg(removedSts.join(QLatin1String(",
 ")))); } - // Set default profile: + // Set default kit: if (m_defaultNode) - ProfileManager::instance()->setDefaultProfile(m_defaultNode->profile); + KitManager::instance()->setDefaultKit(m_defaultNode->kit); } -void ProfileModel::markForRemoval(Profile *p) +void KitModel::markForRemoval(Kit *k) { - ProfileNode *node = find(p); + KitNode *node = find(k); if (!node) return; if (node == m_defaultNode) { - ProfileNode *newDefault = 0; + KitNode *newDefault = 0; if (!m_autoRoot->childNodes.isEmpty()) newDefault = m_autoRoot->childNodes.at(0); else if (!m_manualRoot->childNodes.isEmpty()) @@ -374,8 +374,8 @@ void ProfileModel::markForRemoval(Profile *p) m_manualRoot->childNodes.removeOne(node); node->parent = 0; if (m_toAddList.contains(node)) { - delete node->profile; - node->profile = 0; + delete node->kit; + node->kit = 0; m_toAddList.removeOne(node); delete node; } else { @@ -384,12 +384,12 @@ void ProfileModel::markForRemoval(Profile *p) endRemoveRows(); } -void ProfileModel::markForAddition(Profile *p) +void KitModel::markForAddition(Kit *k) { int pos = m_manualRoot->childNodes.size(); beginInsertRows(index(m_manualRoot), pos, pos); - ProfileNode *node = createNode(m_manualRoot, p, true); + KitNode *node = createNode(m_manualRoot, k, true); m_toAddList.append(node); if (!m_defaultNode) @@ -398,7 +398,7 @@ void ProfileModel::markForAddition(Profile *p) endInsertRows(); } -QModelIndex ProfileModel::index(ProfileNode *node, int column) const +QModelIndex KitModel::index(KitNode *node, int column) const { if (node->parent == 0) // is root (or was marked for deletion) return QModelIndex(); @@ -408,22 +408,22 @@ QModelIndex ProfileModel::index(ProfileNode *node, int column) const return index(node->parent->childNodes.indexOf(node), column, index(node->parent)); } -ProfileNode *ProfileModel::find(Profile *p) const +KitNode *KitModel::find(Kit *k) const { - foreach (ProfileNode *n, m_autoRoot->childNodes) { - if (n->profile == p) + foreach (KitNode *n, m_autoRoot->childNodes) { + if (n->kit == k) return n; } - foreach (ProfileNode *n, m_manualRoot->childNodes) { - if (n->profile == p) + foreach (KitNode *n, m_manualRoot->childNodes) { + if (n->kit == k) return n; } return 0; } -ProfileNode *ProfileModel::createNode(ProfileNode *parent, Profile *p, bool changed) +KitNode *KitModel::createNode(KitNode *parent, Kit *k, bool changed) { - ProfileNode *node = new ProfileNode(parent, p, changed); + KitNode *node = new KitNode(parent, k, changed); if (node->widget) { node->widget->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Expanding); m_parentLayout->addWidget(node->widget, 10); @@ -433,7 +433,7 @@ ProfileNode *ProfileModel::createNode(ProfileNode *parent, Profile *p, bool chan return node; } -void ProfileModel::setDefaultNode(ProfileNode *node) +void KitModel::setDefaultNode(KitNode *node) { if (m_defaultNode) { QModelIndex idx = index(m_defaultNode); @@ -448,47 +448,47 @@ void ProfileModel::setDefaultNode(ProfileNode *node) } } -void ProfileModel::addProfile(Profile *p) +void KitModel::addKit(Kit *k) { - QList nodes = m_toAddList; - foreach (ProfileNode *n, nodes) { - if (n->profile == p) { + QList nodes = m_toAddList; + foreach (KitNode *n, nodes) { + if (n->kit == k) { m_toAddList.removeOne(n); // do not delete n: Still used elsewhere! return; } } - ProfileNode *parent = m_manualRoot; - if (p->isAutoDetected()) + KitNode *parent = m_manualRoot; + if (k->isAutoDetected()) parent = m_autoRoot; int row = parent->childNodes.count(); beginInsertRows(index(parent), row, row); - createNode(parent, p, false); + createNode(parent, k, false); endInsertRows(); - emit profileStateChanged(); + emit kitStateChanged(); } -void ProfileModel::removeProfile(Profile *p) +void KitModel::removeKit(Kit *k) { - QList nodes = m_toRemoveList; - foreach (ProfileNode *n, nodes) { - if (n->profile == p) { + QList nodes = m_toRemoveList; + foreach (KitNode *n, nodes) { + if (n->kit == k) { m_toRemoveList.removeOne(n); delete n; return; } } - ProfileNode *parent = m_manualRoot; - if (p->isAutoDetected()) + KitNode *parent = m_manualRoot; + if (k->isAutoDetected()) parent = m_autoRoot; int row = 0; - ProfileNode *node = 0; - foreach (ProfileNode *current, parent->childNodes) { - if (current->profile == p) { + KitNode *node = 0; + foreach (KitNode *current, parent->childNodes) { + if (current->kit == k) { node = current; break; } @@ -500,13 +500,13 @@ void ProfileModel::removeProfile(Profile *p) delete node; endRemoveRows(); - emit profileStateChanged(); + emit kitStateChanged(); } -void ProfileModel::updateProfile(Profile *p) +void KitModel::updateKit(Kit *k) { - ProfileNode *n = find(p); - // This can happen if Qt Versions and Profiles are removed simultaneously. + KitNode *n = find(k); + // This can happen if Qt Versions and kits are removed simultaneously. if (!n) return; if (n->widget) @@ -515,9 +515,9 @@ void ProfileModel::updateProfile(Profile *p) emit dataChanged(idx, idx); } -void ProfileModel::changeDefaultProfile() +void KitModel::changeDefaultKit() { - setDefaultNode(find(ProfileManager::instance()->defaultProfile())); + setDefaultNode(find(KitManager::instance()->defaultKit())); } } // namespace Internal diff --git a/src/plugins/projectexplorer/profilemodel.h b/src/plugins/projectexplorer/kitmodel.h similarity index 64% rename from src/plugins/projectexplorer/profilemodel.h rename to src/plugins/projectexplorer/kitmodel.h index c159bde1f90..8de127766fe 100644 --- a/src/plugins/projectexplorer/profilemodel.h +++ b/src/plugins/projectexplorer/kitmodel.h @@ -28,8 +28,8 @@ ** **************************************************************************/ -#ifndef PROFILEMODEL_H -#define PROFILEMODEL_H +#ifndef KITMODEL_H +#define KITMODEL_H #include "projectexplorer_export.h" @@ -42,26 +42,26 @@ QT_END_NAMESPACE namespace ProjectExplorer { -class Profile; -class ProfileConfigWidget; -class ProfileFactory; -class ProfileManager; +class Kit; +class KitConfigWidget; +class KitFactory; +class KitManager; namespace Internal { -class ProfileNode; +class KitNode; // -------------------------------------------------------------------------- -// ProfileModel: +// KitModel: // -------------------------------------------------------------------------- -class ProfileModel : public QAbstractItemModel +class KitModel : public QAbstractItemModel { Q_OBJECT public: - explicit ProfileModel(QBoxLayout *parentLayout, QObject *parent = 0); - ~ProfileModel(); + explicit KitModel(QBoxLayout *parentLayout, QObject *parent = 0); + ~KitModel(); QModelIndex index(int row, int column, const QModelIndex &parent = QModelIndex()) const; QModelIndex parent(const QModelIndex &index) const; @@ -73,50 +73,50 @@ public: Qt::ItemFlags flags(const QModelIndex &index) const; QVariant headerData(int section, Qt::Orientation orientation, int role = Qt::DisplayRole) const; - Profile *profile(const QModelIndex &); - QModelIndex indexOf(Profile *p) const; + Kit *kit(const QModelIndex &); + QModelIndex indexOf(Kit *k) const; - void setDefaultProfile(const QModelIndex &index); - bool isDefaultProfile(const QModelIndex &index); + void setDefaultKit(const QModelIndex &index); + bool isDefaultKit(const QModelIndex &index); - ProfileConfigWidget *widget(const QModelIndex &); + KitConfigWidget *widget(const QModelIndex &); bool isDirty() const; - bool isDirty(Profile *p) const; + bool isDirty(Kit *k) const; void apply(); - void markForRemoval(Profile *p); - void markForAddition(Profile *p); + void markForRemoval(Kit *k); + void markForAddition(Kit *k); signals: - void profileStateChanged(); + void kitStateChanged(); private slots: - void addProfile(ProjectExplorer::Profile *p); - void removeProfile(ProjectExplorer::Profile *p); - void updateProfile(ProjectExplorer::Profile *p); - void changeDefaultProfile(); + void addKit(ProjectExplorer::Kit *k); + void removeKit(ProjectExplorer::Kit *k); + void updateKit(ProjectExplorer::Kit *k); + void changeDefaultKit(); void setDirty(); private: - QModelIndex index(ProfileNode *, int column = 0) const; - ProfileNode *find(Profile *) const; - ProfileNode *createNode(ProfileNode *parent, Profile *p, bool changed); - void setDefaultNode(ProfileNode *node); + QModelIndex index(KitNode *, int column = 0) const; + KitNode *find(Kit *k) const; + KitNode *createNode(KitNode *parent, Kit *k, bool changed); + void setDefaultNode(KitNode *node); - ProfileNode *m_root; - ProfileNode *m_autoRoot; - ProfileNode *m_manualRoot; + KitNode *m_root; + KitNode *m_autoRoot; + KitNode *m_manualRoot; - QList m_toAddList; - QList m_toRemoveList; + QList m_toAddList; + QList m_toRemoveList; QBoxLayout *m_parentLayout; - ProfileNode *m_defaultNode; + KitNode *m_defaultNode; }; } // namespace Internal } // namespace ProjectExplorer -#endif // PROFILEMODEL_H +#endif // KITMODEL_H diff --git a/src/plugins/projectexplorer/profileoptionspage.cpp b/src/plugins/projectexplorer/kitoptionspage.cpp similarity index 64% rename from src/plugins/projectexplorer/profileoptionspage.cpp rename to src/plugins/projectexplorer/kitoptionspage.cpp index 6feffdfb55a..7a4ea597d6e 100644 --- a/src/plugins/projectexplorer/profileoptionspage.cpp +++ b/src/plugins/projectexplorer/kitoptionspage.cpp @@ -28,13 +28,13 @@ ** **************************************************************************/ -#include "profileoptionspage.h" +#include "kitoptionspage.h" -#include "profilemodel.h" -#include "profile.h" +#include "kitmodel.h" +#include "kit.h" #include "projectexplorerconstants.h" -#include "profileconfigwidget.h" -#include "profilemanager.h" +#include "kitconfigwidget.h" +#include "kitmanager.h" #include @@ -50,28 +50,28 @@ namespace ProjectExplorer { // -------------------------------------------------------------------------- -// ProfileOptionsPage: +// KitOptionsPage: // -------------------------------------------------------------------------- -ProfileOptionsPage::ProfileOptionsPage() : +KitOptionsPage::KitOptionsPage() : m_model(0), m_selectionModel(0), m_currentWidget(0), m_toShow(0) { - setId(Constants::PROFILE_SETTINGS_PAGE_ID); - setDisplayName(tr("Targets")); + setId(Constants::KITS_SETTINGS_PAGE_ID); + setDisplayName(tr("Kits")); setCategory(QLatin1String(Constants::PROJECTEXPLORER_SETTINGS_CATEGORY)); setDisplayCategory(QCoreApplication::translate("ProjectExplorer", Constants::PROJECTEXPLORER_SETTINGS_TR_CATEGORY)); setCategoryIcon(QLatin1String(Constants::PROJECTEXPLORER_SETTINGS_CATEGORY_ICON)); } -QWidget *ProfileOptionsPage::createPage(QWidget *parent) +QWidget *KitOptionsPage::createPage(QWidget *parent) { m_configWidget = new QWidget(parent); - m_profilesView = new QTreeView(m_configWidget); - m_profilesView->setUniformRowHeights(true); - m_profilesView->header()->setStretchLastSection(true); - m_profilesView->setSizePolicy(m_profilesView->sizePolicy().horizontalPolicy(), + m_kitsView = new QTreeView(m_configWidget); + m_kitsView->setUniformRowHeights(true); + m_kitsView->header()->setStretchLastSection(true); + m_kitsView->setSizePolicy(m_kitsView->sizePolicy().horizontalPolicy(), QSizePolicy::Ignored); m_addButton = new QPushButton(tr("Add"), m_configWidget); @@ -89,37 +89,37 @@ QWidget *ProfileOptionsPage::createPage(QWidget *parent) buttonLayout->addItem(new QSpacerItem(0, 0, QSizePolicy::Minimum, QSizePolicy::Expanding)); QHBoxLayout *horizontalLayout = new QHBoxLayout(); - horizontalLayout->addWidget(m_profilesView); + horizontalLayout->addWidget(m_kitsView); horizontalLayout->addLayout(buttonLayout); QVBoxLayout *verticalLayout = new QVBoxLayout(m_configWidget); verticalLayout->addLayout(horizontalLayout); Q_ASSERT(!m_model); - m_model = new Internal::ProfileModel(verticalLayout); - connect(m_model, SIGNAL(profileStateChanged()), this, SLOT(updateState())); + m_model = new Internal::KitModel(verticalLayout); + connect(m_model, SIGNAL(kitStateChanged()), this, SLOT(updateState())); - m_profilesView->setModel(m_model); - m_profilesView->header()->setResizeMode(0, QHeaderView::Stretch); - m_profilesView->expandAll(); + m_kitsView->setModel(m_model); + m_kitsView->header()->setResizeMode(0, QHeaderView::Stretch); + m_kitsView->expandAll(); - m_selectionModel = m_profilesView->selectionModel(); + m_selectionModel = m_kitsView->selectionModel(); connect(m_selectionModel, SIGNAL(selectionChanged(QItemSelection,QItemSelection)), - this, SLOT(profileSelectionChanged())); - connect(ProfileManager::instance(), SIGNAL(profileAdded(ProjectExplorer::Profile*)), - this, SLOT(profileSelectionChanged())); - connect(ProfileManager::instance(), SIGNAL(profileRemoved(ProjectExplorer::Profile*)), - this, SLOT(profileSelectionChanged())); - connect(ProfileManager::instance(), SIGNAL(profileUpdated(ProjectExplorer::Profile*)), - this, SLOT(profileSelectionChanged())); + this, SLOT(kitSelectionChanged())); + connect(KitManager::instance(), SIGNAL(kitAdded(ProjectExplorer::Kit*)), + this, SLOT(kitSelectionChanged())); + connect(KitManager::instance(), SIGNAL(kitRemoved(ProjectExplorer::Kit*)), + this, SLOT(kitSelectionChanged())); + connect(KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)), + this, SLOT(kitSelectionChanged())); // Set up add menu: - connect(m_addButton, SIGNAL(clicked()), this, SLOT(addNewProfile())); - connect(m_cloneButton, SIGNAL(clicked()), this, SLOT(cloneProfile())); - connect(m_delButton, SIGNAL(clicked()), this, SLOT(removeProfile())); - connect(m_makeDefaultButton, SIGNAL(clicked()), this, SLOT(makeDefaultProfile())); + connect(m_addButton, SIGNAL(clicked()), this, SLOT(addNewKit())); + connect(m_cloneButton, SIGNAL(clicked()), this, SLOT(cloneKit())); + connect(m_delButton, SIGNAL(clicked()), this, SLOT(removeKit())); + connect(m_makeDefaultButton, SIGNAL(clicked()), this, SLOT(makeDefaultKit())); - m_searchKeywords = tr("Targets"); + m_searchKeywords = tr("Kits"); updateState(); @@ -133,13 +133,13 @@ QWidget *ProfileOptionsPage::createPage(QWidget *parent) return m_configWidget; } -void ProfileOptionsPage::apply() +void KitOptionsPage::apply() { if (m_model) m_model->apply(); } -void ProfileOptionsPage::finish() +void KitOptionsPage::finish() { if (m_model) { delete m_model; @@ -148,22 +148,22 @@ void ProfileOptionsPage::finish() m_configWidget = 0; // deleted by settingsdialog m_selectionModel = 0; // child of m_configWidget - m_profilesView = 0; // child of m_configWidget + m_kitsView = 0; // child of m_configWidget m_currentWidget = 0; // deleted by the model m_toShow = 0; } -bool ProfileOptionsPage::matches(const QString &s) const +bool KitOptionsPage::matches(const QString &s) const { return m_searchKeywords.contains(s, Qt::CaseInsensitive); } -void ProfileOptionsPage::showProfile(Profile *p) +void KitOptionsPage::showKit(Kit *k) { - m_toShow = p; + m_toShow = k; } -void ProfileOptionsPage::profileSelectionChanged() +void KitOptionsPage::kitSelectionChanged() { if (m_currentWidget) m_currentWidget->setVisible(false); @@ -176,63 +176,63 @@ void ProfileOptionsPage::profileSelectionChanged() updateState(); } -void ProfileOptionsPage::addNewProfile() +void KitOptionsPage::addNewKit() { - Profile *p = new Profile; - m_model->markForAddition(p); + Kit *k = new Kit; + m_model->markForAddition(k); - QModelIndex newIdx = m_model->indexOf(p); + QModelIndex newIdx = m_model->indexOf(k); m_selectionModel->select(newIdx, QItemSelectionModel::Clear | QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows); } -void ProfileOptionsPage::cloneProfile() +void KitOptionsPage::cloneKit() { - Profile *current = m_model->profile(currentIndex()); + Kit *current = m_model->kit(currentIndex()); if (!current) return; - Profile *p = current->clone(); + Kit *k = current->clone(); - m_model->markForAddition(p); + m_model->markForAddition(k); - QModelIndex newIdx = m_model->indexOf(p); + QModelIndex newIdx = m_model->indexOf(k); m_selectionModel->select(newIdx, QItemSelectionModel::Clear | QItemSelectionModel::SelectCurrent | QItemSelectionModel::Rows); } -void ProfileOptionsPage::removeProfile() +void KitOptionsPage::removeKit() { - Profile *p = m_model->profile(currentIndex()); - if (!p) + Kit *k = m_model->kit(currentIndex()); + if (!k) return; - m_model->markForRemoval(p); + m_model->markForRemoval(k); } -void ProfileOptionsPage::makeDefaultProfile() +void KitOptionsPage::makeDefaultKit() { - m_model->setDefaultProfile(currentIndex()); + m_model->setDefaultKit(currentIndex()); updateState(); } -void ProfileOptionsPage::updateState() +void KitOptionsPage::updateState() { - if (!m_profilesView) + if (!m_kitsView) return; bool canCopy = false; bool canDelete = false; bool canMakeDefault = false; QModelIndex index = currentIndex(); - Profile *p = m_model->profile(index); - if (p) { - canCopy = p->isValid(); - canDelete = !p->isAutoDetected(); - canMakeDefault = !m_model->isDefaultProfile(index); + Kit *k = m_model->kit(index); + if (k) { + canCopy = k->isValid(); + canDelete = !k->isAutoDetected(); + canMakeDefault = !m_model->isDefaultKit(index); } m_cloneButton->setEnabled(canCopy); @@ -240,7 +240,7 @@ void ProfileOptionsPage::updateState() m_makeDefaultButton->setEnabled(canMakeDefault); } -QModelIndex ProfileOptionsPage::currentIndex() const +QModelIndex KitOptionsPage::currentIndex() const { if (!m_selectionModel) return QModelIndex(); diff --git a/src/plugins/projectexplorer/profileoptionspage.h b/src/plugins/projectexplorer/kitoptionspage.h similarity index 77% rename from src/plugins/projectexplorer/profileoptionspage.h rename to src/plugins/projectexplorer/kitoptionspage.h index 87e35672dc6..8002a1aca72 100644 --- a/src/plugins/projectexplorer/profileoptionspage.h +++ b/src/plugins/projectexplorer/kitoptionspage.h @@ -28,8 +28,8 @@ ** **************************************************************************/ -#ifndef PROFILEOPTIONSPAGE_H -#define PROFILEOPTIONSPAGE_H +#ifndef KITOPTIONSPAGE_H +#define KITOPTIONSPAGE_H #include "projectexplorer_export.h" @@ -45,43 +45,43 @@ QT_END_NAMESPACE namespace ProjectExplorer { -namespace Internal { class ProfileModel; } +namespace Internal { class KitModel; } -class Profile; -class ProfileConfigWidget; -class ProfileFactory; -class ProfileManager; +class Kit; +class KitConfigWidget; +class KitFactory; +class KitManager; // -------------------------------------------------------------------------- -// ProfileOptionsPage: +// KitOptionsPage: // -------------------------------------------------------------------------- -class PROJECTEXPLORER_EXPORT ProfileOptionsPage : public Core::IOptionsPage +class PROJECTEXPLORER_EXPORT KitOptionsPage : public Core::IOptionsPage { Q_OBJECT public: - ProfileOptionsPage(); + KitOptionsPage(); QWidget *createPage(QWidget *parent); void apply(); void finish(); bool matches(const QString &) const; - void showProfile(Profile *p); + void showKit(Kit *k); private slots: - void profileSelectionChanged(); - void addNewProfile(); - void cloneProfile(); - void removeProfile(); - void makeDefaultProfile(); + void kitSelectionChanged(); + void addNewKit(); + void cloneKit(); + void removeKit(); + void makeDefaultKit(); void updateState(); private: QModelIndex currentIndex() const; - QTreeView *m_profilesView; + QTreeView *m_kitsView; QPushButton *m_addButton; QPushButton *m_cloneButton; QPushButton *m_delButton; @@ -90,13 +90,13 @@ private: QWidget *m_configWidget; QString m_searchKeywords; - Internal::ProfileModel *m_model; + Internal::KitModel *m_model; QItemSelectionModel *m_selectionModel; QWidget *m_currentWidget; - Profile *m_toShow; + Kit *m_toShow; }; } // namespace ProjectExplorer -#endif // PROFILEOPTIONSPAGE_H +#endif // KITOPTIONSPAGE_H diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp index 9c9177482fa..27fa40ee299 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp +++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp @@ -45,7 +45,7 @@ #include #include #include -#include +#include #include #include @@ -559,7 +559,7 @@ MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorActi grid->addWidget(m_separators[PROJECT], 2, 1); QStringList titles; - titles << tr("Target") << tr("Build") + titles << tr("Kit") << tr("Build") << tr("Deploy") << tr("Run"); for (int i = TARGET; i < LAST; ++i) { @@ -589,8 +589,8 @@ MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorActi this, SLOT(updateActionAndSummary())); // for icon changes: - connect(ProjectExplorer::ProfileManager::instance(), SIGNAL(profileUpdated(ProjectExplorer::Profile*)), - this, SLOT(profileChanged(ProjectExplorer::Profile*))); + connect(ProjectExplorer::KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)), + this, SLOT(kitChanged(ProjectExplorer::Kit*))); connect(m_listWidgets[TARGET], SIGNAL(changeActiveProjectConfiguration(ProjectExplorer::ProjectConfiguration*)), this, SLOT(setActiveTarget(ProjectExplorer::ProjectConfiguration*))); @@ -994,9 +994,9 @@ void MiniProjectTargetSelector::activeTargetChanged(ProjectExplorer::Target *tar updateActionAndSummary(); } -void MiniProjectTargetSelector::profileChanged(Profile *profile) +void MiniProjectTargetSelector::kitChanged(Kit *k) { - if (m_target && m_target->profile() == profile) + if (m_target && m_target->kit() == k) updateActionAndSummary(); } @@ -1250,7 +1250,7 @@ void MiniProjectTargetSelector::updateSummary() summary.append(tr("Project: %1
").arg(startupProject->displayName())); if (Target *activeTarget = m_sessionManager->startupProject()->activeTarget()) { if (!m_listWidgets[TARGET]->isVisibleTo(this)) - summary.append(tr("Target: %1
").arg( activeTarget->displayName())); + summary.append(tr("Kit: %1
").arg( activeTarget->displayName())); if (!m_listWidgets[BUILD]->isVisibleTo(this) && activeTarget->activeBuildConfiguration()) summary.append(tr("Build: %1
").arg( activeTarget->activeBuildConfiguration()->displayName())); diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.h b/src/plugins/projectexplorer/miniprojecttargetselector.h index c7cda425740..381c6aead6c 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.h +++ b/src/plugins/projectexplorer/miniprojecttargetselector.h @@ -41,7 +41,7 @@ class QStackedWidget; QT_END_NAMESPACE namespace ProjectExplorer { -class Profile; +class Kit; class Project; class Target; class BuildConfiguration; @@ -134,7 +134,7 @@ private slots: void changeStartupProject(ProjectExplorer::Project *project); void activeTargetChanged(ProjectExplorer::Target *target); - void profileChanged(ProjectExplorer::Profile *profile); + void kitChanged(ProjectExplorer::Kit *k); void activeBuildConfigurationChanged(ProjectExplorer::BuildConfiguration *bc); void activeDeployConfigurationChanged(ProjectExplorer::DeployConfiguration *dc); void activeRunConfigurationChanged(ProjectExplorer::RunConfiguration *rc); diff --git a/src/plugins/projectexplorer/profilemanager.cpp b/src/plugins/projectexplorer/profilemanager.cpp deleted file mode 100644 index 61cfea49e28..00000000000 --- a/src/plugins/projectexplorer/profilemanager.cpp +++ /dev/null @@ -1,478 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: http://www.qt-project.org/ -** -** -** GNU Lesser General Public License Usage -** -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this file. -** Please review the following information to ensure the GNU Lesser General -** Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -**************************************************************************/ - -#include "profilemanager.h" - -#include "profile.h" -#include "profileconfigwidget.h" -#include "profileinformation.h" -#include "profilemanagerconfigwidget.h" -#include "project.h" - -#include - -#include - -#include -#include - -#include -#include -#include - -#include -#include - -static const char PROFILE_DATA_KEY[] = "Profile."; -static const char PROFILE_COUNT_KEY[] = "Profile.Count"; -static const char PROFILE_FILE_VERSION_KEY[] = "Version"; -static const char PROFILE_DEFAULT_KEY[] = "Profile.Default"; -static const char PROFILE_FILENAME[] = "/qtcreator/profiles.xml"; - -using Utils::PersistentSettingsWriter; -using Utils::PersistentSettingsReader; - -static Utils::FileName settingsFileName() -{ - QFileInfo settingsLocation(ExtensionSystem::PluginManager::settings()->fileName()); - return Utils::FileName::fromString(settingsLocation.absolutePath() + QLatin1String(PROFILE_FILENAME)); -} - -namespace ProjectExplorer { - -ProfileManager *ProfileManager::m_instance = 0; - -namespace Internal { - -// -------------------------------------------------------------------------- -// ProfileManagerPrivate: -// -------------------------------------------------------------------------- - -class ProfileManagerPrivate -{ -public: - ProfileManagerPrivate(); - ~ProfileManagerPrivate(); - QList validateProfile(Profile *p) const; - - Profile *m_defaultProfile; - bool m_initialized; - QList m_informationList; - QList m_profileList; - Utils::PersistentSettingsWriter *m_writer; -}; - -ProfileManagerPrivate::ProfileManagerPrivate() - : m_defaultProfile(0), m_initialized(false), - m_writer(new Utils::PersistentSettingsWriter(settingsFileName(), QLatin1String("QtCreatorProfiles"))) -{ } - -ProfileManagerPrivate::~ProfileManagerPrivate() -{ - qDeleteAll(m_informationList); - qDeleteAll(m_profileList); - delete m_writer; -} - -QList ProfileManagerPrivate::validateProfile(Profile *p) const -{ - Q_ASSERT(p); - QList result; - bool hasError = false; - foreach (ProfileInformation *pi, m_informationList) { - QList tmp = pi->validate(p); - foreach (const Task &t, tmp) - if (t.type == Task::Error) - hasError = true; - result << tmp; - } - p->setValid(!hasError); - return result; -} - -} // namespace Internal - -// -------------------------------------------------------------------------- -// ProfileManager: -// -------------------------------------------------------------------------- - -ProfileManager *ProfileManager::instance() -{ - return m_instance; -} - -ProfileManager::ProfileManager(QObject *parent) : - QObject(parent), - d(new Internal::ProfileManagerPrivate()) -{ - Q_ASSERT(!m_instance); - m_instance = this; - - connect(Core::ICore::instance(), SIGNAL(saveSettingsRequested()), - this, SLOT(saveProfiles())); - - connect(this, SIGNAL(profileAdded(ProjectExplorer::Profile*)), - this, SIGNAL(profilesChanged())); - connect(this, SIGNAL(profileRemoved(ProjectExplorer::Profile*)), - this, SIGNAL(profilesChanged())); - connect(this, SIGNAL(profileUpdated(ProjectExplorer::Profile*)), - this, SIGNAL(profilesChanged())); -} - -void ProfileManager::restoreProfiles() -{ - QList profilesToRegister; - QList profilesToCheck; - - // read all profiles from SDK - QFileInfo systemSettingsFile(Core::ICore::settings(QSettings::SystemScope)->fileName()); - ProfileList system = restoreProfiles(Utils::FileName::fromString(systemSettingsFile.absolutePath() + QLatin1String(PROFILE_FILENAME))); - QList readProfiles = system.profiles; - // make sure we mark these as autodetected! - foreach (Profile *p, readProfiles) - p->setAutoDetected(true); - - profilesToRegister = readProfiles; // SDK profiles are always considered to be up-to-date, so no need to - // recheck them. - - // read all profile chains from user file - ProfileList userProfiles = restoreProfiles(settingsFileName()); - readProfiles = userProfiles.profiles; - - foreach (Profile *p, readProfiles) { - if (p->isAutoDetected()) - profilesToCheck.append(p); - else - profilesToRegister.append(p); - } - readProfiles.clear(); - - // Then auto create profiles: - QList detectedProfiles; - - // Find/update autodetected profiles: - Profile *toStore = 0; - foreach (Profile *currentDetected, detectedProfiles) { - toStore = currentDetected; - - // Check whether we had this profile stored and prefer the old one with the old id: - for (int i = 0; i < profilesToCheck.count(); ++i) { - if (*(profilesToCheck.at(i)) == *currentDetected) { - toStore = profilesToCheck.at(i); - profilesToCheck.removeAt(i); - delete currentDetected; - break; - } - } - addProfile(toStore); - } - - // Delete all loaded autodetected profiles that were not rediscovered: - qDeleteAll(profilesToCheck); - - // Store manual profiles - foreach (Profile *p, profilesToRegister) - addProfile(p); - - if (profiles().isEmpty()) { - Profile *defaultProfile = new Profile; // One profile using default values - defaultProfile->setDisplayName(tr("Desktop")); - defaultProfile->setAutoDetected(false); - defaultProfile->setIconPath(QLatin1String(":///DESKTOP///")); - - addProfile(defaultProfile); - } - - Profile *p = find(userProfiles.defaultProfile); - if (p) - setDefaultProfile(p); -} - -ProfileManager::~ProfileManager() -{ - // Clean out profile information to avoid calling them during deregistration: - delete d; - m_instance = 0; -} - -void ProfileManager::saveProfiles() -{ - if (!d->m_initialized) // ignore save requests while we are not initialized. - return; - - QVariantMap data; - data.insert(QLatin1String(PROFILE_FILE_VERSION_KEY), 1); - - int count = 0; - foreach (Profile *p, profiles()) { - QVariantMap tmp = p->toMap(); - if (tmp.isEmpty()) - continue; - data.insert(QString::fromLatin1(PROFILE_DATA_KEY) + QString::number(count), tmp); - ++count; - } - data.insert(QLatin1String(PROFILE_COUNT_KEY), count); - data.insert(QLatin1String(PROFILE_DEFAULT_KEY), - d->m_defaultProfile ? QString::fromLatin1(d->m_defaultProfile->id().name()) : QString()); - d->m_writer->save(data, Core::ICore::mainWindow()); -} - -bool greaterPriority(ProfileInformation *a, ProfileInformation *b) -{ - return a->priority() > b->priority(); -} - -void ProfileManager::registerProfileInformation(ProfileInformation *pi) -{ - QList::iterator it - = qLowerBound(d->m_informationList.begin(), d->m_informationList.end(), pi, greaterPriority); - d->m_informationList.insert(it, pi); - - connect(pi, SIGNAL(validationNeeded()), this, SLOT(validateProfiles())); - - if (!d->m_initialized) - return; - - foreach (Profile *p, profiles()) { - if (!p->hasValue(pi->dataId())) - p->setValue(pi->dataId(), pi->defaultValue(p)); - } - - return; -} - -void ProfileManager::deregisterProfileInformation(ProfileInformation *pi) -{ - Q_ASSERT(d->m_informationList.contains(pi)); - d->m_informationList.removeAll(pi); - delete pi; -} - -ProfileManager::ProfileList ProfileManager::restoreProfiles(const Utils::FileName &fileName) -{ - ProfileList result; - - PersistentSettingsReader reader; - if (!reader.load(fileName)) - return result; - QVariantMap data = reader.restoreValues(); - - // Check version: - int version = data.value(QLatin1String(PROFILE_FILE_VERSION_KEY), 0).toInt(); - if (version < 1) - return result; - - const int count = data.value(QLatin1String(PROFILE_COUNT_KEY), 0).toInt(); - for (int i = 0; i < count; ++i) { - const QString key = QString::fromLatin1(PROFILE_DATA_KEY) + QString::number(i); - if (!data.contains(key)) - break; - - const QVariantMap stMap = data.value(key).toMap(); - - Profile *p = new Profile; - if (p->fromMap(stMap)) { - result.profiles.append(p); - } else { - delete p; - qWarning("Warning: Unable to restore profiles stored in %s at position %d.", - qPrintable(fileName.toUserOutput()), i); - } - } - const QString defaultId = data.value(QLatin1String(PROFILE_DEFAULT_KEY)).toString(); - if (defaultId.isEmpty()) - return result; - - const Core::Id id = Core::Id(defaultId); - foreach (Profile *i, result.profiles) { - if (i->id() == id) { - result.defaultProfile = id; - break; - } - } - return result; -} - -QList ProfileManager::profiles(const ProfileMatcher *m) const -{ - if (!d->m_initialized) { - d->m_initialized = true; - const_cast(this)->restoreProfiles(); - } - - QList result; - foreach (Profile *p, d->m_profileList) { - if (!m || m->matches(p)) - result.append(p); - } - return result; -} - -Profile *ProfileManager::find(const Core::Id &id) const -{ - if (!id.isValid()) - return 0; - - foreach (Profile *p, profiles()) { - if (p->id() == id) - return p; - } - return 0; -} - -Profile *ProfileManager::find(const ProfileMatcher *m) const -{ - QList matched = profiles(m); - return matched.isEmpty() ? 0 : matched.first(); -} - -Profile *ProfileManager::defaultProfile() -{ - if (!d->m_initialized) { - d->m_initialized = true; - restoreProfiles(); - } - return d->m_defaultProfile; -} - -QList ProfileManager::profileInformation() const -{ - return d->m_informationList; -} - -ProfileConfigWidget *ProfileManager::createConfigWidget(Profile *p) const -{ - if (!p) - return 0; - - Internal::ProfileManagerConfigWidget *result = new Internal::ProfileManagerConfigWidget(p); - foreach (ProfileInformation *pi, d->m_informationList) - result->addConfigWidget(pi->createConfigWidget(p)); - - return result; -} - -void ProfileManager::notifyAboutUpdate(ProjectExplorer::Profile *p) -{ - if (!p || !profiles().contains(p)) - return; - d->validateProfile(p); - emit profileUpdated(p); -} - -bool ProfileManager::registerProfile(ProjectExplorer::Profile *p) -{ - if (!p) - return true; - foreach (Profile *current, profiles()) { - if (p == current) - return false; - } - - // make sure we have all the information in our profiles: - foreach (ProfileInformation *pi, d->m_informationList) { - if (!p->hasValue(pi->dataId())) - p->setValue(pi->dataId(), pi->defaultValue(p)); - } - - addProfile(p); - emit profileAdded(p); - return true; -} - -void ProfileManager::deregisterProfile(Profile *p) -{ - if (!p || !profiles().contains(p)) - return; - d->m_profileList.removeOne(p); - if (d->m_defaultProfile == p) { - QList stList = profiles(); - Profile *newDefault = 0; - foreach (Profile *cur, stList) { - if (cur->isValid()) { - newDefault = cur; - break; - } - } - setDefaultProfile(newDefault); - } - emit profileRemoved(p); - delete p; -} - -QList ProfileManager::validateProfile(Profile *p) -{ - QList result = d->validateProfile(p); - qSort(result); - return result; -} - -void ProfileManager::setDefaultProfile(Profile *p) -{ - if (d->m_defaultProfile == p) - return; - if (p && !profiles().contains(p)) - return; - d->m_defaultProfile = p; - emit defaultProfileChanged(); -} - -void ProfileManager::validateProfiles() -{ - foreach (Profile *p, profiles()) - d->validateProfile(p); -} - -void ProfileManager::addProfile(Profile *p) -{ - if (!p) - return; - p->setDisplayName(p->displayName()); // make name unique - d->validateProfile(p); - d->m_profileList.append(p); - if (!d->m_defaultProfile || - (!d->m_defaultProfile->isValid() && p->isValid())) - setDefaultProfile(p); -} - - -void ProfileInformation::addToEnvironment(const Profile *p, Utils::Environment &env) const -{ - Q_UNUSED(p); - Q_UNUSED(env); -} - -QString ProfileInformation::displayNamePostfix(const Profile *p) const -{ - Q_UNUSED(p); - return QString(); -} - -} // namespace ProjectExplorer diff --git a/src/plugins/projectexplorer/profilemanager.h b/src/plugins/projectexplorer/profilemanager.h deleted file mode 100644 index 244dc9c8c4d..00000000000 --- a/src/plugins/projectexplorer/profilemanager.h +++ /dev/null @@ -1,171 +0,0 @@ -/************************************************************************** -** -** This file is part of Qt Creator -** -** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies). -** -** Contact: http://www.qt-project.org/ -** -** -** GNU Lesser General Public License Usage -** -** This file may be used under the terms of the GNU Lesser General Public -** License version 2.1 as published by the Free Software Foundation and -** appearing in the file LICENSE.LGPL included in the packaging of this file. -** Please review the following information to ensure the GNU Lesser General -** Public License version 2.1 requirements will be met: -** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. -** -** In addition, as a special exception, Nokia gives you certain additional -** rights. These rights are described in the Nokia Qt LGPL Exception -** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. -** -** Other Usage -** -** Alternatively, this file may be used in accordance with the terms and -** conditions contained in a signed written agreement between you and Nokia. -** -** -**************************************************************************/ - -#ifndef PROFILEMANAGER_H -#define PROFILEMANAGER_H - -#include "projectexplorer_export.h" - -#include "task.h" - -#include -#include - -#include -#include - -namespace Utils { class Environment; } - -namespace ProjectExplorer { -class Profile; -class ProfileConfigWidget; - -namespace Internal { -class ProfileManagerPrivate; -class ProfileModel; -} // namespace Internal - -/** - * @brief The ProfileInformation class - * - * One piece of information stored in the profile. - * - * This needs to get registered with the \a ProfileManager. - */ -class PROJECTEXPLORER_EXPORT ProfileInformation : public QObject -{ - Q_OBJECT - -public: - typedef QPair Item; - typedef QList ItemList; - - virtual Core::Id dataId() const = 0; - - virtual unsigned int priority() const = 0; // the higher the closer to the top. - - virtual bool visibleIn(Profile *) { return true; } - virtual QVariant defaultValue(Profile *) const = 0; - - virtual QList validate(Profile *) const = 0; - - virtual ItemList toUserOutput(Profile *p) const = 0; - - virtual ProfileConfigWidget *createConfigWidget(Profile *) const = 0; - - virtual void addToEnvironment(const Profile *p, Utils::Environment &env) const; - - virtual QString displayNamePostfix(const Profile *p) const; - -signals: - void validationNeeded(); -}; - -class PROJECTEXPLORER_EXPORT ProfileMatcher -{ -public: - virtual ~ProfileMatcher() { } - virtual bool matches(const Profile *p) const = 0; -}; - -class PROJECTEXPLORER_EXPORT ProfileManager : public QObject -{ - Q_OBJECT - -public: - static ProfileManager *instance(); - ~ProfileManager(); - - QList profiles(const ProfileMatcher *m = 0) const; - Profile *find(const Core::Id &id) const; - Profile *find(const ProfileMatcher *m) const; - Profile *defaultProfile(); - - QList profileInformation() const; - - ProfileConfigWidget *createConfigWidget(Profile *p) const; - -public slots: - bool registerProfile(ProjectExplorer::Profile *p); - void deregisterProfile(ProjectExplorer::Profile *p); - QList validateProfile(ProjectExplorer::Profile *p); - void setDefaultProfile(ProjectExplorer::Profile *p); - - void saveProfiles(); - - void registerProfileInformation(ProjectExplorer::ProfileInformation *pi); - void deregisterProfileInformation(ProjectExplorer::ProfileInformation *pi); - -signals: - void profileAdded(ProjectExplorer::Profile *); - // Profile is still valid when this call happens! - void profileRemoved(ProjectExplorer::Profile *); - // Profile was updated. - void profileUpdated(ProjectExplorer::Profile *); - // Default profile was changed. - void defaultProfileChanged(); - // Something changed. - void profilesChanged(); - -private slots: - void validateProfiles(); - -private: - explicit ProfileManager(QObject *parent = 0); - - // Make sure the this is only called after all - // ProfileInformation are registered! - void restoreProfiles(); - class ProfileList - { - public: - ProfileList() - { } - Core::Id defaultProfile; - QList profiles; - }; - ProfileList restoreProfiles(const Utils::FileName &fileName); - - void notifyAboutUpdate(ProjectExplorer::Profile *p); - void addProfile(Profile *p); - - Internal::ProfileManagerPrivate *const d; - - static ProfileManager *m_instance; - - friend class Internal::ProfileManagerPrivate; // for the restoreToolChains methods - friend class ProjectExplorerPlugin; // for constructor - friend class Profile; - friend class Internal::ProfileModel; -}; - -} // namespace ProjectExplorer - -#endif // PROFILEMANAGER_H diff --git a/src/plugins/projectexplorer/project.cpp b/src/plugins/projectexplorer/project.cpp index c8b29d4789c..3bc256d9928 100644 --- a/src/plugins/projectexplorer/project.cpp +++ b/src/plugins/projectexplorer/project.cpp @@ -45,8 +45,8 @@ #include #include #include -#include -#include +#include +#include #include #include @@ -150,7 +150,7 @@ void Project::changeBuildConfigurationEnabled() void Project::addTarget(Target *t) { QTC_ASSERT(t && !d->m_targets.contains(t), return); - QTC_ASSERT(!target(t->profile()), return); + QTC_ASSERT(!target(t->kit()), return); Q_ASSERT(t->project() == this); // Check that we don't have a configuration with the same displayName @@ -234,27 +234,27 @@ Target *Project::target(const Core::Id id) const return 0; } -Target *Project::target(Profile *p) const +Target *Project::target(Kit *k) const { foreach (Target *target, d->m_targets) { - if (target->profile() == p) + if (target->kit() == k) return target; } return 0; } -bool Project::supportsProfile(Profile *p) const +bool Project::supportsKit(Kit *k) const { - Q_UNUSED(p); + Q_UNUSED(k); return true; } -Target *Project::createTarget(Profile *p) +Target *Project::createTarget(Kit *k) { - if (!p || target(p)) + if (!k || target(k)) return 0; - Target *t = new Target(this, p); + Target *t = new Target(this, k); t->createDefaultSetup(); return t; @@ -269,13 +269,13 @@ Target *Project::restoreTarget(const QVariantMap &data) return 0; } - Profile *p = ProfileManager::instance()->find(id); - if (!p) { + Kit *k = KitManager::instance()->find(id); + if (!k) { qWarning("Warning: No profile '%s' found. Continuing.", qPrintable(id.toString())); return 0; } - Target *t = new Target(this, p); + Target *t = new Target(this, k); if (!t->fromMap(data)) { delete t; return 0; @@ -339,11 +339,11 @@ QString Project::projectDirectory() const return projectDirectory(document()->fileName()); } -QString Project::projectDirectory(const QString &proFile) +QString Project::projectDirectory(const QString &top) { - if (proFile.isEmpty()) + if (top.isEmpty()) return QString(); - QFileInfo info(proFile); + QFileInfo info(top); return info.absoluteDir().path(); } diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h index 4769c6dc10d..e0814d3ca13 100644 --- a/src/plugins/projectexplorer/project.h +++ b/src/plugins/projectexplorer/project.h @@ -50,7 +50,7 @@ class BuildConfigWidget; class IProjectManager; class EditorConfiguration; class ProjectNode; -class Profile; +class Kit; class Target; class ProjectPrivate; @@ -89,10 +89,10 @@ public: Target *activeTarget() const; void setActiveTarget(Target *target); Target *target(const Core::Id id) const; - Target *target(Profile *p) const; - virtual bool supportsProfile(Profile *p) const; + Target *target(Kit *k) const; + virtual bool supportsKit(Kit *k) const; - Target *createTarget(Profile *p); + Target *createTarget(Kit *k); Target *restoreTarget(const QVariantMap &data); void saveSettings(); @@ -111,9 +111,9 @@ public: virtual QVariantMap toMap() const; - // The directory that holds the project file. This includes the absolute path. + // The directory that holds the project. This includes the absolute path. QString projectDirectory() const; - static QString projectDirectory(const QString &proFile); + static QString projectDirectory(const QString &top); virtual Core::Context projectContext() const; virtual Core::Context projectLanguage() const; diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index ced3977d806..611c710954e 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -36,8 +36,8 @@ #include "gcctoolchainfactories.h" #include "project.h" #include "projectexplorersettings.h" -#include "profilemanager.h" -#include "profileoptionspage.h" +#include "kitmanager.h" +#include "kitoptionspage.h" #include "target.h" #include "targetsettingspanel.h" #include "toolchainmanager.h" @@ -64,7 +64,7 @@ #include "processstep.h" #include "projectexplorerconstants.h" #include "customwizard.h" -#include "profileinformation.h" +#include "kitinformation.h" #include "projectfilewizardextension.h" #include "projecttreewidget.h" #include "projectwindow.h" @@ -244,7 +244,7 @@ struct ProjectExplorerPluginPrivate { Core::IMode *m_projectsMode; TaskHub *m_taskHub; - ProfileManager *m_profileManager; + KitManager *m_kitManager; ToolChainManager *m_toolChainManager; bool m_shuttingDown; }; @@ -255,7 +255,7 @@ ProjectExplorerPluginPrivate::ProjectExplorerPluginPrivate() : m_delayedRunConfiguration(0), m_runMode(NoRunMode), m_projectsMode(0), - m_profileManager(0), + m_kitManager(0), m_toolChainManager(0), m_shuttingDown(false) { @@ -297,7 +297,7 @@ ProjectExplorerPlugin::~ProjectExplorerPlugin() delete d->m_welcomePage; removeObject(this); // Force sequence of deletion: - delete d->m_profileManager; // remove all the profile informations + delete d->m_kitManager; // remove all the profile informations delete d->m_toolChainManager; delete d; @@ -340,10 +340,10 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er addAutoReleasedObject(new Internal::DesktopDeviceFactory); - d->m_profileManager = new ProfileManager; // register before ToolChainManager + d->m_kitManager = new KitManager; // register before ToolChainManager d->m_toolChainManager = new ToolChainManager; addAutoReleasedObject(new Internal::ToolChainOptionsPage); - addAutoReleasedObject(new ProfileOptionsPage); + addAutoReleasedObject(new KitOptionsPage); d->m_taskHub = new TaskHub; addAutoReleasedObject(d->m_taskHub); @@ -869,7 +869,7 @@ bool ProjectExplorerPlugin::initialize(const QStringList &arguments, QString *er d->m_projectSelectorActionMenu = new QAction(this); d->m_projectSelectorActionMenu->setEnabled(false); - d->m_projectSelectorActionMenu->setText(tr("Open Build/Run Target Selector...")); + d->m_projectSelectorActionMenu->setText(tr("Open Build and Run Kit Selector...")); connect(d->m_projectSelectorActionMenu, SIGNAL(triggered()), d->m_targetSelector, SLOT(toggleVisible())); cmd = Core::ActionManager::registerAction(d->m_projectSelectorActionMenu, ProjectExplorer::Constants::SELECTTARGET, globalcontext); @@ -1104,10 +1104,10 @@ void ProjectExplorerPlugin::extensionsInitialized() // Register ProfileInformation: // Only do this now to make sure all device factories were properly initialized. - ProfileManager::instance()->registerProfileInformation(new SysRootProfileInformation); - ProfileManager::instance()->registerProfileInformation(new DeviceProfileInformation); - ProfileManager::instance()->registerProfileInformation(new DeviceTypeProfileInformation); - ProfileManager::instance()->registerProfileInformation(new ToolChainProfileInformation); + KitManager::instance()->registerKitInformation(new SysRootKitInformation); + KitManager::instance()->registerKitInformation(new DeviceKitInformation); + KitManager::instance()->registerKitInformation(new DeviceTypeKitInformation); + KitManager::instance()->registerKitInformation(new ToolChainKitInformation); DeviceManager *dm = DeviceManager::instance(); if (dm->find(Core::Id(Constants::DESKTOP_DEVICE_ID)).isNull()) diff --git a/src/plugins/projectexplorer/projectexplorer.pro b/src/plugins/projectexplorer/projectexplorer.pro index eed56760122..89933f3d3c3 100644 --- a/src/plugins/projectexplorer/projectexplorer.pro +++ b/src/plugins/projectexplorer/projectexplorer.pro @@ -20,15 +20,15 @@ HEADERS += projectexplorer.h \ gcctoolchain.h \ projectexplorer_export.h \ projectwindow.h \ - profile.h \ - profilechooser.h \ - profileconfigwidget.h \ - profileinformation.h \ - profileinformationconfigwidget.h \ - profilemanager.h \ - profilemanagerconfigwidget.h \ - profilemodel.h \ - profileoptionspage.h \ + kit.h \ + kitchooser.h \ + kitconfigwidget.h \ + kitinformation.h \ + kitinformationconfigwidget.h \ + kitmanager.h \ + kitmanagerconfigwidget.h \ + kitmodel.h \ + kitoptionspage.h \ buildmanager.h \ buildsteplist.h \ compileoutputwindow.h \ @@ -139,14 +139,14 @@ SOURCES += projectexplorer.cpp \ clangparser.cpp \ gcctoolchain.cpp \ projectwindow.cpp \ - profile.cpp \ - profilechooser.cpp \ - profileinformation.cpp \ - profileinformationconfigwidget.cpp \ - profilemanager.cpp \ - profilemanagerconfigwidget.cpp \ - profilemodel.cpp \ - profileoptionspage.cpp \ + kit.cpp \ + kitchooser.cpp \ + kitinformation.cpp \ + kitinformationconfigwidget.cpp \ + kitmanager.cpp \ + kitmanagerconfigwidget.cpp \ + kitmodel.cpp \ + kitoptionspage.cpp \ buildmanager.cpp \ buildsteplist.cpp \ compileoutputwindow.cpp \ diff --git a/src/plugins/projectexplorer/projectexplorer.qbs b/src/plugins/projectexplorer/projectexplorer.qbs index 12734ee58ee..9e368cbc936 100644 --- a/src/plugins/projectexplorer/projectexplorer.qbs +++ b/src/plugins/projectexplorer/projectexplorer.qbs @@ -107,23 +107,23 @@ QtcPlugin { "processparameters.h", "processstep.cpp", "processstep.h", - "profile.cpp", - "profile.h", - "profilechooser.cpp", - "profilechooser.h", - "profileconfigwidget.h", - "profileinformation.cpp", - "profileinformation.h", - "profileinformationconfigwidget.cpp", - "profileinformationconfigwidget.h", - "profilemanager.cpp", - "profilemanager.h", - "profilemanagerconfigwidget.cpp", - "profilemanagerconfigwidget.h", - "profilemodel.cpp", - "profilemodel.h", - "profileoptionspage.cpp", - "profileoptionspage.h", + "kit.cpp", + "kit.h", + "kitchooser.cpp", + "kitchooser.h", + "kitconfigwidget.h", + "kitinformation.cpp", + "kitinformation.h", + "kitinformationconfigwidget.cpp", + "kitinformationconfigwidget.h", + "kitmanager.cpp", + "kitmanager.h", + "kitmanagerconfigwidget.cpp", + "kitmanagerconfigwidget.h", + "kitmodel.cpp", + "kitmodel.h", + "kitoptionspage.cpp", + "kitoptionspage.h", "project.cpp", "project.h", "projectconfiguration.cpp", diff --git a/src/plugins/projectexplorer/projectexplorerconstants.h b/src/plugins/projectexplorer/projectexplorerconstants.h index ad15fd32fcc..3d1082be8bf 100644 --- a/src/plugins/projectexplorer/projectexplorerconstants.h +++ b/src/plugins/projectexplorer/projectexplorerconstants.h @@ -180,7 +180,7 @@ const char PROJECTEXPLORER_SETTINGS_TR_CATEGORY[] = QT_TRANSLATE_NOOP("ProjectEx const char PROJECTEXPLORER_SETTINGS_CATEGORY_ICON[] = ":/core/images/category_buildrun.png"; const char PROJECTEXPLORER_SETTINGS_ID[] = "A.ProjectExplorer.ProjectExplorer"; const char TOOLCHAIN_SETTINGS_PAGE_ID[] = "M.ProjectExplorer.ToolChainOptions"; -const char PROFILE_SETTINGS_PAGE_ID[] = "D.ProjectExplorer.ProfileOptions"; +const char KITS_SETTINGS_PAGE_ID[] = "D.ProjectExplorer.KitsOptions"; // Device settings page const char DEVICE_SETTINGS_CATEGORY[] = "X.Devices"; diff --git a/src/plugins/projectexplorer/projectwindow.cpp b/src/plugins/projectexplorer/projectwindow.cpp index 8e84ccc54cd..8a9f23d540e 100644 --- a/src/plugins/projectexplorer/projectwindow.cpp +++ b/src/plugins/projectexplorer/projectwindow.cpp @@ -32,7 +32,7 @@ #include "doubletabwidget.h" -#include "profilemanager.h" +#include "kitmanager.h" #include "project.h" #include "projectexplorer.h" #include "projectexplorerconstants.h" @@ -261,7 +261,7 @@ ProjectWindow::~ProjectWindow() void ProjectWindow::extensionsInitialized() { - connect(ProfileManager::instance(), SIGNAL(profilesChanged()), this, SLOT(handleProfilesChanges())); + connect(KitManager::instance(), SIGNAL(kitsChanged()), this, SLOT(handleKitChanges())); } void ProjectWindow::aboutToShutdown() @@ -288,7 +288,7 @@ void ProjectWindow::projectUpdated(Project *p) m_tabWidget->setCurrentIndex(index); } -void ProjectWindow::handleProfilesChanges() +void ProjectWindow::handleKitChanges() { bool changed = false; int index = m_tabWidget->currentIndex(); @@ -330,7 +330,7 @@ void ProjectWindow::registerProject(ProjectExplorer::Project *project) m_hasTarget.insert(project, projectHasTarget); if (projectHasTarget) // Use the Targets page - subtabs << QCoreApplication::translate("TargetSettingsPanelFactory", "Targets"); + subtabs << QCoreApplication::translate("TargetSettingsPanelFactory", "Build & Run"); // Add the project specific pages QList factories = ExtensionSystem::PluginManager::getObjects(); diff --git a/src/plugins/projectexplorer/projectwindow.h b/src/plugins/projectexplorer/projectwindow.h index 6fa3d5d19b0..c5585906524 100644 --- a/src/plugins/projectexplorer/projectwindow.h +++ b/src/plugins/projectexplorer/projectwindow.h @@ -85,7 +85,7 @@ public slots: void projectUpdated(ProjectExplorer::Project *p); private slots: - void handleProfilesChanges(); + void handleKitChanges(); void showProperties(int index, int subIndex); void registerProject(ProjectExplorer::Project*); void deregisterProject(ProjectExplorer::Project*); diff --git a/src/plugins/projectexplorer/runconfiguration.cpp b/src/plugins/projectexplorer/runconfiguration.cpp index 8dd520d7492..e7a34e0c0fa 100644 --- a/src/plugins/projectexplorer/runconfiguration.cpp +++ b/src/plugins/projectexplorer/runconfiguration.cpp @@ -36,7 +36,7 @@ #include "abi.h" #include "buildconfiguration.h" #include "projectexplorerconstants.h" -#include "profileinformation.h" +#include "kitinformation.h" #include #include @@ -357,7 +357,7 @@ ProjectExplorer::Abi RunConfiguration::abi() const BuildConfiguration *bc = target()->activeBuildConfiguration(); if (!bc) return Abi::hostAbi(); - ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(target()->profile()); + ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(target()->kit()); if (!tc) return Abi::hostAbi(); return tc->targetAbi(); diff --git a/src/plugins/projectexplorer/settingsaccessor.cpp b/src/plugins/projectexplorer/settingsaccessor.cpp index d78191a4fd0..370cf1a9248 100644 --- a/src/plugins/projectexplorer/settingsaccessor.cpp +++ b/src/plugins/projectexplorer/settingsaccessor.cpp @@ -37,8 +37,8 @@ #include "projectexplorersettings.h" #include "projectexplorerconstants.h" #include "target.h" -#include "profile.h" -#include "profilemanager.h" +#include "kit.h" +#include "kitmanager.h" #include #include @@ -361,10 +361,10 @@ public: QVariantMap update(Project *project, const QVariantMap &map); private: - Profile *uniqueProfile(Profile *p); - void addBuildConfiguration(Profile *p, const QVariantMap &bc, int bcPos, int bcCount); - void addDeployConfiguration(Profile *p, const QVariantMap &dc, int dcPos, int dcActive); - void addRunConfigurations(Profile *p, + Kit *uniqueProfile(Kit *p); + void addBuildConfiguration(Kit *p, const QVariantMap &bc, int bcPos, int bcCount); + void addDeployConfiguration(Kit *p, const QVariantMap &dc, int dcPos, int dcActive); + void addRunConfigurations(Kit *p, const QMap &rcs, int activeRc, const QString &projectDir); void parseQtversionFile(); @@ -383,7 +383,7 @@ private: QHash m_toolChainExtras; QHash m_qtVersionExtras; - QHash m_targets; + QHash m_targets; }; } // namespace @@ -2225,11 +2225,11 @@ Version11Handler::Version11Handler() Version11Handler::~Version11Handler() { - ProfileManager *pm = ProfileManager::instance(); + KitManager *pm = KitManager::instance(); if (!pm) // Can happen during teardown! return; - QList knownProfiles = pm->profiles(); - foreach (Profile *p, m_targets.keys()) { + QList knownProfiles = pm->kits(); + foreach (Kit *p, m_targets.keys()) { if (!knownProfiles.contains(p)) delete p; } @@ -2248,8 +2248,8 @@ QVariantMap Version11Handler::update(Project *project, const QVariantMap &map) parseToolChainFile(); QVariantMap result; - ProfileManager *pm = ProfileManager::instance(); - foreach (Profile *p, pm->profiles()) + KitManager *pm = KitManager::instance(); + foreach (Kit *p, pm->kits()) m_targets.insert(p, QVariantMap()); QMapIterator globalIt(map); @@ -2317,13 +2317,13 @@ QVariantMap Version11Handler::update(Project *project, const QVariantMap &map) const QString oldTargetId = extraTargetData.value(QLatin1String("ProjectExplorer.ProjectConfiguration.Id")).toString(); // Check each BCs/DCs and create profiles as needed - static Profile rawProfile; // Do not needlessly use Core::Ids + static Kit rawProfile; // Do not needlessly use Core::Ids QMapIterator buildIt(bcs); while (buildIt.hasNext()) { buildIt.next(); int bcPos = buildIt.key(); const QVariantMap &bc = buildIt.value(); - Profile *tmpProfile = &rawProfile; + Kit *tmpProfile = &rawProfile; if (oldTargetId == QLatin1String("Qt4ProjectManager.Target.AndroidDeviceTarget")) { tmpProfile->setIconPath(QLatin1String(":/android/images/QtAndroid.png")); @@ -2404,7 +2404,7 @@ QVariantMap Version11Handler::update(Project *project, const QVariantMap &map) // Set display name last: tmpProfile->setDisplayName(extraTargetData.value(QLatin1String("ProjectExplorer.ProjectConfiguration.DisplayName")).toString()); - Profile *p = uniqueProfile(tmpProfile); + Kit *p = uniqueProfile(tmpProfile); addBuildConfiguration(p, bc, bcPos, activeBc); addDeployConfiguration(p, dc, dcPos, activeDc); @@ -2417,12 +2417,12 @@ QVariantMap Version11Handler::update(Project *project, const QVariantMap &map) int newPos = 0; // Generate new target data: - foreach (Profile *p, m_targets.keys()) { + foreach (Kit *p, m_targets.keys()) { QVariantMap data = m_targets.value(p); if (data.isEmpty()) continue; - pm->registerProfile(p); + pm->registerKit(p); data.insert(QLatin1String("ProjectExplorer.ProjectConfiguration.Id"), p->id().name()); data.insert(QLatin1String("ProjectExplorer.Target.Profile"), p->id().name()); @@ -2439,7 +2439,7 @@ QVariantMap Version11Handler::update(Project *project, const QVariantMap &map) return result; } -Profile *Version11Handler::uniqueProfile(Profile *p) +Kit *Version11Handler::uniqueProfile(Kit *p) { const QString tc = p->value(Core::Id("PE.Profile.ToolChain")).toString(); const int qt = p->value(Core::Id("QtSupport.QtInformation")).toInt(); @@ -2449,7 +2449,7 @@ Profile *Version11Handler::uniqueProfile(Profile *p) const QString device = p->value(Core::Id("PE.Profile.Device")).toString(); const QString sysroot = p->value(Core::Id("PE.Profile.SysRoot")).toString(); - foreach (Profile *i, m_targets.keys()) { + foreach (Kit *i, m_targets.keys()) { const QString currentTc = i->value(Core::Id("PE.Profile.ToolChain")).toString(); const int currentQt = i->value(Core::Id("QtSupport.QtInformation")).toInt(); const QString currentDebugger = i->value(Core::Id("Debugger.Information")).toString(); @@ -2472,7 +2472,7 @@ Profile *Version11Handler::uniqueProfile(Profile *p) return p->clone(true); } -void Version11Handler::addBuildConfiguration(Profile *p, const QVariantMap &bc, int bcPos, int bcActive) +void Version11Handler::addBuildConfiguration(Kit *p, const QVariantMap &bc, int bcPos, int bcActive) { QVariantMap merged = m_targets.value(p); int internalCount = merged.value(QLatin1String("ProjectExplorer.Target.BuildConfigurationCount"), 0).toInt(); @@ -2493,7 +2493,7 @@ void Version11Handler::addBuildConfiguration(Profile *p, const QVariantMap &bc, m_targets.insert(p, merged); } -void Version11Handler::addDeployConfiguration(Profile *p, const QVariantMap &dc, int dcPos, int dcActive) +void Version11Handler::addDeployConfiguration(Kit *p, const QVariantMap &dc, int dcPos, int dcActive) { QVariantMap merged = m_targets.value(p); int internalCount = merged.value(QLatin1String("ProjectExplorer.Target.DeployConfigurationCount"), 0).toInt(); @@ -2514,7 +2514,7 @@ void Version11Handler::addDeployConfiguration(Profile *p, const QVariantMap &dc, m_targets.insert(p, merged); } -void Version11Handler::addRunConfigurations(Profile *p, +void Version11Handler::addRunConfigurations(Kit *p, const QMap &rcs, int activeRc, const QString &projectDir) { diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp index 040c1c02da3..f8861c197a2 100644 --- a/src/plugins/projectexplorer/target.cpp +++ b/src/plugins/projectexplorer/target.cpp @@ -32,9 +32,9 @@ #include "buildtargetinfo.h" #include "deploymentdata.h" -#include "profile.h" -#include "profileinformation.h" -#include "profilemanager.h" +#include "kit.h" +#include "kitinformation.h" +#include "kitmanager.h" #include "buildconfiguration.h" #include "deployconfiguration.h" #include "project.h" @@ -99,7 +99,7 @@ public: QPixmap m_readyToUsePixmap; QPixmap m_disconnectedPixmap; - Profile *m_profile; + Kit *m_profile; }; TargetPrivate::TargetPrivate() : @@ -119,7 +119,7 @@ QList TargetPrivate::deployFactories() const return ExtensionSystem::PluginManager::getObjects(); } -Target::Target(Project *project, Profile *p) : +Target::Target(Project *project, Kit *p) : ProjectConfiguration(project, p->id()), d(new TargetPrivate) { @@ -130,11 +130,11 @@ Target::Target(Project *project, Profile *p) : setDisplayName(d->m_profile->displayName()); setIcon(d->m_profile->icon()); - ProfileManager *pm = ProfileManager::instance(); - connect(pm, SIGNAL(profileUpdated(ProjectExplorer::Profile*)), - this, SLOT(handleProfileUpdates(ProjectExplorer::Profile*))); - connect(pm, SIGNAL(profileRemoved(ProjectExplorer::Profile*)), - this, SLOT(handleProfileRemoval(ProjectExplorer::Profile*))); + KitManager *pm = KitManager::instance(); + connect(pm, SIGNAL(kitUpdated(ProjectExplorer::Kit*)), + this, SLOT(handleKitUpdates(ProjectExplorer::Kit*))); + connect(pm, SIGNAL(kitRemoved(ProjectExplorer::Kit*)), + this, SLOT(handleKitRemoval(ProjectExplorer::Kit*))); } Target::~Target() @@ -180,7 +180,7 @@ void Target::onBuildDirectoryChanged() emit buildDirectoryChanged(); } -void Target::handleProfileUpdates(Profile *p) +void Target::handleKitUpdates(Kit *p) { if (p != d->m_profile) return; @@ -188,10 +188,10 @@ void Target::handleProfileUpdates(Profile *p) setDisplayName(p->displayName()); setIcon(p->icon()); updateDefaultDeployConfigurations(); - emit profileChanged(); + emit kitChanged(); } -void Target::handleProfileRemoval(Profile *p) +void Target::handleKitRemoval(Kit *p) { if (p != d->m_profile) return; @@ -204,7 +204,7 @@ Project *Target::project() const return static_cast(parent()); } -Profile *Target::profile() const +Kit *Target::kit() const { return d->m_profile; } @@ -674,7 +674,7 @@ static QString formatToolTip(const IDevice::DeviceInfo &input) void Target::updateDeviceState() { - IDevice::ConstPtr current = DeviceProfileInformation::device(profile()); + IDevice::ConstPtr current = DeviceKitInformation::device(kit()); QPixmap overlay; if (current.isNull()) { @@ -728,7 +728,7 @@ bool Target::fromMap(const QVariantMap &map) if (!ProjectConfiguration::fromMap(map)) return false; - d->m_profile = ProfileManager::instance()->find(id()); + d->m_profile = KitManager::instance()->find(id()); if (!d->m_profile) return false; diff --git a/src/plugins/projectexplorer/target.h b/src/plugins/projectexplorer/target.h index 6157c248808..4f2cd173640 100644 --- a/src/plugins/projectexplorer/target.h +++ b/src/plugins/projectexplorer/target.h @@ -48,7 +48,7 @@ class DeployConfiguration; class IBuildConfigurationFactory; class DeployConfigurationFactory; class IRunConfigurationFactory; -class Profile; +class Kit; class Project; class BuildConfigWidget; @@ -59,13 +59,13 @@ class PROJECTEXPLORER_EXPORT Target : public ProjectConfiguration Q_OBJECT public: - Target(Project *parent, Profile *p); + Target(Project *parent, Kit *p); ~Target(); Project *project() const; - // Profile: - Profile *profile() const; + // Kit: + Kit *kit() const; // Build configuration void addBuildConfiguration(BuildConfiguration *configuration); @@ -124,7 +124,7 @@ signals: void overlayIconChanged(); void toolTipChanged(); - void profileChanged(); + void kitChanged(); // TODO clean up signal names // might be better to also have aboutToRemove signals @@ -172,8 +172,8 @@ private slots: void changeDeployConfigurationEnabled(); void changeRunConfigurationEnabled(); - void handleProfileUpdates(ProjectExplorer::Profile *p); - void handleProfileRemoval(ProjectExplorer::Profile *p); + void handleKitUpdates(ProjectExplorer::Kit *p); + void handleKitRemoval(ProjectExplorer::Kit *p); private: TargetPrivate *d; diff --git a/src/plugins/projectexplorer/targetsettingspanel.cpp b/src/plugins/projectexplorer/targetsettingspanel.cpp index 6c82ee28192..162097f523c 100644 --- a/src/plugins/projectexplorer/targetsettingspanel.cpp +++ b/src/plugins/projectexplorer/targetsettingspanel.cpp @@ -40,8 +40,8 @@ #include #include #include -#include -#include +#include +#include #include #include #include @@ -87,7 +87,7 @@ TargetSettingsPanelWidget::TargetSettingsPanelWidget(Project *project) : connect(m_project, SIGNAL(activeTargetChanged(ProjectExplorer::Target*)), this, SLOT(activeTargetChanged(ProjectExplorer::Target*))); - connect(ProfileManager::instance(), SIGNAL(profilesChanged()), + connect(KitManager::instance(), SIGNAL(kitsChanged()), this, SLOT(updateTargetAddAndRemoveButtons())); } @@ -113,7 +113,7 @@ void TargetSettingsPanelWidget::setupUi() QVBoxLayout *noTargetLayout = new QVBoxLayout(m_noTargetLabel); noTargetLayout->setMargin(0); QLabel *label = new QLabel(m_noTargetLabel); - label->setText(tr("No target defined.")); + label->setText(tr("No kit defined.")); { QFont f = label->font(); f.setPointSizeF(f.pointSizeF() * 1.4); @@ -157,7 +157,7 @@ void TargetSettingsPanelWidget::currentTargetChanged(int targetIndex, int subInd if (subIndex < -1 || subIndex >= 2) return; - if (targetIndex == -1 || subIndex == -1) { // no more targets! + if (targetIndex == -1 || subIndex == -1) { // no more kits! delete m_panelWidgets[0]; m_panelWidgets[0] = 0; delete m_panelWidgets[1]; @@ -212,10 +212,10 @@ void TargetSettingsPanelWidget::currentTargetChanged(int targetIndex, int subInd void TargetSettingsPanelWidget::addTarget(QAction *action) { - Profile *p = ProfileManager::instance()->find(action->data().value()); - QTC_ASSERT(!m_project->target(p), return); + Kit *k = KitManager::instance()->find(action->data().value()); + QTC_ASSERT(!m_project->target(k), return); - Target *target = m_project->createTarget(p); + Target *target = m_project->createTarget(k); if (!target) return; m_project->addTarget(target); @@ -228,12 +228,12 @@ void TargetSettingsPanelWidget::removeTarget(int targetIndex) ProjectExplorer::BuildManager *bm = ProjectExplorerPlugin::instance()->buildManager(); if (bm->isBuilding(t)) { QMessageBox box; - QPushButton *closeAnyway = box.addButton(tr("Cancel Build && Remove Target"), QMessageBox::AcceptRole); + QPushButton *closeAnyway = box.addButton(tr("Cancel Build && Remove Kit"), QMessageBox::AcceptRole); QPushButton *cancelClose = box.addButton(tr("Do Not Remove"), QMessageBox::RejectRole); box.setDefaultButton(cancelClose); - box.setWindowTitle(tr("Remove Target %1?").arg(t->displayName())); - box.setText(tr("The target %1 is currently being built.").arg(t->displayName())); - box.setInformativeText(tr("Do you want to cancel the build process and remove the Target anyway?")); + box.setWindowTitle(tr("Remove Kit %1?").arg(t->displayName())); + box.setText(tr("The kit %1 is currently being built.").arg(t->displayName())); + box.setInformativeText(tr("Do you want to cancel the build process and remove the Kit anyway?")); box.exec(); if (box.clickedButton() != closeAnyway) return; @@ -242,7 +242,7 @@ void TargetSettingsPanelWidget::removeTarget(int targetIndex) // We don't show the generic message box on removing the target, if we showed the still building one int ret = QMessageBox::warning(this, tr("Qt Creator"), tr("Do you really want to remove the\n" - "\"%1\" target?").arg(t->displayName()), + "\"%1\" kit?").arg(t->displayName()), QMessageBox::Yes | QMessageBox::No, QMessageBox::No); if (ret != QMessageBox::Yes) @@ -301,14 +301,14 @@ void TargetSettingsPanelWidget::updateTargetAddAndRemoveButtons() m_addMenu->clear(); - foreach (Profile *p, ProfileManager::instance()->profiles()) { - if (m_project->target(p)) + foreach (Kit *k, KitManager::instance()->kits()) { + if (m_project->target(k)) continue; - if (!m_project->supportsProfile(p)) + if (!m_project->supportsKit(k)) continue; - QAction *action = new QAction(p->displayName(), m_addMenu); - action->setData(QVariant::fromValue(p->id())); + QAction *action = new QAction(k->displayName(), m_addMenu); + action->setData(QVariant::fromValue(k->id())); bool inserted = false; foreach (QAction *existing, m_addMenu->actions()) { @@ -339,7 +339,7 @@ void TargetSettingsPanelWidget::renameTarget() void TargetSettingsPanelWidget::openTargetPreferences() { Core::ICore::showOptionsDialog(QLatin1String(Constants::PROJECTEXPLORER_SETTINGS_CATEGORY), - QLatin1String(Constants::PROFILE_SETTINGS_PAGE_ID)); + QLatin1String(Constants::KITS_SETTINGS_PAGE_ID)); } int TargetSettingsPanelWidget::currentSubIndex() const diff --git a/src/plugins/projectexplorer/targetsettingswidget.cpp b/src/plugins/projectexplorer/targetsettingswidget.cpp index aba7959900f..63dd37ca0fb 100644 --- a/src/plugins/projectexplorer/targetsettingswidget.cpp +++ b/src/plugins/projectexplorer/targetsettingswidget.cpp @@ -54,9 +54,9 @@ TargetSettingsWidget::TargetSettingsWidget(QWidget *parent) : buttonLayout->setContentsMargins(0, 0, 0, 0); buttonLayout->setSpacing(4); buttonWidget->setLayout(buttonLayout); - m_addButton = new QPushButton(tr("Add"), buttonWidget); + m_addButton = new QPushButton(tr("Add Kit"), buttonWidget); buttonLayout->addWidget(m_addButton); - m_manageButton = new QPushButton(tr("Manage ..."), buttonWidget); + m_manageButton = new QPushButton(tr("Manage Kits..."), buttonWidget); connect(m_manageButton, SIGNAL(clicked()), this, SIGNAL(manageButtonClicked())); buttonLayout->addWidget(m_manageButton); headerLayout->addWidget(buttonWidget, 0, Qt::AlignVCenter); diff --git a/src/plugins/projectexplorer/toolchainmanager.cpp b/src/plugins/projectexplorer/toolchainmanager.cpp index 59f482f88c3..4a2568c9665 100644 --- a/src/plugins/projectexplorer/toolchainmanager.cpp +++ b/src/plugins/projectexplorer/toolchainmanager.cpp @@ -31,7 +31,7 @@ #include "toolchainmanager.h" #include "abi.h" -#include "profileinformation.h" +#include "kitinformation.h" #include "toolchain.h" #include diff --git a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp index b4582560f10..5075ee8ad9c 100644 --- a/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp +++ b/src/plugins/qmldesigner/components/integration/designdocumentcontroller.cpp @@ -62,7 +62,7 @@ #include #include #include -#include +#include #include #include #include @@ -921,8 +921,8 @@ static inline QtSupport::BaseQtVersion *getActiveQtVersion(DesignDocumentControl if (!target) return 0; - controller->connect(target, SIGNAL(profileChanged()), controller, SLOT(activeQtVersionChanged())); - return QtSupport::QtProfileInformation::qtVersion(target->profile()); + controller->connect(target, SIGNAL(kitChanged()), controller, SLOT(activeQtVersionChanged())); + return QtSupport::QtKitInformation::qtVersion(target->kit()); } void DesignDocumentController::activeQtVersionChanged() diff --git a/src/plugins/qmlprofiler/qmlprofilertool.cpp b/src/plugins/qmlprofiler/qmlprofilertool.cpp index 21342fde50a..ca25b50b7ad 100644 --- a/src/plugins/qmlprofiler/qmlprofilertool.cpp +++ b/src/plugins/qmlprofiler/qmlprofilertool.cpp @@ -69,7 +69,7 @@ #include #include -#include +#include #include #include @@ -237,7 +237,7 @@ IAnalyzerEngine *QmlProfilerTool::createEngine(const AnalyzerStartParameters &sp // Check minimum Qt Version. We cannot really be sure what the Qt version // at runtime is, but guess that the active build configuraiton has been used. QtSupport::QtVersionNumber minimumVersion(4, 7, 4); - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(runConfiguration->target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(runConfiguration->target()->kit()); if (version) { if (version->isValid() && version->qtVersion() < minimumVersion) { int result = QMessageBox::warning(QApplication::activeWindow(), tr("QML Profiler"), @@ -287,9 +287,9 @@ bool QmlProfilerTool::canRun(RunConfiguration *runConfiguration, RunMode mode) c static QString sysroot(RunConfiguration *runConfig) { QTC_ASSERT(runConfig, return QString()); - ProjectExplorer::Profile *p = runConfig->target()->profile(); - if (p && ProjectExplorer::SysRootProfileInformation::hasSysRoot(p)) - return ProjectExplorer::SysRootProfileInformation::sysRoot(runConfig->target()->profile()).toString(); + ProjectExplorer::Kit *k = runConfig->target()->kit(); + if (k && ProjectExplorer::SysRootKitInformation::hasSysRoot(k)) + return ProjectExplorer::SysRootKitInformation::sysRoot(runConfig->target()->kit()).toString(); return QString(); } @@ -324,7 +324,7 @@ AnalyzerStartParameters QmlProfilerTool::createStartParameters(RunConfiguration qobject_cast(runConfiguration)) { sp.debuggee = rc3->remoteExecutableFilePath(); sp.debuggeeArgs = rc3->arguments(); - sp.connParams = ProjectExplorer::DeviceProfileInformation::device(rc3->target()->profile())->sshParameters(); + sp.connParams = ProjectExplorer::DeviceKitInformation::device(rc3->target()->kit())->sshParameters(); sp.analyzerCmdPrefix = rc3->commandPrefix(); sp.displayName = rc3->displayName(); sp.sysroot = sysroot(rc3); diff --git a/src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.cpp b/src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.cpp index 9071604230c..9c4fc7b48fc 100644 --- a/src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.cpp +++ b/src/plugins/qmlprofiler/remotelinuxqmlprofilerrunner.cpp @@ -31,7 +31,7 @@ #include #include -#include +#include #include #include #include @@ -47,7 +47,7 @@ RemoteLinuxQmlProfilerRunner::RemoteLinuxQmlProfilerRunner( : AbstractQmlProfilerRunner(parent) , m_portsGatherer(new DeviceUsedPortsGatherer(this)) , m_runner(new DeviceApplicationRunner(this)) - , m_device(DeviceProfileInformation::device(runConfiguration->target()->profile())) + , m_device(DeviceKitInformation::device(runConfiguration->target()->kit())) , m_remoteExecutable(runConfiguration->remoteExecutableFilePath()) , m_arguments(runConfiguration->arguments()) , m_commandPrefix(runConfiguration->commandPrefix()) diff --git a/src/plugins/qmlprojectmanager/qmlproject.cpp b/src/plugins/qmlprojectmanager/qmlproject.cpp index 031878fe907..d56303634dc 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.cpp +++ b/src/plugins/qmlprojectmanager/qmlproject.cpp @@ -44,11 +44,11 @@ #include #include #include -#include +#include #include #include -#include -#include +#include +#include #include #include @@ -157,8 +157,8 @@ void QmlProject::refresh(RefreshOptions options) pinfo.importPaths = importPaths(); QtSupport::BaseQtVersion *version = 0; if (activeTarget()) { - ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(activeTarget()->profile()); - version = QtSupport::QtProfileInformation::qtVersion(activeTarget()->profile()); + ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(activeTarget()->kit()); + version = QtSupport::QtKitInformation::qtVersion(activeTarget()->kit()); QtSupport::QmlDumpTool::pathAndEnvironment(this, version, tc, false, &pinfo.qmlDumpPath, &pinfo.qmlDumpEnvironment); } if (version) { @@ -269,14 +269,14 @@ ProjectExplorer::IProjectManager *QmlProject::projectManager() const return m_manager; } -bool QmlProject::supportsProfile(ProjectExplorer::Profile *p) const +bool QmlProject::supportsKit(ProjectExplorer::Kit *p) const { - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(p); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(p); if (deviceType != ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE) return false; // TODO: Limit supported versions? - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(p); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(p); return version; } @@ -300,9 +300,9 @@ bool QmlProject::fromMap(const QVariantMap &map) if (!Project::fromMap(map)) return false; -ProjectExplorer::Profile *defaultProfile = ProjectExplorer::ProfileManager::instance()->defaultProfile(); - if (!activeTarget() && defaultProfile) - addTarget(createTarget(defaultProfile)); + ProjectExplorer::Kit *defaultKit = ProjectExplorer::KitManager::instance()->defaultKit(); + if (!activeTarget() && defaultKit) + addTarget(createTarget(defaultKit)); refresh(Everything); // FIXME workaround to guarantee that run/debug actions are enabled if a valid file exists diff --git a/src/plugins/qmlprojectmanager/qmlproject.h b/src/plugins/qmlprojectmanager/qmlproject.h index d9577996d30..ee7731c0bcc 100644 --- a/src/plugins/qmlprojectmanager/qmlproject.h +++ b/src/plugins/qmlprojectmanager/qmlproject.h @@ -65,7 +65,7 @@ public: Core::IDocument *document() const; ProjectExplorer::IProjectManager *projectManager() const; - bool supportsProfile(ProjectExplorer::Profile *p) const; + bool supportsKit(ProjectExplorer::Kit *p) const; QList subConfigWidgets(); diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp index 61614ed77c4..016b58659fa 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfiguration.cpp @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include #include @@ -99,7 +99,7 @@ void QmlProjectRunConfiguration::ctor() connect(em, SIGNAL(currentEditorChanged(Core::IEditor*)), this, SLOT(changeCurrentFile(Core::IEditor*))); - connect(target(), SIGNAL(profileChanged()), + connect(target(), SIGNAL(kitChanged()), this, SLOT(updateEnabled())); if (id() == Constants::QML_SCENE_RC_ID) @@ -180,7 +180,7 @@ QString QmlProjectRunConfiguration::canonicalCapsPath(const QString &fileName) QtSupport::BaseQtVersion *QmlProjectRunConfiguration::qtVersion() const { - return QtSupport::QtProfileInformation::qtVersion(target()->profile()); + return QtSupport::QtKitInformation::qtVersion(target()->kit()); } QWidget *QmlProjectRunConfiguration::createConfigurationWidget() diff --git a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp index eadf0ca31d7..d919de81a8c 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectrunconfigurationfactory.cpp @@ -33,11 +33,11 @@ #include "qmlprojectrunconfiguration.h" #include "qmlprojectrunconfigurationfactory.h" -#include +#include #include #include #include -#include +#include namespace QmlProjectManager { namespace Internal { @@ -58,7 +58,7 @@ QList QmlProjectRunConfigurationFactory::availableCreationIds(ProjectE return QList(); QtSupport::BaseQtVersion *version - = QtSupport::QtProfileInformation::qtVersion(parent->profile()); + = QtSupport::QtKitInformation::qtVersion(parent->kit()); // put qmlscene first (so that it is the default) for Qt 5.0.0 QList list; @@ -91,7 +91,7 @@ bool QmlProjectRunConfigurationFactory::canCreate(ProjectExplorer::Target *paren if (id == Constants::QML_SCENE_RC_ID) { // only support qmlscene if it's Qt5 QtSupport::BaseQtVersion *version - = QtSupport::QtProfileInformation::qtVersion(parent->profile()); + = QtSupport::QtKitInformation::qtVersion(parent->kit()); return version && version->qtVersion() >= QtSupport::QtVersionNumber(5, 0, 0); } return false; @@ -137,11 +137,11 @@ ProjectExplorer::RunConfiguration *QmlProjectRunConfigurationFactory::clone(Proj bool QmlProjectRunConfigurationFactory::canHandle(ProjectExplorer::Target *parent) const { - if (!parent->project()->supportsProfile(parent->profile())) + if (!parent->project()->supportsKit(parent->kit())) return false; if (!qobject_cast(parent->project())) return false; - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(parent->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(parent->kit()); return deviceType == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE; } diff --git a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp index 68dfb46f039..5aa72661d81 100644 --- a/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp +++ b/src/plugins/qmlprojectmanager/qmlprojectruncontrol.cpp @@ -33,7 +33,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/src/plugins/qnx/blackberryapplicationrunner.cpp b/src/plugins/qnx/blackberryapplicationrunner.cpp index 969488eb05d..e22980f6eb1 100644 --- a/src/plugins/qnx/blackberryapplicationrunner.cpp +++ b/src/plugins/qnx/blackberryapplicationrunner.cpp @@ -107,7 +107,7 @@ BlackBerryApplicationRunner::BlackBerryApplicationRunner(bool debugMode, BlackBe m_password = runConfiguration->deployConfiguration()->password(); m_barPackage = runConfiguration->barPackage(); - BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target->profile()); + BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target->kit()); m_sshParams = device->sshParameters(); // The BlackBerry device always uses key authentication m_sshParams.authenticationType = QSsh::SshConnectionParameters::AuthenticationByKey; diff --git a/src/plugins/qnx/blackberryconnect.cpp b/src/plugins/qnx/blackberryconnect.cpp index dcc13107efc..fc12d7386ef 100644 --- a/src/plugins/qnx/blackberryconnect.cpp +++ b/src/plugins/qnx/blackberryconnect.cpp @@ -103,7 +103,7 @@ BlackBerryConnect::BlackBerryConnect(BlackBerryRunConfiguration *runConfig) m_deviceHost = deployConfig->deviceHost(); m_password = deployConfig->password(); - BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target->profile()); + BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target->kit()); m_publicKeyFile = device->sshParameters().privateKeyFile + QLatin1String(".pub"); connect(m_process, SIGNAL(readyReadStandardOutput()), this, SLOT(readStandardOutput())); diff --git a/src/plugins/qnx/blackberrycreatepackagestep.cpp b/src/plugins/qnx/blackberrycreatepackagestep.cpp index 4e1e2837634..d0c63858788 100644 --- a/src/plugins/qnx/blackberrycreatepackagestep.cpp +++ b/src/plugins/qnx/blackberrycreatepackagestep.cpp @@ -47,7 +47,7 @@ #include #include #include -#include +#include #include #include @@ -156,7 +156,7 @@ ProjectExplorer::BuildStepConfigWidget *BlackBerryCreatePackageStep::createConfi QString BlackBerryCreatePackageStep::debugToken() const { - BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target()->profile()); + BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target()->kit()); return device->debugToken(); } @@ -170,7 +170,7 @@ void BlackBerryCreatePackageStep::raiseError(const QString &errorMessage) bool BlackBerryCreatePackageStep::prepareAppDescriptorFile(const QString &appDescriptorPath, QTemporaryFile *preparedFile) { - BlackBerryQtVersion *qtVersion = dynamic_cast(QtSupport::QtProfileInformation::qtVersion(target()->profile())); + BlackBerryQtVersion *qtVersion = dynamic_cast(QtSupport::QtKitInformation::qtVersion(target()->kit())); if (!qtVersion) { raiseError(tr("Error preparing application descriptor file")); return false; diff --git a/src/plugins/qnx/blackberrycreatepackagestepfactory.cpp b/src/plugins/qnx/blackberrycreatepackagestepfactory.cpp index dce16ae954f..d4991056865 100644 --- a/src/plugins/qnx/blackberrycreatepackagestepfactory.cpp +++ b/src/plugins/qnx/blackberrycreatepackagestepfactory.cpp @@ -38,7 +38,7 @@ #include "blackberrydeviceconfigurationfactory.h" #include -#include +#include #include #include @@ -60,7 +60,7 @@ QList BlackBerryCreatePackageStepFactory::availableCreationIds( if (parent->id() != ProjectExplorer::Constants::BUILDSTEPS_DEPLOY) return QList(); - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(parent->target()->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(parent->target()->kit()); if (deviceType != BlackBerryDeviceConfigurationFactory::deviceType()) return QList(); diff --git a/src/plugins/qnx/blackberrydeployconfiguration.cpp b/src/plugins/qnx/blackberrydeployconfiguration.cpp index 1a43cd5c8c7..0db9788d6b2 100644 --- a/src/plugins/qnx/blackberrydeployconfiguration.cpp +++ b/src/plugins/qnx/blackberrydeployconfiguration.cpp @@ -37,7 +37,7 @@ #include "blackberrydeployconfigurationwidget.h" #include "blackberrydeployinformation.h" -#include +#include #include #include #include @@ -89,19 +89,19 @@ BlackBerryDeployInformation *BlackBerryDeployConfiguration::deploymentInfo() con QString BlackBerryDeployConfiguration::deviceHost() const { - BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target()->profile()); + BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target()->kit()); return device->sshParameters().host; } QString BlackBerryDeployConfiguration::password() const { - BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target()->profile()); + BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target()->kit()); return device->sshParameters().password; } QString BlackBerryDeployConfiguration::deviceName() const { - BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target()->profile()); + BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(target()->kit()); return device->displayName(); } diff --git a/src/plugins/qnx/blackberrydeployconfigurationfactory.cpp b/src/plugins/qnx/blackberrydeployconfigurationfactory.cpp index 5cd2e3c6635..0e09808b7d6 100644 --- a/src/plugins/qnx/blackberrydeployconfigurationfactory.cpp +++ b/src/plugins/qnx/blackberrydeployconfigurationfactory.cpp @@ -40,7 +40,7 @@ #include "blackberrydeviceconfigurationfactory.h" #include -#include +#include #include #include #include @@ -65,7 +65,7 @@ QList BlackBerryDeployConfigurationFactory::availableCreationIds(Proje if (!project) return result; - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(parent->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(parent->kit()); if (deviceType != BlackBerryDeviceConfigurationFactory::deviceType()) return result; diff --git a/src/plugins/qnx/blackberrydeployinformation.cpp b/src/plugins/qnx/blackberrydeployinformation.cpp index 5e65e4a6dfc..d254f4c24e8 100644 --- a/src/plugins/qnx/blackberrydeployinformation.cpp +++ b/src/plugins/qnx/blackberrydeployinformation.cpp @@ -39,7 +39,7 @@ #include #include #include -#include +#include using namespace Qnx; using namespace Qnx::Internal; @@ -163,7 +163,7 @@ void BlackBerryDeployInformation::initModel() || !qobject_cast(target->activeDeployConfiguration())) return; - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); if (!version || !version->isValid()) { beginResetModel(); m_deployInformation.clear(); diff --git a/src/plugins/qnx/blackberrydeploystepfactory.cpp b/src/plugins/qnx/blackberrydeploystepfactory.cpp index fe62aa9ed46..73853342ee0 100644 --- a/src/plugins/qnx/blackberrydeploystepfactory.cpp +++ b/src/plugins/qnx/blackberrydeploystepfactory.cpp @@ -37,7 +37,7 @@ #include "blackberrydeviceconfigurationfactory.h" #include -#include +#include #include #include @@ -53,7 +53,7 @@ QList BlackBerryDeployStepFactory::availableCreationIds(ProjectExplore if (parent->id() != ProjectExplorer::Constants::BUILDSTEPS_DEPLOY) return QList(); - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(parent->target()->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(parent->target()->kit()); if (deviceType != BlackBerryDeviceConfigurationFactory::deviceType()) return QList(); diff --git a/src/plugins/qnx/blackberrydeviceconfiguration.cpp b/src/plugins/qnx/blackberrydeviceconfiguration.cpp index 3dd1998b64e..cc7d2b7529f 100644 --- a/src/plugins/qnx/blackberrydeviceconfiguration.cpp +++ b/src/plugins/qnx/blackberrydeviceconfiguration.cpp @@ -36,7 +36,7 @@ #include "qnxconstants.h" #include "blackberrydeviceconfigurationwidget.h" -#include +#include using namespace Qnx; using namespace Qnx::Internal; @@ -93,9 +93,9 @@ IDevice::Ptr BlackBerryDeviceConfiguration::clone() const return Ptr(new BlackBerryDeviceConfiguration(*this)); } -BlackBerryDeviceConfiguration::ConstPtr BlackBerryDeviceConfiguration::device(const Profile *p) +BlackBerryDeviceConfiguration::ConstPtr BlackBerryDeviceConfiguration::device(const Kit *k) { - IDevice::ConstPtr dev = DeviceProfileInformation::device(p); + IDevice::ConstPtr dev = DeviceKitInformation::device(k); return dev.dynamicCast(); } diff --git a/src/plugins/qnx/blackberrydeviceconfiguration.h b/src/plugins/qnx/blackberrydeviceconfiguration.h index 0636dc3cedb..1c872cd6e51 100644 --- a/src/plugins/qnx/blackberrydeviceconfiguration.h +++ b/src/plugins/qnx/blackberrydeviceconfiguration.h @@ -37,7 +37,7 @@ #include namespace ProjectExplorer { -class Profile; +class Kit; } namespace Qnx { @@ -67,7 +67,7 @@ public: void executeAction(Core::Id actionId, QWidget *parent) const; ProjectExplorer::IDevice::Ptr clone() const; - static ConstPtr device(const ProjectExplorer::Profile *p); + static ConstPtr device(const ProjectExplorer::Kit *k); protected: BlackBerryDeviceConfiguration(); diff --git a/src/plugins/qnx/blackberryrunconfiguration.cpp b/src/plugins/qnx/blackberryrunconfiguration.cpp index 7393525f3b1..fc59eaf91f4 100644 --- a/src/plugins/qnx/blackberryrunconfiguration.cpp +++ b/src/plugins/qnx/blackberryrunconfiguration.cpp @@ -147,5 +147,5 @@ BlackBerryDeployConfiguration *BlackBerryRunConfiguration::deployConfiguration() QString BlackBerryRunConfiguration::key() const { - return barPackage() + QLatin1Char('_') + BlackBerryDeviceConfiguration::device(target()->profile())->sshParameters().host; + return barPackage() + QLatin1Char('_') + BlackBerryDeviceConfiguration::device(target()->kit())->sshParameters().host; } diff --git a/src/plugins/qnx/blackberryrunconfigurationfactory.cpp b/src/plugins/qnx/blackberryrunconfigurationfactory.cpp index 1409bc5f319..d4cb7017ab8 100644 --- a/src/plugins/qnx/blackberryrunconfigurationfactory.cpp +++ b/src/plugins/qnx/blackberryrunconfigurationfactory.cpp @@ -36,7 +36,7 @@ #include "blackberryrunconfiguration.h" #include "blackberrydeviceconfigurationfactory.h" -#include +#include #include #include @@ -157,12 +157,12 @@ ProjectExplorer::RunConfiguration *BlackBerryRunConfigurationFactory::clone( bool BlackBerryRunConfigurationFactory::canHandle(ProjectExplorer::Target *t) const { - if (!t->project()->supportsProfile(t->profile())) + if (!t->project()->supportsKit(t->kit())) return false; if (!qobject_cast(t->project())) return false; - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(t->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(t->kit()); if (deviceType != BlackBerryDeviceConfigurationFactory::deviceType()) return false; diff --git a/src/plugins/qnx/blackberryruncontrolfactory.cpp b/src/plugins/qnx/blackberryruncontrolfactory.cpp index 2e649682f10..af31f90166b 100644 --- a/src/plugins/qnx/blackberryruncontrolfactory.cpp +++ b/src/plugins/qnx/blackberryruncontrolfactory.cpp @@ -41,13 +41,13 @@ #include #include -#include +#include #include #include #include #include #include -#include +#include using namespace Qnx; using namespace Qnx::Internal; @@ -128,13 +128,13 @@ Debugger::DebuggerStartParameters BlackBerryRunControlFactory::startParameters( { Debugger::DebuggerStartParameters params; ProjectExplorer::Target *target = runConfig->target(); - ProjectExplorer::Profile *profile = target->profile(); + ProjectExplorer::Kit *k = target->kit(); params.startMode = Debugger::AttachToRemoteServer; - params.debuggerCommand = Debugger::DebuggerProfileInformation::debuggerCommand(profile).toString(); - params.sysRoot = ProjectExplorer::SysRootProfileInformation::sysRoot(profile).toString(); + params.debuggerCommand = Debugger::DebuggerKitInformation::debuggerCommand(k).toString(); + params.sysRoot = ProjectExplorer::SysRootKitInformation::sysRoot(k).toString(); - if (ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(profile)) + if (ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(k)) params.toolChainAbi = tc->targetAbi(); params.executable = runConfig->localExecutableFilePath(); @@ -143,7 +143,7 @@ Debugger::DebuggerStartParameters BlackBerryRunControlFactory::startParameters( params.remoteSetupNeeded = true; if (runConfig->debuggerAspect()->useQmlDebugger()) { - BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(runConfig->target()->profile()); + BlackBerryDeviceConfiguration::ConstPtr device = BlackBerryDeviceConfiguration::device(runConfig->target()->kit()); if (device) { params.qmlServerAddress = device->sshParameters().host; params.qmlServerPort = runConfig->debuggerAspect()->qmlDebugServerPort(); @@ -162,7 +162,7 @@ Debugger::DebuggerStartParameters BlackBerryRunControlFactory::startParameters( } BlackBerryQtVersion *qtVersion = - dynamic_cast(QtSupport::QtProfileInformation::qtVersion(profile)); + dynamic_cast(QtSupport::QtKitInformation::qtVersion(k)); if (qtVersion) params.solibSearchPath = QnxUtils::searchPaths(qtVersion); diff --git a/src/plugins/qnx/qnxabstractqtversion.cpp b/src/plugins/qnx/qnxabstractqtversion.cpp index db2f154f049..1747d2fc396 100644 --- a/src/plugins/qnx/qnxabstractqtversion.cpp +++ b/src/plugins/qnx/qnxabstractqtversion.cpp @@ -94,7 +94,7 @@ QList QnxAbstractQtVersion::detectQtAbis() const return qtAbisFromLibrary(qtCorePath(versionInfo(), qtVersionString())); } -void QnxAbstractQtVersion::addToEnvironment(const ProjectExplorer::Profile *p, Utils::Environment &env) const +void QnxAbstractQtVersion::addToEnvironment(const ProjectExplorer::Kit *p, Utils::Environment &env) const { QtSupport::BaseQtVersion::addToEnvironment(p, env); diff --git a/src/plugins/qnx/qnxabstractqtversion.h b/src/plugins/qnx/qnxabstractqtversion.h index ca9a4de34e8..bb1b5b395ff 100644 --- a/src/plugins/qnx/qnxabstractqtversion.h +++ b/src/plugins/qnx/qnxabstractqtversion.h @@ -64,7 +64,7 @@ public: QList detectQtAbis() const; - void addToEnvironment(const ProjectExplorer::Profile *p, Utils::Environment &env) const; + void addToEnvironment(const ProjectExplorer::Kit *p, Utils::Environment &env) const; QtSupport::QtConfigWidget *createConfigurationWidget() const; diff --git a/src/plugins/qnx/qnxdebugsupport.cpp b/src/plugins/qnx/qnxdebugsupport.cpp index 4ed72d1ab8c..b3e3e952b77 100644 --- a/src/plugins/qnx/qnxdebugsupport.cpp +++ b/src/plugins/qnx/qnxdebugsupport.cpp @@ -38,7 +38,7 @@ #include #include #include -#include +#include #include #include #include @@ -54,7 +54,7 @@ QnxDebugSupport::QnxDebugSupport(QnxRunConfiguration *runConfig, Debugger::Debug , m_executable(QLatin1String(Constants::QNX_DEBUG_EXECUTABLE)) , m_commandPrefix(runConfig->commandPrefix()) , m_arguments(runConfig->arguments()) - , m_device(DeviceProfileInformation::device(runConfig->target()->profile())) + , m_device(DeviceKitInformation::device(runConfig->target()->kit())) , m_engine(engine) , m_port(-1) , m_state(Inactive) diff --git a/src/plugins/qnx/qnxdeployconfigurationfactory.cpp b/src/plugins/qnx/qnxdeployconfigurationfactory.cpp index 7cb1c6fcdb9..9eb04fc0086 100644 --- a/src/plugins/qnx/qnxdeployconfigurationfactory.cpp +++ b/src/plugins/qnx/qnxdeployconfigurationfactory.cpp @@ -37,7 +37,7 @@ #include "qnxdeployconfiguration.h" #include "qnxdeviceconfigurationfactory.h" -#include +#include #include #include @@ -120,7 +120,7 @@ ProjectExplorer::DeployConfiguration *QnxDeployConfigurationFactory::clone(Proje bool QnxDeployConfigurationFactory::canHandle(ProjectExplorer::Target *t) const { - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(t->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(t->kit()); if (deviceType != QnxDeviceConfigurationFactory::deviceType()) return false; diff --git a/src/plugins/qnx/qnxdeploystepfactory.cpp b/src/plugins/qnx/qnxdeploystepfactory.cpp index 208bfa54a7d..22e0389e78c 100644 --- a/src/plugins/qnx/qnxdeploystepfactory.cpp +++ b/src/plugins/qnx/qnxdeploystepfactory.cpp @@ -36,7 +36,7 @@ #include "qnxdeviceconfigurationfactory.h" #include -#include +#include #include #include #include @@ -54,7 +54,7 @@ QList QnxDeployStepFactory::availableCreationIds(ProjectExplorer::Buil if (parent->id() != ProjectExplorer::Constants::BUILDSTEPS_DEPLOY) return QList(); - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(parent->target()->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(parent->target()->kit()); if (deviceType != QnxDeviceConfigurationFactory::deviceType()) return QList(); diff --git a/src/plugins/qnx/qnxrunconfigurationfactory.cpp b/src/plugins/qnx/qnxrunconfigurationfactory.cpp index 810235a830a..92560ec1cea 100644 --- a/src/plugins/qnx/qnxrunconfigurationfactory.cpp +++ b/src/plugins/qnx/qnxrunconfigurationfactory.cpp @@ -37,7 +37,7 @@ #include "qnxrunconfiguration.h" #include "qnxdeviceconfigurationfactory.h" -#include +#include #include #include @@ -149,7 +149,7 @@ ProjectExplorer::RunConfiguration *QnxRunConfigurationFactory::clone(ProjectExpl bool QnxRunConfigurationFactory::canHandle(ProjectExplorer::Target *t) const { - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(t->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(t->kit()); if (deviceType != QnxDeviceConfigurationFactory::deviceType()) return false; diff --git a/src/plugins/qnx/qnxruncontrolfactory.cpp b/src/plugins/qnx/qnxruncontrolfactory.cpp index b9e2693b325..b9803bbb16d 100644 --- a/src/plugins/qnx/qnxruncontrolfactory.cpp +++ b/src/plugins/qnx/qnxruncontrolfactory.cpp @@ -44,11 +44,11 @@ #include #include #include -#include +#include #include #include #include -#include +#include #include using namespace Debugger; @@ -60,17 +60,17 @@ DebuggerStartParameters createStartParameters(const QnxRunConfiguration *runConf { DebuggerStartParameters params; Target *target = runConfig->target(); - Profile *profile = target->profile(); + Kit *k = target->kit(); - const IDevice::ConstPtr device = DeviceProfileInformation::device(profile); + const IDevice::ConstPtr device = DeviceKitInformation::device(k); if (device.isNull()) return params; params.startMode = AttachToRemoteServer; - params.debuggerCommand = DebuggerProfileInformation::debuggerCommand(profile).toString(); - params.sysRoot = SysRootProfileInformation::sysRoot(profile).toString(); + params.debuggerCommand = DebuggerKitInformation::debuggerCommand(k).toString(); + params.sysRoot = SysRootKitInformation::sysRoot(k).toString(); - if (ToolChain *tc = ToolChainProfileInformation::toolChain(profile)) + if (ToolChain *tc = ToolChainKitInformation::toolChain(k)) params.toolChainAbi = tc->targetAbi(); params.symbolFileName = runConfig->localExecutableFilePath(); @@ -81,7 +81,7 @@ DebuggerStartParameters createStartParameters(const QnxRunConfiguration *runConf params.closeMode = DetachAtClose; QnxQtVersion *qtVersion = - dynamic_cast(QtSupport::QtProfileInformation::qtVersion(profile)); + dynamic_cast(QtSupport::QtKitInformation::qtVersion(k)); if (qtVersion) params.solibSearchPath = QnxUtils::searchPaths(qtVersion); @@ -107,7 +107,7 @@ bool QnxRunControlFactory::canRun(RunConfiguration *runConfiguration, RunMode mo const QnxRunConfiguration * const rc = qobject_cast(runConfiguration); if (mode == DebugRunMode) { - const QnxDeviceConfiguration::ConstPtr dev = DeviceProfileInformation::device(runConfiguration->target()->profile()) + const QnxDeviceConfiguration::ConstPtr dev = DeviceKitInformation::device(runConfiguration->target()->kit()) .dynamicCast(); if (dev.isNull()) return false; diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp index 33aa51a227f..bdec01bca44 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp @@ -36,24 +36,24 @@ #include #include -#include +#include #include -#include -#include -#include +#include +#include +#include #include namespace { -class DesktopQtProfileMatcher : public ProjectExplorer::ProfileMatcher +class DesktopQtKitMatcher : public ProjectExplorer::KitMatcher { public: - bool matches(const ProjectExplorer::Profile *p) const + bool matches(const ProjectExplorer::Kit *k) const { - ProjectExplorer::IDevice::ConstPtr dev = ProjectExplorer::DeviceProfileInformation::device(p); + ProjectExplorer::IDevice::ConstPtr dev = ProjectExplorer::DeviceKitInformation::device(k); if (dev.isNull() || dev->id() != ProjectExplorer::Constants::DESKTOP_DEVICE_ID) return false; - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(p); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(k); return version && version->type() == QtSupport::Constants::DESKTOPQT; } }; diff --git a/src/plugins/qt4projectmanager/externaleditors.cpp b/src/plugins/qt4projectmanager/externaleditors.cpp index 41548be4265..d3e07f87681 100644 --- a/src/plugins/qt4projectmanager/externaleditors.cpp +++ b/src/plugins/qt4projectmanager/externaleditors.cpp @@ -36,7 +36,7 @@ #include #include #include -#include +#include #include #include @@ -141,7 +141,7 @@ bool ExternalQtEditor::getEditorLaunchData(const QString &fileName, // Get the binary either from the current Qt version of the project or Path if (const Qt4Project *project = qt4ProjectFor(fileName)) { if (const ProjectExplorer::Target *target = project->activeTarget()) { - if (const QtSupport::BaseQtVersion *qtVersion = QtSupport::QtProfileInformation::qtVersion(target->profile())) { + if (const QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(target->kit())) { data->binary = (qtVersion->*commandAccessor)(); data->workingDirectory = project->projectDirectory(); } diff --git a/src/plugins/qt4projectmanager/librarydetailscontroller.cpp b/src/plugins/qt4projectmanager/librarydetailscontroller.cpp index 4344d2d6aeb..328e63acebd 100644 --- a/src/plugins/qt4projectmanager/librarydetailscontroller.cpp +++ b/src/plugins/qt4projectmanager/librarydetailscontroller.cpp @@ -37,7 +37,7 @@ #include #include #include -#include +#include #include #include #include @@ -82,7 +82,7 @@ LibraryDetailsController::LibraryDetailsController( const ProjectExplorer::Project *project = ProjectExplorer::ProjectExplorerPlugin::instance()->session()->projectForFile(proFile); // if its tool chain is maemo behave the same as we would be on linux - ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(project->activeTarget()->profile()); + ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(project->activeTarget()->kit()); if (tc && (tc->targetAbi().osFlavor() == ProjectExplorer::Abi::HarmattanLinuxFlavor || tc->targetAbi().osFlavor() == ProjectExplorer::Abi::MaemoLinuxFlavor)) diff --git a/src/plugins/qt4projectmanager/makestep.cpp b/src/plugins/qt4projectmanager/makestep.cpp index 028ab169d6a..eb11365323f 100644 --- a/src/plugins/qt4projectmanager/makestep.cpp +++ b/src/plugins/qt4projectmanager/makestep.cpp @@ -41,11 +41,11 @@ #include #include #include -#include +#include #include #include #include -#include +#include #include #include @@ -151,7 +151,7 @@ bool MakeStep::init() return true; // otherwise the tasks will not get reported } - ToolChain *tc = ToolChainProfileInformation::toolChain(target()->profile()); + ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit()); if (!tc) { m_tasks.append(Task(Task::Error, tr("Qt Creator needs a compiler set up to build. Configure a compiler in the target options."), Utils::FileName(), -1, @@ -257,7 +257,7 @@ bool MakeStep::init() pp->setArguments(args); IOutputParser *parser = 0; - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (version) parser = version->createOutputParser(); if (parser) @@ -376,7 +376,7 @@ MakeStepConfigWidget::MakeStepConfigWidget(MakeStep *makeStep) connect(ProjectExplorerPlugin::instance(), SIGNAL(settingsChanged()), this, SLOT(updateDetails())); - connect(m_makeStep->target(), SIGNAL(profileChanged()), this, SLOT(updateDetails())); + connect(m_makeStep->target(), SIGNAL(kitChanged()), this, SLOT(updateDetails())); } void MakeStepConfigWidget::activeBuildConfigurationChanged() @@ -411,14 +411,14 @@ MakeStepConfigWidget::~MakeStepConfigWidget() void MakeStepConfigWidget::updateDetails() { ToolChain *tc - = ToolChainProfileInformation::toolChain(m_makeStep->target()->profile()); + = ToolChainKitInformation::toolChain(m_makeStep->target()->kit()); if (tc) m_ui->makeLabel->setText(tr("Override %1:").arg(tc->makeCommand())); else m_ui->makeLabel->setText(tr("Make:")); if (!tc) { - setSummaryText(tr("Make: %1").arg(ProjectExplorer::ToolChainProfileInformation::msgNoToolChainInTarget())); + setSummaryText(tr("Make: %1").arg(ProjectExplorer::ToolChainKitInformation::msgNoToolChainInTarget())); return; } Qt4BuildConfiguration *bc = m_makeStep->qt4BuildConfiguration(); diff --git a/src/plugins/qt4projectmanager/qmakeprofileconfigwidget.cpp b/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp similarity index 69% rename from src/plugins/qt4projectmanager/qmakeprofileconfigwidget.cpp rename to src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp index 64adc6ef2d9..7129465fead 100644 --- a/src/plugins/qt4projectmanager/qmakeprofileconfigwidget.cpp +++ b/src/plugins/qt4projectmanager/qmakekitconfigwidget.cpp @@ -28,10 +28,10 @@ ** **************************************************************************/ -#include "qmakeprofileconfigwidget.h" +#include "qmakekitconfigwidget.h" #include "qt4projectmanagerconstants.h" -#include "qmakeprofileinformation.h" +#include "qmakekitinformation.h" #include #include @@ -42,10 +42,9 @@ namespace Qt4ProjectManager { namespace Internal { -QmakeProfileConfigWidget::QmakeProfileConfigWidget(ProjectExplorer::Profile *p, - QWidget *parent) : - ProjectExplorer::ProfileConfigWidget(parent), - m_profile(p), +QmakeKitConfigWidget::QmakeKitConfigWidget(ProjectExplorer::Kit *k, QWidget *parent) : + ProjectExplorer::KitConfigWidget(parent), + m_kit(k), m_lineEdit(new QLineEdit) { setToolTip(tr("The mkspec to use when building the project with qmake.
" @@ -56,33 +55,33 @@ QmakeProfileConfigWidget::QmakeProfileConfigWidget(ProjectExplorer::Profile *p, m_lineEdit->setContentsMargins(0, 0, 0, 0); layout->addWidget(m_lineEdit); - discard(); // set up everything according to profile + discard(); // set up everything according to kit connect(m_lineEdit, SIGNAL(textEdited(QString)), this, SIGNAL(dirty())); } -QString QmakeProfileConfigWidget::displayName() const +QString QmakeKitConfigWidget::displayName() const { return tr("Qt mkspec:"); } -void QmakeProfileConfigWidget::makeReadOnly() +void QmakeKitConfigWidget::makeReadOnly() { m_lineEdit->setEnabled(false); } -void QmakeProfileConfigWidget::apply() +void QmakeKitConfigWidget::apply() { - QmakeProfileInformation::setMkspec(m_profile, Utils::FileName::fromString(m_lineEdit->text())); + QmakeKitInformation::setMkspec(m_kit, Utils::FileName::fromString(m_lineEdit->text())); } -void QmakeProfileConfigWidget::discard() +void QmakeKitConfigWidget::discard() { - m_lineEdit->setText(QmakeProfileInformation::mkspec(m_profile).toString()); + m_lineEdit->setText(QmakeKitInformation::mkspec(m_kit).toString()); } -bool QmakeProfileConfigWidget::isDirty() const +bool QmakeKitConfigWidget::isDirty() const { - return m_lineEdit->text() != QmakeProfileInformation::mkspec(m_profile).toString(); + return m_lineEdit->text() != QmakeKitInformation::mkspec(m_kit).toString(); } } // namespace Internal diff --git a/src/plugins/qt4projectmanager/qmakeprofileconfigwidget.h b/src/plugins/qt4projectmanager/qmakekitconfigwidget.h similarity index 78% rename from src/plugins/qt4projectmanager/qmakeprofileconfigwidget.h rename to src/plugins/qt4projectmanager/qmakekitconfigwidget.h index 32c3ad429c8..8403d22d93b 100644 --- a/src/plugins/qt4projectmanager/qmakeprofileconfigwidget.h +++ b/src/plugins/qt4projectmanager/qmakekitconfigwidget.h @@ -28,26 +28,26 @@ ** **************************************************************************/ -#ifndef QT4PM_QMAKEPROFILECONFIGWIDGET_H -#define QT4PM_QMAKEPROFILECONFIGWIDGET_H +#ifndef QT4PM_QMAKEKITCONFIGWIDGET_H +#define QT4PM_QMAKEKITCONFIGWIDGET_H -#include +#include QT_FORWARD_DECLARE_CLASS(QLineEdit) -namespace ProjectExplorer { class Profile; } +namespace ProjectExplorer { class Kit; } namespace Qt4ProjectManager { class BaseQtVersion; namespace Internal { -class QmakeProfileConfigWidget : public ProjectExplorer::ProfileConfigWidget +class QmakeKitConfigWidget : public ProjectExplorer::KitConfigWidget { Q_OBJECT public: - explicit QmakeProfileConfigWidget(ProjectExplorer::Profile *p, QWidget *parent = 0); + explicit QmakeKitConfigWidget(ProjectExplorer::Kit *k, QWidget *parent = 0); QString displayName() const; @@ -60,11 +60,11 @@ public: private: int findQtVersion(const int id) const; - ProjectExplorer::Profile *m_profile; + ProjectExplorer::Kit *m_kit; QLineEdit *m_lineEdit; }; } // namespace Internal } // namespace Debugger -#endif // QT4PM_QMAKEPROFILECONFIGWIDGET_H +#endif // QT4PM_QMAKEKITCONFIGWIDGET_H diff --git a/src/plugins/qt4projectmanager/qmakeprofileinformation.cpp b/src/plugins/qt4projectmanager/qmakekitinformation.cpp similarity index 58% rename from src/plugins/qt4projectmanager/qmakeprofileinformation.cpp rename to src/plugins/qt4projectmanager/qmakekitinformation.cpp index 0d1d16a2abb..f0594247ff6 100644 --- a/src/plugins/qt4projectmanager/qmakeprofileinformation.cpp +++ b/src/plugins/qt4projectmanager/qmakekitinformation.cpp @@ -28,49 +28,49 @@ ** **************************************************************************/ -#include "qmakeprofileinformation.h" +#include "qmakekitinformation.h" -#include "qmakeprofileinformation.h" -#include "qmakeprofileconfigwidget.h" +#include "qmakekitinformation.h" +#include "qmakekitconfigwidget.h" #include #include -#include +#include namespace Qt4ProjectManager { namespace Internal { const char MKSPEC_INFORMATION[] = "QtPM4.mkSpecInformation"; } // namespace Internal -QmakeProfileInformation::QmakeProfileInformation() +QmakeKitInformation::QmakeKitInformation() { - setObjectName(QLatin1String("QmakeProfileInformation")); + setObjectName(QLatin1String("QmakeKitInformation")); } -Core::Id QmakeProfileInformation::dataId() const +Core::Id QmakeKitInformation::dataId() const { static Core::Id id = Core::Id(Internal::MKSPEC_INFORMATION); return id; } -unsigned int QmakeProfileInformation::priority() const +unsigned int QmakeKitInformation::priority() const { return 24000; } -QVariant QmakeProfileInformation::defaultValue(ProjectExplorer::Profile *p) const +QVariant QmakeKitInformation::defaultValue(ProjectExplorer::Kit *k) const { - Q_UNUSED(p); + Q_UNUSED(k); return QString(); } -QList QmakeProfileInformation::validate(ProjectExplorer::Profile *p) const +QList QmakeKitInformation::validate(ProjectExplorer::Kit *k) const { QList result; - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(p); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(k); - Utils::FileName mkspec = QmakeProfileInformation::mkspec(p); + Utils::FileName mkspec = QmakeKitInformation::mkspec(k); if (!version && !mkspec.isEmpty()) result << ProjectExplorer::Task(ProjectExplorer::Task::Warning, tr("No Qt version set, so mkspec is ignored."), @@ -84,49 +84,49 @@ QList QmakeProfileInformation::validate(ProjectExplorer:: return result; } -ProjectExplorer::ProfileConfigWidget * -QmakeProfileInformation::createConfigWidget(ProjectExplorer::Profile *p) const +ProjectExplorer::KitConfigWidget * +QmakeKitInformation::createConfigWidget(ProjectExplorer::Kit *k) const { - return new Internal::QmakeProfileConfigWidget(p); + return new Internal::QmakeKitConfigWidget(k); } -ProjectExplorer::ProfileInformation::ItemList QmakeProfileInformation::toUserOutput(ProjectExplorer::Profile *p) const +ProjectExplorer::KitInformation::ItemList QmakeKitInformation::toUserOutput(ProjectExplorer::Kit *k) const { - return ItemList() << qMakePair(tr("mkspec"), mkspec(p).toUserOutput()); + return ItemList() << qMakePair(tr("mkspec"), mkspec(k).toUserOutput()); } -Utils::FileName QmakeProfileInformation::mkspec(const ProjectExplorer::Profile *p) +Utils::FileName QmakeKitInformation::mkspec(const ProjectExplorer::Kit *k) { - if (!p) + if (!k) return Utils::FileName(); - return Utils::FileName::fromString(p->value(Core::Id(Internal::MKSPEC_INFORMATION)).toString()); + return Utils::FileName::fromString(k->value(Core::Id(Internal::MKSPEC_INFORMATION)).toString()); } -Utils::FileName QmakeProfileInformation::effectiveMkspec(const ProjectExplorer::Profile *p) +Utils::FileName QmakeKitInformation::effectiveMkspec(const ProjectExplorer::Kit *k) { - if (!p) + if (!k) return Utils::FileName(); - Utils::FileName spec = mkspec(p); + Utils::FileName spec = mkspec(k); if (spec.isEmpty()) - return defaultMkspec(p); + return defaultMkspec(k); return spec; } -void QmakeProfileInformation::setMkspec(ProjectExplorer::Profile *p, const Utils::FileName &fn) +void QmakeKitInformation::setMkspec(ProjectExplorer::Kit *k, const Utils::FileName &fn) { - if (fn == defaultMkspec(p)) - p->setValue(Core::Id(Internal::MKSPEC_INFORMATION), QString()); + if (fn == defaultMkspec(k)) + k->setValue(Core::Id(Internal::MKSPEC_INFORMATION), QString()); else - p->setValue(Core::Id(Internal::MKSPEC_INFORMATION), fn.toString()); + k->setValue(Core::Id(Internal::MKSPEC_INFORMATION), fn.toString()); } -Utils::FileName QmakeProfileInformation::defaultMkspec(const ProjectExplorer::Profile *p) +Utils::FileName QmakeKitInformation::defaultMkspec(const ProjectExplorer::Kit *k) { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(p); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(k); if (!version) // No version, so no qmake return Utils::FileName(); - return version->mkspecFor(ProjectExplorer::ToolChainProfileInformation::toolChain(p)); + return version->mkspecFor(ProjectExplorer::ToolChainKitInformation::toolChain(k)); } } // namespace Qt4ProjectManager diff --git a/src/plugins/qt4projectmanager/qmakeprofileinformation.h b/src/plugins/qt4projectmanager/qmakekitinformation.h similarity index 66% rename from src/plugins/qt4projectmanager/qmakeprofileinformation.h rename to src/plugins/qt4projectmanager/qmakekitinformation.h index 42d1fe3f8d8..b73f3b112b9 100644 --- a/src/plugins/qt4projectmanager/qmakeprofileinformation.h +++ b/src/plugins/qt4projectmanager/qmakekitinformation.h @@ -28,41 +28,41 @@ ** **************************************************************************/ -#ifndef QT4PM_QMAKEPROFILEINFORMATION_H -#define QT4PM_QMAKEPROFILEINFORMATION_H +#ifndef QT4PM_QMAKEKITINFORMATION_H +#define QT4PM_QMAKEKITINFORMATION_H #include "qt4projectmanager_global.h" -#include +#include namespace Qt4ProjectManager { -class QT4PROJECTMANAGER_EXPORT QmakeProfileInformation : public ProjectExplorer::ProfileInformation +class QT4PROJECTMANAGER_EXPORT QmakeKitInformation : public ProjectExplorer::KitInformation { Q_OBJECT public: - QmakeProfileInformation(); + QmakeKitInformation(); Core::Id dataId() const; unsigned int priority() const; // the higher the closer to the top. - QVariant defaultValue(ProjectExplorer::Profile *p) const; + QVariant defaultValue(ProjectExplorer::Kit *k) const; - QList validate(ProjectExplorer::Profile *p) const; + QList validate(ProjectExplorer::Kit *k) const; - ProjectExplorer::ProfileConfigWidget *createConfigWidget(ProjectExplorer::Profile *p) const; + ProjectExplorer::KitConfigWidget *createConfigWidget(ProjectExplorer::Kit *k) const; - ItemList toUserOutput(ProjectExplorer::Profile *p) const; + ItemList toUserOutput(ProjectExplorer::Kit *k) const; - static void setMkspec(ProjectExplorer::Profile *p, const Utils::FileName &fn); - static Utils::FileName mkspec(const ProjectExplorer::Profile *p); - static Utils::FileName effectiveMkspec(const ProjectExplorer::Profile *p); - static Utils::FileName defaultMkspec(const ProjectExplorer::Profile *p); + static void setMkspec(ProjectExplorer::Kit *k, const Utils::FileName &fn); + static Utils::FileName mkspec(const ProjectExplorer::Kit *k); + static Utils::FileName effectiveMkspec(const ProjectExplorer::Kit *k); + static Utils::FileName defaultMkspec(const ProjectExplorer::Kit *k); }; } // namespace Qt4ProjectManager -#endif // QT4PM_QMAKEPROFILEINFORMATION_H +#endif // QT4PM_QMAKEKITINFORMATION_H diff --git a/src/plugins/qt4projectmanager/qmakestep.cpp b/src/plugins/qt4projectmanager/qmakestep.cpp index 39eaca11fd9..8268a4a3675 100644 --- a/src/plugins/qt4projectmanager/qmakestep.cpp +++ b/src/plugins/qt4projectmanager/qmakestep.cpp @@ -37,13 +37,13 @@ #include "qt4project.h" #include "qt4projectmanagerconstants.h" #include "qt4projectmanager.h" -#include "qmakeprofileinformation.h" +#include "qmakekitinformation.h" #include "qt4nodes.h" #include #include #include -#include +#include #include #include @@ -51,7 +51,7 @@ #include #include #include -#include +#include #include #include #include @@ -171,7 +171,7 @@ QStringList QMakeStep::deducedArguments() { QStringList arguments; ProjectExplorer::ToolChain *tc - = ProjectExplorer::ToolChainProfileInformation::toolChain(target()->profile()); + = ProjectExplorer::ToolChainKitInformation::toolChain(target()->kit()); ProjectExplorer::Abi targetAbi; if (tc) targetAbi = tc->targetAbi(); @@ -197,7 +197,7 @@ QStringList QMakeStep::deducedArguments() } } - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (linkQmlDebuggingLibrary() && version) { if (!version->needsQmlDebuggingLibrary()) { // This Qt version has the QML debugging services built in, however @@ -225,7 +225,7 @@ QStringList QMakeStep::deducedArguments() /// -after OBJECTS_DIR, MOC_DIR, UI_DIR, RCC_DIR QStringList QMakeStep::deducedArgumentsAfter() { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (version && !version->supportsShadowBuilds()) { // We have a target which does not allow shadow building. // But we really don't want to have the build artefacts in the source dir @@ -244,7 +244,7 @@ QStringList QMakeStep::deducedArgumentsAfter() bool QMakeStep::init() { Qt4BuildConfiguration *qt4bc = qt4BuildConfiguration(); - const QtSupport::BaseQtVersion *qtVersion = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + const QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (!qtVersion) return false; @@ -381,7 +381,7 @@ void QMakeStep::setUserArguments(const QString &arguments) bool QMakeStep::isQmlDebuggingLibrarySupported(QString *reason) const { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (!version) { if (reason) *reason = tr("No Qt version."); @@ -465,7 +465,7 @@ Utils::FileName QMakeStep::mkspec() } } - return Qt4ProjectManager::QmakeProfileInformation::effectiveMkspec(target()->profile()); + return Qt4ProjectManager::QmakeKitInformation::effectiveMkspec(target()->kit()); } QVariantMap QMakeStep::toMap() const @@ -528,7 +528,7 @@ QMakeStepConfigWidget::QMakeStepConfigWidget(QMakeStep *step) this, SLOT(linkQmlDebuggingLibraryChanged())); connect(step->qt4BuildConfiguration(), SIGNAL(qmakeBuildConfigurationChanged()), this, SLOT(qmakeBuildConfigChanged())); - connect(step->target(), SIGNAL(profileChanged()), this, SLOT(qtVersionChanged())); + connect(step->target(), SIGNAL(kitChanged()), this, SLOT(qtVersionChanged())); connect(QtSupport::QtVersionManager::instance(), SIGNAL(dumpUpdatedFor(Utils::FileName)), this, SLOT(qtVersionChanged())); } @@ -644,11 +644,11 @@ void QMakeStepConfigWidget::linkQmlDebuggingLibraryChecked(bool checked) void QMakeStepConfigWidget::buildQmlDebuggingHelper() { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(m_step->target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(m_step->target()->kit()); if (!version) return; - ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(m_step->target()->profile()); + ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(m_step->target()->kit()); QtSupport::DebuggingHelperBuildTask *buildTask = new QtSupport::DebuggingHelperBuildTask(version, tc, @@ -665,7 +665,7 @@ void QMakeStepConfigWidget::buildQmlDebuggingHelper() void QMakeStepConfigWidget::updateSummaryLabel() { - QtSupport::BaseQtVersion *qtVersion = QtSupport::QtProfileInformation::qtVersion(m_step->target()->profile()); + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(m_step->target()->kit()); if (!qtVersion) { setSummaryText(tr("qmake: No Qt version set. Cannot run qmake.")); return; @@ -695,7 +695,7 @@ void QMakeStepConfigWidget::updateQmlDebuggingOption() void QMakeStepConfigWidget::updateEffectiveQMakeCall() { - QtSupport::BaseQtVersion *qtVersion = QtSupport::QtProfileInformation::qtVersion(m_step->target()->profile()); + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(m_step->target()->kit()); QString program = tr(""); if (qtVersion) program = qtVersion->qmakeCommand().toFileInfo().fileName(); diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp index ebbc882c792..6014a9c5c8a 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.cpp @@ -58,7 +58,7 @@ #include #include #include -#include +#include #include #include @@ -151,7 +151,7 @@ QString Qt4RunConfiguration::disabledReason() const return QString(); } -void Qt4RunConfiguration::proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress) +void Qt4RunConfiguration::kitUpdated(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress) { if (m_proFilePath != pro->path()) { if (!parseInProgress) { @@ -179,20 +179,20 @@ void Qt4RunConfiguration::ctor() { setDefaultDisplayName(defaultDisplayName()); - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); m_forcedGuiMode = (version && version->type() == QtSupport::Constants::SIMULATORQT); connect(target(), SIGNAL(environmentChanged()), this, SIGNAL(baseEnvironmentChanged())); - connect(target()->project(), SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)), - this, SLOT(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool))); - connect(target(), SIGNAL(profileChanged()), - this, SLOT(profileChanged())); + connect(target()->project(), SIGNAL(kitUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)), + this, SLOT(kitUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool))); + connect(target(), SIGNAL(kitChanged()), + this, SLOT(kitChanged())); } -void Qt4RunConfiguration::profileChanged() +void Qt4RunConfiguration::kitChanged() { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); m_forcedGuiMode = (version && version->type() == QtSupport::Constants::SIMULATORQT); emit runModeChanged(runMode()); // Always emit } @@ -619,7 +619,7 @@ Utils::Environment Qt4RunConfiguration::baseEnvironment() const } // libDirectories } // node - QtSupport::BaseQtVersion *qtVersion = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (qtVersion) env.prependOrSetLibrarySearchPath(qtVersion->qmakeProperty("QT_INSTALL_LIBS")); return env; @@ -675,7 +675,7 @@ QString Qt4RunConfiguration::proFilePath() const QString Qt4RunConfiguration::dumperLibrary() const { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (version) return version->gdbDebuggingHelperLibrary(); return QString(); @@ -683,7 +683,7 @@ QString Qt4RunConfiguration::dumperLibrary() const QStringList Qt4RunConfiguration::dumperLibraryLocations() const { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (version) return version->debuggingHelperLibraryLocations(); return QStringList(); @@ -807,11 +807,11 @@ QString Qt4RunConfigurationFactory::displayNameForId(const Core::Id id) const bool Qt4RunConfigurationFactory::canHandle(ProjectExplorer::Target *t) const { - if (!t->project()->supportsProfile(t->profile())) + if (!t->project()->supportsKit(t->kit())) return false; if (!qobject_cast(t->project())) return false; - Core::Id devType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(t->profile()); + Core::Id devType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(t->kit()); return devType == ProjectExplorer::Constants::DESKTOP_DEVICE_TYPE; } diff --git a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.h b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.h index 07ff8cc0b85..6cbaf2bfcc4 100644 --- a/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.h +++ b/src/plugins/qt4projectmanager/qt-desktop/qt4runconfiguration.h @@ -113,8 +113,8 @@ signals: void effectiveTargetInformationChanged(); private slots: - void profileChanged(); - void proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress); + void kitChanged(); + void kitUpdated(Qt4ProjectManager::Qt4ProFileNode *pro, bool success, bool parseInProgress); protected: Qt4RunConfiguration(ProjectExplorer::Target *parent, Qt4RunConfiguration *source); diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp index 29076cde49d..5456d0738af 100644 --- a/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp +++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.cpp @@ -44,11 +44,11 @@ #include #include #include -#include +#include #include #include #include -#include +#include #include #include @@ -137,11 +137,11 @@ void Qt4BuildConfiguration::ctor() this, SLOT(emitBuildDirectoryChanged())); connect(this, SIGNAL(environmentChanged()), this, SLOT(emitProFileEvaluateNeeded())); - connect(target(), SIGNAL(profileChanged()), - this, SLOT(profileChanged())); + connect(target(), SIGNAL(kitChanged()), + this, SLOT(kitChanged())); } -void Qt4BuildConfiguration::profileChanged() +void Qt4BuildConfiguration::kitChanged() { emitProFileEvaluateNeeded(); emit environmentChanged(); @@ -162,7 +162,7 @@ void Qt4BuildConfiguration::emitBuildDirectoryChanged() Utils::Environment Qt4BuildConfiguration::baseEnvironment() const { Utils::Environment env = BuildConfiguration::baseEnvironment(); - target()->profile()->addToEnvironment(env); + target()->kit()->addToEnvironment(env); return env; } @@ -175,7 +175,7 @@ QString Qt4BuildConfiguration::defaultShadowBuildDirectory() const { // todo displayName isn't ideal return Qt4Project::shadowBuildDirectory(target()->project()->document()->fileName(), - target()->profile(), displayName()); + target()->kit(), displayName()); } /// returns the unexpanded build directory @@ -202,7 +202,7 @@ QString Qt4BuildConfiguration::buildDirectory() const bool Qt4BuildConfiguration::supportsShadowBuilds() { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); return !version || version->supportsShadowBuilds(); } @@ -255,7 +255,7 @@ QString Qt4BuildConfiguration::shadowBuildDirectory() const void Qt4BuildConfiguration::setShadowBuildAndDirectory(bool shadowBuild, const QString &buildDirectory) { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); QString directoryToSet = buildDirectory; bool toSet = (shadowBuild && version && version->isValid() && version->supportsShadowBuilds()); if (m_shadowBuild == toSet && m_buildDirectory == directoryToSet) @@ -271,8 +271,8 @@ void Qt4BuildConfiguration::setShadowBuildAndDirectory(bool shadowBuild, const Q QString Qt4BuildConfiguration::defaultMakeTarget() const { - ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(target()->profile()); - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(target()->kit()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (!tc || !version) return QString(); @@ -316,7 +316,7 @@ void Qt4BuildConfiguration::emitQMakeBuildConfigurationChanged() QStringList Qt4BuildConfiguration::configCommandLineArguments() const { QStringList result; - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); QtSupport::BaseQtVersion::QmakeBuildConfigs defaultBuildConfiguration = version ? version->defaultBuildConfig() : (QtSupport::BaseQtVersion::DebugBuild | QtSupport::BaseQtVersion::BuildAll); QtSupport::BaseQtVersion::QmakeBuildConfigs userBuildConfiguration = m_qmakeBuildConfiguration; if ((defaultBuildConfiguration & QtSupport::BaseQtVersion::BuildAll) && !(userBuildConfiguration & QtSupport::BaseQtVersion::BuildAll)) @@ -359,7 +359,7 @@ Qt4BuildConfiguration::MakefileState Qt4BuildConfiguration::compareToImportFrom( QMakeStep *qs = qmakeStep(); if (QFileInfo(makefile).exists() && qs) { Utils::FileName qmakePath = QtSupport::QtVersionManager::findQMakeBinaryFromMakefile(makefile); - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target()->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target()->kit()); if (!version) return MakefileForWrongProject; if (version->qmakeCommand() == qmakePath) { @@ -519,7 +519,7 @@ Utils::FileName Qt4BuildConfiguration::extractSpecFromArguments(QString *args, ProjectExplorer::IOutputParser *Qt4BuildConfiguration::createOutputParser() const { - ToolChain *tc = ToolChainProfileInformation::toolChain(target()->profile()); + ToolChain *tc = ToolChainKitInformation::toolChain(target()->kit()); return tc ? tc->outputParser() : 0; } @@ -568,7 +568,7 @@ void Qt4BuildConfigurationFactory::update() bool Qt4BuildConfigurationFactory::canHandle(const Target *t) const { - if (!t->project()->supportsProfile(t->profile())) + if (!t->project()->supportsKit(t->kit())) return false; return qobject_cast(t->project()); } @@ -599,7 +599,7 @@ BuildConfiguration *Qt4BuildConfigurationFactory::create(ProjectExplorer::Target if (!canCreate(parent, id)) return 0; - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(parent->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(parent->kit()); Q_ASSERT(version); bool ok = true; @@ -672,12 +672,12 @@ BuildConfiguration *Qt4BuildConfigurationFactory::restore(Target *parent, const return 0; } -QList Qt4BuildConfigurationFactory::availableBuildConfigurations(const ProjectExplorer::Profile *p, +QList Qt4BuildConfigurationFactory::availableBuildConfigurations(const ProjectExplorer::Kit *p, const QString &proFilePath) { QList infoList; - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(p); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(p); if (!version || !version->isValid()) return infoList; QtSupport::BaseQtVersion::QmakeBuildConfigs config = version->defaultBuildConfig(); diff --git a/src/plugins/qt4projectmanager/qt4buildconfiguration.h b/src/plugins/qt4projectmanager/qt4buildconfiguration.h index d461ad73599..595ff3b14e7 100644 --- a/src/plugins/qt4projectmanager/qt4buildconfiguration.h +++ b/src/plugins/qt4projectmanager/qt4buildconfiguration.h @@ -129,7 +129,7 @@ signals: void qmakeBuildConfigurationChanged(); private slots: - void profileChanged(); + void kitChanged(); void emitBuildDirectoryChanged(); protected: @@ -170,7 +170,7 @@ public: bool canRestore(const ProjectExplorer::Target *parent, const QVariantMap &map) const; ProjectExplorer::BuildConfiguration *restore(ProjectExplorer::Target *parent, const QVariantMap &map); - static QList availableBuildConfigurations(const ProjectExplorer::Profile *p, const QString &proFilePath); + static QList availableBuildConfigurations(const ProjectExplorer::Kit *p, const QString &proFilePath); static QString buildConfigurationDisplayName(const BuildConfigurationInfo &info); private slots: diff --git a/src/plugins/qt4projectmanager/qt4nodes.cpp b/src/plugins/qt4projectmanager/qt4nodes.cpp index 266137d3f0a..860d4685466 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.cpp +++ b/src/plugins/qt4projectmanager/qt4nodes.cpp @@ -55,7 +55,7 @@ #include #include #include -#include +#include #include #include @@ -1535,7 +1535,7 @@ void Qt4ProFileNode::emitProFileUpdatedRecursive() { foreach (ProjectExplorer::NodesWatcher *watcher, watchers()) if (Internal::Qt4NodesWatcher *qt4Watcher = qobject_cast(watcher)) - emit qt4Watcher->proFileUpdated(this, m_validParse, m_parseInProgress); + emit qt4Watcher->kitUpdated(this, m_validParse, m_parseInProgress); foreach (ProjectNode *subNode, subProjectNodes()) { if (Qt4ProFileNode *node = qobject_cast(subNode)) { @@ -1561,7 +1561,7 @@ void Qt4ProFileNode::setParseInProgress(bool b) m_parseInProgress = b; foreach (ProjectExplorer::NodesWatcher *watcher, watchers()) if (Internal::Qt4NodesWatcher *qt4Watcher = qobject_cast(watcher)) - emit qt4Watcher->proFileUpdated(this, m_validParse, m_parseInProgress); + emit qt4Watcher->kitUpdated(this, m_validParse, m_parseInProgress); } void Qt4ProFileNode::setValidParseRecursive(bool b) diff --git a/src/plugins/qt4projectmanager/qt4nodes.h b/src/plugins/qt4projectmanager/qt4nodes.h index 118b3bedc2d..81519232dff 100644 --- a/src/plugins/qt4projectmanager/qt4nodes.h +++ b/src/plugins/qt4projectmanager/qt4nodes.h @@ -257,7 +257,7 @@ signals: const QHash &oldValues, const QHash &newValues); - void proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *projectNode, bool success, bool parseInProgress); + void kitUpdated(Qt4ProjectManager::Qt4ProFileNode *projectNode, bool success, bool parseInProgress); private: // let them emit signals diff --git a/src/plugins/qt4projectmanager/qt4project.cpp b/src/plugins/qt4projectmanager/qt4project.cpp index efdbcd43c19..c123adcdca2 100644 --- a/src/plugins/qt4projectmanager/qt4project.cpp +++ b/src/plugins/qt4projectmanager/qt4project.cpp @@ -56,7 +56,7 @@ #include #include #include -#include +#include #include #include #include @@ -64,7 +64,7 @@ #include #include #include -#include +#include #include #include #include @@ -424,8 +424,8 @@ bool Qt4Project::fromMap(const QVariantMap &map) updateCodeModels(); // We have the profile nodes now, so we know the runconfigs! - connect(m_nodesWatcher, SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)), - this, SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool))); + connect(m_nodesWatcher, SIGNAL(kitUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)), + this, SIGNAL(kitUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool))); // Now we emit update once :) m_rootProjectNode->emitProFileUpdatedRecursive(); @@ -483,15 +483,15 @@ void Qt4Project::updateCppCodeModel() { typedef CPlusPlus::CppModelManagerInterface::ProjectPart ProjectPart; - Profile *p = 0; + Kit *k = 0; QtSupport::BaseQtVersion *qtVersion = 0; ToolChain *tc = 0; if (ProjectExplorer::Target *target = activeTarget()) - p = target->profile(); + k = target->kit(); else - p = ProfileManager::instance()->defaultProfile(); - qtVersion = QtSupport::QtProfileInformation::qtVersion(p); - tc = ToolChainProfileInformation::toolChain(p); + k = KitManager::instance()->defaultKit(); + qtVersion = QtSupport::QtKitInformation::qtVersion(k); + tc = ToolChainKitInformation::toolChain(k); CPlusPlus::CppModelManagerInterface *modelmanager = CPlusPlus::CppModelManagerInterface::instance(); @@ -529,7 +529,7 @@ void Qt4Project::updateCppCodeModel() if (tc) headers = tc->systemHeaderPaths(); // todo pass cxxflags? if (qtVersion) { - headers.append(qtVersion->systemHeaderPathes(p)); + headers.append(qtVersion->systemHeaderPathes(k)); } foreach (const HeaderPath &headerPath, headers) { @@ -598,8 +598,8 @@ void Qt4Project::updateQmlJSCodeModel() projectInfo.tryQmlDump = false; ProjectExplorer::Target *t = activeTarget(); - ProjectExplorer::Profile *p = t ? t->profile() : ProjectExplorer::ProfileManager::instance()->defaultProfile(); - QtSupport::BaseQtVersion *qtVersion = QtSupport::QtProfileInformation::qtVersion(p); + ProjectExplorer::Kit *k = t ? t->kit() : ProjectExplorer::KitManager::instance()->defaultKit(); + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k); if (t) { if (Qt4BuildConfiguration *bc = qobject_cast(t->activeBuildConfiguration())) @@ -620,7 +620,7 @@ void Qt4Project::updateQmlJSCodeModel() if (projectInfo.tryQmlDump) { QtSupport::QmlDumpTool::pathAndEnvironment(this, qtVersion, - ToolChainProfileInformation::toolChain(p), + ToolChainKitInformation::toolChain(k), preferDebugDump, &projectInfo.qmlDumpPath, &projectInfo.qmlDumpEnvironment); } else { @@ -864,9 +864,9 @@ Qt4Manager *Qt4Project::qt4ProjectManager() const return m_manager; } -bool Qt4Project::supportsProfile(Profile *p) const +bool Qt4Project::supportsKit(Kit *p) const { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(p); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(p); return version; } @@ -939,14 +939,14 @@ QtSupport::ProFileReader *Qt4Project::createProFileReader(Qt4ProFileNode *qt4Pro m_qmakeGlobals = new QMakeGlobals; m_qmakeGlobalsRefCnt = 0; - Profile *p; + Kit *k; Utils::Environment env = Utils::Environment::systemEnvironment(); QStringList qmakeArgs; if (!bc) bc = activeTarget() ? static_cast(activeTarget()->activeBuildConfiguration()) : 0; if (bc) { - p = bc->target()->profile(); + k = bc->target()->kit(); env = bc->environment(); if (bc->qmakeStep()) { qmakeArgs = bc->qmakeStep()->parserArguments(); @@ -955,12 +955,12 @@ QtSupport::ProFileReader *Qt4Project::createProFileReader(Qt4ProFileNode *qt4Pro qmakeArgs = bc->configCommandLineArguments(); } } else { - p = ProfileManager::instance()->defaultProfile(); + k = KitManager::instance()->defaultKit(); } - QtSupport::BaseQtVersion *qtVersion = QtSupport::QtProfileInformation::qtVersion(p); - QString systemRoot = SysRootProfileInformation::hasSysRoot(p) - ? SysRootProfileInformation::sysRoot(p).toString() : QString(); + QtSupport::BaseQtVersion *qtVersion = QtSupport::QtKitInformation::qtVersion(k); + QString systemRoot = SysRootKitInformation::hasSysRoot(k) + ? SysRootKitInformation::sysRoot(k).toString() : QString(); if (qtVersion && qtVersion->isValid()) { m_qmakeGlobals->qmake_abslocation = QDir::cleanPath(qtVersion->qmakeCommand().toString()); @@ -1049,7 +1049,6 @@ void Qt4Project::collectAllfProFiles(QList &list, Qt4ProFileNo } } - void Qt4Project::collectApplicationProFiles(QList &list, Qt4ProFileNode *node) { if (node->projectType() == ApplicationTemplate @@ -1351,19 +1350,19 @@ bool Qt4Project::needsConfiguration() const void Qt4Project::configureAsExampleProject(const QStringList &platforms) { - QList profiles = ProjectExplorer::ProfileManager::instance()->profiles(); - foreach (Profile *p, profiles) { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(p); + QList kits = ProjectExplorer::KitManager::instance()->kits(); + foreach (Kit *k, kits) { + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(k); if (!version) continue; if (!platforms.isEmpty() && !platforms.contains(version->platformName())) continue; QList infoList - = Qt4BuildConfigurationFactory::availableBuildConfigurations(p, document()->fileName()); + = Qt4BuildConfigurationFactory::availableBuildConfigurations(k, document()->fileName()); if (infoList.isEmpty()) continue; - addTarget(createTarget(p, infoList)); + addTarget(createTarget(k, infoList)); } ProjectExplorer::ProjectExplorerPlugin::instance()->requestProjectModeUpdate(this); } @@ -1388,13 +1387,13 @@ QString Qt4Project::disabledReasonForRunConfiguration(const QString &proFilePath .arg(QFileInfo(proFilePath).fileName()); } -QString Qt4Project::shadowBuildDirectory(const QString &profilePath, const Profile *p, const QString &suffix) +QString Qt4Project::shadowBuildDirectory(const QString &profilePath, const Kit *p, const QString &suffix) { if (profilePath.isEmpty()) return QString(); QFileInfo info(profilePath); - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(p); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(p); if (version && !version->supportsShadowBuilds()) return info.absolutePath(); @@ -1403,14 +1402,14 @@ QString Qt4Project::shadowBuildDirectory(const QString &profilePath, const Profi return base + buildNameFor(p) + QLatin1String("-") + sanitize(suffix); } -QString Qt4Project::buildNameFor(const Profile *p) +QString Qt4Project::buildNameFor(const Kit *p) { if (!p) return QLatin1String("unknown"); return QString::fromLatin1(p->id().name()).mid(31, 6); // part of the UUID, should be pretty unique;-) } -Target *Qt4Project::createTarget(Profile *p, const QList &infoList) +Target *Qt4Project::createTarget(Kit *p, const QList &infoList) { if (target(p)) return 0; @@ -1492,9 +1491,9 @@ void Qt4Project::collectLibraryData(const Qt4ProFileNode *node, DeploymentData & const QString targetPath = node->installsList().targetPath; if (targetPath.isEmpty()) return; - const ProjectExplorer::Profile * const profile = activeTarget()->profile(); + const ProjectExplorer::Kit * const kit = activeTarget()->kit(); const ProjectExplorer::ToolChain * const toolchain - = ProjectExplorer::ToolChainProfileInformation::toolChain(profile); + = ProjectExplorer::ToolChainKitInformation::toolChain(kit); if (!toolchain) return; diff --git a/src/plugins/qt4projectmanager/qt4project.h b/src/plugins/qt4projectmanager/qt4project.h index 58e0287c5d5..f711ad2cf69 100644 --- a/src/plugins/qt4projectmanager/qt4project.h +++ b/src/plugins/qt4projectmanager/qt4project.h @@ -83,7 +83,7 @@ public: ProjectExplorer::IProjectManager *projectManager() const; Qt4Manager *qt4ProjectManager() const; - bool supportsProfile(ProjectExplorer::Profile *p) const; + bool supportsKit(ProjectExplorer::Kit *p) const; ProjectExplorer::ProjectNode *rootProjectNode() const; Qt4ProFileNode *rootQt4ProjectNode() const; @@ -133,17 +133,17 @@ public: QString disabledReasonForRunConfiguration(const QString &proFilePath); /// suffix should be unique - static QString shadowBuildDirectory(const QString &profilePath, const ProjectExplorer::Profile *p, + static QString shadowBuildDirectory(const QString &profilePath, const ProjectExplorer::Kit *p, const QString &suffix); /// used by the default implementation of shadowBuildDirectory - static QString buildNameFor(const ProjectExplorer::Profile *p); + static QString buildNameFor(const ProjectExplorer::Kit *p); - ProjectExplorer::Target *createTarget(ProjectExplorer::Profile *p, const QList &infoList); + ProjectExplorer::Target *createTarget(ProjectExplorer::Kit *p, const QList &infoList); void emitBuildDirectoryInitialized(); signals: - void proFileUpdated(Qt4ProjectManager::Qt4ProFileNode *node, bool, bool); + void kitUpdated(Qt4ProjectManager::Qt4ProFileNode *node, bool, bool); void buildDirectoryInitialized(); void proFilesEvaluated(); diff --git a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp index 105ec378e27..2aba04b96f7 100644 --- a/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp +++ b/src/plugins/qt4projectmanager/qt4projectconfigwidget.cpp @@ -48,7 +48,7 @@ #include #include #include -#include +#include #include #include #include @@ -205,10 +205,10 @@ void Qt4ProjectConfigWidget::updateProblemLabel() bool incompatibleBuild = false; bool allGood = false; - ProjectExplorer::Profile *p = m_buildConfiguration->target()->profile(); + ProjectExplorer::Kit *p = m_buildConfiguration->target()->kit(); const QString proFileName = m_buildConfiguration->target()->project()->document()->fileName(); - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(p); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(p); if (!version) { m_ui->problemLabel->setVisible(true); m_ui->warningLabel->setVisible(true); diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.cpp b/src/plugins/qt4projectmanager/qt4projectmanager.cpp index f45500f8e31..c428be4e497 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.cpp +++ b/src/plugins/qt4projectmanager/qt4projectmanager.cpp @@ -56,7 +56,7 @@ #include #include #include -#include +#include #include #include @@ -200,9 +200,9 @@ void Qt4Manager::updateVariable(const QByteArray &variable) QString value; const QtSupport::BaseQtVersion *qtv = 0; if (ProjectExplorer::Target *t = qt4pro->activeTarget()) - qtv = QtSupport::QtProfileInformation::qtVersion(t->profile()); + qtv = QtSupport::QtKitInformation::qtVersion(t->kit()); else - qtv = QtSupport::QtProfileInformation::qtVersion(ProjectExplorer::ProfileManager::instance()->defaultProfile()); + qtv = QtSupport::QtKitInformation::qtVersion(ProjectExplorer::KitManager::instance()->defaultKit()); if (qtv) value = qtv->qmakeProperty(variable == kHostBins ? "QT_HOST_BINS" : "QT_INSTALL_BINS"); diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.pro b/src/plugins/qt4projectmanager/qt4projectmanager.pro index f0406b0ad63..ae1b4ff64df 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.pro +++ b/src/plugins/qt4projectmanager/qt4projectmanager.pro @@ -6,8 +6,8 @@ include(../../qtcreatorplugin.pri) include(qt4projectmanager_dependencies.pri) HEADERS += \ - qmakeprofileinformation.h \ - qmakeprofileconfigwidget.h \ + qmakekitinformation.h \ + qmakekitconfigwidget.h \ qmakerunconfigurationfactory.h \ qt4projectmanagerplugin.h \ qt4projectmanager.h \ @@ -72,8 +72,8 @@ HEADERS += \ unconfiguredprojectpanel.h SOURCES += \ - qmakeprofileconfigwidget.cpp \ - qmakeprofileinformation.cpp \ + qmakekitconfigwidget.cpp \ + qmakekitinformation.cpp \ qmakerunconfigurationfactory.cpp \ qt4projectmanagerplugin.cpp \ qt4projectmanager.cpp \ diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp index f59247e3c83..c01b2c8df1c 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp +++ b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.cpp @@ -57,7 +57,7 @@ #include "qt-desktop/simulatorqtversionfactory.h" #include "winceqtversionfactory.h" #include "unconfiguredprojectpanel.h" -#include "qmakeprofileinformation.h" +#include "qmakekitinformation.h" #include #include @@ -65,7 +65,7 @@ #include #include #include -#include +#include #include #include #include @@ -130,7 +130,7 @@ bool Qt4ProjectManagerPlugin::initialize(const QStringList &arguments, QString * m_proFileEditorFactory = new ProFileEditorFactory(m_qt4ProjectManager, editorHandler); - ProjectExplorer::ProfileManager::instance()->registerProfileInformation(new QmakeProfileInformation); + ProjectExplorer::KitManager::instance()->registerKitInformation(new QmakeKitInformation); addObject(m_proFileEditorFactory); diff --git a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h index 478566c69f0..33c667dcd96 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h +++ b/src/plugins/qt4projectmanager/qt4projectmanagerplugin.h @@ -42,7 +42,7 @@ namespace ProjectExplorer { class Node; class Project; class ProjectExplorerPlugin; -class ProfileInformation; +class KitInformation; class Target; } namespace Utils { class ParameterAction; } diff --git a/src/plugins/qt4projectmanager/qt4targetsetupwidget.cpp b/src/plugins/qt4projectmanager/qt4targetsetupwidget.cpp index 0a66a9258d8..0b23a0a20d4 100644 --- a/src/plugins/qt4projectmanager/qt4targetsetupwidget.cpp +++ b/src/plugins/qt4projectmanager/qt4targetsetupwidget.cpp @@ -35,10 +35,10 @@ #include #include -#include +#include #include -#include -#include +#include +#include #include #include @@ -56,15 +56,15 @@ namespace Qt4ProjectManager { // Qt4TargetSetupWidget // ------------------------------------------------------------------------- -Qt4TargetSetupWidget::Qt4TargetSetupWidget(ProjectExplorer::Profile *p, +Qt4TargetSetupWidget::Qt4TargetSetupWidget(ProjectExplorer::Kit *p, const QString &proFilePath, const QList &infoList) : - m_profile(p), + m_kit(p), m_haveImported(false), m_ignoreChange(false), m_selected(0) { - Q_ASSERT(m_profile); + Q_ASSERT(m_kit); setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); QVBoxLayout *vboxLayout = new QVBoxLayout(); @@ -74,7 +74,7 @@ Qt4TargetSetupWidget::Qt4TargetSetupWidget(ProjectExplorer::Profile *p, m_detailsWidget->setUseCheckBox(true); m_detailsWidget->setChecked(false); m_detailsWidget->setSummaryFontBold(true); - m_detailsWidget->setToolTip(m_profile->toHtml()); + m_detailsWidget->setToolTip(m_kit->toHtml()); vboxLayout->addWidget(m_detailsWidget); Utils::FadingWidget *panel = new Utils::FadingWidget(m_detailsWidget); @@ -83,7 +83,7 @@ Qt4TargetSetupWidget::Qt4TargetSetupWidget(ProjectExplorer::Profile *p, panelLayout->addWidget(m_manageButton); m_detailsWidget->setToolWidget(panel); - handleProfileUpdate(m_profile); + handleKitUpdate(m_kit); QWidget *widget = new QWidget; QVBoxLayout *layout = new QVBoxLayout; @@ -110,26 +110,26 @@ Qt4TargetSetupWidget::Qt4TargetSetupWidget(ProjectExplorer::Profile *p, connect(m_detailsWidget, SIGNAL(checked(bool)), this, SLOT(targetCheckBoxToggled(bool))); - connect(ProjectExplorer::ProfileManager::instance(), SIGNAL(profileUpdated(ProjectExplorer::Profile*)), - this, SLOT(handleProfileUpdate(ProjectExplorer::Profile*))); + connect(ProjectExplorer::KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)), + this, SLOT(handleKitUpdate(ProjectExplorer::Kit*))); - connect(m_manageButton, SIGNAL(clicked()), this, SLOT(manageProfile())); + connect(m_manageButton, SIGNAL(clicked()), this, SLOT(manageKit())); } Qt4TargetSetupWidget::~Qt4TargetSetupWidget() { } -ProjectExplorer::Profile *Qt4TargetSetupWidget::profile() +ProjectExplorer::Kit *Qt4TargetSetupWidget::profile() { - return m_profile; + return m_kit; } void Qt4TargetSetupWidget::clearProfile() { - m_profile = 0; + m_kit = 0; } -bool Qt4TargetSetupWidget::isTargetSelected() const +bool Qt4TargetSetupWidget::isKitSelected() const { if (!m_detailsWidget->isChecked()) return false; @@ -137,7 +137,7 @@ bool Qt4TargetSetupWidget::isTargetSelected() const return !selectedBuildConfigurationInfoList().isEmpty(); } -void Qt4TargetSetupWidget::setTargetSelected(bool b) +void Qt4TargetSetupWidget::setKitSelected(bool b) { // Only check target if there are build configurations possible b &= !selectedBuildConfigurationInfoList().isEmpty(); @@ -178,7 +178,7 @@ void Qt4TargetSetupWidget::addBuildConfigurationInfo(const BuildConfigurationInf Utils::PathChooser *pathChooser = new Utils::PathChooser(); pathChooser->setExpectedKind(Utils::PathChooser::Directory); pathChooser->setPath(info.directory); - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(m_profile); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(m_kit); if (!version) return; pathChooser->setReadOnly(!version->supportsShadowBuilds() || importing); @@ -221,39 +221,39 @@ void Qt4TargetSetupWidget::targetCheckBoxToggled(bool b) emit selectedToggled(); } -void Qt4TargetSetupWidget::manageProfile() +void Qt4TargetSetupWidget::manageKit() { - ProjectExplorer::ProfileOptionsPage *page = - ExtensionSystem::PluginManager::instance()->getObject(); - if (!page || !m_profile) + ProjectExplorer::KitOptionsPage *page = + ExtensionSystem::PluginManager::instance()->getObject(); + if (!page || !m_kit) return; - page->showProfile(m_profile); + page->showKit(m_kit); Core::ICore::showOptionsDialog(QLatin1String(ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY), - QLatin1String(ProjectExplorer::Constants::PROFILE_SETTINGS_PAGE_ID)); + QLatin1String(ProjectExplorer::Constants::KITS_SETTINGS_PAGE_ID)); } void Qt4TargetSetupWidget::setProFilePath(const QString &proFilePath) { - if (!m_profile) + if (!m_kit) return; m_proFilePath = proFilePath; clear(); QList infoList - = Qt4BuildConfigurationFactory::availableBuildConfigurations(m_profile, proFilePath); + = Qt4BuildConfigurationFactory::availableBuildConfigurations(m_kit, proFilePath); foreach (const BuildConfigurationInfo &info, infoList) addBuildConfigurationInfo(info); } -void Qt4TargetSetupWidget::handleProfileUpdate(ProjectExplorer::Profile *p) +void Qt4TargetSetupWidget::handleKitUpdate(ProjectExplorer::Kit *k) { - if (p != m_profile) + if (k != m_kit) return; - m_detailsWidget->setIcon(p->icon()); - m_detailsWidget->setSummaryText(p->displayName()); + m_detailsWidget->setIcon(k->icon()); + m_detailsWidget->setSummaryText(k->displayName()); } QList Qt4TargetSetupWidget::selectedBuildConfigurationInfoList() const @@ -337,7 +337,7 @@ QPair Qt4TargetSetupWidget::findIssues return qMakePair(ProjectExplorer::Task::Unknown, QString()); QString buildDir = info.directory; - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(m_profile); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(m_kit); if (!version) return qMakePair(ProjectExplorer::Task::Unknown, QString()); diff --git a/src/plugins/qt4projectmanager/qt4targetsetupwidget.h b/src/plugins/qt4projectmanager/qt4targetsetupwidget.h index c9aec8642fd..de82a1d1f14 100644 --- a/src/plugins/qt4projectmanager/qt4targetsetupwidget.h +++ b/src/plugins/qt4projectmanager/qt4targetsetupwidget.h @@ -46,7 +46,7 @@ class QPushButton; class QSpacerItem; QT_END_NAMESPACE -namespace ProjectExplorer { class Profile; } +namespace ProjectExplorer { class Kit; } namespace QtSupport { class BaseQtVersion; } // namespace QtSupport @@ -62,16 +62,16 @@ class QT4PROJECTMANAGER_EXPORT Qt4TargetSetupWidget : public QWidget { Q_OBJECT public: - Qt4TargetSetupWidget(ProjectExplorer::Profile *p, + Qt4TargetSetupWidget(ProjectExplorer::Kit *p, const QString &proFilePath, const QList &infoList); ~Qt4TargetSetupWidget(); - ProjectExplorer::Profile *profile(); + ProjectExplorer::Kit *profile(); void clearProfile(); - bool isTargetSelected() const; - void setTargetSelected(bool b); + bool isKitSelected() const; + void setKitSelected(bool b); void addBuildConfigurationInfo(const BuildConfigurationInfo &info, bool importing = false); @@ -83,19 +83,19 @@ signals: void selectedToggled() const; private slots: - void handleProfileUpdate(ProjectExplorer::Profile *p); + void handleKitUpdate(ProjectExplorer::Kit *k); void checkBoxToggled(bool b); void pathChanged(); void targetCheckBoxToggled(bool b); - void manageProfile(); + void manageKit(); private: void reportIssues(int index); QPair findIssues(const BuildConfigurationInfo &info); void clear(); - ProjectExplorer::Profile *m_profile; + ProjectExplorer::Kit *m_kit; QString m_proFilePath; bool m_haveImported; Utils::DetailsWidget *m_detailsWidget; diff --git a/src/plugins/qt4projectmanager/qtuicodemodelsupport.cpp b/src/plugins/qt4projectmanager/qtuicodemodelsupport.cpp index 1786240f9d8..382b8766f3f 100644 --- a/src/plugins/qt4projectmanager/qtuicodemodelsupport.cpp +++ b/src/plugins/qt4projectmanager/qtuicodemodelsupport.cpp @@ -35,7 +35,7 @@ #include "qt4projectmanager.h" #include #include -#include +#include using namespace Qt4ProjectManager; using namespace Internal; @@ -55,10 +55,10 @@ QString Qt4UiCodeModelSupport::uicCommand() const { QtSupport::BaseQtVersion *version; if (m_project->needsConfiguration()) { - version = QtSupport::QtProfileInformation::qtVersion(ProjectExplorer::ProfileManager::instance()->defaultProfile()); + version = QtSupport::QtKitInformation::qtVersion(ProjectExplorer::KitManager::instance()->defaultKit()); } else { ProjectExplorer::Target *target = m_project->activeTarget(); - version = QtSupport::QtProfileInformation::qtVersion(target->profile()); + version = QtSupport::QtKitInformation::qtVersion(target->kit()); } return version ? version->uicCommand() : QString(); } diff --git a/src/plugins/qt4projectmanager/unconfiguredprojectpanel.cpp b/src/plugins/qt4projectmanager/unconfiguredprojectpanel.cpp index 6725cd3bcee..7d7de373720 100644 --- a/src/plugins/qt4projectmanager/unconfiguredprojectpanel.cpp +++ b/src/plugins/qt4projectmanager/unconfiguredprojectpanel.cpp @@ -40,8 +40,8 @@ #include #include -#include -#include +#include +#include #include #include @@ -130,44 +130,44 @@ TargetSetupPageWrapper::TargetSetupPageWrapper(ProjectExplorer::Project *project this, SLOT(noteTextLinkActivated())); connect(m_targetSetupPage, SIGNAL(completeChanged()), this, SLOT(completeChanged())); - connect(ProjectExplorer::ProfileManager::instance(), SIGNAL(defaultProfileChanged()), + connect(ProjectExplorer::KitManager::instance(), SIGNAL(defaultkitChanged()), this, SLOT(updateNoteText())); - connect(ProjectExplorer::ProfileManager::instance(), SIGNAL(profileUpdated(ProjectExplorer::Profile*)), - this, SLOT(profileUpdated(ProjectExplorer::Profile*))); + connect(ProjectExplorer::KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)), + this, SLOT(kitUpdated(ProjectExplorer::Kit*))); } -void TargetSetupPageWrapper::profileUpdated(ProjectExplorer::Profile *profile) +void TargetSetupPageWrapper::kitUpdated(ProjectExplorer::Kit *k) { - if (profile == ProjectExplorer::ProfileManager::instance()->defaultProfile()) + if (k == ProjectExplorer::KitManager::instance()->defaultKit()) updateNoteText(); } void TargetSetupPageWrapper::updateNoteText() { - ProjectExplorer::Profile *p = ProjectExplorer::ProfileManager::instance()->defaultProfile(); + ProjectExplorer::Kit *k = ProjectExplorer::KitManager::instance()->defaultKit(); QString text; - if (!p) + if (!k) text = tr("

The project %1 is not yet configured.

" "

Qt Creator cannot parse the project, because no target " "has been set up. You can set up targets " "in the options.

") .arg(m_project->displayName()); - else if (p->isValid()) + else if (k->isValid()) text = tr("

The project %1 is not yet configured.

" "

Qt Creator uses the target %2 " "to parse the project. You can edit " "targets in the options.

") .arg(m_project->displayName()) - .arg(p->displayName()); + .arg(k->displayName()); else text = tr("

The project %1 is not yet configured.

" "

Qt Creator uses the invalid target %2 " "to parse the project. You can edit " "targets in the options

") .arg(m_project->displayName()) - .arg(p->displayName()); + .arg(k->displayName()); m_targetSetupPage->setNoteText(text); @@ -198,7 +198,7 @@ void TargetSetupPageWrapper::done() void TargetSetupPageWrapper::noteTextLinkActivated() { Core::ICore::instance()->showOptionsDialog(QLatin1String(ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY), - QLatin1String(ProjectExplorer::Constants::PROFILE_SETTINGS_PAGE_ID)); + QLatin1String(ProjectExplorer::Constants::KITS_SETTINGS_PAGE_ID)); } void TargetSetupPageWrapper::completeChanged() diff --git a/src/plugins/qt4projectmanager/unconfiguredprojectpanel.h b/src/plugins/qt4projectmanager/unconfiguredprojectpanel.h index 4b2b68d385e..dd6e1cbe711 100644 --- a/src/plugins/qt4projectmanager/unconfiguredprojectpanel.h +++ b/src/plugins/qt4projectmanager/unconfiguredprojectpanel.h @@ -37,7 +37,7 @@ QT_FORWARD_DECLARE_CLASS(QPushButton) -namespace ProjectExplorer { class Profile; } +namespace ProjectExplorer { class Kit; } namespace Qt4ProjectManager { class TargetSetupPage; @@ -68,7 +68,7 @@ protected: private slots: void done(); void noteTextLinkActivated(); - void profileUpdated(ProjectExplorer::Profile *profile); + void kitUpdated(ProjectExplorer::Kit *k); void updateNoteText(); void completeChanged(); diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp index 252102136b4..98a92901528 100644 --- a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp @@ -39,7 +39,7 @@ #include #include #include -#include +#include #include #include #include @@ -64,14 +64,14 @@ AbstractMobileAppWizardDialog::AbstractMobileAppWizardDialog(QWidget *parent, , m_genericItem(0) , m_maemoItem(0) , m_harmattanItem(0) - , m_profileIds(parameters.extraValues().value(ProjectExplorer::Constants::PROJECT_PROFILE_IDS).value >()) + , m_kitIds(parameters.extraValues().value(ProjectExplorer::Constants::PROJECT_PROFILE_IDS).value >()) { if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_PROFILE_IDS)) { m_targetsPage = new TargetSetupPage; - m_targetsPage->setPreferredProfileMatcher(new QtSupport::QtPlatformProfileMatcher(selectedPlatform())); - m_targetsPage->setRequiredProfileMatcher(new QtSupport::QtVersionProfileMatcher(requiredFeatures(), - minimumQtVersionNumber, - maximumQtVersionNumber)); + m_targetsPage->setPreferredKitMatcher(new QtSupport::QtPlatformKitMatcher(selectedPlatform())); + m_targetsPage->setRequiredKitMatcher(new QtSupport::QtVersionKitMatcher(requiredFeatures(), + minimumQtVersionNumber, + maximumQtVersionNumber)); resize(900, 450); } @@ -204,23 +204,23 @@ Utils::WizardProgressItem *AbstractMobileAppWizardDialog::itemOfNextGenericPage( bool AbstractMobileAppWizardDialog::isQtPlatformSelected(const QString &platform) const { - QList selectedProfileList = selectedProfiles(); + QList selectedKitsList = selectedKits(); - QtSupport::QtPlatformProfileMatcher matcher(platform); - QList allProfileList - = ProjectExplorer::ProfileManager::instance()->profiles(&matcher); - foreach (ProjectExplorer::Profile *p, allProfileList) { - if (selectedProfileList.contains(p->id())) + QtSupport::QtPlatformKitMatcher matcher(platform); + QList kitsList + = ProjectExplorer::KitManager::instance()->kits(&matcher); + foreach (ProjectExplorer::Kit *p, kitsList) { + if (selectedKitsList.contains(p->id())) return true; } return false; } -QList AbstractMobileAppWizardDialog::selectedProfiles() const +QList AbstractMobileAppWizardDialog::selectedKits() const { if (m_targetsPage) - return m_targetsPage->selectedProfiles(); - return m_profileIds; + return m_targetsPage->selectedKits(); + return m_kitIds; } diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.h b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.h index 75c76676084..1a5cf5783d0 100644 --- a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.h +++ b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.h @@ -74,7 +74,7 @@ private: int idOfNextGenericPage() const; Utils::WizardProgressItem *itemOfNextGenericPage() const; bool isQtPlatformSelected(const QString &platform) const; - QList selectedProfiles() const; + QList selectedKits() const; Internal::MobileAppWizardGenericOptionsPage *m_genericOptionsPage; Internal::MobileAppWizardMaemoOptionsPage *m_maemoOptionsPage; @@ -90,7 +90,7 @@ private: Utils::WizardProgressItem *m_genericItem; Utils::WizardProgressItem *m_maemoItem; Utils::WizardProgressItem *m_harmattanItem; - QList m_profileIds; + QList m_kitIds; friend class AbstractMobileAppWizard; }; diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp index 9f47c95eaa1..82bc890f458 100644 --- a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp @@ -41,10 +41,10 @@ #include -#include +#include #include #include -#include +#include #include #include @@ -247,11 +247,11 @@ int BaseQt4ProjectWizardDialog::addTargetSetupPage(bool mobile, int id) Core::FeatureSet features = mobile ? Core::FeatureSet(QtSupport::Constants::FEATURE_MOBILE) : Core::FeatureSet(QtSupport::Constants::FEATURE_DESKTOP); if (platform.isEmpty()) - m_targetSetupPage->setPreferredProfileMatcher(new QtSupport::QtVersionProfileMatcher(features)); + m_targetSetupPage->setPreferredKitMatcher(new QtSupport::QtVersionKitMatcher(features)); else - m_targetSetupPage->setPreferredProfileMatcher(new QtSupport::QtPlatformProfileMatcher(platform)); + m_targetSetupPage->setPreferredKitMatcher(new QtSupport::QtPlatformKitMatcher(platform)); - m_targetSetupPage->setRequiredProfileMatcher(new QtSupport::QtVersionProfileMatcher(requiredFeatures())); + m_targetSetupPage->setRequiredKitMatcher(new QtSupport::QtVersionKitMatcher(requiredFeatures())); resize(900, 450); if (id >= 0) @@ -322,23 +322,23 @@ bool BaseQt4ProjectWizardDialog::setupProject(Qt4Project *project) const bool BaseQt4ProjectWizardDialog::isQtPlatformSelected(const QString &platform) const { - QList selectedProfileList = selectedProfiles(); + QList selectedKitList = selectedKits(); - QtSupport::QtPlatformProfileMatcher matcher(platform); - QList allProfileList - = ProjectExplorer::ProfileManager::instance()->profiles(&matcher); - foreach (ProjectExplorer::Profile *p, allProfileList) { - if (selectedProfileList.contains(p->id())) + QtSupport::QtPlatformKitMatcher matcher(platform); + QList kitList + = ProjectExplorer::KitManager::instance()->kits(&matcher); + foreach (ProjectExplorer::Kit *p, kitList) { + if (selectedKitList.contains(p->id())) return true; } return false; } -QList BaseQt4ProjectWizardDialog::selectedProfiles() const +QList BaseQt4ProjectWizardDialog::selectedKits() const { if (!m_targetSetupPage) return m_profileIds; - return m_targetSetupPage->selectedProfiles(); + return m_targetSetupPage->selectedKits(); } void BaseQt4ProjectWizardDialog::addExtensionPages(const QList &wizardPageList) diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.h b/src/plugins/qt4projectmanager/wizards/qtwizard.h index ce477ac7e92..6b10426271e 100644 --- a/src/plugins/qt4projectmanager/wizards/qtwizard.h +++ b/src/plugins/qt4projectmanager/wizards/qtwizard.h @@ -39,7 +39,7 @@ #include -namespace ProjectExplorer { class Profile; } +namespace ProjectExplorer { class Kit; } namespace Qt4ProjectManager { @@ -141,7 +141,7 @@ public: bool writeUserFile(const QString &proFileName) const; bool setupProject(Qt4Project *project) const; bool isQtPlatformSelected(const QString &platform) const; - QList selectedProfiles() const; + QList selectedKits() const; void addExtensionPages(const QList &wizardPageList); diff --git a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp index cc4d9e78086..cc59f94940c 100644 --- a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp @@ -86,7 +86,7 @@ bool SubdirsProjectWizard::postGenerateFiles(const QWizard *w, const Core::Gener const QString profileName = Core::BaseFileWizard::buildFileName(projectPath, params.fileName, profileSuffix()); QVariantMap map; map.insert(QLatin1String(ProjectExplorer::Constants::PREFERED_PROJECT_NODE), profileName); - map.insert(QLatin1String(ProjectExplorer::Constants::PROJECT_PROFILE_IDS), QVariant::fromValue(wizard->selectedProfiles())); + map.insert(QLatin1String(ProjectExplorer::Constants::PROJECT_PROFILE_IDS), QVariant::fromValue(wizard->selectedKits())); Core::ICore::showNewItemDialog(tr("New Subproject", "Title of dialog"), Core::IWizard::wizardsOfKind(Core::IWizard::ProjectWizard), wizard->parameters().projectPath(), diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp index 9c4483c4491..f71acbb703c 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp @@ -35,13 +35,13 @@ #include "qt4buildconfiguration.h" #include "qt4project.h" #include "qt4projectmanagerconstants.h" -#include "qmakeprofileinformation.h" +#include "qmakekitinformation.h" #include #include #include #include -#include +#include #include #include #include @@ -85,15 +85,15 @@ public: #ifdef Q_OS_MAC QString hint = TargetSetupPage::tr( "

" - "No valid targets found.

" - "

Please add a target in " + "No valid kits found.

" + "

Please add a kit in " "Qt Creator > Preferences > Build & Run" " or via the maintenance tool of the SDK.

"); #else QString hint = TargetSetupPage::tr( "

" - "No valid targets found.

" - "

Please add a target in " + "No valid kits found.

" + "

Please add a kit in " "Tools > Options > Build & Run" " or via the maintenance tool of the SDK.

"); #endif @@ -178,13 +178,13 @@ TargetSetupPage::TargetSetupPage(QWidget *parent) : setTitle(tr("Target Setup")); - ProjectExplorer::ProfileManager *sm = ProjectExplorer::ProfileManager::instance(); - connect(sm, SIGNAL(profileAdded(ProjectExplorer::Profile*)), - this, SLOT(handleProfileAddition(ProjectExplorer::Profile*))); - connect(sm, SIGNAL(profileRemoved(ProjectExplorer::Profile*)), - this, SLOT(handleProfileRemoval(ProjectExplorer::Profile*))); - connect(sm, SIGNAL(profileUpdated(ProjectExplorer::Profile*)), - this, SLOT(handleProfileUpdate(ProjectExplorer::Profile*))); + ProjectExplorer::KitManager *km = ProjectExplorer::KitManager::instance(); + connect(km, SIGNAL(kitAdded(ProjectExplorer::Kit*)), + this, SLOT(handleKitAddition(ProjectExplorer::Kit*))); + connect(km, SIGNAL(kitRemoved(ProjectExplorer::Kit*)), + this, SLOT(handleKitRemoval(ProjectExplorer::Kit*))); + connect(km, SIGNAL(kitUpdated(ProjectExplorer::Kit*)), + this, SLOT(handleKitUpdate(ProjectExplorer::Kit*))); connect(m_importWidget, SIGNAL(importFrom(Utils::FileName)), this, SLOT(import(Utils::FileName))); } @@ -198,12 +198,12 @@ void TargetSetupPage::initializePage() selectAtLeastOneTarget(); } -void TargetSetupPage::setRequiredProfileMatcher(ProjectExplorer::ProfileMatcher *matcher) +void TargetSetupPage::setRequiredKitMatcher(ProjectExplorer::KitMatcher *matcher) { m_requiredMatcher = matcher; } -QList TargetSetupPage::selectedProfiles() const +QList TargetSetupPage::selectedKits() const { QList result; QMap::const_iterator it, end; @@ -211,13 +211,13 @@ QList TargetSetupPage::selectedProfiles() const end = m_widgets.constEnd(); for ( ; it != end; ++it) { - if (isProfileSelected(it.key())) + if (isKitSelected(it.key())) result << it.key(); } return result; } -void TargetSetupPage::setPreferredProfileMatcher(ProjectExplorer::ProfileMatcher *matcher) +void TargetSetupPage::setPreferredKitMatcher(ProjectExplorer::KitMatcher *matcher) { m_preferredMatcher = matcher; } @@ -230,23 +230,23 @@ TargetSetupPage::~TargetSetupPage() delete m_requiredMatcher; } -bool TargetSetupPage::isProfileSelected(Core::Id id) const +bool TargetSetupPage::isKitSelected(Core::Id id) const { Qt4TargetSetupWidget *widget = m_widgets.value(id); - return widget && widget->isTargetSelected(); + return widget && widget->isKitSelected(); } -void TargetSetupPage::setProfileSelected(Core::Id id, bool selected) +void TargetSetupPage::setKitSelected(Core::Id id, bool selected) { Qt4TargetSetupWidget *widget = m_widgets.value(id); if (widget) - widget->setTargetSelected(selected); + widget->setKitSelected(selected); } bool TargetSetupPage::isComplete() const { foreach (Qt4TargetSetupWidget *widget, m_widgets.values()) - if (widget->isTargetSelected()) + if (widget->isKitSelected()) return true; return false; } @@ -260,9 +260,9 @@ void TargetSetupPage::setImportSearch(bool b) void TargetSetupPage::setupWidgets() { // Known profiles: - foreach (ProjectExplorer::Profile *p, ProjectExplorer::ProfileManager::instance()->profiles(m_requiredMatcher)) { - cleanProfile(p); // clean up broken profiles added by some development versions of QtC - addWidget(p); + foreach (ProjectExplorer::Kit *k, ProjectExplorer::KitManager::instance()->kits(m_requiredMatcher)) { + cleanProfile(k); // clean up broken profiles added by some development versions of QtC + addWidget(k); } // Setup import widget: @@ -278,7 +278,7 @@ void TargetSetupPage::setupWidgets() void TargetSetupPage::reset() { foreach (Qt4TargetSetupWidget *widget, m_widgets.values()) { - ProjectExplorer::Profile *p = widget->profile(); + ProjectExplorer::Kit *p = widget->profile(); if (!p) continue; removeProject(p, m_proFilePath); @@ -289,68 +289,68 @@ void TargetSetupPage::reset() m_firstWidget = 0; } -ProjectExplorer::Profile *TargetSetupPage::createTemporaryProfile(QtSupport::BaseQtVersion *version, - bool temporaryVersion, - const Utils::FileName &parsedSpec) +ProjectExplorer::Kit *TargetSetupPage::createTemporaryProfile(QtSupport::BaseQtVersion *version, + bool temporaryVersion, + const Utils::FileName &parsedSpec) { - ProjectExplorer::Profile *p = new ProjectExplorer::Profile; - QtSupport::QtProfileInformation::setQtVersion(p, version); - ProjectExplorer::ToolChainProfileInformation::setToolChain(p, version->preferredToolChain(parsedSpec)); - QmakeProfileInformation::setMkspec(p, parsedSpec); + ProjectExplorer::Kit *k = new ProjectExplorer::Kit; + QtSupport::QtKitInformation::setQtVersion(k, version); + ProjectExplorer::ToolChainKitInformation::setToolChain(k, version->preferredToolChain(parsedSpec)); + QmakeKitInformation::setMkspec(k, parsedSpec); - p->setDisplayName(version->displayName()); - p->setValue(PROFILE_IS_TEMPORARY, true); - p->setValue(TEMPORARY_OF_PROJECTS, QStringList() << m_proFilePath); + k->setDisplayName(version->displayName()); + k->setValue(PROFILE_IS_TEMPORARY, true); + k->setValue(TEMPORARY_OF_PROJECTS, QStringList() << m_proFilePath); if (temporaryVersion) - p->setValue(QT_IS_TEMPORARY, version->uniqueId()); + k->setValue(QT_IS_TEMPORARY, version->uniqueId()); m_ignoreUpdates = true; - ProjectExplorer::ProfileManager::instance()->registerProfile(p); + ProjectExplorer::KitManager::instance()->registerKit(k); m_ignoreUpdates = false; - return p; + return k; } -void TargetSetupPage::cleanProfile(ProjectExplorer::Profile *p) +void TargetSetupPage::cleanProfile(ProjectExplorer::Kit *k) { m_ignoreUpdates = true; - p->removeKey(PROFILE_IS_TEMPORARY); - p->removeKey(QT_IS_TEMPORARY); - p->removeKey(TEMPORARY_OF_PROJECTS); + k->removeKey(PROFILE_IS_TEMPORARY); + k->removeKey(QT_IS_TEMPORARY); + k->removeKey(TEMPORARY_OF_PROJECTS); m_ignoreUpdates = false; } -void TargetSetupPage::makeQtPersistent(ProjectExplorer::Profile *p) +void TargetSetupPage::makeQtPersistent(ProjectExplorer::Kit *k) { m_ignoreUpdates = true; - p->removeKey(QT_IS_TEMPORARY); + k->removeKey(QT_IS_TEMPORARY); m_ignoreUpdates = false; } -void TargetSetupPage::addProject(ProjectExplorer::Profile *p, const QString &path) +void TargetSetupPage::addProject(ProjectExplorer::Kit *k, const QString &path) { - if (!p->hasValue(PROFILE_IS_TEMPORARY)) + if (!k->hasValue(PROFILE_IS_TEMPORARY)) return; - QStringList profiles = p->value(TEMPORARY_OF_PROJECTS, QStringList()).toStringList(); + QStringList profiles = k->value(TEMPORARY_OF_PROJECTS, QStringList()).toStringList(); profiles.append(path); m_ignoreUpdates = true; - p->setValue(PROFILE_IS_TEMPORARY, profiles); + k->setValue(PROFILE_IS_TEMPORARY, profiles); m_ignoreUpdates = false; } -void TargetSetupPage::removeProject(ProjectExplorer::Profile *p, const QString &path) +void TargetSetupPage::removeProject(ProjectExplorer::Kit *k, const QString &path) { - if (!p->hasValue(PROFILE_IS_TEMPORARY) || path.isEmpty()) + if (!k->hasValue(PROFILE_IS_TEMPORARY) || path.isEmpty()) return; - QStringList projects = p->value(TEMPORARY_OF_PROJECTS, QStringList()).toStringList(); + QStringList projects = k->value(TEMPORARY_OF_PROJECTS, QStringList()).toStringList(); if (projects.contains(path)) { projects.removeOne(path); m_ignoreUpdates = true; - p->setValue(TEMPORARY_OF_PROJECTS, projects); + k->setValue(TEMPORARY_OF_PROJECTS, projects); if (projects.isEmpty()) - ProjectExplorer::ProfileManager::instance()->deregisterProfile(p); + ProjectExplorer::KitManager::instance()->deregisterKit(k); m_ignoreUpdates = false; } } @@ -390,10 +390,10 @@ void TargetSetupPage::import(const Utils::FileName &path, const bool silent) QtSupport::BaseQtVersion *version = 0; bool temporaryVersion = false; - ProjectExplorer::Profile *profile = 0; + ProjectExplorer::Kit *kit = 0; QtSupport::QtVersionManager *vm = QtSupport::QtVersionManager::instance(); - ProjectExplorer::ProfileManager *pm = ProjectExplorer::ProfileManager::instance(); + ProjectExplorer::KitManager *km = ProjectExplorer::KitManager::instance(); bool found = false; foreach (const QString &file, makefiles) { @@ -434,27 +434,27 @@ void TargetSetupPage::import(const Utils::FileName &path, const bool silent) Utils::QtcProcess::addArgs(&specArgument, additionalArguments); // Find profile: - foreach (ProjectExplorer::Profile *p, pm->profiles()) { - QtSupport::BaseQtVersion *profileVersion = QtSupport::QtProfileInformation::qtVersion(p); - Utils::FileName profileSpec = QmakeProfileInformation::mkspec(p); - ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(p); + foreach (ProjectExplorer::Kit *k, km->kits()) { + QtSupport::BaseQtVersion *profileVersion = QtSupport::QtKitInformation::qtVersion(k); + Utils::FileName profileSpec = QmakeKitInformation::mkspec(k); + ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(k); if (profileSpec.isEmpty() && profileVersion) profileSpec = profileVersion->mkspecFor(tc); if (profileVersion == version && profileSpec == parsedSpec) - profile = p; + kit = k; } - if (!profile) - profile = createTemporaryProfile(version, temporaryVersion, parsedSpec); + if (!kit) + kit = createTemporaryProfile(version, temporaryVersion, parsedSpec); else - addProject(profile, m_proFilePath); + addProject(kit, m_proFilePath); // Create widget: - Qt4TargetSetupWidget *widget = m_widgets.value(profile->id(), 0); + Qt4TargetSetupWidget *widget = m_widgets.value(kit->id(), 0); if (!widget) - addWidget(profile); - widget = m_widgets.value(profile->id(), 0); + addWidget(kit); + widget = m_widgets.value(kit->id(), 0); if (!widget) continue; @@ -466,7 +466,7 @@ void TargetSetupPage::import(const Utils::FileName &path, const bool silent) file); widget->addBuildConfigurationInfo(info, true); - widget->setTargetSelected(true); + widget->setKitSelected(true); found = true; } @@ -482,12 +482,12 @@ void TargetSetupPage::handleQtUpdate(const QList &add, const QList &rm { Q_UNUSED(add); // Update Profile to no longer claim a Qt version is temporary once it is modified/removed. - foreach (ProjectExplorer::Profile *p, ProjectExplorer::ProfileManager::instance()->profiles()) { - if (!p->hasValue(QT_IS_TEMPORARY)) + foreach (ProjectExplorer::Kit *k, ProjectExplorer::KitManager::instance()->kits()) { + if (!k->hasValue(QT_IS_TEMPORARY)) continue; - int qtVersion = p->value(QT_IS_TEMPORARY, -1).toInt(); + int qtVersion = k->value(QT_IS_TEMPORARY, -1).toInt(); if (rm.contains(qtVersion) || mod.contains(qtVersion)) - makeQtPersistent(p); + makeQtPersistent(k); } } @@ -499,8 +499,8 @@ void TargetSetupPage::setupImports() QString sourceDir = QFileInfo(m_proFilePath).absolutePath(); import(Utils::FileName::fromString(sourceDir), true); - QList profiles = ProjectExplorer::ProfileManager::instance()->profiles(); - foreach (ProjectExplorer::Profile *p, profiles) { + QList kitList = ProjectExplorer::KitManager::instance()->kits(); + foreach (ProjectExplorer::Kit *p, kitList) { QFileInfo fi(Qt4Project::shadowBuildDirectory(m_proFilePath, p, QString())); const QString baseDir = fi.absolutePath(); const QString prefix = fi.baseName(); @@ -512,46 +512,46 @@ void TargetSetupPage::setupImports() } } -void TargetSetupPage::handleProfileAddition(ProjectExplorer::Profile *p) +void TargetSetupPage::handleKitAddition(ProjectExplorer::Kit *k) { if (m_ignoreUpdates) return; - Q_ASSERT(!m_widgets.contains(p->id())); - addWidget(p); + Q_ASSERT(!m_widgets.contains(k->id())); + addWidget(k); updateVisibility(); } -void TargetSetupPage::handleProfileRemoval(ProjectExplorer::Profile *p) +void TargetSetupPage::handleKitRemoval(ProjectExplorer::Kit *k) { if (m_ignoreUpdates) return; QtSupport::QtVersionManager *vm = QtSupport::QtVersionManager::instance(); - QtSupport::BaseQtVersion *version = vm->version(p->value(QT_IS_TEMPORARY, -1).toInt()); + QtSupport::BaseQtVersion *version = vm->version(k->value(QT_IS_TEMPORARY, -1).toInt()); if (version) vm->removeVersion(version); - removeWidget(p); + removeWidget(k); updateVisibility(); } -void TargetSetupPage::handleProfileUpdate(ProjectExplorer::Profile *p) +void TargetSetupPage::handleKitUpdate(ProjectExplorer::Kit *k) { if (m_ignoreUpdates) return; - cleanProfile(p); - Qt4TargetSetupWidget *widget = m_widgets.value(p->id()); + cleanProfile(k); + Qt4TargetSetupWidget *widget = m_widgets.value(k->id()); bool acceptable = true; - if (m_requiredMatcher && !m_requiredMatcher->matches(p)) + if (m_requiredMatcher && !m_requiredMatcher->matches(k)) acceptable = false; if (widget && !acceptable) - removeWidget(p); + removeWidget(k); else if (!widget && acceptable) - addWidget(p); + addWidget(k); updateVisibility(); } @@ -560,7 +560,7 @@ void TargetSetupPage::selectAtLeastOneTarget() { bool atLeastOneTargetSelected = false; foreach (Qt4TargetSetupWidget *w, m_widgets.values()) { - if (w->isTargetSelected()) { + if (w->isKitSelected()) { atLeastOneTargetSelected = true; break; } @@ -568,11 +568,11 @@ void TargetSetupPage::selectAtLeastOneTarget() if (!atLeastOneTargetSelected) { Qt4TargetSetupWidget *widget = m_firstWidget; - ProjectExplorer::Profile *defaultProfile = ProjectExplorer::ProfileManager::instance()->defaultProfile(); - if (defaultProfile) - widget = m_widgets.value(defaultProfile->id(), m_firstWidget); + ProjectExplorer::Kit *defaultKit = ProjectExplorer::KitManager::instance()->defaultKit(); + if (defaultKit) + widget = m_widgets.value(defaultKit->id(), m_firstWidget); if (widget) - widget->setTargetSelected(true); + widget->setKitSelected(true); m_firstWidget = 0; } emit completeChanged(); // Is this necessary? @@ -587,32 +587,32 @@ void TargetSetupPage::updateVisibility() emit completeChanged(); } -void TargetSetupPage::removeWidget(ProjectExplorer::Profile *p) +void TargetSetupPage::removeWidget(ProjectExplorer::Kit *k) { - Qt4TargetSetupWidget *widget = m_widgets.value(p->id()); + Qt4TargetSetupWidget *widget = m_widgets.value(k->id()); if (!widget) return; if (widget == m_firstWidget) m_firstWidget = 0; widget->deleteLater(); - m_widgets.remove(p->id()); + m_widgets.remove(k->id()); } -Qt4TargetSetupWidget *TargetSetupPage::addWidget(ProjectExplorer::Profile *p) +Qt4TargetSetupWidget *TargetSetupPage::addWidget(ProjectExplorer::Kit *k) { - if (m_requiredMatcher && !m_requiredMatcher->matches(p)) + if (m_requiredMatcher && !m_requiredMatcher->matches(k)) return 0; - QList infoList = Qt4BuildConfigurationFactory::availableBuildConfigurations(p, m_proFilePath); - Qt4TargetSetupWidget *widget = infoList.isEmpty() ? 0 : new Qt4TargetSetupWidget(p, m_proFilePath, infoList); + QList infoList = Qt4BuildConfigurationFactory::availableBuildConfigurations(k, m_proFilePath); + Qt4TargetSetupWidget *widget = infoList.isEmpty() ? 0 : new Qt4TargetSetupWidget(k, m_proFilePath, infoList); if (!widget) return 0; m_baseLayout->removeWidget(m_importWidget); m_baseLayout->removeItem(m_spacer); - widget->setTargetSelected(m_preferredMatcher && m_preferredMatcher->matches(p)); - m_widgets.insert(p->id(), widget); + widget->setKitSelected(m_preferredMatcher && m_preferredMatcher->matches(k)); + m_widgets.insert(k->id(), widget); m_baseLayout->addWidget(widget); m_baseLayout->addWidget(m_importWidget); @@ -629,11 +629,11 @@ Qt4TargetSetupWidget *TargetSetupPage::addWidget(ProjectExplorer::Profile *p) struct ProfileBuildInfo { - ProfileBuildInfo(ProjectExplorer::Profile *p, const QList &il) : + ProfileBuildInfo(ProjectExplorer::Kit *p, const QList &il) : profile(p), infoList(il) { } - ProjectExplorer::Profile *profile; + ProjectExplorer::Kit *profile; QList infoList; }; @@ -641,10 +641,10 @@ bool TargetSetupPage::setupProject(Qt4ProjectManager::Qt4Project *project) { QList toRegister; foreach (Qt4TargetSetupWidget *widget, m_widgets.values()) { - if (!widget->isTargetSelected()) + if (!widget->isKitSelected()) continue; - ProjectExplorer::Profile *p = widget->profile(); + ProjectExplorer::Kit *p = widget->profile(); cleanProfile(p); toRegister.append(ProfileBuildInfo(p, widget->selectedBuildConfigurationInfoList())); widget->clearProfile(); @@ -662,7 +662,7 @@ bool TargetSetupPage::setupProject(Qt4ProjectManager::Qt4Project *project) ProjectExplorer::Target *activeTarget = 0; QList targets = project->targets(); foreach (ProjectExplorer::Target *t, targets) { - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(t->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(t->kit()); if (version && version->type() == QLatin1String(QtSupport::Constants::SIMULATORQT)) activeTarget = t; else if (!activeTarget && version && version->type() == QLatin1String(QtSupport::Constants::DESKTOPQT)) diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.h b/src/plugins/qt4projectmanager/wizards/targetsetuppage.h index a8b719e9711..add2997491c 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.h +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.h @@ -35,7 +35,7 @@ #include "../qt4targetsetupwidget.h" #include -#include +#include #include #include @@ -63,8 +63,8 @@ public: void initializePage(); // Call these before initializePage! - void setRequiredProfileMatcher(ProjectExplorer::ProfileMatcher *matcher); - void setPreferredProfileMatcher(ProjectExplorer::ProfileMatcher *matcher); + void setRequiredKitMatcher(ProjectExplorer::KitMatcher *matcher); + void setPreferredKitMatcher(ProjectExplorer::KitMatcher *matcher); void setImportSearch(bool b); /// Sets whether the targetsetupage uses a scrollarea @@ -74,9 +74,9 @@ public: bool isComplete() const; bool setupProject(Qt4ProjectManager::Qt4Project *project); - bool isProfileSelected(Core::Id id) const; - void setProfileSelected(Core::Id id, bool selected); - QList selectedProfiles() const; + bool isKitSelected(Core::Id id) const; + void setKitSelected(Core::Id id, bool selected); + QList selectedKits() const; void setProFilePath(const QString &dir); /// Overrides the summary text of the targetsetuppage @@ -87,29 +87,29 @@ signals: private slots: void import(const Utils::FileName &path); void handleQtUpdate(const QList &add, const QList &rm, const QList &mod); - void handleProfileAddition(ProjectExplorer::Profile *p); - void handleProfileRemoval(ProjectExplorer::Profile *p); - void handleProfileUpdate(ProjectExplorer::Profile *p); + void handleKitAddition(ProjectExplorer::Kit *k); + void handleKitRemoval(ProjectExplorer::Kit *k); + void handleKitUpdate(ProjectExplorer::Kit *k); void updateVisibility(); private: void selectAtLeastOneTarget(); void import(const Utils::FileName &path, const bool silent); - void removeWidget(ProjectExplorer::Profile *p); - Qt4TargetSetupWidget *addWidget(ProjectExplorer::Profile *p); + void removeWidget(ProjectExplorer::Kit *k); + Qt4TargetSetupWidget *addWidget(ProjectExplorer::Kit *k); void setupImports(); void setupWidgets(); void reset(); - ProjectExplorer::Profile *createTemporaryProfile(QtSupport::BaseQtVersion *version, bool temporaryVersion, const Utils::FileName &parsedSpec); - void cleanProfile(ProjectExplorer::Profile *p); - void makeQtPersistent(ProjectExplorer::Profile *p); - void addProject(ProjectExplorer::Profile *p, const QString &path); - void removeProject(ProjectExplorer::Profile *p, const QString &path); + ProjectExplorer::Kit *createTemporaryProfile(QtSupport::BaseQtVersion *version, bool temporaryVersion, const Utils::FileName &parsedSpec); + void cleanProfile(ProjectExplorer::Kit *k); + void makeQtPersistent(ProjectExplorer::Kit *k); + void addProject(ProjectExplorer::Kit *k, const QString &path); + void removeProject(ProjectExplorer::Kit *k, const QString &path); - ProjectExplorer::ProfileMatcher *m_requiredMatcher; - ProjectExplorer::ProfileMatcher *m_preferredMatcher; + ProjectExplorer::KitMatcher *m_requiredMatcher; + ProjectExplorer::KitMatcher *m_preferredMatcher; QLayout *m_baseLayout; bool m_importSearch; bool m_useScrollArea; diff --git a/src/plugins/qtsupport/baseqtversion.cpp b/src/plugins/qtsupport/baseqtversion.cpp index 7d01ab44c0c..3a71530e1dc 100644 --- a/src/plugins/qtsupport/baseqtversion.cpp +++ b/src/plugins/qtsupport/baseqtversion.cpp @@ -32,14 +32,14 @@ #include "qmlobservertool.h" #include "qmldumptool.h" #include "qmldebugginglibrary.h" -#include "qtprofileinformation.h" +#include "qtkitinformation.h" #include "qtversionmanager.h" #include "profilereader.h" #include #include #include -#include +#include #include #include #include @@ -294,17 +294,17 @@ bool BaseQtVersion::supportsPlatform(const QString &platform) const return platform == platformName(); } -QList BaseQtVersion::validateProfile(const ProjectExplorer::Profile *p) +QList BaseQtVersion::validateKit(const ProjectExplorer::Kit *k) { QList result; - BaseQtVersion *version = QtProfileInformation::qtVersion(p); + BaseQtVersion *version = QtKitInformation::qtVersion(k); Q_ASSERT(version == this); - ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainProfileInformation::toolChain(p); + ProjectExplorer::ToolChain *tc = ProjectExplorer::ToolChainKitInformation::toolChain(k); if (!tc) result << ProjectExplorer::Task(ProjectExplorer::Task::Error, - ProjectExplorer::ToolChainProfileInformation::msgNoToolChainInTarget(), + ProjectExplorer::ToolChainKitInformation::msgNoToolChainInTarget(), Utils::FileName(), -1, Core::Id(ProjectExplorer::Constants::TASK_CATEGORY_BUILDSYSTEM)); @@ -984,7 +984,7 @@ QString BaseQtVersion::examplesPath() const return qmakeProperty("QT_INSTALL_EXAMPLES"); } -QList BaseQtVersion::systemHeaderPathes(const ProjectExplorer::Profile *p) const +QList BaseQtVersion::systemHeaderPathes(const ProjectExplorer::Kit *p) const { Q_UNUSED(p); QList result; @@ -992,7 +992,7 @@ QList BaseQtVersion::systemHeaderPathes(const Proje return result; } -void BaseQtVersion::addToEnvironment(const ProjectExplorer::Profile *p, Utils::Environment &env) const +void BaseQtVersion::addToEnvironment(const ProjectExplorer::Kit *p, Utils::Environment &env) const { Q_UNUSED(p); env.set(QLatin1String("QTDIR"), QDir::toNativeSeparators(qmakeProperty("QT_HOST_DATA"))); diff --git a/src/plugins/qtsupport/baseqtversion.h b/src/plugins/qtsupport/baseqtversion.h index 674340c7a1b..069d5e9eb96 100644 --- a/src/plugins/qtsupport/baseqtversion.h +++ b/src/plugins/qtsupport/baseqtversion.h @@ -49,7 +49,7 @@ class Environment; namespace ProjectExplorer { class IOutputParser; -class Profile; +class Kit; class ToolChain; } // namespace ProjectExplorer @@ -131,7 +131,7 @@ public: QHash versionInfo() const; static QString qmakeProperty(const QHash &versionInfo, const QByteArray &name); QString qmakeProperty(const QByteArray &name) const; - virtual void addToEnvironment(const ProjectExplorer::Profile *p, Utils::Environment &env) const; + virtual void addToEnvironment(const ProjectExplorer::Kit *p, Utils::Environment &env) const; virtual Utils::FileName sourcePath() const; // used by QtUiCodeModelSupport @@ -153,7 +153,7 @@ public: bool hasDemos() const; QString demosPath() const; - virtual QList systemHeaderPathes(const ProjectExplorer::Profile *p) const; + virtual QList systemHeaderPathes(const ProjectExplorer::Kit *p) const; virtual QString frameworkInstallPath() const; // former local functions @@ -220,7 +220,7 @@ public: virtual QString platformDisplayName() const; virtual bool supportsPlatform(const QString &platformName) const; - virtual QList validateProfile(const ProjectExplorer::Profile *p); + virtual QList validateKit(const ProjectExplorer::Kit *k); protected: BaseQtVersion(); diff --git a/src/plugins/qtsupport/customexecutablerunconfiguration.cpp b/src/plugins/qtsupport/customexecutablerunconfiguration.cpp index 5a2c207cf3d..2de78f45a4a 100644 --- a/src/plugins/qtsupport/customexecutablerunconfiguration.cpp +++ b/src/plugins/qtsupport/customexecutablerunconfiguration.cpp @@ -410,7 +410,7 @@ CustomExecutableRunConfigurationFactory::clone(ProjectExplorer::Target *parent, bool CustomExecutableRunConfigurationFactory::canHandle(ProjectExplorer::Target *parent) const { - return parent->project()->supportsProfile(parent->profile()); + return parent->project()->supportsKit(parent->kit()); } QList CustomExecutableRunConfigurationFactory::availableCreationIds(ProjectExplorer::Target *parent) const diff --git a/src/plugins/qtsupport/qtprofileconfigwidget.cpp b/src/plugins/qtsupport/qtkitconfigwidget.cpp similarity index 75% rename from src/plugins/qtsupport/qtprofileconfigwidget.cpp rename to src/plugins/qtsupport/qtkitconfigwidget.cpp index dc96ce65927..163ef94f2b9 100644 --- a/src/plugins/qtsupport/qtprofileconfigwidget.cpp +++ b/src/plugins/qtsupport/qtkitconfigwidget.cpp @@ -28,10 +28,10 @@ ** **************************************************************************/ -#include "qtprofileconfigwidget.h" +#include "qtkitconfigwidget.h" #include "qtsupportconstants.h" -#include "qtprofileinformation.h" +#include "qtkitinformation.h" #include "qtversionmanager.h" #include @@ -46,14 +46,13 @@ namespace QtSupport { namespace Internal { -QtProfileConfigWidget::QtProfileConfigWidget(ProjectExplorer::Profile *p, - QWidget *parent) : - ProjectExplorer::ProfileConfigWidget(parent), - m_profile(p), +QtKitConfigWidget::QtKitConfigWidget(ProjectExplorer::Kit *k, QWidget *parent) : + ProjectExplorer::KitConfigWidget(parent), + m_kit(k), m_combo(new QComboBox), m_manageButton(new QPushButton(this)) { - setToolTip(tr("The Qt library to use for all projects using this target.
" + setToolTip(tr("The Qt library to use for all projects using this kit.
" "A Qt version is required for qmake-based projects and optional when using other build systems.")); QHBoxLayout *layout = new QHBoxLayout(this); layout->setMargin(0); @@ -80,46 +79,46 @@ QtProfileConfigWidget::QtProfileConfigWidget(ProjectExplorer::Profile *p, connect(mgr, SIGNAL(qtVersionsChanged(QList,QList,QList)), this, SLOT(versionsChanged(QList,QList,QList))); - connect(ProjectExplorer::ProfileManager::instance(), SIGNAL(profileUpdated(ProjectExplorer::Profile*)), - this, SLOT(profileUpdated(ProjectExplorer::Profile*))); + connect(ProjectExplorer::KitManager::instance(), SIGNAL(kitUpdated(ProjectExplorer::Kit*)), + this, SLOT(kitUpdated(ProjectExplorer::Kit*))); connect(m_manageButton, SIGNAL(clicked()), this, SLOT(manageQtVersions())); } -QString QtProfileConfigWidget::displayName() const +QString QtKitConfigWidget::displayName() const { return tr("Qt version:"); } -void QtProfileConfigWidget::makeReadOnly() +void QtKitConfigWidget::makeReadOnly() { m_combo->setEnabled(false); } -void QtProfileConfigWidget::apply() +void QtKitConfigWidget::apply() { int id = m_combo->itemData(m_combo->currentIndex()).toInt(); - QtProfileInformation::setQtVersionId(m_profile, id); + QtKitInformation::setQtVersionId(m_kit, id); } -void QtProfileConfigWidget::discard() +void QtKitConfigWidget::discard() { - m_combo->setCurrentIndex(findQtVersion(QtProfileInformation::qtVersionId(m_profile))); + m_combo->setCurrentIndex(findQtVersion(QtKitInformation::qtVersionId(m_kit))); } -bool QtProfileConfigWidget::isDirty() const +bool QtKitConfigWidget::isDirty() const { int id = m_combo->itemData(m_combo->currentIndex()).toInt(); - return id != QtProfileInformation::qtVersionId(m_profile); + return id != QtKitInformation::qtVersionId(m_kit); } -QWidget *QtProfileConfigWidget::buttonWidget() const +QWidget *QtKitConfigWidget::buttonWidget() const { return m_manageButton; } -void QtProfileConfigWidget::versionsChanged(const QList &added, const QList &removed, - const QList &changed) +void QtKitConfigWidget::versionsChanged(const QList &added, const QList &removed, + const QList &changed) { QtVersionManager *mgr = QtVersionManager::instance(); @@ -143,12 +142,12 @@ void QtProfileConfigWidget::versionsChanged(const QList &added, const QList } } -void QtProfileConfigWidget::profileUpdated(ProjectExplorer::Profile *p) +void QtKitConfigWidget::kitUpdated(ProjectExplorer::Kit *k) { - if (p != m_profile) + if (k != m_kit) return; - int id = QtProfileInformation::qtVersionId(p); + int id = QtKitInformation::qtVersionId(k); for (int i = 0; i < m_combo->count(); ++i) { if (m_combo->itemData(i).toInt() == id) { @@ -158,13 +157,13 @@ void QtProfileConfigWidget::profileUpdated(ProjectExplorer::Profile *p) } } -void QtProfileConfigWidget::manageQtVersions() +void QtKitConfigWidget::manageQtVersions() { Core::ICore::showOptionsDialog(QLatin1String(ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY), QLatin1String(QtSupport::Constants::QTVERSION_SETTINGS_PAGE_ID)); } -int QtProfileConfigWidget::findQtVersion(const int id) const +int QtKitConfigWidget::findQtVersion(const int id) const { for (int i = 0; i < m_combo->count(); ++i) { if (id == m_combo->itemData(i).toInt()) diff --git a/src/plugins/qtsupport/qtprofileconfigwidget.h b/src/plugins/qtsupport/qtkitconfigwidget.h similarity index 81% rename from src/plugins/qtsupport/qtprofileconfigwidget.h rename to src/plugins/qtsupport/qtkitconfigwidget.h index 2a0becdafe5..27b72c1b196 100644 --- a/src/plugins/qtsupport/qtprofileconfigwidget.h +++ b/src/plugins/qtsupport/qtkitconfigwidget.h @@ -28,27 +28,27 @@ ** **************************************************************************/ -#ifndef QTSUPPORT_QTPROFILECONFIGWIDGET_H -#define QTSUPPORT_QTPROFILECONFIGWIDGET_H +#ifndef QTSUPPORT_QTKITCONFIGWIDGET_H +#define QTSUPPORT_QTKITCONFIGWIDGET_H -#include +#include QT_FORWARD_DECLARE_CLASS(QComboBox) QT_FORWARD_DECLARE_CLASS(QPushButton) -namespace ProjectExplorer { class Profile; } +namespace ProjectExplorer { class Kit; } namespace QtSupport { class BaseQtVersion; namespace Internal { -class QtProfileConfigWidget : public ProjectExplorer::ProfileConfigWidget +class QtKitConfigWidget : public ProjectExplorer::KitConfigWidget { Q_OBJECT public: - explicit QtProfileConfigWidget(ProjectExplorer::Profile *p, QWidget *parent = 0); + explicit QtKitConfigWidget(ProjectExplorer::Kit *k, QWidget *parent = 0); QString displayName() const; @@ -61,13 +61,13 @@ public: private slots: void versionsChanged(const QList &added, const QList &removed, const QList &changed); - void profileUpdated(ProjectExplorer::Profile *p); + void kitUpdated(ProjectExplorer::Kit *k); void manageQtVersions(); private: int findQtVersion(const int id) const; - ProjectExplorer::Profile *m_profile; + ProjectExplorer::Kit *m_kit; QComboBox *m_combo; QPushButton *m_manageButton; }; diff --git a/src/plugins/qtsupport/qtprofileinformation.cpp b/src/plugins/qtsupport/qtkitinformation.cpp similarity index 66% rename from src/plugins/qtsupport/qtprofileinformation.cpp rename to src/plugins/qtsupport/qtkitinformation.cpp index a6d1db6b11c..c64c27b33fd 100644 --- a/src/plugins/qtsupport/qtprofileinformation.cpp +++ b/src/plugins/qtsupport/qtkitinformation.cpp @@ -28,9 +28,9 @@ ** **************************************************************************/ -#include "qtprofileinformation.h" +#include "qtkitinformation.h" -#include "qtprofileconfigwidget.h" +#include "qtkitconfigwidget.h" #include "qtversionmanager.h" #include @@ -40,25 +40,25 @@ namespace Internal { const char QT_INFORMATION[] = "QtSupport.QtInformation"; } // namespace Internal -QtProfileInformation::QtProfileInformation() +QtKitInformation::QtKitInformation() { - setObjectName(QLatin1String("QtProfileInformation")); + setObjectName(QLatin1String("QtKitInformation")); connect(QtVersionManager::instance(), SIGNAL(qtVersionsChanged(QList,QList,QList)), this, SIGNAL(validationNeeded())); } -Core::Id QtProfileInformation::dataId() const +Core::Id QtKitInformation::dataId() const { static Core::Id id = Core::Id(Internal::QT_INFORMATION); return id; } -unsigned int QtProfileInformation::priority() const +unsigned int QtKitInformation::priority() const { return 26000; } -QVariant QtProfileInformation::defaultValue(ProjectExplorer::Profile *p) const +QVariant QtKitInformation::defaultValue(ProjectExplorer::Kit *p) const { Q_UNUSED(p); QtVersionManager *mgr = QtVersionManager::instance(); @@ -79,7 +79,7 @@ QVariant QtProfileInformation::defaultValue(ProjectExplorer::Profile *p) const return -1; } -QList QtProfileInformation::validate(ProjectExplorer::Profile *p) const +QList QtKitInformation::validate(ProjectExplorer::Kit *p) const { int id = qtVersionId(p); if (id == -1) @@ -89,36 +89,35 @@ QList QtProfileInformation::validate(ProjectExplorer::Pro setQtVersionId(p, -1); return QList(); } - return version->validateProfile(p); + return version->validateKit(p); } -ProjectExplorer::ProfileConfigWidget * -QtProfileInformation::createConfigWidget(ProjectExplorer::Profile *p) const +ProjectExplorer::KitConfigWidget *QtKitInformation::createConfigWidget(ProjectExplorer::Kit *p) const { - return new Internal::QtProfileConfigWidget(p); + return new Internal::QtKitConfigWidget(p); } -QString QtProfileInformation::displayNamePostfix(const ProjectExplorer::Profile *p) const +QString QtKitInformation::displayNamePostfix(const ProjectExplorer::Kit *p) const { BaseQtVersion *version = qtVersion(p); return version ? version->displayName() : QString(); } -ProjectExplorer::ProfileInformation::ItemList -QtProfileInformation::toUserOutput(ProjectExplorer::Profile *p) const +ProjectExplorer::KitInformation::ItemList +QtKitInformation::toUserOutput(ProjectExplorer::Kit *p) const { BaseQtVersion *version = qtVersion(p); return ItemList() << qMakePair(tr("Qt version"), version ? version->displayName() : tr("None")); } -void QtProfileInformation::addToEnvironment(const ProjectExplorer::Profile *p, Utils::Environment &env) const +void QtKitInformation::addToEnvironment(const ProjectExplorer::Kit *p, Utils::Environment &env) const { BaseQtVersion *version = qtVersion(p); if (version) version->addToEnvironment(p, env); } -int QtProfileInformation::qtVersionId(const ProjectExplorer::Profile *p) +int QtKitInformation::qtVersionId(const ProjectExplorer::Kit *p) { if (!p) return -1; @@ -129,17 +128,17 @@ int QtProfileInformation::qtVersionId(const ProjectExplorer::Profile *p) return id; } -void QtProfileInformation::setQtVersionId(ProjectExplorer::Profile *p, const int id) +void QtKitInformation::setQtVersionId(ProjectExplorer::Kit *p, const int id) { p->setValue(Core::Id(Internal::QT_INFORMATION), id); } -BaseQtVersion *QtProfileInformation::qtVersion(const ProjectExplorer::Profile *p) +BaseQtVersion *QtKitInformation::qtVersion(const ProjectExplorer::Kit *p) { return QtVersionManager::instance()->version(qtVersionId(p)); } -void QtProfileInformation::setQtVersion(ProjectExplorer::Profile *p, const BaseQtVersion *v) +void QtKitInformation::setQtVersion(ProjectExplorer::Kit *p, const BaseQtVersion *v) { if (!v) setQtVersionId(p, -1); @@ -147,29 +146,29 @@ void QtProfileInformation::setQtVersion(ProjectExplorer::Profile *p, const BaseQ setQtVersionId(p, v->uniqueId()); } -QtTypeProfileMatcher::QtTypeProfileMatcher(const QString &type) : +QtTypeKitMatcher::QtTypeKitMatcher(const QString &type) : m_type(type) { } -bool QtTypeProfileMatcher::matches(const ProjectExplorer::Profile *p) const +bool QtTypeKitMatcher::matches(const ProjectExplorer::Kit *p) const { - BaseQtVersion *version = QtProfileInformation::qtVersion(p); + BaseQtVersion *version = QtKitInformation::qtVersion(p); return version && version->type() == m_type; } -QtPlatformProfileMatcher::QtPlatformProfileMatcher(const QString &platform) : +QtPlatformKitMatcher::QtPlatformKitMatcher(const QString &platform) : m_platform(platform) { } -bool QtPlatformProfileMatcher::matches(const ProjectExplorer::Profile *p) const +bool QtPlatformKitMatcher::matches(const ProjectExplorer::Kit *p) const { - BaseQtVersion *version = QtProfileInformation::qtVersion(p); + BaseQtVersion *version = QtKitInformation::qtVersion(p); return version && version->platformName() == m_platform; } -bool QtVersionProfileMatcher::matches(const ProjectExplorer::Profile *p) const +bool QtVersionKitMatcher::matches(const ProjectExplorer::Kit *p) const { - BaseQtVersion *version = QtProfileInformation::qtVersion(p); + BaseQtVersion *version = QtKitInformation::qtVersion(p); if (!version) return false; QtVersionNumber current = version->qtVersion(); diff --git a/src/plugins/qtsupport/qtprofileinformation.h b/src/plugins/qtsupport/qtkitinformation.h similarity index 52% rename from src/plugins/qtsupport/qtprofileinformation.h rename to src/plugins/qtsupport/qtkitinformation.h index 9b3c65241e8..31da6290b8e 100644 --- a/src/plugins/qtsupport/qtprofileinformation.h +++ b/src/plugins/qtsupport/qtkitinformation.h @@ -28,78 +28,78 @@ ** **************************************************************************/ -#ifndef QTSUPPORT_QTPROFILEINFORMATION_H -#define QTSUPPORT_QTPROFILEINFORMATION_H +#ifndef QTSUPPORT_QTKITINFORMATION_H +#define QTSUPPORT_QTKITINFORMATION_H #include "qtsupport_global.h" -#include +#include #include "baseqtversion.h" namespace QtSupport { -class QTSUPPORT_EXPORT QtProfileInformation : public ProjectExplorer::ProfileInformation +class QTSUPPORT_EXPORT QtKitInformation : public ProjectExplorer::KitInformation { Q_OBJECT public: - QtProfileInformation(); + QtKitInformation(); Core::Id dataId() const; unsigned int priority() const; // the higher the closer to the top. - QVariant defaultValue(ProjectExplorer::Profile *p) const; + QVariant defaultValue(ProjectExplorer::Kit *p) const; - QList validate(ProjectExplorer::Profile *p) const; + QList validate(ProjectExplorer::Kit *p) const; - ProjectExplorer::ProfileConfigWidget *createConfigWidget(ProjectExplorer::Profile *p) const; + ProjectExplorer::KitConfigWidget *createConfigWidget(ProjectExplorer::Kit *p) const; - QString displayNamePostfix(const ProjectExplorer::Profile *p) const; + QString displayNamePostfix(const ProjectExplorer::Kit *p) const; - ItemList toUserOutput(ProjectExplorer::Profile *p) const; + ItemList toUserOutput(ProjectExplorer::Kit *p) const; - void addToEnvironment(const ProjectExplorer::Profile *p, Utils::Environment &env) const; + void addToEnvironment(const ProjectExplorer::Kit *p, Utils::Environment &env) const; - static int qtVersionId(const ProjectExplorer::Profile *p); - static void setQtVersionId(ProjectExplorer::Profile *p, const int id); - static BaseQtVersion *qtVersion(const ProjectExplorer::Profile *p); - static void setQtVersion(ProjectExplorer::Profile *p, const BaseQtVersion *v); + static int qtVersionId(const ProjectExplorer::Kit *p); + static void setQtVersionId(ProjectExplorer::Kit *p, const int id); + static BaseQtVersion *qtVersion(const ProjectExplorer::Kit *p); + static void setQtVersion(ProjectExplorer::Kit *p, const BaseQtVersion *v); }; -class QTSUPPORT_EXPORT QtTypeProfileMatcher : public ProjectExplorer::ProfileMatcher +class QTSUPPORT_EXPORT QtTypeKitMatcher : public ProjectExplorer::KitMatcher { public: - QtTypeProfileMatcher(const QString &type); + QtTypeKitMatcher(const QString &type); - bool matches(const ProjectExplorer::Profile *p) const; + bool matches(const ProjectExplorer::Kit *p) const; private: QString m_type; }; -class QTSUPPORT_EXPORT QtPlatformProfileMatcher : public ProjectExplorer::ProfileMatcher +class QTSUPPORT_EXPORT QtPlatformKitMatcher : public ProjectExplorer::KitMatcher { public: - QtPlatformProfileMatcher(const QString &platform); + QtPlatformKitMatcher(const QString &platform); - bool matches(const ProjectExplorer::Profile *p) const; + bool matches(const ProjectExplorer::Kit *p) const; private: QString m_platform; }; -class QTSUPPORT_EXPORT QtVersionProfileMatcher : public ProjectExplorer::ProfileMatcher +class QTSUPPORT_EXPORT QtVersionKitMatcher : public ProjectExplorer::KitMatcher { public: - explicit QtVersionProfileMatcher(const Core::FeatureSet &required = Core::FeatureSet(), + explicit QtVersionKitMatcher(const Core::FeatureSet &required = Core::FeatureSet(), const QtVersionNumber &min = QtVersionNumber(0, 0, 0), const QtVersionNumber &max = QtVersionNumber(INT_MAX, INT_MAX, INT_MAX)) : m_min(min), m_max(max), m_features(required) { } - bool matches(const ProjectExplorer::Profile *p) const; + bool matches(const ProjectExplorer::Kit *p) const; private: QtVersionNumber m_min; @@ -109,4 +109,4 @@ private: } // namespace QtSupport -#endif // QTSUPPORT_QTPROFILEINFORMATION_H +#endif // QTSUPPORT_QTKITINFORMATION_H diff --git a/src/plugins/qtsupport/qtsupport.pro b/src/plugins/qtsupport/qtsupport.pro index 89c691211b3..efaefe144c3 100644 --- a/src/plugins/qtsupport/qtsupport.pro +++ b/src/plugins/qtsupport/qtsupport.pro @@ -18,8 +18,8 @@ include(../../shared/proparser/proparser.pri) HEADERS += \ qtsupportplugin.h \ qtsupport_global.h \ - qtprofileconfigwidget.h \ - qtprofileinformation.h \ + qtkitconfigwidget.h \ + qtkitinformation.h \ qtoutputformatter.h \ qtversionmanager.h \ qtversionfactory.h \ @@ -41,8 +41,8 @@ HEADERS += \ SOURCES += \ qtsupportplugin.cpp \ - qtprofileconfigwidget.cpp \ - qtprofileinformation.cpp \ + qtkitconfigwidget.cpp \ + qtkitinformation.cpp \ qtoutputformatter.cpp \ qtversionmanager.cpp \ qtversionfactory.cpp \ diff --git a/src/plugins/qtsupport/qtsupportplugin.cpp b/src/plugins/qtsupport/qtsupportplugin.cpp index 1a91b2227e7..01a71e8922c 100644 --- a/src/plugins/qtsupport/qtsupportplugin.cpp +++ b/src/plugins/qtsupport/qtsupportplugin.cpp @@ -32,7 +32,7 @@ #include "customexecutablerunconfiguration.h" #include "qtoptionspage.h" -#include "qtprofileinformation.h" +#include "qtkitinformation.h" #include "qtversionmanager.h" #include "profilereader.h" @@ -40,7 +40,7 @@ #include "gettingstartedwelcomepage.h" #include -#include +#include #include #include @@ -83,7 +83,7 @@ bool QtSupportPlugin::initialize(const QStringList &arguments, QString *errorMes void QtSupportPlugin::extensionsInitialized() { QtVersionManager::instance()->extensionsInitialized(); - ProjectExplorer::ProfileManager::instance()->registerProfileInformation(new QtProfileInformation); + ProjectExplorer::KitManager::instance()->registerKitInformation(new QtKitInformation); } bool QtSupportPlugin::delayedInitialize() diff --git a/src/plugins/qtsupport/qtversionmanager.cpp b/src/plugins/qtsupport/qtversionmanager.cpp index 086fbcf4013..465607e163b 100644 --- a/src/plugins/qtsupport/qtversionmanager.cpp +++ b/src/plugins/qtsupport/qtversionmanager.cpp @@ -30,7 +30,7 @@ #include "qtversionmanager.h" -#include "qtprofileinformation.h" +#include "qtkitinformation.h" #include "qtversionfactory.h" #include "qtsupportconstants.h" diff --git a/src/plugins/qtsupport/qtversionmanager.h b/src/plugins/qtsupport/qtversionmanager.h index a13b5cd8d3f..65b5ef3d1bb 100644 --- a/src/plugins/qtsupport/qtversionmanager.h +++ b/src/plugins/qtsupport/qtversionmanager.h @@ -42,7 +42,7 @@ class FileSystemWatcher; class PersistentSettingsWriter; } // namespace Utils -namespace ProjectExplorer { class ProfileInformation; } +namespace ProjectExplorer { class KitInformation; } namespace QtSupport { namespace Internal { diff --git a/src/plugins/remotelinux/abstractremotelinuxdeployservice.cpp b/src/plugins/remotelinux/abstractremotelinuxdeployservice.cpp index e0b3640f89b..3cdbac61150 100644 --- a/src/plugins/remotelinux/abstractremotelinuxdeployservice.cpp +++ b/src/plugins/remotelinux/abstractremotelinuxdeployservice.cpp @@ -34,7 +34,7 @@ #include #include -#include +#include #include #include #include @@ -84,11 +84,11 @@ class AbstractRemoteLinuxDeployServicePrivate { public: AbstractRemoteLinuxDeployServicePrivate() - : profile(0), connection(0), state(Inactive), stopRequested(false) {} + : kit(0), connection(0), state(Inactive), stopRequested(false) {} IDevice::ConstPtr deviceConfiguration; QPointer buildConfiguration; - Profile *profile; + Kit *kit; SshConnection *connection; State state; bool stopRequested; @@ -114,9 +114,9 @@ const BuildConfiguration *AbstractRemoteLinuxDeployService::buildConfiguration() return d->buildConfiguration; } -const Profile *AbstractRemoteLinuxDeployService::profile() const +const Kit *AbstractRemoteLinuxDeployService::profile() const { - return d->profile; + return d->kit; } IDevice::ConstPtr AbstractRemoteLinuxDeployService::deviceConfiguration() const @@ -134,10 +134,10 @@ void AbstractRemoteLinuxDeployService::saveDeploymentTimeStamp(const DeployableF if (!d->buildConfiguration) return; const QtSupport::BaseQtVersion *const qtVersion - = QtSupport::QtProfileInformation::qtVersion(d->profile); + = QtSupport::QtKitInformation::qtVersion(d->kit); QString systemRoot; - if (SysRootProfileInformation::hasSysRoot(d->profile)) - systemRoot = SysRootProfileInformation::sysRoot(d->profile).toString(); + if (SysRootKitInformation::hasSysRoot(d->kit)) + systemRoot = SysRootKitInformation::sysRoot(d->kit).toString(); if (!qtVersion || !qtVersion->isValid()) return; d->lastDeployed.insert(DeployParameters(deployableFile, @@ -151,12 +151,12 @@ bool AbstractRemoteLinuxDeployService::hasChangedSinceLastDeployment(const Deplo if (!d->buildConfiguration) return true; const QtSupport::BaseQtVersion *const qtVersion - = QtSupport::QtProfileInformation::qtVersion(d->profile); + = QtSupport::QtKitInformation::qtVersion(d->kit); if (!qtVersion || !qtVersion->isValid()) return true; QString systemRoot; - if (SysRootProfileInformation::hasSysRoot(d->profile)) - systemRoot = SysRootProfileInformation::sysRoot(d->profile).toString(); + if (SysRootKitInformation::hasSysRoot(d->kit)) + systemRoot = SysRootKitInformation::sysRoot(d->kit).toString(); const QDateTime &lastDeployed = d->lastDeployed.value(DeployParameters(deployableFile, deviceConfiguration()->sshParameters().host, systemRoot)); return !lastDeployed.isValid() @@ -167,10 +167,10 @@ void AbstractRemoteLinuxDeployService::setBuildConfiguration(BuildConfiguration { d->buildConfiguration = bc; if (bc && bc->target()) - d->profile = bc->target()->profile(); + d->kit = bc->target()->kit(); else - d->profile = 0; - d->deviceConfiguration = DeviceProfileInformation::device(d->profile); + d->kit = 0; + d->deviceConfiguration = DeviceKitInformation::device(d->kit); } void AbstractRemoteLinuxDeployService::start() diff --git a/src/plugins/remotelinux/abstractremotelinuxdeployservice.h b/src/plugins/remotelinux/abstractremotelinuxdeployservice.h index 0060db5df71..6c79d9af234 100644 --- a/src/plugins/remotelinux/abstractremotelinuxdeployservice.h +++ b/src/plugins/remotelinux/abstractremotelinuxdeployservice.h @@ -42,7 +42,7 @@ namespace QSsh { class SshConnection; } namespace ProjectExplorer { class BuildConfiguration; -class Profile; +class Kit; } namespace RemoteLinux { @@ -79,7 +79,7 @@ signals: protected: const ProjectExplorer::BuildConfiguration *buildConfiguration() const; - const ProjectExplorer::Profile *profile() const; + const ProjectExplorer::Kit *profile() const; ProjectExplorer::IDevice::ConstPtr deviceConfiguration() const; QSsh::SshConnection *connection() const; diff --git a/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp b/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp index d9b3742ec4e..d315766b62c 100644 --- a/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp +++ b/src/plugins/remotelinux/abstractremotelinuxdeploystep.cpp @@ -35,7 +35,7 @@ #include #include -#include +#include #include using namespace ProjectExplorer; diff --git a/src/plugins/remotelinux/deploymentinfo.cpp b/src/plugins/remotelinux/deploymentinfo.cpp index 5ddf83336a1..5ac29cd0233 100644 --- a/src/plugins/remotelinux/deploymentinfo.cpp +++ b/src/plugins/remotelinux/deploymentinfo.cpp @@ -36,7 +36,7 @@ #include #include #include -#include +#include #include #include @@ -78,7 +78,7 @@ void DeploymentInfo::createModels() || !qobject_cast(target->activeDeployConfiguration())) return; - QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(target->profile()); + QtSupport::BaseQtVersion *version = QtSupport::QtKitInformation::qtVersion(target->kit()); if (!version || !version->isValid()) { beginResetModel(); qDeleteAll(d->listModels); diff --git a/src/plugins/remotelinux/genericremotelinuxdeploystepfactory.cpp b/src/plugins/remotelinux/genericremotelinuxdeploystepfactory.cpp index d24cffb162e..6f2b273b305 100644 --- a/src/plugins/remotelinux/genericremotelinuxdeploystepfactory.cpp +++ b/src/plugins/remotelinux/genericremotelinuxdeploystepfactory.cpp @@ -38,7 +38,7 @@ #include "uploadandinstalltarpackagestep.h" #include -#include +#include #include using namespace ProjectExplorer; diff --git a/src/plugins/remotelinux/remotelinuxdebugsupport.cpp b/src/plugins/remotelinux/remotelinuxdebugsupport.cpp index baa5be50af1..0927d28e512 100644 --- a/src/plugins/remotelinux/remotelinuxdebugsupport.cpp +++ b/src/plugins/remotelinux/remotelinuxdebugsupport.cpp @@ -33,11 +33,11 @@ #include #include -#include +#include #include #include #include -#include +#include #include #include #include @@ -68,7 +68,7 @@ public: cppDebugging(runConfig->debuggerAspect()->useCppDebugger()), state(Inactive), gdbServerPort(-1), qmlPort(-1), - device(DeviceProfileInformation::device(runConfig->target()->profile())), + device(DeviceKitInformation::device(runConfig->target()->kit())), remoteFilePath(runConfig->remoteExecutableFilePath()), arguments(runConfig->arguments()), commandPrefix(runConfig->commandPrefix()) @@ -99,12 +99,12 @@ DebuggerStartParameters LinuxDeviceDebugSupport::startParameters(const RemoteLin { DebuggerStartParameters params; Target *target = runConfig->target(); - Profile *profile = target->profile(); - const IDevice::ConstPtr device = DeviceProfileInformation::device(profile); + Kit *k = target->kit(); + const IDevice::ConstPtr device = DeviceKitInformation::device(k); - params.sysRoot = SysRootProfileInformation::sysRoot(profile).toString(); - params.debuggerCommand = DebuggerProfileInformation::debuggerCommand(profile).toString(); - if (ToolChain *tc = ToolChainProfileInformation::toolChain(profile)) + params.sysRoot = SysRootKitInformation::sysRoot(k).toString(); + params.debuggerCommand = DebuggerKitInformation::debuggerCommand(k).toString(); + if (ToolChain *tc = ToolChainKitInformation::toolChain(k)) params.toolChainAbi = tc->targetAbi(); if (runConfig->debuggerAspect()->useQmlDebugger()) { diff --git a/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.cpp b/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.cpp index ee917462afa..9213ad6b51d 100644 --- a/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.cpp +++ b/src/plugins/remotelinux/remotelinuxdeployconfigurationfactory.cpp @@ -35,7 +35,7 @@ #include "remotelinuxdeployconfiguration.h" #include -#include +#include #include #include #include @@ -61,13 +61,13 @@ QList RemoteLinuxDeployConfigurationFactory::availableCreationIds(Targ QList ids; if (!qobject_cast(parent->project())) return ids; - if (!parent->project()->supportsProfile(parent->profile())) + if (!parent->project()->supportsKit(parent->kit())) return ids; ProjectExplorer::ToolChain *tc - = ProjectExplorer::ToolChainProfileInformation::toolChain(parent->profile()); + = ProjectExplorer::ToolChainKitInformation::toolChain(parent->kit()); if (!tc || tc->targetAbi().os() != ProjectExplorer::Abi::LinuxOS) return ids; - const Core::Id devType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(parent->profile()); + const Core::Id devType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(parent->kit()); if (devType == Constants::GenericLinuxOsType) ids << genericDeployConfigurationId(); return ids; diff --git a/src/plugins/remotelinux/remotelinuxenvironmentreader.cpp b/src/plugins/remotelinux/remotelinuxenvironmentreader.cpp index 09392617857..44f3be7c30d 100644 --- a/src/plugins/remotelinux/remotelinuxenvironmentreader.cpp +++ b/src/plugins/remotelinux/remotelinuxenvironmentreader.cpp @@ -32,7 +32,7 @@ #include #include -#include +#include #include #include @@ -44,16 +44,16 @@ namespace Internal { RemoteLinuxEnvironmentReader::RemoteLinuxEnvironmentReader(RunConfiguration *config, QObject *parent) : QObject(parent) , m_stop(false) - , m_profile(config->target()->profile()) + , m_kit(config->target()->kit()) , m_remoteProcessRunner(0) { - connect(config->target(), SIGNAL(profileChanged()), + connect(config->target(), SIGNAL(kitChanged()), this, SLOT(handleCurrentDeviceConfigChanged())); } void RemoteLinuxEnvironmentReader::start(const QString &environmentSetupCommand) { - IDevice::ConstPtr device = DeviceProfileInformation::device(m_profile); + IDevice::ConstPtr device = DeviceKitInformation::device(m_kit); if (!device) return; m_stop = false; diff --git a/src/plugins/remotelinux/remotelinuxenvironmentreader.h b/src/plugins/remotelinux/remotelinuxenvironmentreader.h index e8f6c0f717f..5866969a587 100644 --- a/src/plugins/remotelinux/remotelinuxenvironmentreader.h +++ b/src/plugins/remotelinux/remotelinuxenvironmentreader.h @@ -35,7 +35,7 @@ namespace ProjectExplorer { class RunConfiguration; -class Profile; +class Kit; } namespace QSsh { class SshRemoteProcessRunner; } @@ -70,7 +70,7 @@ private: bool m_stop; Utils::Environment m_env; - ProjectExplorer::Profile *m_profile; + ProjectExplorer::Kit *m_kit; QSsh::SshRemoteProcessRunner *m_remoteProcessRunner; }; diff --git a/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp b/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp index 33b311d3c7c..4ab1610be0c 100644 --- a/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp +++ b/src/plugins/remotelinux/remotelinuxrunconfiguration.cpp @@ -140,9 +140,9 @@ void RemoteLinuxRunConfiguration::init() handleDeployConfigChanged(); Project *pro = target()->project(); - connect(pro, SIGNAL(proFileUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)), + connect(pro, SIGNAL(kitUpdated(Qt4ProjectManager::Qt4ProFileNode*,bool,bool)), this, SLOT(proFileUpdate(Qt4ProjectManager::Qt4ProFileNode*,bool,bool))); - connect(target(), SIGNAL(profileChanged()), + connect(target(), SIGNAL(kitChanged()), this, SLOT(handleDeployablesUpdated())); // Handles device changes, etc. } diff --git a/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp b/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp index 782e7fd4513..deccdd83d98 100644 --- a/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp +++ b/src/plugins/remotelinux/remotelinuxrunconfigurationfactory.cpp @@ -33,7 +33,7 @@ #include "remotelinuxdeployconfigurationfactory.h" #include "remotelinuxrunconfiguration.h" -#include +#include #include #include #include @@ -138,12 +138,12 @@ RunConfiguration *RemoteLinuxRunConfigurationFactory::clone(Target *parent, bool RemoteLinuxRunConfigurationFactory::canHandle(Target *t) const { - if (!t->project()->supportsProfile(t->profile())) + if (!t->project()->supportsKit(t->kit())) return false; if (!qobject_cast(t->project())) return false; - Core::Id deviceType = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(t->profile()); + Core::Id deviceType = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(t->kit()); return deviceType == RemoteLinux::Constants::GenericLinuxOsType; } diff --git a/src/plugins/remotelinux/remotelinuxruncontrol.cpp b/src/plugins/remotelinux/remotelinuxruncontrol.cpp index 554816cf585..348293e48cd 100644 --- a/src/plugins/remotelinux/remotelinuxruncontrol.cpp +++ b/src/plugins/remotelinux/remotelinuxruncontrol.cpp @@ -32,7 +32,7 @@ #include "remotelinuxrunconfiguration.h" #include -#include +#include #include #include #include @@ -59,7 +59,7 @@ RemoteLinuxRunControl::RemoteLinuxRunControl(RunConfiguration *rc) : RunControl(rc, ProjectExplorer::NormalRunMode), d(new RemoteLinuxRunControlPrivate) { d->running = false; - d->device = DeviceProfileInformation::device(rc->target()->profile()); + d->device = DeviceKitInformation::device(rc->target()->kit()); const RemoteLinuxRunConfiguration * const lrc = qobject_cast(rc); d->remoteExecutable = lrc->remoteExecutableFilePath(); d->arguments = lrc->arguments(); diff --git a/src/plugins/remotelinux/remotelinuxruncontrolfactory.cpp b/src/plugins/remotelinux/remotelinuxruncontrolfactory.cpp index 449ef7832f9..1132bf24e97 100644 --- a/src/plugins/remotelinux/remotelinuxruncontrolfactory.cpp +++ b/src/plugins/remotelinux/remotelinuxruncontrolfactory.cpp @@ -37,7 +37,7 @@ #include #include #include -#include +#include #include #include #include @@ -72,7 +72,7 @@ bool RemoteLinuxRunControlFactory::canRun(RunConfiguration *runConfiguration, Ru const RemoteLinuxRunConfiguration * const remoteRunConfig = qobject_cast(runConfiguration); if (mode == DebugRunMode) { - IDevice::ConstPtr dev = DeviceProfileInformation::device(runConfiguration->target()->profile()); + IDevice::ConstPtr dev = DeviceKitInformation::device(runConfiguration->target()->kit()); if (dev.isNull()) return false; return remoteRunConfig->portsUsedByDebuggers() <= dev->freePorts().count(); diff --git a/src/plugins/remotelinux/typespecificdeviceconfigurationlistmodel.cpp b/src/plugins/remotelinux/typespecificdeviceconfigurationlistmodel.cpp index 71f8506691e..bd095978d27 100644 --- a/src/plugins/remotelinux/typespecificdeviceconfigurationlistmodel.cpp +++ b/src/plugins/remotelinux/typespecificdeviceconfigurationlistmodel.cpp @@ -30,7 +30,7 @@ #include "typespecificdeviceconfigurationlistmodel.h" #include -#include +#include #include #include @@ -44,7 +44,7 @@ TypeSpecificDeviceConfigurationListModel::TypeSpecificDeviceConfigurationListMod { const DeviceManager * const devConfs = DeviceManager::instance(); connect(devConfs, SIGNAL(updated()), this, SIGNAL(modelReset())); - connect(target, SIGNAL(profileChanged()), this, SIGNAL(modelReset())); + connect(target, SIGNAL(kitChanged()), this, SIGNAL(modelReset())); } int TypeSpecificDeviceConfigurationListModel::rowCount(const QModelIndex &parent) const @@ -131,7 +131,7 @@ bool TypeSpecificDeviceConfigurationListModel::deviceMatches(IDevice::ConstPtr d { if (dev.isNull()) return false; - Core::Id typeId = ProjectExplorer::DeviceTypeProfileInformation::deviceTypeId(target()->profile()); + Core::Id typeId = ProjectExplorer::DeviceTypeKitInformation::deviceTypeId(target()->kit()); return dev->type() == typeId; } diff --git a/src/plugins/valgrind/valgrindtool.cpp b/src/plugins/valgrind/valgrindtool.cpp index 56457974949..0778f766077 100644 --- a/src/plugins/valgrind/valgrindtool.cpp +++ b/src/plugins/valgrind/valgrindtool.cpp @@ -35,7 +35,7 @@ #include #include -#include +#include #include #include @@ -75,7 +75,7 @@ Analyzer::AnalyzerStartParameters ValgrindTool::createStartParameters( qobject_cast(runConfiguration)) { sp.startMode = Analyzer::StartRemote; sp.debuggee = rc2->remoteExecutableFilePath(); - sp.connParams = ProjectExplorer::DeviceProfileInformation::device(rc2->target()->profile())->sshParameters(); + sp.connParams = ProjectExplorer::DeviceKitInformation::device(rc2->target()->kit())->sshParameters(); sp.analyzerCmdPrefix = rc2->commandPrefix(); sp.debuggeeArgs = rc2->arguments(); } else { From 6750a1c8290bccfa4698b615928fbe64fd68faa4 Mon Sep 17 00:00:00 2001 From: Leandro Melo Date: Tue, 4 Sep 2012 15:21:03 +0200 Subject: [PATCH 29/36] C++: Fix crash when deducing auto (with invalid ids) Task-number: QTCREATORBUG-7801 Change-Id: I61436148ed1428a50a6840ba9109310a57dabaa4 Reviewed-by: Roberto Raggi --- src/libs/cplusplus/LookupContext.cpp | 6 ++-- src/libs/cplusplus/LookupContext.h | 1 + src/libs/cplusplus/ResolveExpression.cpp | 21 +++++++++---- src/libs/cplusplus/ResolveExpression.h | 9 ++++++ src/libs/cplusplus/TypeOfExpression.cpp | 38 +++++++++++++----------- src/libs/cplusplus/TypeOfExpression.h | 7 +++-- 6 files changed, 54 insertions(+), 28 deletions(-) diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp index 8dbaf72cf83..909e02b5e06 100644 --- a/src/libs/cplusplus/LookupContext.cpp +++ b/src/libs/cplusplus/LookupContext.cpp @@ -88,7 +88,9 @@ static void path_helper(Symbol *symbol, QList *names) } } -static bool compareName(const Name *name, const Name *other) +namespace CPlusPlus { + +bool compareName(const Name *name, const Name *other) { if (name == other) return true; @@ -104,8 +106,6 @@ static bool compareName(const Name *name, const Name *other) return false; } -namespace CPlusPlus { - bool compareFullyQualifiedName(const QList &path, const QList &other) { if (path.length() != other.length()) diff --git a/src/libs/cplusplus/LookupContext.h b/src/libs/cplusplus/LookupContext.h index b2fa81c5609..fef317fd614 100644 --- a/src/libs/cplusplus/LookupContext.h +++ b/src/libs/cplusplus/LookupContext.h @@ -252,6 +252,7 @@ private: QSharedPointer _control; }; +bool CPLUSPLUS_EXPORT compareName(const Name *name, const Name *other); bool CPLUSPLUS_EXPORT compareFullyQualifiedName(const QList &path, const QList &other); diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp index 961795c95d5..a64a61a0bc1 100644 --- a/src/libs/cplusplus/ResolveExpression.cpp +++ b/src/libs/cplusplus/ResolveExpression.cpp @@ -473,27 +473,38 @@ bool ResolveExpression::visit(SimpleNameAST *ast) if (item.declaration() == 0) continue; - if (item.type().isAuto()) { + if (item.type().isAuto() + && _blockedIds.find(ast->name->identifier()) == _blockedIds.end()) { const Declaration *decl = item.declaration()->asDeclaration(); if (!decl) continue; - Document::Ptr doc = _context.snapshot().document(decl->fileName()); - const StringLiteral *initializationString = decl->getInitializer(); if (initializationString == 0) continue; - QByteArray initializer = QByteArray::fromRawData(initializationString->chars(), initializationString->size()).trimmed(); + const QByteArray &initializer = + QByteArray::fromRawData(initializationString->chars(), + initializationString->size()).trimmed(); // Skip lambda-function initializers if (initializer.length() > 0 && initializer[0] == '[') continue; TypeOfExpression exprTyper; + Document::Ptr doc = _context.snapshot().document(decl->fileName()); exprTyper.init(doc, _context.snapshot(), _context.bindings()); - QList typeItems = exprTyper(initializer, decl->enclosingScope(), TypeOfExpression::Preprocess); + Document::Ptr exprDoc = + documentForExpression(exprTyper.preprocessedExpression(initializer)); + exprDoc->check(); + ExpressionAST *exprAST = extractExpressionAST(exprDoc); + if (!exprAST) + continue; + + _blockedIds.insert(ast->name->identifier()); + const QList &typeItems = resolve(exprAST, decl->enclosingScope()); + _blockedIds.erase(ast->name->identifier()); if (typeItems.empty()) continue; diff --git a/src/libs/cplusplus/ResolveExpression.h b/src/libs/cplusplus/ResolveExpression.h index e792d6c2832..3809f04afc0 100644 --- a/src/libs/cplusplus/ResolveExpression.h +++ b/src/libs/cplusplus/ResolveExpression.h @@ -36,6 +36,7 @@ #include #include #include +#include namespace CPlusPlus { @@ -118,12 +119,20 @@ protected: // Objective-C expressions virtual bool visit(ObjCMessageExpressionAST *ast); + private: + struct IdentifierComp + { + bool operator()(const Identifier *a, const Identifier *b) const + { return strcmp(a->chars(), b->chars()) < 0; } + }; + Scope *_scope; LookupContext _context; Bind bind; QList _results; bool _reference; + std::set _blockedIds; // Replace by a hash impl. }; } // namespace CPlusPlus diff --git a/src/libs/cplusplus/TypeOfExpression.cpp b/src/libs/cplusplus/TypeOfExpression.cpp index 6ff53618c20..792ecb1cbac 100644 --- a/src/libs/cplusplus/TypeOfExpression.cpp +++ b/src/libs/cplusplus/TypeOfExpression.cpp @@ -163,23 +163,6 @@ ExpressionAST *TypeOfExpression::expressionAST() const return extractExpressionAST(m_lookupContext.expressionDocument()); } -ExpressionAST *TypeOfExpression::extractExpressionAST(Document::Ptr doc) const -{ - if (! doc->translationUnit()->ast()) - return 0; - - return doc->translationUnit()->ast()->asExpression(); -} - -Document::Ptr TypeOfExpression::documentForExpression(const QByteArray &utf8code) const -{ - // create the expression's AST. - Document::Ptr doc = Document::create(QLatin1String("")); - doc->setUtf8Source(utf8code); - doc->parse(Document::ParseExpression); - return doc; -} - void TypeOfExpression::processEnvironment(Document::Ptr doc, Environment *env, QSet *processed) const { @@ -210,3 +193,24 @@ QByteArray TypeOfExpression::preprocessedExpression(const QByteArray &utf8code) Preprocessor preproc(0, m_environment.data()); return preproc.run("", utf8code); } + +namespace CPlusPlus { + +ExpressionAST *extractExpressionAST(Document::Ptr doc) +{ + if (! doc->translationUnit()->ast()) + return 0; + + return doc->translationUnit()->ast()->asExpression(); +} + +Document::Ptr documentForExpression(const QByteArray &utf8code) +{ + // create the expression's AST. + Document::Ptr doc = Document::create(QLatin1String("")); + doc->setUtf8Source(utf8code); + doc->parse(Document::ParseExpression); + return doc; +} + +} // namespace CPlusPlus diff --git a/src/libs/cplusplus/TypeOfExpression.h b/src/libs/cplusplus/TypeOfExpression.h index 3e3a134ba2e..430202910f8 100644 --- a/src/libs/cplusplus/TypeOfExpression.h +++ b/src/libs/cplusplus/TypeOfExpression.h @@ -122,15 +122,13 @@ public: Scope *scope() const; ExpressionAST *expressionAST() const; + QByteArray preprocessedExpression(const QByteArray &utf8code) const; private: - ExpressionAST *extractExpressionAST(Document::Ptr doc) const; - Document::Ptr documentForExpression(const QByteArray &utf8code) const; void processEnvironment(Document::Ptr doc, Environment *env, QSet *processed) const; - QByteArray preprocessedExpression(const QByteArray &utf8code) const; private: Document::Ptr m_thisDocument; @@ -142,6 +140,9 @@ private: mutable QSharedPointer m_environment; }; +ExpressionAST CPLUSPLUS_EXPORT *extractExpressionAST(Document::Ptr doc); +Document::Ptr CPLUSPLUS_EXPORT documentForExpression(const QByteArray &utf8code); + } // namespace CPlusPlus #endif // CPLUSPLUS_TYPEOFEXPRESSION_H From 1faea8a0b3acf976a10db2499b997dfbc8b9fdd4 Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 4 Sep 2012 14:52:52 +0300 Subject: [PATCH 30/36] Read-only file dialog: Use VCS terms if applicable Also add keyboard accelerators Change-Id: Icea8af6af7e5d94623ba7782c375977bbab17f22 Reviewed-by: Tobias Hunger --- src/plugins/clearcase/clearcasecontrol.cpp | 10 +++++ src/plugins/clearcase/clearcasecontrol.h | 3 ++ src/plugins/coreplugin/coreplugin.pro | 3 +- src/plugins/coreplugin/coreplugin.qbs | 1 + src/plugins/coreplugin/documentmanager.cpp | 13 ++++-- src/plugins/coreplugin/iversioncontrol.cpp | 45 +++++++++++++++++++ src/plugins/coreplugin/iversioncontrol.h | 10 +++++ .../perforce/perforceversioncontrol.cpp | 10 +++++ src/plugins/perforce/perforceversioncontrol.h | 2 + 9 files changed, 92 insertions(+), 5 deletions(-) create mode 100644 src/plugins/coreplugin/iversioncontrol.cpp diff --git a/src/plugins/clearcase/clearcasecontrol.cpp b/src/plugins/clearcase/clearcasecontrol.cpp index 7c055f118da..475333084ed 100644 --- a/src/plugins/clearcase/clearcasecontrol.cpp +++ b/src/plugins/clearcase/clearcasecontrol.cpp @@ -136,6 +136,16 @@ bool ClearCaseControl::vcsAnnotate(const QString &file, int line) return true; } +QString ClearCaseControl::vcsOpenText() const +{ + return tr("&Check Out"); +} + +QString ClearCaseControl::vcsMakeWritableText() const +{ + return tr("&Hijack"); +} + void ClearCaseControl::emitRepositoryChanged(const QString &s) { emit repositoryChanged(s); diff --git a/src/plugins/clearcase/clearcasecontrol.h b/src/plugins/clearcase/clearcasecontrol.h index 789dbbf9b33..166b6195d3c 100644 --- a/src/plugins/clearcase/clearcasecontrol.h +++ b/src/plugins/clearcase/clearcasecontrol.h @@ -70,6 +70,9 @@ public: bool vcsAnnotate(const QString &file, int line); + QString vcsOpenText() const; + QString vcsMakeWritableText() const; + void emitRepositoryChanged(const QString &); void emitFilesChanged(const QStringList &); void emitConfigurationChanged(); diff --git a/src/plugins/coreplugin/coreplugin.pro b/src/plugins/coreplugin/coreplugin.pro index 1736574340a..14a7450b3c9 100644 --- a/src/plugins/coreplugin/coreplugin.pro +++ b/src/plugins/coreplugin/coreplugin.pro @@ -102,7 +102,8 @@ SOURCES += mainwindow.cpp \ idocument.cpp \ textdocument.cpp \ documentmanager.cpp \ - removefiledialog.cpp + removefiledialog.cpp \ + iversioncontrol.cpp HEADERS += mainwindow.h \ editmode.h \ diff --git a/src/plugins/coreplugin/coreplugin.qbs b/src/plugins/coreplugin/coreplugin.qbs index 255d946c4db..cf50a572993 100644 --- a/src/plugins/coreplugin/coreplugin.qbs +++ b/src/plugins/coreplugin/coreplugin.qbs @@ -152,6 +152,7 @@ QtcPlugin { "versiondialog.cpp", "versiondialog.h", "id.cpp", + "iversioncontrol.cpp", "iversioncontrol.h", "variablechooser.cpp", "variablemanager.cpp", diff --git a/src/plugins/coreplugin/documentmanager.cpp b/src/plugins/coreplugin/documentmanager.cpp index 7a1b0c5ab35..a6eae6c95d7 100644 --- a/src/plugins/coreplugin/documentmanager.cpp +++ b/src/plugins/coreplugin/documentmanager.cpp @@ -829,15 +829,20 @@ DocumentManager::ReadOnlyAction tr("The file %1 is read only.").arg(QDir::toNativeSeparators(fileName)), QMessageBox::Cancel, parent); + QString makeWritableText; QPushButton *vcsButton = 0; - if (promptVCS) - vcsButton = msgBox.addButton(tr("Open with VCS (%1)").arg(versionControl->displayName()), QMessageBox::AcceptRole); + if (promptVCS) { + vcsButton = msgBox.addButton(versionControl->vcsOpenText(), QMessageBox::AcceptRole); + makeWritableText = versionControl->vcsMakeWritableText(); + } + if (makeWritableText.isEmpty()) + makeWritableText = tr("Make &Writable"); - QPushButton *makeWritableButton = msgBox.addButton(tr("Make Writable"), QMessageBox::AcceptRole); + QPushButton *makeWritableButton = msgBox.addButton(makeWritableText, QMessageBox::AcceptRole); QPushButton *saveAsButton = 0; if (displaySaveAsButton) - saveAsButton = msgBox.addButton(tr("Save As..."), QMessageBox::ActionRole); + saveAsButton = msgBox.addButton(tr("&Save As..."), QMessageBox::ActionRole); msgBox.setDefaultButton(vcsButton ? vcsButton : makeWritableButton); msgBox.exec(); diff --git a/src/plugins/coreplugin/iversioncontrol.cpp b/src/plugins/coreplugin/iversioncontrol.cpp new file mode 100644 index 00000000000..ebd075b112a --- /dev/null +++ b/src/plugins/coreplugin/iversioncontrol.cpp @@ -0,0 +1,45 @@ +/************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2012 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: http://www.qt-project.org/ +** +** +** GNU Lesser General Public License Usage +** +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this file. +** Please review the following information to ensure the GNU Lesser General +** Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** Other Usage +** +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +**************************************************************************/ + +#include "iversioncontrol.h" + +namespace Core { + +QString IVersionControl::vcsOpenText() const +{ + return tr("Open with VCS (%1)").arg(displayName()); +} + +QString IVersionControl::vcsMakeWritableText() const +{ + return QString(); +} + +} diff --git a/src/plugins/coreplugin/iversioncontrol.h b/src/plugins/coreplugin/iversioncontrol.h index 3134d0fe08a..b6f4e012f3d 100644 --- a/src/plugins/coreplugin/iversioncontrol.h +++ b/src/plugins/coreplugin/iversioncontrol.h @@ -163,6 +163,16 @@ public: */ virtual bool vcsAnnotate(const QString &file, int line) = 0; + /*! + * Display text for Open operation + */ + virtual QString vcsOpenText() const; + + /*! + * Display text for Make Writable + */ + virtual QString vcsMakeWritableText() const; + signals: void repositoryChanged(const QString &repository); void filesChanged(const QStringList &files); diff --git a/src/plugins/perforce/perforceversioncontrol.cpp b/src/plugins/perforce/perforceversioncontrol.cpp index d4482aa5ba6..7a7b2f69d69 100644 --- a/src/plugins/perforce/perforceversioncontrol.cpp +++ b/src/plugins/perforce/perforceversioncontrol.cpp @@ -158,6 +158,16 @@ QString PerforceVersionControl::vcsGetRepositoryURL(const QString &) return QString(); } +QString PerforceVersionControl::vcsOpenText() const +{ + return tr("&Edit (%1)").arg(displayName()); +} + +QString PerforceVersionControl::vcsMakeWritableText() const +{ + return tr("&Hijack"); +} + bool PerforceVersionControl::managesDirectory(const QString &directory, QString *topLevel) const { const bool rc = m_plugin->managesDirectory(directory, topLevel); diff --git a/src/plugins/perforce/perforceversioncontrol.h b/src/plugins/perforce/perforceversioncontrol.h index ee1ab655d9d..0be5847b9ea 100644 --- a/src/plugins/perforce/perforceversioncontrol.h +++ b/src/plugins/perforce/perforceversioncontrol.h @@ -64,6 +64,8 @@ public: bool vcsRestoreSnapshot(const QString &topLevel, const QString &name); bool vcsRemoveSnapshot(const QString &topLevel, const QString &name); bool vcsAnnotate(const QString &file, int line); + QString vcsOpenText() const; + QString vcsMakeWritableText() const; void emitRepositoryChanged(const QString &s); void emitFilesChanged(const QStringList &l); From 7ea3e2c2ded6aff152016f027ba01014a7907bf6 Mon Sep 17 00:00:00 2001 From: Daniel Teske Date: Fri, 24 Aug 2012 17:20:19 +0200 Subject: [PATCH 31/36] Make target selector popup size smart Task-number: QTCREATORBUG-7705 Change-Id: Ica9a39f0557993a8bba6ec32f7373101203af4c0 Reviewed-by: Daniel Molkentin --- .../miniprojecttargetselector.cpp | 448 +++++++++++++----- .../miniprojecttargetselector.h | 15 +- 2 files changed, 330 insertions(+), 133 deletions(-) diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.cpp b/src/plugins/projectexplorer/miniprojecttargetselector.cpp index 27fa40ee299..b1b348ddc4f 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.cpp +++ b/src/plugins/projectexplorer/miniprojecttargetselector.cpp @@ -96,20 +96,21 @@ static bool projectLesserThan(Project *p1, Project *p2) class TargetSelectorDelegate : public QItemDelegate { public: - TargetSelectorDelegate(QObject *parent) : QItemDelegate(parent) { } + TargetSelectorDelegate(ListWidget *parent) : QItemDelegate(parent), m_listWidget(parent) { } private: QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const; void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const; mutable QImage selectionGradient; + ListWidget *m_listWidget; }; QSize TargetSelectorDelegate::sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const { Q_UNUSED(option) Q_UNUSED(index) - return QSize(190, 30); + return QSize(m_listWidget->size().width(), 30); } void TargetSelectorDelegate::paint(QPainter *painter, @@ -153,7 +154,7 @@ void TargetSelectorDelegate::paint(QPainter *painter, // ListWidget //////// ListWidget::ListWidget(QWidget *parent) - : QListWidget(parent), m_maxCount(0) + : QListWidget(parent), m_maxCount(0), m_optimalWidth(0) { setFocusPolicy(Qt::NoFocus); setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); @@ -165,25 +166,6 @@ ListWidget::ListWidget(QWidget *parent) setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); } - -QSize ListWidget::sizeHint() const -{ - int height = m_maxCount * 30; - int width = 190; - - // We try to keep the height of the popup equal to the actionbar - QSize size(width, height); - static QStatusBar *statusBar = Core::ICore::statusBar(); - static QWidget *actionBar = Core::ICore::mainWindow()->findChild(QLatin1String("actionbar")); - Q_ASSERT(actionBar); - - QMargins popupMargins = window()->contentsMargins(); - int alignedWithActionHeight - = actionBar->height() - statusBar->height() - (popupMargins.top() + popupMargins.bottom()); - size.setHeight(qBound(alignedWithActionHeight, height, 2 * alignedWithActionHeight)); - return size; -} - void ListWidget::keyPressEvent(QKeyEvent *event) { if (event->key() == Qt::Key_Left) @@ -202,13 +184,32 @@ void ListWidget::keyReleaseEvent(QKeyEvent *event) void ListWidget::setMaxCount(int maxCount) { - // Note: the current assumption is that, this is not called while the listwidget is visible - // Otherwise we would need to add code to MiniProjectTargetSelector reacting to the - // updateGeometry (which then would jump ugly) m_maxCount = maxCount; updateGeometry(); } +int ListWidget::maxCount() +{ + return m_maxCount; +} + +int ListWidget::optimalWidth() const +{ + return m_optimalWidth; +} + +void ListWidget::setOptimalWidth(int width) +{ + m_optimalWidth = width; + updateGeometry(); +} + +int ListWidget::padding() +{ + // there needs to be enough extra pixels to show a scrollbar + return 30; +} + //////// // ProjectListWidget //////// @@ -274,6 +275,11 @@ void ProjectListWidget::addProject(Project *project) setCurrentItem(item); } + QFontMetrics fn(font()); + int width = fn.width(project->displayName()) + padding(); + if (width > optimalWidth()) + setOptimalWidth(width); + m_ignoreIndexChange = false; } @@ -300,8 +306,17 @@ void ProjectListWidget::removeProject(Project *project) item(otherIndex)->setText(p->displayName()); } - m_ignoreIndexChange = false; + QFontMetrics fn(font()); + // recheck optimal width + int width = 0; + for (int i = 0; i < count(); ++i) { + Project *p = item(i)->data(Qt::UserRole).value(); + width = qMax(fn.width(p->displayName()) + padding(), width); + } + setOptimalWidth(width); + + m_ignoreIndexChange = false; } void ProjectListWidget::projectDisplayNameChanged(Project *project) @@ -338,6 +353,15 @@ void ProjectListWidget::projectDisplayNameChanged(Project *project) if (isCurrentItem) setCurrentRow(pos); + // recheck optimal width + QFontMetrics fn(font()); + int width = 0; + for (int i = 0; i < count(); ++i) { + Project *p = item(i)->data(Qt::UserRole).value(); + width = qMax(fn.width(p->displayName()) + padding(), width); + } + setOptimalWidth(width); + m_ignoreIndexChange = false; } @@ -376,9 +400,16 @@ void GenericListWidget::setProjectConfigurations(const QListdisplayName()) + padding()); + } + setOptimalWidth(width); setActiveProjectConfiguration(active); + m_ignoreIndexChange = false; } @@ -408,6 +439,11 @@ void GenericListWidget::addProjectConfiguration(ProjectExplorer::ProjectConfigur connect(pc, SIGNAL(displayNameChanged()), this, SLOT(displayNameChanged())); + + QFontMetrics fn(font()); + int width = fn.width(pc->displayName()) + padding(); + if (width > optimalWidth()) + setOptimalWidth(width); m_ignoreIndexChange = false; } @@ -417,6 +453,15 @@ void GenericListWidget::removeProjectConfiguration(ProjectExplorer::ProjectConfi disconnect(pc, SIGNAL(displayNameChanged()), this, SLOT(displayNameChanged())); delete itemForProjectConfiguration(pc); + + QFontMetrics fn(font()); + int width = 0; + for (int i = 0; i < count(); ++i) { + ProjectConfiguration *p = item(i)->data(Qt::UserRole).value(); + width = qMax(width, fn.width(p->displayName()) + padding()); + } + setOptimalWidth(width); + m_ignoreIndexChange = false; } @@ -461,6 +506,15 @@ void GenericListWidget::displayNameChanged() insertItem(pos, lwi); if (activeProjectConfiguration) setCurrentItem(itemForProjectConfiguration(activeProjectConfiguration)); + + QFontMetrics fn(font()); + int width = 0; + for (int i = 0; i < count(); ++i) { + ProjectConfiguration *p = item(i)->data(Qt::UserRole).value(); + width = qMax(width, fn.width(p->displayName()) + padding()); + } + setOptimalWidth(width); + m_ignoreIndexChange = false; } @@ -475,16 +529,15 @@ QListWidgetItem *GenericListWidget::itemForProjectConfiguration(ProjectConfigura return 0; } -QWidget *createTitleLabel(const QString &text) +QWidget *MiniProjectTargetSelector::createTitleLabel(const QString &text) { - Utils::StyledBar *bar = new Utils::StyledBar; + Utils::StyledBar *bar = new Utils::StyledBar(this); bar->setSingleRow(true); QVBoxLayout *toolLayout = new QVBoxLayout(bar); - toolLayout->setMargin(0); + toolLayout->setContentsMargins(6, 0, 6, 0); toolLayout->setSpacing(0); QLabel *l = new QLabel(text); - l->setIndent(6); QFont f = l->font(); f.setBold(true); l->setFont(f); @@ -496,24 +549,6 @@ QWidget *createTitleLabel(const QString &text) return bar; } -class OnePixelGreyLine : public QWidget -{ -public: - OnePixelGreyLine(QWidget *parent) - : QWidget(parent) - { - setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding); - setMinimumWidth(1); - setMaximumWidth(1); - } - void paintEvent(QPaintEvent *e) - { - Q_UNUSED(e); - QPainter p(this); - p.fillRect(contentsRect(), QColor(160, 160, 160, 255)); - } -}; - MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorAction, SessionManager *sessionManager, QWidget *parent) : QWidget(parent), m_projectAction(targetSelectorAction), m_sessionManager(sessionManager), m_project(0), @@ -533,10 +568,6 @@ MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorActi targetSelectorAction->setIcon(style()->standardIcon(QStyle::SP_ComputerIcon)); targetSelectorAction->setProperty("titledAction", true); - QGridLayout *grid = new QGridLayout(this); - grid->setMargin(0); - grid->setSpacing(0); - m_summaryLabel = new QLabel(this); m_summaryLabel->setMargin(3); m_summaryLabel->setAlignment(Qt::AlignLeft | Qt::AlignTop); @@ -544,19 +575,12 @@ MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorActi m_summaryLabel->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::MinimumExpanding); m_summaryLabel->setTextInteractionFlags(m_summaryLabel->textInteractionFlags() | Qt::LinksAccessibleByMouse); - grid->addWidget(m_summaryLabel, 0, 0, 1, 2 * LAST - 1); - m_listWidgets.resize(LAST); m_titleWidgets.resize(LAST); - m_separators.resize(LAST); m_listWidgets[PROJECT] = 0; //project is not a generic list widget m_titleWidgets[PROJECT] = createTitleLabel(tr("Project")); - grid->addWidget(m_titleWidgets[PROJECT], 1, 0, 1, 2); m_projectListWidget = new ProjectListWidget(m_sessionManager, this); - grid->addWidget(m_projectListWidget, 2, 0); - m_separators[PROJECT] = new OnePixelGreyLine(this); - grid->addWidget(m_separators[PROJECT], 2, 1); QStringList titles; titles << tr("Kit") << tr("Build") @@ -564,11 +588,7 @@ MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorActi for (int i = TARGET; i < LAST; ++i) { m_titleWidgets[i] = createTitleLabel(titles.at(i -1)); - grid->addWidget(m_titleWidgets[i], 1, 2 * i, 1, 2); m_listWidgets[i] = new GenericListWidget(this); - grid->addWidget(m_listWidgets[i], 2, 2 *i); - m_separators[i] = new OnePixelGreyLine(this); - grid->addWidget(m_separators[i], 2, 1 + 2 * i); } changeStartupProject(m_sessionManager->startupProject()); @@ -602,6 +622,236 @@ MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorActi this, SLOT(setActiveRunConfiguration(ProjectExplorer::ProjectConfiguration*))); } +bool MiniProjectTargetSelector::event(QEvent *event) +{ + if (event->type() != QEvent::LayoutRequest) + return QWidget::event(event); + doLayout(true); + return true; +} + +class IndexSorter +{ +public: + enum SortOrder { Less = 0, Greater = 1}; + + IndexSorter(QVector result, SortOrder order) + : m_result(result), m_order(order) + { } + + bool operator()(int i, int j) + { return (m_result[i] < m_result[j]) ^ bool(m_order); } + +private: + QVector m_result; + SortOrder m_order; +}; + +// does some fancy calculations to ensure proper widths for the list widgets +QVector MiniProjectTargetSelector::listWidgetWidths(int minSize, int maxSize) +{ + QVector result; + result.resize(LAST); + if (m_projectListWidget->isVisibleTo(this)) + result[PROJECT] = m_projectListWidget->optimalWidth(); + else + result[PROJECT] = -1; + + for (int i = TARGET; i < LAST; ++i) { + if (m_listWidgets[i]->isVisibleTo(this)) + result[i] = m_listWidgets[i]->optimalWidth(); + else + result[i] = -1; + } + + int totalWidth = 0; + // Adjust to minimum width of title + for (int i = PROJECT; i < LAST; ++i) { + if (result[i] != -1) { + // We want at least 100 pixels per column + int width = qMax(m_titleWidgets[i]->sizeHint().width(), 100); + if (result[i] < width) + result[i] = width; + totalWidth += result[i]; + } + } + + if (totalWidth == 0) // All hidden + return result; + + bool tooSmall; + if (totalWidth < minSize) + tooSmall = true; + else if (totalWidth > maxSize) + tooSmall = false; + else + return result; + + int widthToDistribute = tooSmall ? (minSize - totalWidth) + : (totalWidth - maxSize); + QVector indexes; + indexes.reserve(LAST); + for (int i = PROJECT; i < LAST; ++i) + if (result[i] != -1) + indexes.append(i); + + IndexSorter indexSorter(result, tooSmall ? IndexSorter::Less : IndexSorter::Greater); + qSort(indexes.begin(), indexes.end(), indexSorter); + + int i = 0; + int first = result[indexes.first()]; // biggest or smallest + + // we resize the biggest columns until they are the same size as the second biggest + // since it looks prettiest if all the columns are the same width + while (true) { + for (; i < indexes.size(); ++i) { + if (result[indexes[i]] != first) + break; + } + int next = tooSmall ? INT_MAX : 0; + if (i < indexes.size()) + next = result[indexes[i]]; + + int delta; + if (tooSmall) + delta = qMin(next - first, widthToDistribute / i); + else + delta = qMin(first - next, widthToDistribute / i); + + if (delta == 0) + return result; + + if (tooSmall) { + for (int j = 0; j < i; ++j) + result[indexes[j]] += delta; + } else { + for (int j = 0; j < i; ++j) + result[indexes[j]] -= delta; + } + + widthToDistribute -= delta * i; + if (widthToDistribute == 0) + return result; + + first = result[indexes.first()]; + i = 0; // TODO can we do better? + } +} + +void MiniProjectTargetSelector::doLayout(bool keepSize) +{ + // An unconfigured project shows empty build/deploy/run sections + // if there's a configured project in the seesion + // that could be improved + static QStatusBar *statusBar = Core::ICore::statusBar(); + static QWidget *actionBar = Core::ICore::mainWindow()->findChild(QLatin1String("actionbar")); + Q_ASSERT(actionBar); + + // 1. Calculate the summary label height + int summaryLabelY = 1; + int summaryLabelHeight = 0; + int oldSummaryLabelHeight = m_summaryLabel->height(); + bool onlySummary = false; + // Count the number of lines + int visibleLineCount = m_projectListWidget->isVisibleTo(this) ? 0 : 1; + for (int i = TARGET; i < LAST; ++i) + visibleLineCount += m_listWidgets[i]->isVisibleTo(this) ? 0 : 1; + + if (visibleLineCount == LAST) { + summaryLabelHeight = visibleLineCount * QFontMetrics(m_summaryLabel->font()).height() + + m_summaryLabel->margin() *2; + onlySummary = true; + } else { + if (visibleLineCount < 3) { + foreach (Project *p, m_sessionManager->projects()) { + if (p->needsConfiguration()) { + visibleLineCount = 3; + break; + } + } + } + if (visibleLineCount) + summaryLabelHeight = visibleLineCount * QFontMetrics(m_summaryLabel->font()).height() + + m_summaryLabel->margin() *2; + } + + if (keepSize && oldSummaryLabelHeight > summaryLabelHeight) + summaryLabelHeight = oldSummaryLabelHeight; + + m_summaryLabel->move(0, summaryLabelY); + + // Height to be aligned with side bar button + int alignedWithActionHeight = actionBar->height() - statusBar->height(); + int bottomMargin = 9; + int totalHeight = 0; + + if (!onlySummary) { + // list widget heigth + int maxItemCount = m_projectListWidget->maxCount(); + for (int i = TARGET; i < LAST; ++i) + maxItemCount = qMax(maxItemCount, m_listWidgets[i]->maxCount()); + + int titleWidgetsHeight = m_titleWidgets.first()->height(); + if (keepSize) { + totalHeight = height(); + } else { + // Clamp the size of the listwidgets to be + // at least as high as the the sidebar button + // and at most twice as high + totalHeight = summaryLabelHeight + qBound(alignedWithActionHeight, + maxItemCount * 30 + bottomMargin + titleWidgetsHeight, + alignedWithActionHeight * 2); + } + + int titleY = summaryLabelY + summaryLabelHeight; + int listY = titleY + titleWidgetsHeight; + int listHeight = totalHeight - bottomMargin - listY + 1; + + // list widget widths + int minWidth = qMax(m_summaryLabel->sizeHint().width(), 250); + if (keepSize) { + // Do not make the widget smaller then it was before + int oldTotalListWidgetWidth = m_projectListWidget->isVisibleTo(this) ? + m_projectListWidget->width() : 0; + for (int i = TARGET; i < LAST; ++i) + oldTotalListWidgetWidth += m_listWidgets[i]->width(); + minWidth = qMax(minWidth, oldTotalListWidgetWidth); + } + + QVector widths = listWidgetWidths(minWidth, 1000); + int x = 0; + for (int i = PROJECT; i < LAST; ++i) { + int optimalWidth = widths[i]; + if (i == PROJECT) { + m_projectListWidget->resize(optimalWidth, listHeight); + m_projectListWidget->move(x, listY); + } else { + m_listWidgets[i]->resize(optimalWidth, listHeight); + m_listWidgets[i]->move(x, listY); + } + m_titleWidgets[i]->resize(optimalWidth, titleWidgetsHeight); + m_titleWidgets[i]->move(x, titleY); + x += optimalWidth + 1; //1 extra pixel for the separators or the right border + } + + m_summaryLabel->resize(x - 1, summaryLabelHeight); + setFixedSize(x, totalHeight); + } else { + if (keepSize) + totalHeight = height(); + else + totalHeight = qMax(summaryLabelHeight + bottomMargin, alignedWithActionHeight); + m_summaryLabel->resize(m_summaryLabel->sizeHint().width(), totalHeight - bottomMargin); + setFixedSize(m_summaryLabel->width() + 1, totalHeight); //1 extra pixel for the border + } + + if (isVisibleTo(parentWidget())) { + QPoint moveTo = statusBar->mapToGlobal(QPoint(0,0)); + moveTo -= QPoint(0, totalHeight); + move(moveTo); + } +} + void MiniProjectTargetSelector::setActiveTarget(ProjectExplorer::ProjectConfiguration *pc) { m_project->setActiveTarget(static_cast(pc)); @@ -821,7 +1071,6 @@ void MiniProjectTargetSelector::updateProjectListVisible() m_titleWidgets[PROJECT]->setVisible(visible); updateSummary(); - updateSeparatorVisible(); } void MiniProjectTargetSelector::updateTargetListVisible() @@ -835,7 +1084,6 @@ void MiniProjectTargetSelector::updateTargetListVisible() m_listWidgets[TARGET]->setMaxCount(maxCount); m_titleWidgets[TARGET]->setVisible(visible); updateSummary(); - updateSeparatorVisible(); } void MiniProjectTargetSelector::updateBuildListVisible() @@ -850,7 +1098,6 @@ void MiniProjectTargetSelector::updateBuildListVisible() m_listWidgets[BUILD]->setMaxCount(maxCount); m_titleWidgets[BUILD]->setVisible(visible); updateSummary(); - updateSeparatorVisible(); } void MiniProjectTargetSelector::updateDeployListVisible() @@ -865,7 +1112,6 @@ void MiniProjectTargetSelector::updateDeployListVisible() m_listWidgets[DEPLOY]->setMaxCount(maxCount); m_titleWidgets[DEPLOY]->setVisible(visible); updateSummary(); - updateSeparatorVisible(); } void MiniProjectTargetSelector::updateRunListVisible() @@ -880,7 +1126,6 @@ void MiniProjectTargetSelector::updateRunListVisible() m_listWidgets[RUN]->setMaxCount(maxCount); m_titleWidgets[RUN]->setVisible(visible); updateSummary(); - updateSeparatorVisible(); } void MiniProjectTargetSelector::changeStartupProject(ProjectExplorer::Project *project) @@ -1039,28 +1284,12 @@ void MiniProjectTargetSelector::activeRunConfigurationChanged(ProjectExplorer::R updateActionAndSummary(); } -void MiniProjectTargetSelector::updateSeparatorVisible() -{ - QVector visibility; - visibility.resize(LAST); - visibility[PROJECT] = m_projectListWidget->isVisibleTo(this); - for (int i = TARGET; i < LAST; ++i) - visibility[i] = m_listWidgets[i]->isVisibleTo(this); - int lastVisible = visibility.lastIndexOf(true); - if (lastVisible != -1) - visibility[lastVisible] = false; - - for (int i = PROJECT; i < LAST; ++i) - m_separators[i]->setVisible(visibility[i]); -} - void MiniProjectTargetSelector::setVisible(bool visible) { + QWidget::setVisible(visible); + m_projectAction->setChecked(visible); if (visible) { - QStatusBar *statusBar = Core::ICore::statusBar(); - QPoint moveTo = statusBar->mapToGlobal(QPoint(0,0)); - moveTo -= QPoint(0, sizeHint().height()); - move(moveTo); + doLayout(false); if (!focusWidget() || !focusWidget()->isVisibleTo(this)) { // Does the second part actually work? if (m_projectListWidget->isVisibleTo(this)) m_projectListWidget->setFocus(); @@ -1072,9 +1301,6 @@ void MiniProjectTargetSelector::setVisible(bool visible) } } } - - QWidget::setVisible(visible); - m_projectAction->setChecked(visible); } void MiniProjectTargetSelector::toggleVisible() @@ -1125,21 +1351,6 @@ void MiniProjectTargetSelector::keyReleaseEvent(QKeyEvent *ke) QWidget::keyReleaseEvent(ke); } -QSize MiniProjectTargetSelector::sizeHint() const -{ - static QStatusBar *statusBar = Core::ICore::statusBar(); - static QWidget *actionBar = Core::ICore::mainWindow()->findChild(QLatin1String("actionbar")); - Q_ASSERT(actionBar); - - // At least the size of the actionbar - int alignedWithActionHeight - = actionBar->height() - statusBar->height(); - QSize s = QWidget::sizeHint(); - if (s.height() < alignedWithActionHeight) - s.setHeight(alignedWithActionHeight); - return s; -} - void MiniProjectTargetSelector::delayedHide() { QDateTime current = QDateTime::currentDateTime(); @@ -1221,29 +1432,6 @@ void MiniProjectTargetSelector::updateActionAndSummary() void MiniProjectTargetSelector::updateSummary() { - // Count the number of lines - int visibleLineCount = m_projectListWidget->isVisibleTo(this) ? 0 : 1; - for (int i = TARGET; i < LAST; ++i) - visibleLineCount += m_listWidgets[i]->isVisibleTo(this) ? 0 : 1; - - if (visibleLineCount == LAST) { - m_summaryLabel->setMinimumHeight(0); - m_summaryLabel->setMaximumHeight(800); - } else { - if (visibleLineCount < 3) { - foreach (Project *p, m_sessionManager->projects()) { - if (p->needsConfiguration()) { - visibleLineCount = 3; - break; - } - } - } - - int height = visibleLineCount * QFontMetrics(m_summaryLabel->font()).height() + m_summaryLabel->margin() *2; - m_summaryLabel->setMinimumHeight(height); - m_summaryLabel->setMaximumHeight(height); - } - QString summary; if (Project *startupProject = m_sessionManager->startupProject()) { if (!m_projectListWidget->isVisibleTo(this)) @@ -1283,6 +1471,8 @@ void MiniProjectTargetSelector::updateSummary() void MiniProjectTargetSelector::paintEvent(QPaintEvent *) { QPainter painter(this); + painter.setBrush(QBrush(QColor(160, 160, 160, 255))); + painter.drawRect(rect()); painter.setPen(Utils::StyleHelper::borderColor()); painter.drawLine(rect().topLeft(), rect().topRight()); painter.drawLine(rect().topRight(), rect().bottomRight()); diff --git a/src/plugins/projectexplorer/miniprojecttargetselector.h b/src/plugins/projectexplorer/miniprojecttargetselector.h index 381c6aead6c..680f3f0890c 100644 --- a/src/plugins/projectexplorer/miniprojecttargetselector.h +++ b/src/plugins/projectexplorer/miniprojecttargetselector.h @@ -58,13 +58,18 @@ class ListWidget : public QListWidget Q_OBJECT public: ListWidget(QWidget *parent); - QSize sizeHint() const; void keyPressEvent(QKeyEvent *event); void keyReleaseEvent(QKeyEvent *event); void setMaxCount(int maxCount); + int maxCount(); + int optimalWidth() const; + void setOptimalWidth(int width); + + int padding(); private: int m_maxCount; + int m_optimalWidth; }; class ProjectListWidget : public ListWidget @@ -115,7 +120,7 @@ public: void keyPressEvent(QKeyEvent *ke); void keyReleaseEvent(QKeyEvent *ke); - QSize sizeHint() const; + bool event(QEvent *event); public slots: void toggleVisible(); void nextOrShow(); @@ -163,10 +168,13 @@ private: void updateDeployListVisible(); void updateRunListVisible(); void updateSummary(); - void updateSeparatorVisible(); void paintEvent(QPaintEvent *); void mousePressEvent(QMouseEvent *); + void doLayout(bool keepSize); + QVector listWidgetWidths(int minSize, int maxSize); + QWidget *createTitleLabel(const QString &text); + QAction *m_projectAction; SessionManager *m_sessionManager; @@ -174,7 +182,6 @@ private: ProjectListWidget *m_projectListWidget; QVector m_listWidgets; QVector m_titleWidgets; - QVector m_separators; QLabel *m_summaryLabel; Project *m_project; From 203b03f823748d31c3a3d9dcce445cf27339bd59 Mon Sep 17 00:00:00 2001 From: Christian Stenger Date: Tue, 4 Sep 2012 15:11:08 +0200 Subject: [PATCH 32/36] Squish: Fix for missing scrollArea Change-Id: I5419b30b8dd0cc67af4d54a3bb89edd5368cb983 Reviewed-by: Robert Loehning --- tests/system/objects.map | 2 -- tests/system/shared/project.py | 6 ++++-- tests/system/suite_APTW/objects.map | 2 -- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/tests/system/objects.map b/tests/system/objects.map index 028ceba9e14..538e4e00d0b 100644 --- a/tests/system/objects.map +++ b/tests/system/objects.map @@ -71,8 +71,6 @@ :scrollArea.Edit build configuration:_QComboBox {leftWidget=':scrollArea.Edit build configuration:_QLabel' type='QComboBox' unnamed='1' visible='1'} :scrollArea.Edit build configuration:_QLabel {text='Edit build configuration:' type='QLabel' unnamed='1' visible='1'} :scrollArea.Library not available_QLabel {name='qmlDebuggingWarningText' text?='Library not available*' type='QLabel' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} -:scrollArea.Qt 4 for Desktop - (Qt SDK) debug_QCheckBox {container=':Qt Gui Application.scrollArea_QScrollArea' occurrence='1' text='Debug' type='QCheckBox' unnamed='1' visible='1'} -:scrollArea.Qt 4 for Desktop - (Qt SDK) release_QCheckBox {container=':Qt Gui Application.scrollArea_QScrollArea' occurrence='1' text='Release' type='QCheckBox' unnamed='1' visible='1'} :scrollArea.Use Shadow Building_QCheckBox {container=':Qt Gui Application.scrollArea_QScrollArea' text='Shadow build' type='QCheckBox' unnamed='1' visible='1'} :scrollArea.qmlDebuggingLibraryCheckBox_QCheckBox {name='qmlDebuggingLibraryCheckBox' type='QCheckBox' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} :scrollArea_QTableView {type='QTableView' unnamed='1' visible='1' window=':Qt Creator_Core::Internal::MainWindow'} diff --git a/tests/system/shared/project.py b/tests/system/shared/project.py index 8fc7177e9ce..9bce4e75633 100644 --- a/tests/system/shared/project.py +++ b/tests/system/shared/project.py @@ -112,8 +112,10 @@ def __createProjectSetNameAndPath__(path, projectName = None, checks = True): def __selectQtVersionDesktop__(checks, available=None): __chooseTargets__(QtQuickConstants.Targets.DESKTOP, available) if checks: - verifyChecked(":scrollArea.Qt 4 for Desktop - (Qt SDK) debug_QCheckBox") - verifyChecked(":scrollArea.Qt 4 for Desktop - (Qt SDK) release_QCheckBox") + cbObject = ("{type='QCheckBox' text='%s' unnamed='1' visible='1' " + "container={type='Utils::DetailsWidget' visible='1' unnamed='1'}}") + verifyChecked(cbObject % "Debug") + verifyChecked(cbObject % "Release") clickButton(waitForObject(":Next_QPushButton")) def __createProjectHandleLastPage__(expectedFiles = None): diff --git a/tests/system/suite_APTW/objects.map b/tests/system/suite_APTW/objects.map index 1eba3dab36d..be982b486c6 100644 --- a/tests/system/suite_APTW/objects.map +++ b/tests/system/suite_APTW/objects.map @@ -21,7 +21,5 @@ :scrollArea.Create Build Configurations:_QLabel_2 {container=':Qt Gui Application.scrollArea_QScrollArea' text='Create build configurations:' type='QLabel' unnamed='1' visible='1'} :scrollArea.Edit build configuration:_QComboBox {leftWidget=':scrollArea.Edit build configuration:_QLabel' type='QComboBox' unnamed='1' visible='1'} :scrollArea.Edit build configuration:_QLabel {text='Edit build configuration:' type='QLabel' unnamed='1' visible='1'} -:scrollArea.Qt 4 for Desktop - (Qt SDK) debug_QCheckBox {container=':Qt Gui Application.scrollArea_QScrollArea' occurence='1' text='Debug' type='QCheckBox' unnamed='1' visible='1'} -:scrollArea.Qt 4 for Desktop - (Qt SDK) release_QCheckBox {container=':Qt Gui Application.scrollArea_QScrollArea' occurence='1' text='Release' type='QCheckBox' unnamed='1' visible='1'} :scrollArea.Use Shadow Building_QCheckBox {container=':Qt Gui Application.scrollArea_QScrollArea' text='Shadow build' type='QCheckBox' unnamed='1' visible='1'} :sourceFileLineEdit_Utils::FileNameValidatingLineEdit {buddy=':Qt Gui Application.Source file:_QLabel' name='sourceFileLineEdit' type='Utils::FileNameValidatingLineEdit' visible='1'} From 371e6f59bc26b9c1fcbd54671c7c49b05dcb81a2 Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Tue, 4 Sep 2012 15:27:10 +0200 Subject: [PATCH 33/36] Rename some more profiles to kit Change-Id: I898e7d4dec9b4de2c6f244f7b41ce71c82a4eee0 Reviewed-by: Eike Ziller --- .../projectexplorer/projectexplorer.cpp | 6 +- .../projectexplorerconstants.h | 2 +- .../projectexplorer/settingsaccessor.cpp | 150 +++++++++--------- src/plugins/projectexplorer/target.cpp | 24 +-- .../customwidgetwizarddialog.cpp | 2 +- .../qt4targetsetupwidget.cpp | 2 +- .../qt4projectmanager/qt4targetsetupwidget.h | 2 +- .../wizards/abstractmobileappwizard.cpp | 4 +- .../wizards/consoleappwizarddialog.cpp | 2 +- .../wizards/emptyprojectwizarddialog.cpp | 2 +- .../wizards/guiappwizarddialog.cpp | 2 +- .../wizards/librarywizarddialog.cpp | 2 +- .../qt4projectmanager/wizards/qtwizard.cpp | 8 +- .../wizards/subdirsprojectwizard.cpp | 2 +- .../wizards/subdirsprojectwizarddialog.cpp | 2 +- .../wizards/targetsetuppage.cpp | 81 +++++----- .../wizards/targetsetuppage.h | 6 +- .../wizards/testwizarddialog.cpp | 2 +- 18 files changed, 151 insertions(+), 150 deletions(-) diff --git a/src/plugins/projectexplorer/projectexplorer.cpp b/src/plugins/projectexplorer/projectexplorer.cpp index 611c710954e..bfffc7b536c 100644 --- a/src/plugins/projectexplorer/projectexplorer.cpp +++ b/src/plugins/projectexplorer/projectexplorer.cpp @@ -1102,7 +1102,7 @@ void ProjectExplorerPlugin::extensionsInitialized() } d->m_buildManager->extensionsInitialized(); - // Register ProfileInformation: + // Register KitInformation: // Only do this now to make sure all device factories were properly initialized. KitManager::instance()->registerKitInformation(new SysRootKitInformation); KitManager::instance()->registerKitInformation(new DeviceKitInformation); @@ -2594,7 +2594,7 @@ void ProjectExplorerPlugin::addNewFile() QList profileIds; foreach (Target *target, d->m_currentProject->targets()) profileIds << target->id(); - map.insert(QLatin1String(Constants::PROJECT_PROFILE_IDS), QVariant::fromValue(profileIds)); + map.insert(QLatin1String(Constants::PROJECT_KIT_IDS), QVariant::fromValue(profileIds)); } Core::ICore::showNewItemDialog(tr("New File", "Title of dialog"), Core::IWizard::wizardsOfKind(Core::IWizard::FileWizard) @@ -2616,7 +2616,7 @@ void ProjectExplorerPlugin::addNewSubproject() QList profileIds; foreach (Target *target, d->m_currentProject->targets()) profileIds << target->id(); - map.insert(QLatin1String(Constants::PROJECT_PROFILE_IDS), QVariant::fromValue(profileIds)); + map.insert(QLatin1String(Constants::PROJECT_KIT_IDS), QVariant::fromValue(profileIds)); } Core::ICore::showNewItemDialog(tr("New Subproject", "Title of dialog"), diff --git a/src/plugins/projectexplorer/projectexplorerconstants.h b/src/plugins/projectexplorer/projectexplorerconstants.h index 3d1082be8bf..087a82010c2 100644 --- a/src/plugins/projectexplorer/projectexplorerconstants.h +++ b/src/plugins/projectexplorer/projectexplorerconstants.h @@ -208,7 +208,7 @@ const char IMPORT_WIZARD_CATEGORY_DISPLAY[] = QT_TRANSLATE_NOOP("ProjectExplorer // Wizard extra values const char PREFERED_PROJECT_NODE[] = "ProjectExplorer.PreferedProjectNode"; -const char PROJECT_PROFILE_IDS[] = "ProjectExplorer.Profile.Ids"; +const char PROJECT_KIT_IDS[] = "ProjectExplorer.Profile.Ids"; // Build step lists ids: const char BUILDSTEPS_CLEAN[] = "ProjectExplorer.BuildSteps.Clean"; diff --git a/src/plugins/projectexplorer/settingsaccessor.cpp b/src/plugins/projectexplorer/settingsaccessor.cpp index 370cf1a9248..73d82bba70e 100644 --- a/src/plugins/projectexplorer/settingsaccessor.cpp +++ b/src/plugins/projectexplorer/settingsaccessor.cpp @@ -361,10 +361,10 @@ public: QVariantMap update(Project *project, const QVariantMap &map); private: - Kit *uniqueProfile(Kit *p); - void addBuildConfiguration(Kit *p, const QVariantMap &bc, int bcPos, int bcCount); - void addDeployConfiguration(Kit *p, const QVariantMap &dc, int dcPos, int dcActive); - void addRunConfigurations(Kit *p, + Kit *uniqueKit(Kit *k); + void addBuildConfiguration(Kit *k, const QVariantMap &bc, int bcPos, int bcCount); + void addDeployConfiguration(Kit *k, const QVariantMap &dc, int dcPos, int dcActive); + void addRunConfigurations(Kit *k, const QMap &rcs, int activeRc, const QString &projectDir); void parseQtversionFile(); @@ -2228,10 +2228,10 @@ Version11Handler::~Version11Handler() KitManager *pm = KitManager::instance(); if (!pm) // Can happen during teardown! return; - QList knownProfiles = pm->kits(); - foreach (Kit *p, m_targets.keys()) { - if (!knownProfiles.contains(p)) - delete p; + QList knownKits = pm->kits(); + foreach (Kit *k, m_targets.keys()) { + if (!knownKits.contains(k)) + delete k; } m_targets.clear(); } @@ -2249,8 +2249,8 @@ QVariantMap Version11Handler::update(Project *project, const QVariantMap &map) QVariantMap result; KitManager *pm = KitManager::instance(); - foreach (Kit *p, pm->kits()) - m_targets.insert(p, QVariantMap()); + foreach (Kit *k, pm->kits()) + m_targets.insert(k, QVariantMap()); QMapIterator globalIt(map); int activeTarget = map.value(QLatin1String("ProjectExplorer.Project.ActiveTarget"), 0).toInt(); @@ -2317,46 +2317,46 @@ QVariantMap Version11Handler::update(Project *project, const QVariantMap &map) const QString oldTargetId = extraTargetData.value(QLatin1String("ProjectExplorer.ProjectConfiguration.Id")).toString(); // Check each BCs/DCs and create profiles as needed - static Kit rawProfile; // Do not needlessly use Core::Ids + static Kit rawKit; // Do not needlessly use Core::Ids QMapIterator buildIt(bcs); while (buildIt.hasNext()) { buildIt.next(); int bcPos = buildIt.key(); const QVariantMap &bc = buildIt.value(); - Kit *tmpProfile = &rawProfile; + Kit *tmpKit = &rawKit; if (oldTargetId == QLatin1String("Qt4ProjectManager.Target.AndroidDeviceTarget")) { - tmpProfile->setIconPath(QLatin1String(":/android/images/QtAndroid.png")); - tmpProfile->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("Desktop")); - tmpProfile->setValue(Core::Id("PE.Profile.Device"), QString()); + tmpKit->setIconPath(QLatin1String(":/android/images/QtAndroid.png")); + tmpKit->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("Desktop")); + tmpKit->setValue(Core::Id("PE.Profile.Device"), QString()); } else if (oldTargetId == QLatin1String("RemoteLinux.EmbeddedLinuxTarget")) { - tmpProfile->setIconPath(QLatin1String(":///DESKTOP///")); - tmpProfile->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("GenericLinuxOsType")); - tmpProfile->setValue(Core::Id("PE.Profile.Device"), QString()); + tmpKit->setIconPath(QLatin1String(":///DESKTOP///")); + tmpKit->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("GenericLinuxOsType")); + tmpKit->setValue(Core::Id("PE.Profile.Device"), QString()); } else if (oldTargetId == QLatin1String("Qt4ProjectManager.Target.HarmattanDeviceTarget")) { - tmpProfile->setIconPath(QLatin1String(":/projectexplorer/images/MaemoDevice.png")); - tmpProfile->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("HarmattanOsType")); - tmpProfile->setValue(Core::Id("PE.Profile.Device"), QString()); + tmpKit->setIconPath(QLatin1String(":/projectexplorer/images/MaemoDevice.png")); + tmpKit->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("HarmattanOsType")); + tmpKit->setValue(Core::Id("PE.Profile.Device"), QString()); } else if (oldTargetId == QLatin1String("Qt4ProjectManager.Target.MaemoDeviceTarget")) { - tmpProfile->setIconPath(QLatin1String(":/projectexplorer/images/MaemoDevice.png")); - tmpProfile->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("Maemo5OsType")); - tmpProfile->setValue(Core::Id("PE.Profile.Device"), QString()); + tmpKit->setIconPath(QLatin1String(":/projectexplorer/images/MaemoDevice.png")); + tmpKit->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("Maemo5OsType")); + tmpKit->setValue(Core::Id("PE.Profile.Device"), QString()); } else if (oldTargetId == QLatin1String("Qt4ProjectManager.Target.MeegoDeviceTarget")) { - tmpProfile->setIconPath(QLatin1String(":/projectexplorer/images/MaemoDevice.png")); - tmpProfile->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("MeegoOsType")); - tmpProfile->setValue(Core::Id("PE.Profile.Device"), QString()); + tmpKit->setIconPath(QLatin1String(":/projectexplorer/images/MaemoDevice.png")); + tmpKit->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("MeegoOsType")); + tmpKit->setValue(Core::Id("PE.Profile.Device"), QString()); } else if (oldTargetId == QLatin1String("Qt4ProjectManager.Target.S60DeviceTarget")) { - tmpProfile->setIconPath(QLatin1String(":/projectexplorer/images/SymbianDevice.png")); - tmpProfile->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("Qt4ProjectManager.SymbianDevice")); - tmpProfile->setValue(Core::Id("PE.Profile.Device"), QString::fromLatin1("Symbian Device")); + tmpKit->setIconPath(QLatin1String(":/projectexplorer/images/SymbianDevice.png")); + tmpKit->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("Qt4ProjectManager.SymbianDevice")); + tmpKit->setValue(Core::Id("PE.Profile.Device"), QString::fromLatin1("Symbian Device")); } else if (oldTargetId == QLatin1String("Qt4ProjectManager.Target.QtSimulatorTarget")) { - tmpProfile->setIconPath(QLatin1String(":/projectexplorer/images/Simulator.png")); - tmpProfile->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("Desktop")); - tmpProfile->setValue(Core::Id("PE.Profile.Device"), QString::fromLatin1("Desktop Device")); + tmpKit->setIconPath(QLatin1String(":/projectexplorer/images/Simulator.png")); + tmpKit->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("Desktop")); + tmpKit->setValue(Core::Id("PE.Profile.Device"), QString::fromLatin1("Desktop Device")); } else { - tmpProfile->setIconPath(QLatin1String(":///DESKTOP///")); - tmpProfile->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("Desktop")); - tmpProfile->setValue(Core::Id("PE.Profile.Device"), QString::fromLatin1("Desktop Device")); + tmpKit->setIconPath(QLatin1String(":///DESKTOP///")); + tmpKit->setValue(Core::Id("PE.Profile.DeviceType"), QString::fromLatin1("Desktop")); + tmpKit->setValue(Core::Id("PE.Profile.Device"), QString::fromLatin1("Desktop Device")); } // Tool chain @@ -2366,11 +2366,11 @@ QVariantMap Version11Handler::update(Project *project, const QVariantMap &map) const QString origTcId = tcId; tcId.replace(QLatin1String("Qt4ProjectManager.ToolChain.Maemo:"), QLatin1String("ProjectExplorer.ToolChain.Gcc:")); // convert Maemo to GCC - tmpProfile->setValue(Core::Id("PE.Profile.ToolChain"), tcId); + tmpKit->setValue(Core::Id("PE.Profile.ToolChain"), tcId); // QtVersion int qtVersionId = bc.value(QLatin1String("Qt4ProjectManager.Qt4BuildConfiguration.QtVersionId"), -1).toInt(); - tmpProfile->setValue(Core::Id("QtSupport.QtInformation"), qtVersionId); + tmpKit->setValue(Core::Id("QtSupport.QtInformation"), qtVersionId); // Debugger + mkspec QString debugger; @@ -2382,11 +2382,11 @@ QVariantMap Version11Handler::update(Project *project, const QVariantMap &map) debugger = env.searchInPath(debugger); mkspec = m_toolChainExtras.value(origTcId).m_mkspec; } - tmpProfile->setValue(Core::Id("Debugger.Information"), debugger); - tmpProfile->setValue(Core::Id("QtPM4.mkSpecInformation"), mkspec); + tmpKit->setValue(Core::Id("Debugger.Information"), debugger); + tmpKit->setValue(Core::Id("QtPM4.mkSpecInformation"), mkspec); // SysRoot - tmpProfile->setValue(Core::Id("PE.Profile.SysRoot"), m_qtVersionExtras.value(qtVersionId)); + tmpKit->setValue(Core::Id("PE.Profile.SysRoot"), m_qtVersionExtras.value(qtVersionId)); QMapIterator deployIt(dcs); while (deployIt.hasNext()) { @@ -2399,35 +2399,35 @@ QVariantMap Version11Handler::update(Project *project, const QVariantMap &map) devId = QByteArray("Desktop Device"); if (!devId.isEmpty() && !DeviceManager::instance()->find(Core::Id(devId))) // We do not know that device devId.clear(); - tmpProfile->setValue(Core::Id("PE.Profile.Device"), devId); + tmpKit->setValue(Core::Id("PE.Profile.Device"), devId); // Set display name last: - tmpProfile->setDisplayName(extraTargetData.value(QLatin1String("ProjectExplorer.ProjectConfiguration.DisplayName")).toString()); + tmpKit->setDisplayName(extraTargetData.value(QLatin1String("ProjectExplorer.ProjectConfiguration.DisplayName")).toString()); - Kit *p = uniqueProfile(tmpProfile); + Kit *k = uniqueKit(tmpKit); - addBuildConfiguration(p, bc, bcPos, activeBc); - addDeployConfiguration(p, dc, dcPos, activeDc); - addRunConfigurations(p, rcs, activeRc, project->projectDirectory()); + addBuildConfiguration(k, bc, bcPos, activeBc); + addDeployConfiguration(k, dc, dcPos, activeDc); + addRunConfigurations(k, rcs, activeRc, project->projectDirectory()); if (targetPos == activeTarget && bcPos == activeBc && dcPos == activeDc) - m_targets[p].insert(QLatin1String("Update.IsActive"), true); + m_targets[k].insert(QLatin1String("Update.IsActive"), true); } // dcs } // bcs } // read in map data int newPos = 0; // Generate new target data: - foreach (Kit *p, m_targets.keys()) { - QVariantMap data = m_targets.value(p); + foreach (Kit *k, m_targets.keys()) { + QVariantMap data = m_targets.value(k); if (data.isEmpty()) continue; - pm->registerKit(p); + pm->registerKit(k); - data.insert(QLatin1String("ProjectExplorer.ProjectConfiguration.Id"), p->id().name()); - data.insert(QLatin1String("ProjectExplorer.Target.Profile"), p->id().name()); - data.insert(QLatin1String("ProjectExplorer.ProjectConfiguration.DisplayName"), p->displayName()); - data.insert(QLatin1String("ProjectExplorer.ProjectConfiguration.DefaultDisplayName"), p->displayName()); + data.insert(QLatin1String("ProjectExplorer.ProjectConfiguration.Id"), k->id().name()); + data.insert(QLatin1String("ProjectExplorer.Target.Profile"), k->id().name()); + data.insert(QLatin1String("ProjectExplorer.ProjectConfiguration.DisplayName"), k->displayName()); + data.insert(QLatin1String("ProjectExplorer.ProjectConfiguration.DefaultDisplayName"), k->displayName()); result.insert(QString::fromLatin1("ProjectExplorer.Project.Target.") + QString::number(newPos), data); if (data.value(QLatin1String("Update.IsActive"), false).toBool()) @@ -2439,15 +2439,15 @@ QVariantMap Version11Handler::update(Project *project, const QVariantMap &map) return result; } -Kit *Version11Handler::uniqueProfile(Kit *p) +Kit *Version11Handler::uniqueKit(Kit *k) { - const QString tc = p->value(Core::Id("PE.Profile.ToolChain")).toString(); - const int qt = p->value(Core::Id("QtSupport.QtInformation")).toInt(); - const QString debugger = p->value(Core::Id("Debugger.Information")).toString(); - const QString mkspec = p->value(Core::Id("QtPM4.mkSpecInformation")).toString(); - const QString deviceType = p->value(Core::Id("PE.Profile.DeviceType")).toString(); - const QString device = p->value(Core::Id("PE.Profile.Device")).toString(); - const QString sysroot = p->value(Core::Id("PE.Profile.SysRoot")).toString(); + const QString tc = k->value(Core::Id("PE.Profile.ToolChain")).toString(); + const int qt = k->value(Core::Id("QtSupport.QtInformation")).toInt(); + const QString debugger = k->value(Core::Id("Debugger.Information")).toString(); + const QString mkspec = k->value(Core::Id("QtPM4.mkSpecInformation")).toString(); + const QString deviceType = k->value(Core::Id("PE.Profile.DeviceType")).toString(); + const QString device = k->value(Core::Id("PE.Profile.Device")).toString(); + const QString sysroot = k->value(Core::Id("PE.Profile.SysRoot")).toString(); foreach (Kit *i, m_targets.keys()) { const QString currentTc = i->value(Core::Id("PE.Profile.ToolChain")).toString(); @@ -2469,12 +2469,12 @@ Kit *Version11Handler::uniqueProfile(Kit *p) if (deviceTypeOk && deviceOk && tcOk && qtOk && debuggerOk && mkspecOk && sysrootOk) return i; } - return p->clone(true); + return k->clone(true); } -void Version11Handler::addBuildConfiguration(Kit *p, const QVariantMap &bc, int bcPos, int bcActive) +void Version11Handler::addBuildConfiguration(Kit *k, const QVariantMap &bc, int bcPos, int bcActive) { - QVariantMap merged = m_targets.value(p); + QVariantMap merged = m_targets.value(k); int internalCount = merged.value(QLatin1String("ProjectExplorer.Target.BuildConfigurationCount"), 0).toInt(); for (int i = 0; i < internalCount; ++i) { @@ -2490,12 +2490,12 @@ void Version11Handler::addBuildConfiguration(Kit *p, const QVariantMap &bc, int merged.insert(QLatin1String("ProjectExplorer.Target.ActiveBuildConfiguration"), internalCount); merged.insert(QLatin1String("ProjectExplorer.Target.BuildConfigurationCount"), internalCount + 1); - m_targets.insert(p, merged); + m_targets.insert(k, merged); } -void Version11Handler::addDeployConfiguration(Kit *p, const QVariantMap &dc, int dcPos, int dcActive) +void Version11Handler::addDeployConfiguration(Kit *k, const QVariantMap &dc, int dcPos, int dcActive) { - QVariantMap merged = m_targets.value(p); + QVariantMap merged = m_targets.value(k); int internalCount = merged.value(QLatin1String("ProjectExplorer.Target.DeployConfigurationCount"), 0).toInt(); for (int i = 0; i < internalCount; ++i) { @@ -2511,14 +2511,14 @@ void Version11Handler::addDeployConfiguration(Kit *p, const QVariantMap &dc, int merged.insert(QLatin1String("ProjectExplorer.Target.ActiveDeployConfiguration"), internalCount); merged.insert(QLatin1String("ProjectExplorer.Target.DeployConfigurationCount"), internalCount + 1); - m_targets.insert(p, merged); + m_targets.insert(k, merged); } -void Version11Handler::addRunConfigurations(Kit *p, - const QMap &rcs, int activeRc, - const QString &projectDir) +void Version11Handler::addRunConfigurations(Kit *k, + const QMap &rcs, int activeRc, + const QString &projectDir) { - QVariantMap data = m_targets.value(p); + QVariantMap data = m_targets.value(k); data.insert(QLatin1String("ProjectExplorer.Target.RunConfigurationCount"), rcs.count()); QMapIterator runIt(rcs); while (runIt.hasNext()) { @@ -2539,7 +2539,7 @@ void Version11Handler::addRunConfigurations(Kit *p, } data.insert(QLatin1String("ProjectExplorer.Target.ActiveRunConfiguration"), activeRc); - m_targets.insert(p, data); + m_targets.insert(k, data); } static QString targetRoot(const QString &qmakePath) diff --git a/src/plugins/projectexplorer/target.cpp b/src/plugins/projectexplorer/target.cpp index f8861c197a2..7a6f9d720fe 100644 --- a/src/plugins/projectexplorer/target.cpp +++ b/src/plugins/projectexplorer/target.cpp @@ -99,7 +99,7 @@ public: QPixmap m_readyToUsePixmap; QPixmap m_disconnectedPixmap; - Kit *m_profile; + Kit *m_kit; }; TargetPrivate::TargetPrivate() : @@ -110,7 +110,7 @@ TargetPrivate::TargetPrivate() : m_connectedPixmap(QLatin1String(":/projectexplorer/images/DeviceConnected.png")), m_readyToUsePixmap(QLatin1String(":/projectexplorer/images/DeviceReadyToUse.png")), m_disconnectedPixmap(QLatin1String(":/projectexplorer/images/DeviceDisconnected.png")), - m_profile(0) + m_kit(0) { } @@ -125,10 +125,10 @@ Target::Target(Project *project, Kit *p) : { connect(DeviceManager::instance(), SIGNAL(updated()), this, SLOT(updateDeviceState())); - d->m_profile = p; + d->m_kit = p; - setDisplayName(d->m_profile->displayName()); - setIcon(d->m_profile->icon()); + setDisplayName(d->m_kit->displayName()); + setIcon(d->m_kit->icon()); KitManager *pm = KitManager::instance(); connect(pm, SIGNAL(kitUpdated(ProjectExplorer::Kit*)), @@ -182,7 +182,7 @@ void Target::onBuildDirectoryChanged() void Target::handleKitUpdates(Kit *p) { - if (p != d->m_profile) + if (p != d->m_kit) return; setDisplayName(p->displayName()); @@ -193,9 +193,9 @@ void Target::handleKitUpdates(Kit *p) void Target::handleKitRemoval(Kit *p) { - if (p != d->m_profile) + if (p != d->m_kit) return; - d->m_profile = 0; + d->m_kit = 0; project()->removeTarget(this); } @@ -206,7 +206,7 @@ Project *Target::project() const Kit *Target::kit() const { - return d->m_profile; + return d->m_kit; } void Target::addBuildConfiguration(BuildConfiguration *configuration) @@ -488,7 +488,7 @@ void Target::setToolTip(const QString &text) QVariantMap Target::toMap() const { - if (!d->m_profile) // Profile was deleted, target is only around to be copied. + if (!d->m_kit) // Kit was deleted, target is only around to be copied. return QVariantMap(); QVariantMap map(ProjectConfiguration::toMap()); @@ -728,8 +728,8 @@ bool Target::fromMap(const QVariantMap &map) if (!ProjectConfiguration::fromMap(map)) return false; - d->m_profile = KitManager::instance()->find(id()); - if (!d->m_profile) + d->m_kit = KitManager::instance()->find(id()); + if (!d->m_kit) return false; bool ok; diff --git a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp index bdec01bca44..ec88db3e1ac 100644 --- a/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/customwidgetwizard/customwidgetwizarddialog.cpp @@ -80,7 +80,7 @@ CustomWidgetWizardDialog::CustomWidgetWizardDialog(const QString &templateName, setIntroDescription(tr("This wizard generates a Qt4 Designer Custom Widget " "or a Qt4 Designer Custom Widget Collection project.")); - if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_PROFILE_IDS)) + if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_KIT_IDS)) addTargetSetupPage(); m_widgetPageId = addPage(m_widgetsPage); m_pluginPageId = addPage(m_pluginPage); diff --git a/src/plugins/qt4projectmanager/qt4targetsetupwidget.cpp b/src/plugins/qt4projectmanager/qt4targetsetupwidget.cpp index 0b23a0a20d4..46e505eb223 100644 --- a/src/plugins/qt4projectmanager/qt4targetsetupwidget.cpp +++ b/src/plugins/qt4projectmanager/qt4targetsetupwidget.cpp @@ -124,7 +124,7 @@ ProjectExplorer::Kit *Qt4TargetSetupWidget::profile() return m_kit; } -void Qt4TargetSetupWidget::clearProfile() +void Qt4TargetSetupWidget::clearKit() { m_kit = 0; } diff --git a/src/plugins/qt4projectmanager/qt4targetsetupwidget.h b/src/plugins/qt4projectmanager/qt4targetsetupwidget.h index de82a1d1f14..f4ede628573 100644 --- a/src/plugins/qt4projectmanager/qt4targetsetupwidget.h +++ b/src/plugins/qt4projectmanager/qt4targetsetupwidget.h @@ -68,7 +68,7 @@ public: ~Qt4TargetSetupWidget(); ProjectExplorer::Kit *profile(); - void clearProfile(); + void clearKit(); bool isKitSelected() const; void setKitSelected(bool b); diff --git a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp index 98a92901528..a5d2250cc9a 100644 --- a/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/abstractmobileappwizard.cpp @@ -64,9 +64,9 @@ AbstractMobileAppWizardDialog::AbstractMobileAppWizardDialog(QWidget *parent, , m_genericItem(0) , m_maemoItem(0) , m_harmattanItem(0) - , m_kitIds(parameters.extraValues().value(ProjectExplorer::Constants::PROJECT_PROFILE_IDS).value >()) + , m_kitIds(parameters.extraValues().value(ProjectExplorer::Constants::PROJECT_KIT_IDS).value >()) { - if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_PROFILE_IDS)) { + if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_KIT_IDS)) { m_targetsPage = new TargetSetupPage; m_targetsPage->setPreferredKitMatcher(new QtSupport::QtPlatformKitMatcher(selectedPlatform())); m_targetsPage->setRequiredKitMatcher(new QtSupport::QtVersionKitMatcher(requiredFeatures(), diff --git a/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.cpp index 47a0137e687..333cf8ce72b 100644 --- a/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/consoleappwizarddialog.cpp @@ -54,7 +54,7 @@ ConsoleAppWizardDialog::ConsoleAppWizardDialog(const QString &templateName, "provide a GUI.")); addModulesPage(); - if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_PROFILE_IDS)) + if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_KIT_IDS)) addTargetSetupPage(); addExtensionPages(parameters.extensionPages()); diff --git a/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.cpp index a6d69d7d784..91f70b4ddae 100644 --- a/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/emptyprojectwizarddialog.cpp @@ -46,7 +46,7 @@ EmptyProjectWizardDialog::EmptyProjectWizardDialog(const QString &templateName, setIntroDescription(tr("This wizard generates an empty Qt4 project. " "Add files to it later on by using the other wizards.")); - if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_PROFILE_IDS)) + if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_KIT_IDS)) addTargetSetupPage(); addExtensionPages(parameters.extensionPages()); diff --git a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp index 3a92ce9ebc1..b05c9e7d700 100644 --- a/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/guiappwizarddialog.cpp @@ -65,7 +65,7 @@ GuiAppWizardDialog::GuiAppWizardDialog(const QString &templateName, "and includes an empty widget.")); addModulesPage(); - if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_PROFILE_IDS)) + if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_KIT_IDS)) addTargetSetupPage(isMobile); m_filesPage->setFormInputCheckable(true); diff --git a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp index 15ba5592ad0..cd84395ec24 100644 --- a/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/librarywizarddialog.cpp @@ -153,7 +153,7 @@ LibraryWizardDialog::LibraryWizardDialog(const QString &templateName, // Use the intro page instead, set up initially setIntroDescription(tr("This wizard generates a C++ library project.")); - if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_PROFILE_IDS)) { + if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_KIT_IDS)) { m_targetPageId = addTargetSetupPage(); m_mobilePageId = addPage(m_mobilePage); } diff --git a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp index 82bc890f458..0103a614169 100644 --- a/src/plugins/qt4projectmanager/wizards/qtwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/qtwizard.cpp @@ -169,7 +169,7 @@ CustomQt4ProjectWizard::CustomQt4ProjectWizard(const Core::BaseFileWizardParamet { BaseQt4ProjectWizardDialog *wizard = new BaseQt4ProjectWizardDialog(false, parent, wizardDialogParameters); - if (!wizardDialogParameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_PROFILE_IDS)) + if (!wizardDialogParameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_KIT_IDS)) wizard->addTargetSetupPage(false, targetPageId); initProjectWizardDialog(wizard, wizardDialogParameters.defaultPath(), @@ -193,7 +193,7 @@ BaseQt4ProjectWizardDialog::BaseQt4ProjectWizardDialog(bool showModulesPage, QWi ProjectExplorer::BaseProjectWizardDialog(parent, parameters), m_modulesPage(0), m_targetSetupPage(0), - m_profileIds(parameters.extraValues().value(ProjectExplorer::Constants::PROJECT_PROFILE_IDS).value >()) + m_profileIds(parameters.extraValues().value(ProjectExplorer::Constants::PROJECT_KIT_IDS).value >()) { init(showModulesPage); } @@ -205,7 +205,7 @@ BaseQt4ProjectWizardDialog::BaseQt4ProjectWizardDialog(bool showModulesPage, ProjectExplorer::BaseProjectWizardDialog(introPage, introId, parent, parameters), m_modulesPage(0), m_targetSetupPage(0), - m_profileIds(parameters.extraValues().value(ProjectExplorer::Constants::PROJECT_PROFILE_IDS).value >()) + m_profileIds(parameters.extraValues().value(ProjectExplorer::Constants::PROJECT_KIT_IDS).value >()) { init(showModulesPage); } @@ -258,7 +258,7 @@ int BaseQt4ProjectWizardDialog::addTargetSetupPage(bool mobile, int id) setPage(id, m_targetSetupPage); else id = addPage(m_targetSetupPage); - wizardProgress()->item(id)->setTitle(tr("Targets")); + wizardProgress()->item(id)->setTitle(tr("Kits")); return id; } diff --git a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp index cc59f94940c..4856a717844 100644 --- a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp +++ b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizard.cpp @@ -86,7 +86,7 @@ bool SubdirsProjectWizard::postGenerateFiles(const QWizard *w, const Core::Gener const QString profileName = Core::BaseFileWizard::buildFileName(projectPath, params.fileName, profileSuffix()); QVariantMap map; map.insert(QLatin1String(ProjectExplorer::Constants::PREFERED_PROJECT_NODE), profileName); - map.insert(QLatin1String(ProjectExplorer::Constants::PROJECT_PROFILE_IDS), QVariant::fromValue(wizard->selectedKits())); + map.insert(QLatin1String(ProjectExplorer::Constants::PROJECT_KIT_IDS), QVariant::fromValue(wizard->selectedKits())); Core::ICore::showNewItemDialog(tr("New Subproject", "Title of dialog"), Core::IWizard::wizardsOfKind(Core::IWizard::ProjectWizard), wizard->parameters().projectPath(), diff --git a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.cpp index ce2d267e56e..e8a97de2c40 100644 --- a/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/subdirsprojectwizarddialog.cpp @@ -47,7 +47,7 @@ SubdirsProjectWizardDialog::SubdirsProjectWizardDialog(const QString &templateNa setIntroDescription(tr("This wizard generates a Qt4 subdirs project. " "Add subprojects to it later on by using the other wizards.")); - if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_PROFILE_IDS)) + if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_KIT_IDS)) addTargetSetupPage(); addExtensionPages(parameters.extensionPages()); diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp index f71acbb703c..52af4b325f1 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp @@ -62,7 +62,7 @@ namespace Qt4ProjectManager { namespace Internal { static const Core::Id QT_IS_TEMPORARY("Qt4PM.TempQt"); -static const Core::Id PROFILE_IS_TEMPORARY("Qt4PM.TempProfile"); +static const Core::Id KIT_IS_TEMPORARY("Qt4PM.TempKit"); static const Core::Id TEMPORARY_OF_PROJECTS("Qt4PM.TempProject"); class TargetSetupPageUi @@ -80,7 +80,7 @@ public: descriptionLabel = new QLabel(setupTargetPage); descriptionLabel->setWordWrap(true); descriptionLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); - descriptionLabel->setText(TargetSetupPage::tr("Qt Creator can set up the following targets:")); + descriptionLabel->setText(TargetSetupPage::tr("Qt Creator can use the following kits:")); #ifdef Q_OS_MAC QString hint = TargetSetupPage::tr( @@ -98,10 +98,10 @@ public: " or via the maintenance tool of the SDK.

"); #endif - QLabel *noValidProfileLabel = new QLabel(setupTargetPage); - noValidProfileLabel->setWordWrap(true); - noValidProfileLabel->setText(hint); - noValidProfileLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); + QLabel *noValidKitLabel = new QLabel(setupTargetPage); + noValidKitLabel->setWordWrap(true); + noValidKitLabel->setText(hint); + noValidKitLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); centralWidget = new QWidget(setupTargetPage); QSizePolicy policy(QSizePolicy::Preferred, QSizePolicy::Fixed); @@ -126,7 +126,7 @@ public: QVBoxLayout *verticalLayout_2 = new QVBoxLayout(setupTargetPage); verticalLayout_2->addWidget(descriptionLabel); - verticalLayout_2->addWidget(noValidProfileLabel); + verticalLayout_2->addWidget(noValidKitLabel); verticalLayout_2->addWidget(centralWidget); verticalLayout_2->addWidget(scrollAreaWidget); @@ -134,7 +134,7 @@ public: verticalLayout_3->setContentsMargins(0, 0, 0, -1); verticalLayout_3->addWidget(setupTargetPage); - QObject::connect(noValidProfileLabel, SIGNAL(linkActivated(QString)), + QObject::connect(noValidKitLabel, SIGNAL(linkActivated(QString)), q, SIGNAL(noteTextLinkActivated())); QObject::connect(descriptionLabel, SIGNAL(linkActivated(QString)), q, SIGNAL(noteTextLinkActivated())); @@ -158,7 +158,7 @@ TargetSetupPage::TargetSetupPage(QWidget *parent) : m_spacer(new QSpacerItem(0,0, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding)) { setObjectName(QLatin1String("TargetSetupPage")); - setWindowTitle(tr("Set up Targets for Your Project")); + setWindowTitle(tr("Select Kits for Your Project")); m_ui->setupUi(this); QSizePolicy policy(QSizePolicy::Preferred, QSizePolicy::Preferred); @@ -176,7 +176,7 @@ TargetSetupPage::TargetSetupPage(QWidget *parent) : setUseScrollArea(true); setImportSearch(false); - setTitle(tr("Target Setup")); + setTitle(tr("Kit Selection")); ProjectExplorer::KitManager *km = ProjectExplorer::KitManager::instance(); connect(km, SIGNAL(kitAdded(ProjectExplorer::Kit*)), @@ -195,7 +195,7 @@ void TargetSetupPage::initializePage() setupWidgets(); setupImports(); - selectAtLeastOneTarget(); + selectAtLeastOneKit(); } void TargetSetupPage::setRequiredKitMatcher(ProjectExplorer::KitMatcher *matcher) @@ -261,7 +261,7 @@ void TargetSetupPage::setupWidgets() { // Known profiles: foreach (ProjectExplorer::Kit *k, ProjectExplorer::KitManager::instance()->kits(m_requiredMatcher)) { - cleanProfile(k); // clean up broken profiles added by some development versions of QtC + cleanKit(k); // clean up broken kit added by some development versions of QtC addWidget(k); } @@ -289,9 +289,9 @@ void TargetSetupPage::reset() m_firstWidget = 0; } -ProjectExplorer::Kit *TargetSetupPage::createTemporaryProfile(QtSupport::BaseQtVersion *version, - bool temporaryVersion, - const Utils::FileName &parsedSpec) +ProjectExplorer::Kit *TargetSetupPage::createTemporaryKit(QtSupport::BaseQtVersion *version, + bool temporaryVersion, + const Utils::FileName &parsedSpec) { ProjectExplorer::Kit *k = new ProjectExplorer::Kit; QtSupport::QtKitInformation::setQtVersion(k, version); @@ -299,7 +299,7 @@ ProjectExplorer::Kit *TargetSetupPage::createTemporaryProfile(QtSupport::BaseQtV QmakeKitInformation::setMkspec(k, parsedSpec); k->setDisplayName(version->displayName()); - k->setValue(PROFILE_IS_TEMPORARY, true); + k->setValue(KIT_IS_TEMPORARY, true); k->setValue(TEMPORARY_OF_PROJECTS, QStringList() << m_proFilePath); if (temporaryVersion) k->setValue(QT_IS_TEMPORARY, version->uniqueId()); @@ -311,10 +311,10 @@ ProjectExplorer::Kit *TargetSetupPage::createTemporaryProfile(QtSupport::BaseQtV return k; } -void TargetSetupPage::cleanProfile(ProjectExplorer::Kit *k) +void TargetSetupPage::cleanKit(ProjectExplorer::Kit *k) { m_ignoreUpdates = true; - k->removeKey(PROFILE_IS_TEMPORARY); + k->removeKey(KIT_IS_TEMPORARY); k->removeKey(QT_IS_TEMPORARY); k->removeKey(TEMPORARY_OF_PROJECTS); m_ignoreUpdates = false; @@ -329,19 +329,19 @@ void TargetSetupPage::makeQtPersistent(ProjectExplorer::Kit *k) void TargetSetupPage::addProject(ProjectExplorer::Kit *k, const QString &path) { - if (!k->hasValue(PROFILE_IS_TEMPORARY)) + if (!k->hasValue(KIT_IS_TEMPORARY)) return; QStringList profiles = k->value(TEMPORARY_OF_PROJECTS, QStringList()).toStringList(); profiles.append(path); m_ignoreUpdates = true; - k->setValue(PROFILE_IS_TEMPORARY, profiles); + k->setValue(KIT_IS_TEMPORARY, profiles); m_ignoreUpdates = false; } void TargetSetupPage::removeProject(ProjectExplorer::Kit *k, const QString &path) { - if (!k->hasValue(PROFILE_IS_TEMPORARY) || path.isEmpty()) + if (!k->hasValue(KIT_IS_TEMPORARY) || path.isEmpty()) return; QStringList projects = k->value(TEMPORARY_OF_PROJECTS, QStringList()).toStringList(); @@ -359,7 +359,7 @@ void TargetSetupPage::setProFilePath(const QString &path) { m_proFilePath = path; if (!m_proFilePath.isEmpty()) { - m_ui->descriptionLabel->setText(tr("Qt Creator can set up the following targets for project %1:", + m_ui->descriptionLabel->setText(tr("Qt Creator can use the following kits for project %1:", "%1: Project name").arg(QFileInfo(m_proFilePath).baseName())); } @@ -446,7 +446,7 @@ void TargetSetupPage::import(const Utils::FileName &path, const bool silent) kit = k; } if (!kit) - kit = createTemporaryProfile(version, temporaryVersion, parsedSpec); + kit = createTemporaryKit(version, temporaryVersion, parsedSpec); else addProject(kit, m_proFilePath); @@ -481,7 +481,7 @@ void TargetSetupPage::import(const Utils::FileName &path, const bool silent) void TargetSetupPage::handleQtUpdate(const QList &add, const QList &rm, const QList &mod) { Q_UNUSED(add); - // Update Profile to no longer claim a Qt version is temporary once it is modified/removed. + // Update kit to no longer claim a Qt version is temporary once it is modified/removed. foreach (ProjectExplorer::Kit *k, ProjectExplorer::KitManager::instance()->kits()) { if (!k->hasValue(QT_IS_TEMPORARY)) continue; @@ -541,7 +541,7 @@ void TargetSetupPage::handleKitUpdate(ProjectExplorer::Kit *k) if (m_ignoreUpdates) return; - cleanProfile(k); + cleanKit(k); Qt4TargetSetupWidget *widget = m_widgets.value(k->id()); bool acceptable = true; @@ -556,17 +556,17 @@ void TargetSetupPage::handleKitUpdate(ProjectExplorer::Kit *k) updateVisibility(); } -void TargetSetupPage::selectAtLeastOneTarget() +void TargetSetupPage::selectAtLeastOneKit() { - bool atLeastOneTargetSelected = false; + bool atLeastOneKitSelected = false; foreach (Qt4TargetSetupWidget *w, m_widgets.values()) { if (w->isKitSelected()) { - atLeastOneTargetSelected = true; + atLeastOneKitSelected = true; break; } } - if (!atLeastOneTargetSelected) { + if (!atLeastOneKitSelected) { Qt4TargetSetupWidget *widget = m_firstWidget; ProjectExplorer::Kit *defaultKit = ProjectExplorer::KitManager::instance()->defaultKit(); if (defaultKit) @@ -627,33 +627,34 @@ Qt4TargetSetupWidget *TargetSetupPage::addWidget(ProjectExplorer::Kit *k) return widget; } -struct ProfileBuildInfo +class KitBuildInfo { - ProfileBuildInfo(ProjectExplorer::Kit *p, const QList &il) : - profile(p), infoList(il) +public: + KitBuildInfo(ProjectExplorer::Kit *k, const QList &il) : + kit(k), infoList(il) { } - ProjectExplorer::Kit *profile; + ProjectExplorer::Kit *kit; QList infoList; }; bool TargetSetupPage::setupProject(Qt4ProjectManager::Qt4Project *project) { - QList toRegister; + QList toRegister; foreach (Qt4TargetSetupWidget *widget, m_widgets.values()) { if (!widget->isKitSelected()) continue; ProjectExplorer::Kit *p = widget->profile(); - cleanProfile(p); - toRegister.append(ProfileBuildInfo(p, widget->selectedBuildConfigurationInfoList())); - widget->clearProfile(); + cleanKit(p); + toRegister.append(KitBuildInfo(p, widget->selectedBuildConfigurationInfoList())); + widget->clearKit(); } reset(); - // only register targets after we are done cleaning up - foreach (const ProfileBuildInfo &data, toRegister) - project->addTarget(project->createTarget(data.profile, data.infoList)); + // only register kits after we are done cleaning up + foreach (const KitBuildInfo &data, toRegister) + project->addTarget(project->createTarget(data.kit, data.infoList)); // Select active target // a) Simulator target diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.h b/src/plugins/qt4projectmanager/wizards/targetsetuppage.h index add2997491c..8e41739c8ff 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.h +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.h @@ -93,7 +93,7 @@ private slots: void updateVisibility(); private: - void selectAtLeastOneTarget(); + void selectAtLeastOneKit(); void import(const Utils::FileName &path, const bool silent); void removeWidget(ProjectExplorer::Kit *k); Qt4TargetSetupWidget *addWidget(ProjectExplorer::Kit *k); @@ -102,8 +102,8 @@ private: void setupWidgets(); void reset(); - ProjectExplorer::Kit *createTemporaryProfile(QtSupport::BaseQtVersion *version, bool temporaryVersion, const Utils::FileName &parsedSpec); - void cleanProfile(ProjectExplorer::Kit *k); + ProjectExplorer::Kit *createTemporaryKit(QtSupport::BaseQtVersion *version, bool temporaryVersion, const Utils::FileName &parsedSpec); + void cleanKit(ProjectExplorer::Kit *k); void makeQtPersistent(ProjectExplorer::Kit *k); void addProject(ProjectExplorer::Kit *k, const QString &path); void removeProject(ProjectExplorer::Kit *k, const QString &path); diff --git a/src/plugins/qt4projectmanager/wizards/testwizarddialog.cpp b/src/plugins/qt4projectmanager/wizards/testwizarddialog.cpp index 91c94f3b354..4b55f561c03 100644 --- a/src/plugins/qt4projectmanager/wizards/testwizarddialog.cpp +++ b/src/plugins/qt4projectmanager/wizards/testwizarddialog.cpp @@ -62,7 +62,7 @@ TestWizardDialog::TestWizardDialog(const QString &templateName, setWindowIcon(icon); setWindowTitle(templateName); setSelectedModules(QLatin1String("core testlib"), true); - if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_PROFILE_IDS)) + if (!parameters.extraValues().contains(ProjectExplorer::Constants::PROJECT_KIT_IDS)) addTargetSetupPage(); m_modulesPageId = addModulesPage(); m_testPageId = addPage(m_testPage); From cc275c062dfac464a230ae9b008c6357873cf2fe Mon Sep 17 00:00:00 2001 From: Tobias Hunger Date: Tue, 4 Sep 2012 17:00:50 +0200 Subject: [PATCH 34/36] Polish targetsetuppage Task-number: QTCREATORBUG-7740 Task-number: QTCREATORBUG-7739 Change-Id: I587b22fcd5a21b1aa740d2e301da969519de0e45 Reviewed-by: Eike Ziller --- .../unconfiguredprojectpanel.cpp | 41 ++++------ .../unconfiguredprojectpanel.h | 1 - .../wizards/targetsetuppage.cpp | 79 +++++++++++-------- .../wizards/targetsetuppage.h | 6 +- 4 files changed, 67 insertions(+), 60 deletions(-) diff --git a/src/plugins/qt4projectmanager/unconfiguredprojectpanel.cpp b/src/plugins/qt4projectmanager/unconfiguredprojectpanel.cpp index 7d7de373720..4711c5e9634 100644 --- a/src/plugins/qt4projectmanager/unconfiguredprojectpanel.cpp +++ b/src/plugins/qt4projectmanager/unconfiguredprojectpanel.cpp @@ -126,8 +126,6 @@ TargetSetupPageWrapper::TargetSetupPageWrapper(ProjectExplorer::Project *project connect(m_configureButton, SIGNAL(clicked()), this, SLOT(done())); - connect(m_targetSetupPage, SIGNAL(noteTextLinkActivated()), - this, SLOT(noteTextLinkActivated())); connect(m_targetSetupPage, SIGNAL(completeChanged()), this, SLOT(completeChanged())); connect(ProjectExplorer::KitManager::instance(), SIGNAL(defaultkitChanged()), @@ -146,31 +144,30 @@ void TargetSetupPageWrapper::updateNoteText() { ProjectExplorer::Kit *k = ProjectExplorer::KitManager::instance()->defaultKit(); - QString text; - if (!k) - text = tr("

The project %1 is not yet configured.

" - "

Qt Creator cannot parse the project, because no target " - "has been set up. You can set up targets " - "in the options.

") + bool showHint = false; + if (!k) { + text = tr("The project %1 is not yet configured.
" + "Qt Creator cannot parse the project, because no kit " + "has been set up.") .arg(m_project->displayName()); - else if (k->isValid()) - text = tr("

The project %1 is not yet configured.

" - "

Qt Creator uses the target %2 " - "to parse the project. You can edit " - "targets in the options.

") + showHint = true; + } else if (k->isValid()) { + text = tr("The project %1 is not yet configured.
" + "Qt Creator uses the kit %2 to parse the project.") .arg(m_project->displayName()) .arg(k->displayName()); - else - text = tr("

The project %1 is not yet configured.

" - "

Qt Creator uses the invalid target %2 " - "to parse the project. You can edit " - "targets in the options

") + showHint = false; + } else { + text = tr("The project %1 is not yet configured.
" + "Qt Creator uses the invalid kit %2 to parse the project.") .arg(m_project->displayName()) .arg(k->displayName()); - + showHint = true; + } m_targetSetupPage->setNoteText(text); + m_targetSetupPage->showOptionsHint(showHint); } void TargetSetupPageWrapper::keyPressEvent(QKeyEvent *event) @@ -195,12 +192,6 @@ void TargetSetupPageWrapper::done() Core::ICore::instance()->modeManager()->activateMode(Core::Constants::MODE_EDIT); } -void TargetSetupPageWrapper::noteTextLinkActivated() -{ - Core::ICore::instance()->showOptionsDialog(QLatin1String(ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY), - QLatin1String(ProjectExplorer::Constants::KITS_SETTINGS_PAGE_ID)); -} - void TargetSetupPageWrapper::completeChanged() { m_configureButton->setEnabled(m_targetSetupPage->isComplete()); diff --git a/src/plugins/qt4projectmanager/unconfiguredprojectpanel.h b/src/plugins/qt4projectmanager/unconfiguredprojectpanel.h index dd6e1cbe711..464bf80d3c0 100644 --- a/src/plugins/qt4projectmanager/unconfiguredprojectpanel.h +++ b/src/plugins/qt4projectmanager/unconfiguredprojectpanel.h @@ -67,7 +67,6 @@ protected: void keyPressEvent(QKeyEvent *event); private slots: void done(); - void noteTextLinkActivated(); void kitUpdated(ProjectExplorer::Kit *k); void updateNoteText(); void completeChanged(); diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp index 52af4b325f1..2e7eab38798 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.cpp @@ -71,37 +71,34 @@ public: QWidget *centralWidget; QWidget *scrollAreaWidget; QScrollArea *scrollArea; + QLabel *headerLabel; QLabel *descriptionLabel; + QLabel *noValidKitLabel; + QLabel *optionHintLabel; void setupUi(QWidget *q) { QWidget *setupTargetPage = new QWidget(q); + headerLabel = new QLabel(setupTargetPage); + headerLabel->setWordWrap(true); + headerLabel->setVisible(false); + + noValidKitLabel = new QLabel(setupTargetPage); + noValidKitLabel->setWordWrap(true); + noValidKitLabel->setText(TargetSetupPage::tr("No valid kits found.")); + descriptionLabel = new QLabel(setupTargetPage); descriptionLabel->setWordWrap(true); - descriptionLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); - descriptionLabel->setText(TargetSetupPage::tr("Qt Creator can use the following kits:")); + descriptionLabel->setVisible(false); -#ifdef Q_OS_MAC - QString hint = TargetSetupPage::tr( - "

" - "No valid kits found.

" - "

Please add a kit in " - "Qt Creator > Preferences > Build & Run" - " or via the maintenance tool of the SDK.

"); -#else - QString hint = TargetSetupPage::tr( - "

" - "No valid kits found.

" - "

Please add a kit in " - "Tools > Options > Build & Run" - " or via the maintenance tool of the SDK.

"); -#endif - - QLabel *noValidKitLabel = new QLabel(setupTargetPage); - noValidKitLabel->setWordWrap(true); - noValidKitLabel->setText(hint); - noValidKitLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); + optionHintLabel = new QLabel(setupTargetPage); + optionHintLabel->setWordWrap(true); + optionHintLabel->setText(TargetSetupPage::tr( + "Please add a kit in the options " + "or via the maintenance tool of the SDK.")); + optionHintLabel->setTextInteractionFlags(Qt::TextBrowserInteraction); + optionHintLabel->setVisible(false); centralWidget = new QWidget(setupTargetPage); QSizePolicy policy(QSizePolicy::Preferred, QSizePolicy::Fixed); @@ -125,8 +122,10 @@ public: verticalLayout->addWidget(scrollArea); QVBoxLayout *verticalLayout_2 = new QVBoxLayout(setupTargetPage); - verticalLayout_2->addWidget(descriptionLabel); + verticalLayout_2->addWidget(headerLabel); verticalLayout_2->addWidget(noValidKitLabel); + verticalLayout_2->addWidget(descriptionLabel); + verticalLayout_2->addWidget(optionHintLabel); verticalLayout_2->addWidget(centralWidget); verticalLayout_2->addWidget(scrollAreaWidget); @@ -134,10 +133,8 @@ public: verticalLayout_3->setContentsMargins(0, 0, 0, -1); verticalLayout_3->addWidget(setupTargetPage); - QObject::connect(noValidKitLabel, SIGNAL(linkActivated(QString)), - q, SIGNAL(noteTextLinkActivated())); - QObject::connect(descriptionLabel, SIGNAL(linkActivated(QString)), - q, SIGNAL(noteTextLinkActivated())); + QObject::connect(optionHintLabel, SIGNAL(linkActivated(QString)), + q, SLOT(openOptions())); } }; @@ -155,7 +152,8 @@ TargetSetupPage::TargetSetupPage(QWidget *parent) : m_firstWidget(0), m_ui(new TargetSetupPageUi), m_importWidget(new Internal::ImportWidget(this)), - m_spacer(new QSpacerItem(0,0, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding)) + m_spacer(new QSpacerItem(0,0, QSizePolicy::Minimum, QSizePolicy::MinimumExpanding)), + m_forceOptionHint(false) { setObjectName(QLatin1String("TargetSetupPage")); setWindowTitle(tr("Select Kits for Your Project")); @@ -358,10 +356,10 @@ void TargetSetupPage::removeProject(ProjectExplorer::Kit *k, const QString &path void TargetSetupPage::setProFilePath(const QString &path) { m_proFilePath = path; - if (!m_proFilePath.isEmpty()) { - m_ui->descriptionLabel->setText(tr("Qt Creator can use the following kits for project %1:", - "%1: Project name").arg(QFileInfo(m_proFilePath).baseName())); - } + if (!m_proFilePath.isEmpty()) + m_ui->headerLabel->setText(tr("Qt Creator can use the following kits for project %1:", + "%1: Project name").arg(QFileInfo(m_proFilePath).baseName())); + m_ui->headerLabel->setVisible(!m_proFilePath.isEmpty()); if (m_widgets.isEmpty()) return; @@ -373,6 +371,13 @@ void TargetSetupPage::setProFilePath(const QString &path) void TargetSetupPage::setNoteText(const QString &text) { m_ui->descriptionLabel->setText(text); + m_ui->descriptionLabel->setVisible(!text.isEmpty()); +} + +void TargetSetupPage::showOptionsHint(bool show) +{ + m_forceOptionHint = show; + updateVisibility(); } void TargetSetupPage::import(const Utils::FileName &path) @@ -584,9 +589,19 @@ void TargetSetupPage::updateVisibility() m_ui->scrollAreaWidget->setVisible(m_baseLayout == m_ui->scrollArea->widget()->layout()); m_ui->centralWidget->setVisible(m_baseLayout == m_ui->centralWidget->layout()); + bool hasKits = !m_widgets.isEmpty(); + m_ui->noValidKitLabel->setVisible(!hasKits); + m_ui->optionHintLabel->setVisible(m_forceOptionHint || !hasKits); + emit completeChanged(); } +void TargetSetupPage::openOptions() +{ + Core::ICore::instance()->showOptionsDialog(QLatin1String(ProjectExplorer::Constants::PROJECTEXPLORER_SETTINGS_CATEGORY), + QLatin1String(ProjectExplorer::Constants::KITS_SETTINGS_PAGE_ID)); +} + void TargetSetupPage::removeWidget(ProjectExplorer::Kit *k) { Qt4TargetSetupWidget *widget = m_widgets.value(k->id()); diff --git a/src/plugins/qt4projectmanager/wizards/targetsetuppage.h b/src/plugins/qt4projectmanager/wizards/targetsetuppage.h index 8e41739c8ff..c6206571ce1 100644 --- a/src/plugins/qt4projectmanager/wizards/targetsetuppage.h +++ b/src/plugins/qt4projectmanager/wizards/targetsetuppage.h @@ -81,8 +81,7 @@ public: /// Overrides the summary text of the targetsetuppage void setNoteText(const QString &text); -signals: - void noteTextLinkActivated(); + void showOptionsHint(bool show); private slots: void import(const Utils::FileName &path); @@ -91,6 +90,7 @@ private slots: void handleKitRemoval(ProjectExplorer::Kit *k); void handleKitUpdate(ProjectExplorer::Kit *k); void updateVisibility(); + void openOptions(); private: void selectAtLeastOneKit(); @@ -123,6 +123,8 @@ private: Internal::ImportWidget *m_importWidget; QSpacerItem *m_spacer; + + bool m_forceOptionHint; }; } // namespace Qt4ProjectManager From 3767ecf872838c89681c0e6ae8b80eda053c2fbc Mon Sep 17 00:00:00 2001 From: Robert Loehning Date: Tue, 4 Sep 2012 16:39:24 +0200 Subject: [PATCH 35/36] Squish: Updated class for new target name Change-Id: I5eca3251b290e15eaa2a462bc22f1d1ac7153834 Reviewed-by: Christian Stenger --- tests/system/shared/classes.py | 2 +- tests/system/shared/utils.py | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/system/shared/classes.py b/tests/system/shared/classes.py index 2147455b4ad..4696170b945 100644 --- a/tests/system/shared/classes.py +++ b/tests/system/shared/classes.py @@ -28,7 +28,7 @@ class QtQuickConstants: if target==QtQuickConstants.Targets.DESKTOP: return "Desktop" elif target==QtQuickConstants.Targets.MAEMO5: - return "Maemo5" + return "Fremantle" elif target==QtQuickConstants.Targets.SIMULATOR: return "Qt Simulator" elif target==QtQuickConstants.Targets.HARMATTAN: diff --git a/tests/system/shared/utils.py b/tests/system/shared/utils.py index 09ad3f769b7..70e45f9f794 100644 --- a/tests/system/shared/utils.py +++ b/tests/system/shared/utils.py @@ -319,7 +319,8 @@ def getCorrectlyConfiguredTargets(): for targetName in result.keys(): targetInfo = result[targetName] if targetInfo[0] == "Maemo": - result.update({targetName:("Maemo5", targetInfo[1])}) + result.update({targetName: + (QtQuickConstants.getStringForTarget(QtQuickConstants.Targets.MAEMO5), targetInfo[1])}) test.log("Correctly configured targets: %s" % str(result)) return result From 489132640fabd0f26ec5b677a20caba9b48f91df Mon Sep 17 00:00:00 2001 From: Orgad Shaneh Date: Tue, 4 Sep 2012 17:18:39 +0300 Subject: [PATCH 36/36] Fix qbs build Change-Id: I5c2ddacab09b7e1ff997686d21a8b5aa193e1aa3 Reviewed-by: Tobias Hunger --- src/plugins/qt4projectmanager/qt4projectmanager.qbs | 8 ++++---- src/plugins/qtsupport/qtsupport.qbs | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/plugins/qt4projectmanager/qt4projectmanager.qbs b/src/plugins/qt4projectmanager/qt4projectmanager.qbs index 16843041484..e8421967b5c 100644 --- a/src/plugins/qt4projectmanager/qt4projectmanager.qbs +++ b/src/plugins/qt4projectmanager/qt4projectmanager.qbs @@ -62,10 +62,10 @@ QtcPlugin { "profilekeywords.h", "qmakeparser.cpp", "qmakeparser.h", - "qmakeprofileconfigwidget.cpp", - "qmakeprofileconfigwidget.h", - "qmakeprofileinformation.cpp", - "qmakeprofileinformation.h", + "qmakekitconfigwidget.cpp", + "qmakekitconfigwidget.h", + "qmakekitinformation.cpp", + "qmakekitinformation.h", "qmakerunconfigurationfactory.cpp", "qmakerunconfigurationfactory.h", "qmakestep.cpp", diff --git a/src/plugins/qtsupport/qtsupport.qbs b/src/plugins/qtsupport/qtsupport.qbs index 464ac4e8771..06f689ec674 100644 --- a/src/plugins/qtsupport/qtsupport.qbs +++ b/src/plugins/qtsupport/qtsupport.qbs @@ -70,10 +70,10 @@ QtcPlugin { "qtoutputformatter.cpp", "qtoutputformatter.h", "qtparser.h", - "qtprofileconfigwidget.cpp", - "qtprofileconfigwidget.h", - "qtprofileinformation.cpp", - "qtprofileinformation.h", + "qtkitconfigwidget.cpp", + "qtkitconfigwidget.h", + "qtkitinformation.cpp", + "qtkitinformation.h", "qtsupport_global.h", "qtsupportconstants.h", "qtsupportplugin.cpp",