From 2ee9ee9bff122c89c34d621208e8df67a30f5d49 Mon Sep 17 00:00:00 2001 From: hjk <hjk@theqtcompany.com> Date: Tue, 14 Jun 2016 15:53:31 +0200 Subject: [PATCH] QtSupport: Make changed Qt version names bold in version dialog Mimic what other Build&Run views do. Change-Id: I6abb13816b5fe17f9aeeb38b0041c1f9b11a98ec Reviewed-by: Tobias Hunger <tobias.hunger@qt.io> --- src/plugins/qtsupport/qtoptionspage.cpp | 35 +++++++++++++++++-------- src/plugins/qtsupport/qtoptionspage.h | 1 - 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/src/plugins/qtsupport/qtoptionspage.cpp b/src/plugins/qtsupport/qtoptionspage.cpp index 103077b3ae7..30ec98ebdc2 100644 --- a/src/plugins/qtsupport/qtoptionspage.cpp +++ b/src/plugins/qtsupport/qtoptionspage.cpp @@ -102,6 +102,12 @@ public: return m_version->qmakeCommand().toUserOutput(); } + if (role == Qt::FontRole && m_changed) { + QFont font; + font.setBold(true); + return font; + } + if (role == Qt::DecorationRole && column == 0) return m_icon; @@ -134,11 +140,20 @@ public: m_toolChainId = id; } + void setChanged(bool changed) + { + if (changed == m_changed) + return; + m_changed = changed; + update(); + } + private: BaseQtVersion *m_version = 0; QIcon m_icon; QString m_buildLog; QByteArray m_toolChainId; + bool m_changed = false; }; /// @@ -744,6 +759,7 @@ void QtOptionsPageWidget::updateCurrentQtName() if (!item || !item->version()) return; + item->setChanged(true); item->version()->setUnexpandedDisplayName(m_versionUi->nameEdit->text()); updateDescriptionLabel(); @@ -755,21 +771,18 @@ void QtOptionsPageWidget::apply() disconnect(QtVersionManager::instance(), &QtVersionManager::qtVersionsChanged, this, &QtOptionsPageWidget::updateQtVersions); - QtVersionManager::setNewQtVersions(versions()); + QList<BaseQtVersion *> versions; - connect(QtVersionManager::instance(), &QtVersionManager::qtVersionsChanged, - this, &QtOptionsPageWidget::updateQtVersions); -} + m_model->forSecondLevelItems([this, &versions](QtVersionItem *item) { + item->setChanged(false); + versions.append(item->version()->clone()); + }); -QList<BaseQtVersion *> QtOptionsPageWidget::versions() const -{ - QList<BaseQtVersion *> result; + QtVersionManager::setNewQtVersions(versions); - m_model->forSecondLevelItems([this, &result](QtVersionItem *item) { - result.append(item->version()->clone()); - }); - return result; + connect(QtVersionManager::instance(), &QtVersionManager::qtVersionsChanged, + this, &QtOptionsPageWidget::updateQtVersions); } } // namespace Internal diff --git a/src/plugins/qtsupport/qtoptionspage.h b/src/plugins/qtsupport/qtoptionspage.h index 39a0828639a..4c70decc9a1 100644 --- a/src/plugins/qtsupport/qtoptionspage.h +++ b/src/plugins/qtsupport/qtoptionspage.h @@ -62,7 +62,6 @@ class QtOptionsPageWidget : public QWidget public: QtOptionsPageWidget(QWidget *parent = 0); ~QtOptionsPageWidget(); - QList<BaseQtVersion *> versions() const; void apply(); private: -- GitLab