summaryrefslogtreecommitdiff
path: root/src/plugins/projectexplorer/projecttreewidget.cpp
diff options
context:
space:
mode:
authorTobias Hunger <tobias.hunger@digia.com>2013-01-16 15:27:03 +0100
committerTobias Hunger <tobias.hunger@digia.com>2013-01-21 13:40:03 +0100
commit459d471c2f9ddc9c4023c8396866e168f2a9e2ba (patch)
tree6840326f3b0aa51b52a12d3ba57ddd8f23a988e3 /src/plugins/projectexplorer/projecttreewidget.cpp
parent1edce87173acbef69df733fe1aef348afbeae4ba (diff)
downloadqt-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.cpp20
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();