MCPcopy Create free account
hub / github.com/KDE/kdevelop / ProblemTreeView

Method ProblemTreeView

plugins/problemreporter/problemtreeview.cpp:91–124  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

89}
90
91ProblemTreeView::ProblemTreeView(QWidget* parent, QAbstractItemModel* itemModel)
92 : QTreeView(parent)
93 , m_proxy(new QSortFilterProxyModel(this))
94{
95 setObjectName(QStringLiteral("Problem Reporter Tree"));
96 setWhatsThis(i18nc("@info:whatsthis", "Problems"));
97 setItemDelegate(new ProblemTreeViewItemDelegate(this));
98 setSelectionBehavior(QAbstractItemView::SelectRows);
99 setUniformRowHeights(true);
100
101 m_proxy->setSortRole(ProblemModel::SeverityRole);
102 m_proxy->setDynamicSortFilter(true);
103 m_proxy->sort(0, Qt::AscendingOrder);
104
105 auto* problemModel = qobject_cast<ProblemModel*>(itemModel);
106 Q_ASSERT(problemModel);
107 setModel(problemModel);
108
109 header()->setStretchLastSection(false);
110 if (!problemModel->features().testFlag(ProblemModel::ShowSource)) {
111 hideColumn(ProblemModel::Source);
112 }
113
114 connect(this, &ProblemTreeView::clicked, this, &ProblemTreeView::itemActivated);
115
116 connect(model(), &QAbstractItemModel::rowsInserted, this, &ProblemTreeView::changed);
117 connect(model(), &QAbstractItemModel::rowsRemoved, this, &ProblemTreeView::changed);
118 connect(model(), &QAbstractItemModel::modelReset, this, &ProblemTreeView::changed);
119
120 m_proxy->setFilterKeyColumn(-1);
121 m_proxy->setFilterCaseSensitivity(Qt::CaseInsensitive);
122
123 resizeColumns();
124}
125
126ProblemTreeView::~ProblemTreeView()
127{

Callers

nothing calls this directly

Calls 3

modelFunction · 0.85
sortMethod · 0.45
featuresMethod · 0.45

Tested by

no test coverage detected