File indexing completed on 2024-05-05 16:46:04

0001 /*
0002     SPDX-FileCopyrightText: 2010, 2015 Alex Richardson <alex.richardson@gmx.de>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include <QWidget>
0010 
0011 class QSortFilterProxyModel;
0012 class QModelIndex;
0013 class QAction;
0014 class QTreeView;
0015 class QLineEdit;
0016 class OutlineModel;
0017 class OutlineViewPlugin;
0018 
0019 class OutlineWidget : public QWidget
0020 {
0021     Q_OBJECT
0022 
0023 public:
0024     OutlineWidget(QWidget* parent, OutlineViewPlugin* plugin);
0025     ~OutlineWidget() override;
0026 
0027 private:
0028     OutlineViewPlugin* m_plugin;
0029     OutlineModel* m_model;
0030     QTreeView* m_tree;
0031     QSortFilterProxyModel* m_proxy;
0032     QLineEdit* m_filter;
0033     QAction* m_sortAlphabeticallyAction;
0034 
0035     Q_DISABLE_COPY(OutlineWidget)
0036 public Q_SLOTS:
0037     void activated(const QModelIndex& index);
0038     void expandFirstLevel();
0039 };