| 54 | */ |
| 55 | |
| 56 | ProjectExplorer::ProjectExplorer(QWidget* parent) |
| 57 | : m_treeView(new QTreeView(parent)) |
| 58 | , m_frameFilter(new QFrame(this)) { |
| 59 | auto* layout = new QVBoxLayout(this); |
| 60 | layout->setSpacing(0); |
| 61 | layout->setContentsMargins(0, 0, 0, 0); |
| 62 | |
| 63 | auto* layoutFilter = new QHBoxLayout(m_frameFilter); |
| 64 | layoutFilter->setSpacing(0); |
| 65 | layoutFilter->setContentsMargins(0, 0, 0, 0); |
| 66 | |
| 67 | m_leFilter = new QLineEdit(m_frameFilter); |
| 68 | m_leFilter->setClearButtonEnabled(true); |
| 69 | m_leFilter->setPlaceholderText(i18n("Search/Filter")); |
| 70 | layoutFilter->addWidget(m_leFilter); |
| 71 | |
| 72 | bFilterOptions = new QPushButton(m_frameFilter); |
| 73 | bFilterOptions->setIcon(QIcon::fromTheme(QStringLiteral("configure"))); |
| 74 | bFilterOptions->setCheckable(true); |
| 75 | bFilterOptions->setFlat(true); |
| 76 | layoutFilter->addWidget(bFilterOptions); |
| 77 | |
| 78 | layout->addWidget(m_frameFilter); |
| 79 | |
| 80 | m_treeView->setAnimated(true); |
| 81 | m_treeView->setAlternatingRowColors(true); |
| 82 | m_treeView->setSelectionBehavior(QAbstractItemView::SelectRows); |
| 83 | m_treeView->setSelectionMode(QAbstractItemView::ExtendedSelection); |
| 84 | m_treeView->setUniformRowHeights(true); |
| 85 | m_treeView->viewport()->installEventFilter(this); |
| 86 | m_treeView->header()->setStretchLastSection(true); |
| 87 | m_treeView->header()->installEventFilter(this); |
| 88 | m_treeView->setDragEnabled(true); |
| 89 | m_treeView->setAcceptDrops(true); |
| 90 | m_treeView->setDropIndicatorShown(true); |
| 91 | m_treeView->setDragDropMode(QAbstractItemView::InternalMove); |
| 92 | |
| 93 | layout->addWidget(m_treeView); |
| 94 | |
| 95 | connect(m_leFilter, &QLineEdit::textChanged, this, &ProjectExplorer::filterTextChanged); |
| 96 | connect(bFilterOptions, &QPushButton::toggled, this, &ProjectExplorer::toggleFilterOptionsMenu); |
| 97 | } |
| 98 | |
| 99 | ProjectExplorer::~ProjectExplorer() { |
| 100 | // save the visible columns |
nothing calls this directly
no test coverage detected