#ifndef YACREADER_TREEVIEW_H #define YACREADER_TREEVIEW_H #include #include "themable.h" class YACReaderTreeView : public QTreeView, protected Themable { Q_OBJECT public: explicit YACReaderTreeView(QWidget *parent = 0); QColor folderIndicatorColor() const { return theme.treeView.folderIndicatorColor; } private: void mousePressEvent(QMouseEvent *event) override; void mouseReleaseEvent(QMouseEvent *event) override; signals: void currentIndexChanged(const QModelIndex &); protected slots: // fix for drop auto expand void expandCurrent(); protected: // Drop to import void dragEnterEvent(QDragEnterEvent *event) override; void dragLeaveEvent(QDragLeaveEvent *event) override; void dragMoveEvent(QDragMoveEvent *event) override; void dropEvent(QDropEvent *event) override; void currentChanged(const QModelIndex ¤t, const QModelIndex &previous) override; void applyTheme(const Theme &theme) override; // fix for drop auto expand QTimer expandTimer; QTimer t; QPoint expandPos; bool clicking; }; #endif // YACREADER_TREEVIEW_H