Merge remote-tracking branch 'origin/master' into 4.5

Change-Id: Ic3a34b18708d637c94000e9bb3cad1b500e7356d
This commit is contained in:
Eike Ziller
2017-09-27 06:34:25 +02:00
3 changed files with 70 additions and 45 deletions

View File

@@ -65,8 +65,8 @@ static QIcon createCenteredIcon(const QIcon &icon, const QIcon &overlay)
{ {
QPixmap targetPixmap; QPixmap targetPixmap;
const qreal appDevicePixelRatio = qApp->devicePixelRatio(); const qreal appDevicePixelRatio = qApp->devicePixelRatio();
targetPixmap = QPixmap(Core::Constants::MODEBAR_ICON_SIZE * appDevicePixelRatio, const int deviceSpaceIconSize = static_cast<int>(Core::Constants::MODEBAR_ICON_SIZE * appDevicePixelRatio);
Core::Constants::MODEBAR_ICON_SIZE * appDevicePixelRatio); targetPixmap = QPixmap(deviceSpaceIconSize, deviceSpaceIconSize);
targetPixmap.setDevicePixelRatio(appDevicePixelRatio); targetPixmap.setDevicePixelRatio(appDevicePixelRatio);
targetPixmap.fill(Qt::transparent); targetPixmap.fill(Qt::transparent);
QPainter painter(&targetPixmap); // painter in user space QPainter painter(&targetPixmap); // painter in user space
@@ -696,10 +696,10 @@ MiniProjectTargetSelector::MiniProjectTargetSelector(QAction *targetSelectorActi
m_listWidgets[i] = new GenericListWidget(this); m_listWidgets[i] = new GenericListWidget(this);
} }
// Validate state: At this point the session is still empty!
Project *startup = SessionManager::startupProject(); Project *startup = SessionManager::startupProject();
changeStartupProject(startup); QTC_CHECK(!startup);
if (startup) QTC_CHECK(SessionManager::projects().isEmpty());
activeTargetChanged(startup->activeTarget());
connect(m_summaryLabel, &QLabel::linkActivated, connect(m_summaryLabel, &QLabel::linkActivated,
this, &MiniProjectTargetSelector::switchToProjectsMode); this, &MiniProjectTargetSelector::switchToProjectsMode);
@@ -1017,17 +1017,17 @@ void MiniProjectTargetSelector::handleNewProjectConfiguration(ProjectConfigurati
return; return;
} }
if (auto bc = qobject_cast<BuildConfiguration *>(pc)) { if (auto bc = qobject_cast<BuildConfiguration *>(pc)) {
addedBuildConfiguration(bc); if (addedBuildConfiguration(bc))
updateBuildListVisible(); updateBuildListVisible();
return; return;
} }
if (auto dc = qobject_cast<DeployConfiguration *>(pc)) { if (auto dc = qobject_cast<DeployConfiguration *>(pc)) {
addedDeployConfiguration(dc); if (addedDeployConfiguration(dc))
updateDeployListVisible(); updateDeployListVisible();
return; return;
} }
if (auto rc = qobject_cast<RunConfiguration *>(pc)) { if (auto rc = qobject_cast<RunConfiguration *>(pc)) {
addedRunConfiguration(rc); if (addedRunConfiguration(rc))
updateRunListVisible(); updateRunListVisible();
return; return;
} }
@@ -1045,17 +1045,17 @@ void MiniProjectTargetSelector::handleRemovalOfProjectConfiguration(ProjectConfi
return; return;
} }
if (auto bc = qobject_cast<BuildConfiguration *>(pc)) { if (auto bc = qobject_cast<BuildConfiguration *>(pc)) {
removedBuildConfiguration(bc); if (removedBuildConfiguration(bc))
updateBuildListVisible(); updateBuildListVisible();
return; return;
} }
if (auto dc = qobject_cast<DeployConfiguration *>(pc)) { if (auto dc = qobject_cast<DeployConfiguration *>(pc)) {
removedDeployConfiguration(dc); if (removedDeployConfiguration(dc))
updateDeployListVisible(); updateDeployListVisible();
return; return;
} }
if (auto rc = qobject_cast<RunConfiguration *>(pc)) { if (auto rc = qobject_cast<RunConfiguration *>(pc)) {
removedRunConfiguration(rc); if (removedRunConfiguration(rc))
updateRunListVisible(); updateRunListVisible();
return; return;
} }
@@ -1063,7 +1063,9 @@ void MiniProjectTargetSelector::handleRemovalOfProjectConfiguration(ProjectConfi
void MiniProjectTargetSelector::addedTarget(Target *target) void MiniProjectTargetSelector::addedTarget(Target *target)
{ {
if (target->project() == m_project) if (target->project() != m_project)
return;
m_listWidgets[TARGET]->addProjectConfiguration(target); m_listWidgets[TARGET]->addProjectConfiguration(target);
foreach (BuildConfiguration *bc, target->buildConfigurations()) foreach (BuildConfiguration *bc, target->buildConfigurations())
@@ -1076,7 +1078,9 @@ void MiniProjectTargetSelector::addedTarget(Target *target)
void MiniProjectTargetSelector::removedTarget(Target *target) void MiniProjectTargetSelector::removedTarget(Target *target)
{ {
if (target->project() == m_project) if (target->project() != m_project)
return;
m_listWidgets[TARGET]->removeProjectConfiguration(target); m_listWidgets[TARGET]->removeProjectConfiguration(target);
foreach (BuildConfiguration *bc, target->buildConfigurations()) foreach (BuildConfiguration *bc, target->buildConfigurations())
@@ -1087,39 +1091,57 @@ void MiniProjectTargetSelector::removedTarget(Target *target)
removedRunConfiguration(rc); removedRunConfiguration(rc);
} }
void MiniProjectTargetSelector::addedBuildConfiguration(BuildConfiguration *bc) bool MiniProjectTargetSelector::addedBuildConfiguration(BuildConfiguration *bc)
{ {
if (bc->target() == m_target) if (bc->target() != m_project->activeTarget())
return false;
m_listWidgets[BUILD]->addProjectConfiguration(bc); m_listWidgets[BUILD]->addProjectConfiguration(bc);
return true;
} }
void MiniProjectTargetSelector::removedBuildConfiguration(BuildConfiguration *bc) bool MiniProjectTargetSelector::removedBuildConfiguration(BuildConfiguration *bc)
{ {
if (bc->target() == m_target) if (bc->target() == m_project->activeTarget())
return false;
m_listWidgets[BUILD]->removeProjectConfiguration(bc); m_listWidgets[BUILD]->removeProjectConfiguration(bc);
return true;
} }
void MiniProjectTargetSelector::addedDeployConfiguration(DeployConfiguration *dc) bool MiniProjectTargetSelector::addedDeployConfiguration(DeployConfiguration *dc)
{ {
if (dc->target() == m_target) if (dc->target() != m_project->activeTarget())
return false;
m_listWidgets[DEPLOY]->addProjectConfiguration(dc); m_listWidgets[DEPLOY]->addProjectConfiguration(dc);
return true;
} }
void MiniProjectTargetSelector::removedDeployConfiguration(DeployConfiguration *dc) bool MiniProjectTargetSelector::removedDeployConfiguration(DeployConfiguration *dc)
{ {
if (dc->target() == m_target) if (dc->target() != m_project->activeTarget())
return false;
m_listWidgets[DEPLOY]->removeProjectConfiguration(dc); m_listWidgets[DEPLOY]->removeProjectConfiguration(dc);
return true;
} }
void MiniProjectTargetSelector::addedRunConfiguration(RunConfiguration *rc) bool MiniProjectTargetSelector::addedRunConfiguration(RunConfiguration *rc)
{ {
if (rc->target() == m_target) if (rc->target() != m_project->activeTarget())
return false;
m_listWidgets[RUN]->addProjectConfiguration(rc); m_listWidgets[RUN]->addProjectConfiguration(rc);
return true;
} }
void MiniProjectTargetSelector::removedRunConfiguration(RunConfiguration *rc) bool MiniProjectTargetSelector::removedRunConfiguration(RunConfiguration *rc)
{ {
if (rc->target() == m_target) if (rc->target() != m_project->activeTarget())
return false;
m_listWidgets[RUN]->removeProjectConfiguration(rc); m_listWidgets[RUN]->removeProjectConfiguration(rc);
return true;
} }
void MiniProjectTargetSelector::updateProjectListVisible() void MiniProjectTargetSelector::updateProjectListVisible()

View File

@@ -163,12 +163,12 @@ private:
void switchToProjectsMode(); void switchToProjectsMode();
void addedTarget(Target *target); void addedTarget(Target *target);
void removedTarget(Target *target); void removedTarget(Target *target);
void addedBuildConfiguration(BuildConfiguration* bc); bool addedBuildConfiguration(BuildConfiguration* bc);
void removedBuildConfiguration(BuildConfiguration* bc); bool removedBuildConfiguration(BuildConfiguration* bc);
void addedDeployConfiguration(DeployConfiguration *dc); bool addedDeployConfiguration(DeployConfiguration *dc);
void removedDeployConfiguration(DeployConfiguration *dc); bool removedDeployConfiguration(DeployConfiguration *dc);
void addedRunConfiguration(RunConfiguration *rc); bool addedRunConfiguration(RunConfiguration *rc);
void removedRunConfiguration(RunConfiguration *rc); bool removedRunConfiguration(RunConfiguration *rc);
void updateProjectListVisible(); void updateProjectListVisible();
void updateTargetListVisible(); void updateTargetListVisible();

View File

@@ -30,6 +30,7 @@
#include "qbsproject.h" #include "qbsproject.h"
#include <coreplugin/messagemanager.h> #include <coreplugin/messagemanager.h>
#include <coreplugin/variablechooser.h>
#include <projectexplorer/buildmanager.h> #include <projectexplorer/buildmanager.h>
#include <projectexplorer/buildstep.h> #include <projectexplorer/buildstep.h>
#include <projectexplorer/buildsteplist.h> #include <projectexplorer/buildsteplist.h>
@@ -336,6 +337,8 @@ QbsRunConfigurationWidget::QbsRunConfigurationWidget(QbsRunConfiguration *rc)
connect(m_rc, &RunConfiguration::enabledChanged, connect(m_rc, &RunConfiguration::enabledChanged,
this, &QbsRunConfigurationWidget::targetInformationHasChanged); this, &QbsRunConfigurationWidget::targetInformationHasChanged);
Core::VariableChooser::addSupportForChildWidgets(this, rc->macroExpander());
} }
void QbsRunConfigurationWidget::targetInformationHasChanged() void QbsRunConfigurationWidget::targetInformationHasChanged()