void Qt4TargetSetupWidget::addBuildConfigurationInfo(const BuildConfigurationInfo &info, bool importing) { if (importing) { if (!m_haveImported) { // disable everything on first import for (int i = 0; i < m_enabled.count(); ++i) { m_enabled[i] = false; m_checkboxes[i]->setChecked(false); } m_selected = 0; } m_haveImported = true; } int pos = m_pathChoosers.count(); m_enabled.append(true); ++m_selected; m_infoList.append(info); QCheckBox *checkbox = new QCheckBox; checkbox->setText(Qt4BuildConfigurationFactory::buildConfigurationDisplayName(info)); checkbox->setChecked(m_enabled.at(pos)); checkbox->setAttribute(Qt::WA_LayoutUsesWidgetRect); m_newBuildsLayout->addWidget(checkbox, pos * 2, 0); Utils::PathChooser *pathChooser = new Utils::PathChooser(); pathChooser->setExpectedKind(Utils::PathChooser::Directory); pathChooser->setPath(info.directory); QtSupport::BaseQtVersion *version = QtSupport::QtProfileInformation::qtVersion(m_profile); if (!version) return; pathChooser->setReadOnly(!version->supportsShadowBuilds() || importing); m_newBuildsLayout->addWidget(pathChooser, pos * 2, 1); QLabel *reportIssuesLabel = new QLabel; reportIssuesLabel->setIndent(32); m_newBuildsLayout->addWidget(reportIssuesLabel, pos * 2 + 1, 0, 1, 2); reportIssuesLabel->setVisible(false); connect(checkbox, SIGNAL(toggled(bool)), this, SLOT(checkBoxToggled(bool))); connect(pathChooser, SIGNAL(changed(QString)), this, SLOT(pathChanged())); m_checkboxes.append(checkbox); m_pathChoosers.append(pathChooser); m_reportIssuesLabels.append(reportIssuesLabel); m_issues.append(false); reportIssues(pos); emit selectedToggled(); }
void Qt4TargetSetupWidget::targetCheckBoxToggled(bool b) { if (m_ignoreChange) return; m_detailsWidget->widget()->setEnabled(b); if (b) { foreach (bool error, m_issues) { if (error) { m_detailsWidget->setState(Utils::DetailsWidget::Expanded); break; } } } emit selectedToggled(); }
void TargetSetupWidget::checkBoxToggled(bool b) { QCheckBox *box = qobject_cast<QCheckBox *>(sender()); if (!box) return; int index = m_checkboxes.indexOf(box); if (index == -1) return; if (m_enabled[index] == b) return; m_selected += b ? 1 : -1; m_enabled[index] = b; if ((m_selected == 0 && !b) || (m_selected == 1 && b)) { emit selectedToggled(); m_detailsWidget->setChecked(b); } }
void Qt4TargetSetupWidget::clear() { qDeleteAll(m_checkboxes); m_checkboxes.clear(); qDeleteAll(m_pathChoosers); m_pathChoosers.clear(); qDeleteAll(m_reportIssuesLabels); m_reportIssuesLabels.clear(); m_infoList.clear(); m_issues.clear(); m_enabled.clear(); m_selected = 0; m_haveImported = false; emit selectedToggled(); }