#ifndef SCIQLOP_DRAGDROPSCROLLER_H #define SCIQLOP_DRAGDROPSCROLLER_H #include #include /** * @brief Event filter class which manage the scroll of QScrollArea during a drag&drop operation. * @note A QScrollArea inside an other QScrollArea is not fully supported. */ class DragDropScroller : public QObject { Q_OBJECT public: DragDropScroller(QObject *parent = nullptr); void addScrollArea(QScrollArea *scrollArea); void removeScrollArea(QScrollArea *scrollArea); protected: bool eventFilter(QObject *obj, QEvent *event); private: class DragDropScrollerPrivate; spimpl::unique_impl_ptr impl; private slots: void onTimer(); }; #endif // SCIQLOP_DRAGDROPSCROLLER_H