void FrameFocus::start() { findFrames(); switch(arguments().length()) { case 1: focusId(arguments()[0]); break; case 2: focusIndex(arguments()[1].toInt()); break; default: focusParent(); } }
void EnvironmentWidget::linkActivated(const QString &link) { d->m_detailsContainer->setState(Utils::DetailsWidget::Expanded); QModelIndex idx = d->m_model->variableToIndex(link); focusIndex(idx); }
EnvironmentWidget::EnvironmentWidget(QWidget *parent, QWidget *additionalDetailsWidget) : QWidget(parent), d(new EnvironmentWidgetPrivate) { d->m_model = new Utils::EnvironmentModel(); connect(d->m_model, SIGNAL(userChangesChanged()), this, SIGNAL(userChangesChanged())); connect(d->m_model, SIGNAL(modelReset()), this, SLOT(invalidateCurrentIndex())); connect(d->m_model, SIGNAL(focusIndex(QModelIndex)), this, SLOT(focusIndex(QModelIndex))); QVBoxLayout *vbox = new QVBoxLayout(this); vbox->setContentsMargins(0, 0, 0, 0); d->m_detailsContainer = new Utils::DetailsWidget(this); QWidget *details = new QWidget(d->m_detailsContainer); d->m_detailsContainer->setWidget(details); details->setVisible(false); QVBoxLayout *vbox2 = new QVBoxLayout(details); vbox2->setMargin(0); if (additionalDetailsWidget) vbox2->addWidget(additionalDetailsWidget); QHBoxLayout *horizontalLayout = new QHBoxLayout(); horizontalLayout->setMargin(0); d->m_environmentView = new Internal::EnvironmentTreeView(this); d->m_environmentView->setModel(d->m_model); d->m_environmentView->setItemDelegate(new EnvironmentDelegate(d->m_model, d->m_environmentView)); d->m_environmentView->setMinimumHeight(400); d->m_environmentView->setRootIsDecorated(false); d->m_environmentView->setUniformRowHeights(true); new Utils::HeaderViewStretcher(d->m_environmentView->header(), 1); d->m_environmentView->setSelectionMode(QAbstractItemView::SingleSelection); d->m_environmentView->setSelectionBehavior(QAbstractItemView::SelectItems); d->m_environmentView->setFrameShape(QFrame::NoFrame); QFrame *findWrapper = Core::ItemViewFind::createSearchableWrapper(d->m_environmentView, Core::ItemViewFind::LightColored); findWrapper->setFrameStyle(QFrame::StyledPanel); horizontalLayout->addWidget(findWrapper); QVBoxLayout *buttonLayout = new QVBoxLayout(); d->m_editButton = new QPushButton(this); d->m_editButton->setText(tr("&Edit")); buttonLayout->addWidget(d->m_editButton); d->m_addButton = new QPushButton(this); d->m_addButton->setText(tr("&Add")); buttonLayout->addWidget(d->m_addButton); d->m_resetButton = new QPushButton(this); d->m_resetButton->setEnabled(false); d->m_resetButton->setText(tr("&Reset")); buttonLayout->addWidget(d->m_resetButton); d->m_unsetButton = new QPushButton(this); d->m_unsetButton->setEnabled(false); d->m_unsetButton->setText(tr("&Unset")); buttonLayout->addWidget(d->m_unsetButton); d->m_batchEditButton = new QPushButton(this); d->m_batchEditButton->setText(tr("&Batch Edit...")); buttonLayout->addWidget(d->m_batchEditButton); buttonLayout->addStretch(); horizontalLayout->addLayout(buttonLayout); vbox2->addLayout(horizontalLayout); vbox->addWidget(d->m_detailsContainer); connect(d->m_model, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(updateButtons())); connect(d->m_editButton, SIGNAL(clicked(bool)), this, SLOT(editEnvironmentButtonClicked())); connect(d->m_addButton, SIGNAL(clicked(bool)), this, SLOT(addEnvironmentButtonClicked())); connect(d->m_resetButton, SIGNAL(clicked(bool)), this, SLOT(removeEnvironmentButtonClicked())); connect(d->m_unsetButton, SIGNAL(clicked(bool)), this, SLOT(unsetEnvironmentButtonClicked())); connect(d->m_batchEditButton, SIGNAL(clicked(bool)), this, SLOT(batchEditEnvironmentButtonClicked())); connect(d->m_environmentView->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), this, SLOT(environmentCurrentIndexChanged(QModelIndex))); connect(d->m_detailsContainer, SIGNAL(linkActivated(QString)), this, SLOT(linkActivated(QString))); connect(d->m_model, SIGNAL(userChangesChanged()), this, SLOT(updateSummaryText())); }