diff --git a/src/plugins/projectexplorer/project.h b/src/plugins/projectexplorer/project.h index 8451103cc33..02bd31f7e33 100644 --- a/src/plugins/projectexplorer/project.h +++ b/src/plugins/projectexplorer/project.h @@ -88,7 +88,6 @@ public: enum ModelRoles { // Absolute file path FilePathRole = QFileSystemModel::FilePathRole, - EnabledRole, isParsingRole }; diff --git a/src/plugins/projectexplorer/projectmodels.cpp b/src/plugins/projectexplorer/projectmodels.cpp index 558ae45a6a0..05accb7e530 100644 --- a/src/plugins/projectexplorer/projectmodels.cpp +++ b/src/plugins/projectexplorer/projectmodels.cpp @@ -89,6 +89,9 @@ FlatModel::FlatModel(QObject *parent) for (Project *project : SessionManager::projects()) handleProjectAdded(project); + + m_disabledTextColor = Utils::creatorTheme()->color(Utils::Theme::TextColorDisabled); + m_enabledTextColor = Utils::creatorTheme()->color(Utils::Theme::TextColorNormal); } QVariant FlatModel::data(const QModelIndex &index, int role) const @@ -137,12 +140,12 @@ QVariant FlatModel::data(const QModelIndex &index, int role) const result = font; break; } - case Project::FilePathRole: { - result = node->filePath().toString(); + case Qt::TextColorRole: { + result = node->isEnabled() ? m_enabledTextColor : m_disabledTextColor; break; } - case Project::EnabledRole: { - result = node->isEnabled(); + case Project::FilePathRole: { + result = node->filePath().toString(); break; } case Project::isParsingRole: { diff --git a/src/plugins/projectexplorer/projectmodels.h b/src/plugins/projectexplorer/projectmodels.h index b842f3d5ec4..952fc096518 100644 --- a/src/plugins/projectexplorer/projectmodels.h +++ b/src/plugins/projectexplorer/projectmodels.h @@ -109,6 +109,8 @@ private: QTimer m_timer; QSet m_toExpand; + QColor m_enabledTextColor; + QColor m_disabledTextColor; }; } // namespace Internal diff --git a/src/plugins/projectexplorer/projecttreewidget.cpp b/src/plugins/projectexplorer/projecttreewidget.cpp index 01288a22e0e..ea4081698a6 100644 --- a/src/plugins/projectexplorer/projecttreewidget.cpp +++ b/src/plugins/projectexplorer/projecttreewidget.cpp @@ -93,12 +93,10 @@ public: void paint(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override { - QStyleOptionViewItem opt = option; - if (!index.data(Project::EnabledRole).toBool()) - opt.state &= ~QStyle::State_Enabled; - QStyledItemDelegate::paint(painter, opt, index); + QStyledItemDelegate::paint(painter, option, index); if (index.data(Project::isParsingRole).toBool()) { + QStyleOptionViewItem opt = option; initStyleOption(&opt, index); ProgressIndicatorPainter *indicator = findOrCreateIndicatorPainter(index);