forked from qt-creator/qt-creator
Add a Make this Buildconfiguration active label
This commit is contained in:
@@ -35,6 +35,7 @@
|
|||||||
|
|
||||||
#include <coreplugin/coreconstants.h>
|
#include <coreplugin/coreconstants.h>
|
||||||
#include <extensionsystem/pluginmanager.h>
|
#include <extensionsystem/pluginmanager.h>
|
||||||
|
#include <utils/qtcassert.h>
|
||||||
|
|
||||||
#include <QtCore/QDebug>
|
#include <QtCore/QDebug>
|
||||||
#include <QtCore/QPair>
|
#include <QtCore/QPair>
|
||||||
@@ -151,6 +152,8 @@ BuildSettingsWidget::BuildSettingsWidget(Project *project)
|
|||||||
{
|
{
|
||||||
QVBoxLayout *vbox = new QVBoxLayout(this);
|
QVBoxLayout *vbox = new QVBoxLayout(this);
|
||||||
vbox->setContentsMargins(0, -1, 0, -1);
|
vbox->setContentsMargins(0, -1, 0, -1);
|
||||||
|
|
||||||
|
{ // Edit Build Configuration row
|
||||||
QHBoxLayout *hbox = new QHBoxLayout();
|
QHBoxLayout *hbox = new QHBoxLayout();
|
||||||
hbox->addWidget(new QLabel(tr("Edit Build Configuration:"), this));
|
hbox->addWidget(new QLabel(tr("Edit Build Configuration:"), this));
|
||||||
m_buildConfigurationComboBox = new QComboBox(this);
|
m_buildConfigurationComboBox = new QComboBox(this);
|
||||||
@@ -168,6 +171,11 @@ BuildSettingsWidget::BuildSettingsWidget(Project *project)
|
|||||||
hbox->addWidget(m_removeButton);
|
hbox->addWidget(m_removeButton);
|
||||||
hbox->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed));
|
hbox->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Fixed));
|
||||||
vbox->addLayout(hbox);
|
vbox->addLayout(hbox);
|
||||||
|
}
|
||||||
|
|
||||||
|
m_makeActiveLabel = new QLabel(this);
|
||||||
|
m_makeActiveLabel->setVisible(false);
|
||||||
|
vbox->addWidget(m_makeActiveLabel);
|
||||||
|
|
||||||
m_subWidgets = new BuildSettingsSubWidgets(this);
|
m_subWidgets = new BuildSettingsSubWidgets(this);
|
||||||
vbox->addWidget(m_subWidgets);
|
vbox->addWidget(m_subWidgets);
|
||||||
@@ -178,6 +186,9 @@ BuildSettingsWidget::BuildSettingsWidget(Project *project)
|
|||||||
|
|
||||||
m_buildConfiguration = m_project->activeBuildConfiguration()->name();
|
m_buildConfiguration = m_project->activeBuildConfiguration()->name();
|
||||||
|
|
||||||
|
connect(m_makeActiveLabel, SIGNAL(linkActivated(QString)),
|
||||||
|
this, SLOT(makeActive()));
|
||||||
|
|
||||||
connect(m_buildConfigurationComboBox, SIGNAL(currentIndexChanged(int)),
|
connect(m_buildConfigurationComboBox, SIGNAL(currentIndexChanged(int)),
|
||||||
this, SLOT(currentIndexChanged(int)));
|
this, SLOT(currentIndexChanged(int)));
|
||||||
|
|
||||||
@@ -186,12 +197,21 @@ BuildSettingsWidget::BuildSettingsWidget(Project *project)
|
|||||||
|
|
||||||
connect(m_project, SIGNAL(buildConfigurationDisplayNameChanged(const QString &)),
|
connect(m_project, SIGNAL(buildConfigurationDisplayNameChanged(const QString &)),
|
||||||
this, SLOT(buildConfigurationDisplayNameChanged(const QString &)));
|
this, SLOT(buildConfigurationDisplayNameChanged(const QString &)));
|
||||||
|
|
||||||
|
connect(m_project, SIGNAL(activeBuildConfigurationChanged()),
|
||||||
|
this, SLOT(checkMakeActiveLabel()));
|
||||||
|
|
||||||
if (m_project->buildConfigurationFactory())
|
if (m_project->buildConfigurationFactory())
|
||||||
connect(m_project->buildConfigurationFactory(), SIGNAL(availableCreationTypesChanged()), SLOT(updateAddButtonMenu()));
|
connect(m_project->buildConfigurationFactory(), SIGNAL(availableCreationTypesChanged()), SLOT(updateAddButtonMenu()));
|
||||||
|
|
||||||
updateBuildSettings();
|
updateBuildSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void BuildSettingsWidget::makeActive()
|
||||||
|
{
|
||||||
|
m_project->setActiveBuildConfiguration(m_project->buildConfiguration(m_buildConfiguration));
|
||||||
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::updateAddButtonMenu()
|
void BuildSettingsWidget::updateAddButtonMenu()
|
||||||
{
|
{
|
||||||
m_addButtonMenu->clear();
|
m_addButtonMenu->clear();
|
||||||
@@ -273,6 +293,18 @@ void BuildSettingsWidget::activeBuildConfigurationChanged()
|
|||||||
buildStepWidget->init(m_buildConfiguration);
|
buildStepWidget->init(m_buildConfiguration);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
checkMakeActiveLabel();
|
||||||
|
}
|
||||||
|
|
||||||
|
void BuildSettingsWidget::checkMakeActiveLabel()
|
||||||
|
{
|
||||||
|
m_makeActiveLabel->setVisible(false);
|
||||||
|
if (!m_project->activeBuildConfiguration() || m_project->activeBuildConfiguration()->name() != m_buildConfiguration) {
|
||||||
|
BuildConfiguration *bc = m_project->buildConfiguration(m_buildConfiguration);
|
||||||
|
QTC_ASSERT(bc, return);
|
||||||
|
m_makeActiveLabel->setText(tr("<a href=\"#\">Make %1 active.</a>").arg(bc->displayName()));
|
||||||
|
m_makeActiveLabel->setVisible(true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BuildSettingsWidget::createConfiguration()
|
void BuildSettingsWidget::createConfiguration()
|
||||||
|
|||||||
@@ -101,6 +101,8 @@ private slots:
|
|||||||
void cloneConfiguration();
|
void cloneConfiguration();
|
||||||
void deleteConfiguration();
|
void deleteConfiguration();
|
||||||
void updateAddButtonMenu();
|
void updateAddButtonMenu();
|
||||||
|
void checkMakeActiveLabel();
|
||||||
|
void makeActive();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void cloneConfiguration(const QString &toClone);
|
void cloneConfiguration(const QString &toClone);
|
||||||
@@ -113,6 +115,7 @@ private:
|
|||||||
BuildSettingsSubWidgets *m_subWidgets;
|
BuildSettingsSubWidgets *m_subWidgets;
|
||||||
QString m_buildConfiguration;
|
QString m_buildConfiguration;
|
||||||
QMenu *m_addButtonMenu;
|
QMenu *m_addButtonMenu;
|
||||||
|
QLabel *m_makeActiveLabel;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace Internal
|
} // namespace Internal
|
||||||
|
|||||||
Reference in New Issue
Block a user