From 4ea8499fdc5afc0deca911b4367cf49b1be719f0 Mon Sep 17 00:00:00 2001 From: Alessandro Portale Date: Tue, 3 Jun 2014 16:53:39 +0200 Subject: [PATCH] ProjectExplorer: Env-widget QTableView to QTreeView QTreeView is a better list view with columns than QTableView. One special reason for this change is that QTreeView finds a proper default row height regardless of the system DPI. Change-Id: I3a5a45cdc9af9393baa24b3656329982facbb425 Reviewed-by: Daniel Teske --- .../projectexplorer/environmentwidget.cpp | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/src/plugins/projectexplorer/environmentwidget.cpp b/src/plugins/projectexplorer/environmentwidget.cpp index add6666f29a..eae691e8cf4 100644 --- a/src/plugins/projectexplorer/environmentwidget.cpp +++ b/src/plugins/projectexplorer/environmentwidget.cpp @@ -36,9 +36,8 @@ #include #include -#include #include -#include +#include #include // for Qt::escape #include @@ -55,7 +54,7 @@ public: QString m_baseEnvironmentText; Utils::DetailsWidget *m_detailsContainer; - QTableView *m_environmentView; + QTreeView *m_environmentView; QPushButton *m_editButton; QPushButton *m_addButton; QPushButton *m_resetButton; @@ -92,15 +91,14 @@ EnvironmentWidget::EnvironmentWidget(QWidget *parent, QWidget *additionalDetails QHBoxLayout *horizontalLayout = new QHBoxLayout(); horizontalLayout->setMargin(0); - d->m_environmentView = new QTableView(this); + d->m_environmentView = new QTreeView(this); d->m_environmentView->setModel(d->m_model); d->m_environmentView->setMinimumHeight(400); - d->m_environmentView->setGridStyle(Qt::NoPen); - d->m_environmentView->horizontalHeader()->setStretchLastSection(true); - d->m_environmentView->horizontalHeader()->setHighlightSections(false); - new Utils::HeaderViewStretcher(d->m_environmentView->horizontalHeader(), 1); - d->m_environmentView->verticalHeader()->hide(); + d->m_environmentView->setRootIsDecorated(false); + d->m_environmentView->setUniformRowHeights(true); + new Utils::HeaderViewStretcher(d->m_environmentView->header(), 1); d->m_environmentView->setSelectionMode(QAbstractItemView::SingleSelection); + d->m_environmentView->setSelectionBehavior(QAbstractItemView::SelectItems); horizontalLayout->addWidget(d->m_environmentView); QVBoxLayout *buttonLayout = new QVBoxLayout();