Commit e945acef authored by dt's avatar dt
Browse files

Environment Widget: Linkfy summary text

Jumps to the variable on clicking.

Task-Nr: QTCREATORBUG-3316
parent c6a74143
...@@ -104,7 +104,7 @@ namespace Utils { ...@@ -104,7 +104,7 @@ namespace Utils {
QWidget(parent), QWidget(parent),
d(new DetailsWidgetPrivate(this)) 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->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed);
d->m_summaryLabel->setContentsMargins(MARGIN, MARGIN, MARGIN, MARGIN); d->m_summaryLabel->setContentsMargins(MARGIN, MARGIN, MARGIN, MARGIN);
...@@ -128,6 +128,8 @@ namespace Utils { ...@@ -128,6 +128,8 @@ namespace Utils {
this, SLOT(setExpanded(bool))); this, SLOT(setExpanded(bool)));
connect(d->m_summaryCheckBox, SIGNAL(toggled(bool)), connect(d->m_summaryCheckBox, SIGNAL(toggled(bool)),
this, SIGNAL(checked(bool))); this, SIGNAL(checked(bool)));
connect(d->m_summaryLabel, SIGNAL(linkActivated(QString)),
this, SIGNAL(linkActivated(QString)));
updateControls(); updateControls();
} }
......
...@@ -94,6 +94,7 @@ public: ...@@ -94,6 +94,7 @@ public:
signals: signals:
void checked(bool); void checked(bool);
void linkActivated(const QString &link);
private slots: private slots:
void setExpanded(bool); void setExpanded(bool);
......
...@@ -147,6 +147,9 @@ EnvironmentWidget::EnvironmentWidget(QWidget *parent, QWidget *additionalDetails ...@@ -147,6 +147,9 @@ EnvironmentWidget::EnvironmentWidget(QWidget *parent, QWidget *additionalDetails
connect(d->m_environmentView->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)), connect(d->m_environmentView->selectionModel(), SIGNAL(currentChanged(QModelIndex,QModelIndex)),
this, SLOT(environmentCurrentIndexChanged(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())); connect(d->m_model, SIGNAL(userChangesChanged()), this, SLOT(updateSummaryText()));
} }
...@@ -199,9 +202,9 @@ void EnvironmentWidget::updateSummaryText() ...@@ -199,9 +202,9 @@ void EnvironmentWidget::updateSummaryText()
if (item.name != Utils::EnvironmentModel::tr("<VARIABLE>")) { if (item.name != Utils::EnvironmentModel::tr("<VARIABLE>")) {
text.append("<br>"); text.append("<br>");
if (item.unset) 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 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() ...@@ -213,6 +216,13 @@ void EnvironmentWidget::updateSummaryText()
d->m_detailsContainer->setSummaryText(text); 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() void EnvironmentWidget::updateButtons()
{ {
environmentCurrentIndexChanged(d->m_environmentView->currentIndex()); environmentCurrentIndexChanged(d->m_environmentView->currentIndex());
......
...@@ -75,6 +75,7 @@ private slots: ...@@ -75,6 +75,7 @@ private slots:
void updateSummaryText(); void updateSummaryText();
void focusIndex(const QModelIndex &index); void focusIndex(const QModelIndex &index);
void updateButtons(); void updateButtons();
void linkActivated(const QString &link);
private: private:
QScopedPointer<EnvironmentWidgetPrivate> d; QScopedPointer<EnvironmentWidgetPrivate> d;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment