// Copyright (C) 2016 The Qt Company Ltd. // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0+ OR GPL-3.0 WITH Qt-GPL-exception-1.0 #include "cppoutline.h" #include "cppeditoroutline.h" #include "cppeditordocument.h" #include "cppmodelmanager.h" #include "cppoutlinemodel.h" #include #include #include #include #include #include #include #include #include namespace CppEditor { namespace Internal { CppOutlineTreeView::CppOutlineTreeView(QWidget *parent) : Utils::NavigationTreeView(parent) { setExpandsOnDoubleClick(false); setDragEnabled(true); setDragDropMode(QAbstractItemView::DragOnly); } void CppOutlineTreeView::contextMenuEvent(QContextMenuEvent *event) { if (!event) return; QMenu contextMenu; QAction *action = contextMenu.addAction(tr("Expand All")); connect(action, &QAction::triggered, this, &QTreeView::expandAll); action = contextMenu.addAction(tr("Collapse All")); connect(action, &QAction::triggered, this, &QTreeView::collapseAll); contextMenu.exec(event->globalPos()); event->accept(); } CppOutlineFilterModel::CppOutlineFilterModel(OutlineModel &sourceModel, QObject *parent) : QSortFilterProxyModel(parent) , m_sourceModel(sourceModel) { } bool CppOutlineFilterModel::filterAcceptsRow(int sourceRow, const QModelIndex &sourceParent) const { // ignore artifical "