diff options
author | Tobias Hunger <tobias.hunger@digia.com> | 2013-01-16 15:27:03 +0100 |
---|---|---|
committer | Tobias Hunger <tobias.hunger@digia.com> | 2013-01-21 13:40:03 +0100 |
commit | 459d471c2f9ddc9c4023c8396866e168f2a9e2ba (patch) | |
tree | 6840326f3b0aa51b52a12d3ba57ddd8f23a988e3 /src/plugins/projectexplorer/projecttreewidget.cpp | |
parent | 1edce87173acbef69df733fe1aef348afbeae4ba (diff) | |
download | qt-creator-459d471c2f9ddc9c4023c8396866e168f2a9e2ba.tar.gz |
Allow for disabled nodes in Projects view
Change-Id: I8b9a2666c8efdc5981adfe6a3a032884a6e50d2a
Reviewed-by: Daniel Teske <daniel.teske@digia.com>
Diffstat (limited to 'src/plugins/projectexplorer/projecttreewidget.cpp')
-rw-r--r-- | src/plugins/projectexplorer/projecttreewidget.cpp | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp index 313eab457a..8e72e423cb 100644 --- a/src/plugins/projectexplorer/projecttreewidget.cpp +++ b/src/plugins/projectexplorer/projecttreewidget.cpp @@ -49,6 +49,7 @@ #include <QSettings> #include <QHeaderView> +#include <QStyledItemDelegate> #include <QTreeView> #include <QVBoxLayout> #include <QToolButton> @@ -62,7 +63,23 @@ using namespace ProjectExplorer; using namespace ProjectExplorer::Internal; namespace { - bool debug = false; + +class ProjectTreeItemDelegate : public QStyledItemDelegate +{ +public: + ProjectTreeItemDelegate(QObject *parent) : QStyledItemDelegate(parent) + { } + + void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const + { + QStyleOptionViewItem opt = option; + if (!index.data(ProjectExplorer::Project::EnabledRole).toBool()) + opt.state &= ~QStyle::State_Enabled; + QStyledItemDelegate::paint(painter, opt, index); + } +}; + +bool debug = false; } class ProjectTreeView : public Utils::NavigationTreeView @@ -115,6 +132,7 @@ ProjectTreeWidget::ProjectTreeWidget(QWidget *parent) m_view = new ProjectTreeView; m_view->setModel(m_model); + m_view->setItemDelegate(new ProjectTreeItemDelegate(this)); setFocusProxy(m_view); initView(); |