#ifndef BEETVIEW_H #define BEETVIEW_H #include class BeetView : public QTreeView { Q_OBJECT public: enum ExpandOrCollapseMode { Expand, Collapse }; explicit BeetView(QWidget *parent = nullptr); public slots: void expandOrCollapse(int mode); protected: virtual void contextMenuEvent(QContextMenuEvent *e); private: void expandOrCollapseRecursive(const QModelIndex &idx, int mode); }; #endif // BEETVIEW_H