| 22 | { |
| 23 | |
| 24 | CheckSelection::CheckSelection(QWidget* parent) |
| 25 | : QWidget(parent) |
| 26 | , m_checkListModel(new CheckListModel(this)) |
| 27 | { |
| 28 | auto* layout = new QVBoxLayout; |
| 29 | layout->setContentsMargins(0, 0, 0, 0); |
| 30 | |
| 31 | auto* checkFilterEdit = new CheckListFilterProxySearchLine(this); |
| 32 | layout->addWidget(checkFilterEdit); |
| 33 | |
| 34 | m_checkListView = new QTreeView(this); |
| 35 | m_checkListView->setAllColumnsShowFocus(true); |
| 36 | m_checkListView->setRootIsDecorated(true); |
| 37 | m_checkListView->setHeaderHidden(true); |
| 38 | m_checkListView->setUniformRowHeights(true); |
| 39 | m_proxyStyle = new CheckListItemProxyStyle; |
| 40 | m_proxyStyle->setParent(this); |
| 41 | m_checkListView->setStyle(m_proxyStyle); |
| 42 | layout->addWidget(m_checkListView); |
| 43 | |
| 44 | setLayout(layout); |
| 45 | |
| 46 | m_checksFilterProxyModel = new QSortFilterProxyModel(this); |
| 47 | m_checksFilterProxyModel->setRecursiveFilteringEnabled(true); |
| 48 | checkFilterEdit->setFilterProxyModel(m_checksFilterProxyModel); |
| 49 | m_checksFilterProxyModel->setSourceModel(m_checkListModel); |
| 50 | m_checksFilterProxyModel->setFilterKeyColumn(CheckListModel::NameColumnId); |
| 51 | m_checksFilterProxyModel->setFilterCaseSensitivity(Qt::CaseInsensitive); |
| 52 | |
| 53 | m_checkListView->setModel(m_checksFilterProxyModel); |
| 54 | auto* header = m_checkListView->header(); |
| 55 | header->setStretchLastSection(false); |
| 56 | header->setSectionResizeMode(CheckListModel::NameColumnId, QHeaderView::Stretch); |
| 57 | header->setSectionResizeMode(CheckListModel::CountColumnId, QHeaderView::ResizeToContents); |
| 58 | |
| 59 | connect(m_checkListModel, &CheckListModel::enabledChecksChanged, |
| 60 | this, &CheckSelection::onEnabledChecksChanged); |
| 61 | } |
| 62 | |
| 63 | CheckSelection::~CheckSelection() = default; |
| 64 |
nothing calls this directly
no test coverage detected