forked from qt-creator/qt-creator
Environment Widget: Linkfy summary text
Jumps to the variable on clicking. Task-Nr: QTCREATORBUG-3316
This commit is contained in:
@@ -104,7 +104,7 @@ namespace Utils {
|
||||
QWidget(parent),
|
||||
d(new DetailsWidgetPrivate(this))
|
||||
{
|
||||
d->m_summaryLabel->setTextInteractionFlags(Qt::TextSelectableByMouse);
|
||||
d->m_summaryLabel->setTextInteractionFlags(Qt::TextSelectableByMouse | Qt::LinksAccessibleByMouse);
|
||||
d->m_summaryLabel->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
|
||||
d->m_summaryLabel->setContentsMargins(MARGIN, MARGIN, MARGIN, MARGIN);
|
||||
|
||||
@@ -128,6 +128,8 @@ namespace Utils {
|
||||
this, SLOT(setExpanded(bool)));
|
||||
connect(d->m_summaryCheckBox, SIGNAL(toggled(bool)),
|
||||
this, SIGNAL(checked(bool)));
|
||||
connect(d->m_summaryLabel, SIGNAL(linkActivated(QString)),
|
||||
this, SIGNAL(linkActivated(QString)));
|
||||
updateControls();
|
||||
}
|
||||
|
||||
|
||||
@@ -94,6 +94,7 @@ public:
|
||||
|
||||
signals:
|
||||
void checked(bool);
|
||||
void linkActivated(const QString &link);
|
||||
private slots:
|
||||
void setExpanded(bool);
|
||||
|
||||
|
||||
@@ -147,6 +147,9 @@ EnvironmentWidget::EnvironmentWidget(QWidget *parent, QWidget *additionalDetails
|
||||
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()));
|
||||
}
|
||||
|
||||
@@ -199,9 +202,9 @@ void EnvironmentWidget::updateSummaryText()
|
||||
if (item.name != Utils::EnvironmentModel::tr("<VARIABLE>")) {
|
||||
text.append("<br>");
|
||||
if (item.unset)
|
||||
text.append(tr("Unset <b>%1</b>").arg(Qt::escape(item.name)));
|
||||
text.append(tr("Unset <a href=\"%1\"><b>%1</b></a>").arg(Qt::escape(item.name)));
|
||||
else
|
||||
text.append(tr("Set <b>%1</b> to <b>%2</b>").arg(Qt::escape(item.name), Qt::escape(item.value)));
|
||||
text.append(tr("Set <a href=\"%1\"><b>%1</b></a> to <b>%2</b>").arg(Qt::escape(item.name), Qt::escape(item.value)));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -213,6 +216,13 @@ void EnvironmentWidget::updateSummaryText()
|
||||
d->m_detailsContainer->setSummaryText(text);
|
||||
}
|
||||
|
||||
void EnvironmentWidget::linkActivated(const QString &link)
|
||||
{
|
||||
d->m_detailsContainer->setState(Utils::DetailsWidget::Expanded);
|
||||
QModelIndex idx = d->m_model->variableToIndex(link);
|
||||
focusIndex(idx);
|
||||
}
|
||||
|
||||
void EnvironmentWidget::updateButtons()
|
||||
{
|
||||
environmentCurrentIndexChanged(d->m_environmentView->currentIndex());
|
||||
|
||||
@@ -75,6 +75,7 @@ private slots:
|
||||
void updateSummaryText();
|
||||
void focusIndex(const QModelIndex &index);
|
||||
void updateButtons();
|
||||
void linkActivated(const QString &link);
|
||||
|
||||
private:
|
||||
QScopedPointer<EnvironmentWidgetPrivate> d;
|
||||
|
||||
Reference in New Issue
Block a user