File indexing completed on 2024-05-19 11:21:40
0001 /* 0002 SPDX-License-Identifier: GPL-2.0-or-later 0003 SPDX-FileCopyrightText: 2020 Sirgienko Nikita <warquark@gmail.com> 0004 */ 0005 0006 #ifndef _FILEBROWSERPANELPLUGIN_H 0007 #define _FILEBROWSERPANELPLUGIN_H 0008 0009 #include <QStringListModel> 0010 0011 #include <QPointer> 0012 0013 #include "panelplugin.h" 0014 0015 class QWidget; 0016 class QModelIndex; 0017 class QPushButton; 0018 class QLineEdit; 0019 class QComboBox; 0020 0021 class TableOfContentPanelPlugin : public Cantor::PanelPlugin 0022 { 0023 Q_OBJECT 0024 public: 0025 TableOfContentPanelPlugin (QObject* parent, const QList<QVariant>& args); 0026 ~TableOfContentPanelPlugin() override; 0027 0028 QWidget* widget() override; 0029 0030 bool showOnStartup() override; 0031 0032 void connectToShell(QObject * cantorShell) override; 0033 0034 State saveState() override; 0035 0036 void restoreState(const State& state) override; 0037 0038 0039 Q_SIGNALS: 0040 void requestScrollToHierarchyEntry(QString); 0041 0042 private Q_SLOTS: 0043 void handleDoubleClicked(const QModelIndex&); 0044 void handleHierarchyChanges(QStringList names, QStringList searchStrings, QList<int> depths); 0045 void handleHierarhyEntryNameChange(QString name, QString searchString, int deapth); 0046 0047 private: 0048 void constructMainWidget(); 0049 0050 private: 0051 QPointer<QWidget> m_mainWidget; 0052 QStringListModel m_model; 0053 QStringList m_hierarchyPositionStringList; 0054 }; 0055 0056 #endif /* _FILEBROWSERPANELPLUGIN_H */