summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordt <qtc-committer@nokia.com>2011-03-28 17:57:17 +0200
committerdt <qtc-committer@nokia.com>2011-03-28 17:58:44 +0200
commite945acef450c4fbf9b417a485b50a50a9c05c58b (patch)
treef0a6a0731b4466d5ac3e4e29026b9cf6973667be
parentc6a74143b28c3097716e8dc4ac3f217ddcb35f48 (diff)
downloadqt-creator-e945acef450c4fbf9b417a485b50a50a9c05c58b.tar.gz
Environment Widget: Linkfy summary text
Jumps to the variable on clicking. Task-Nr: QTCREATORBUG-3316
-rw-r--r--src/libs/utils/detailswidget.cpp4
-rw-r--r--src/libs/utils/detailswidget.h1
-rw-r--r--src/plugins/projectexplorer/environmentwidget.cpp14
-rw-r--r--src/plugins/projectexplorer/environmentwidget.h1
4 files changed, 17 insertions, 3 deletions
diff --git a/src/libs/utils/detailswidget.cpp b/src/libs/utils/detailswidget.cpp
index adc0cc2262..67b5954aaf 100644
--- a/src/libs/utils/detailswidget.cpp
+++ b/src/libs/utils/detailswidget.cpp
@@ -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();
}
diff --git a/src/libs/utils/detailswidget.h b/src/libs/utils/detailswidget.h
index a34b82b88d..7fb01bacfd 100644
--- a/src/libs/utils/detailswidget.h
+++ b/src/libs/utils/detailswidget.h
@@ -94,6 +94,7 @@ public:
signals:
void checked(bool);
+ void linkActivated(const QString &link);
private slots:
void setExpanded(bool);
diff --git a/src/plugins/projectexplorer/environmentwidget.cpp b/src/plugins/projectexplorer/environmentwidget.cpp
index 7f6e597aef..ade5dd3d2d 100644
--- a/src/plugins/projectexplorer/environmentwidget.cpp
+++ b/src/plugins/projectexplorer/environmentwidget.cpp
@@ -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());
diff --git a/src/plugins/projectexplorer/environmentwidget.h b/src/plugins/projectexplorer/environmentwidget.h
index c8efbed42c..f00ad5ee17 100644
--- a/src/plugins/projectexplorer/environmentwidget.h
+++ b/src/plugins/projectexplorer/environmentwidget.h
@@ -75,6 +75,7 @@ private slots:
void updateSummaryText();
void focusIndex(const QModelIndex &index);
void updateButtons();
+ void linkActivated(const QString &link);
private:
QScopedPointer<EnvironmentWidgetPrivate> d;