1 /* 2 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com> 3 * 4 * SPDX-License-Identifier: GPL-2.0-or-later 5 */ 6 7 #ifndef KITEMLISTRUBBERBAND_H 8 #define KITEMLISTRUBBERBAND_H 9 10 #include "dolphin_export.h" 11 12 #include <QObject> 13 #include <QPointF> 14 15 /** 16 * @brief Manages the rubberband when selecting items. 17 */ 18 class DOLPHIN_EXPORT KItemListRubberBand : public QObject 19 { 20 Q_OBJECT 21 Q_PROPERTY(QPointF endPosition MEMBER m_endPos READ endPosition WRITE setEndPosition) 22 23 public: 24 explicit KItemListRubberBand(QObject* parent = nullptr); 25 ~KItemListRubberBand() override; 26 27 void setStartPosition(const QPointF& pos); 28 QPointF startPosition() const; 29 30 void setEndPosition(const QPointF& pos); 31 QPointF endPosition() const; 32 33 void setActive(bool active); 34 bool isActive() const; 35 36 Q_SIGNALS: 37 void activationChanged(bool active); 38 void startPositionChanged(const QPointF& current, const QPointF& previous); 39 void endPositionChanged(const QPointF& current, const QPointF& previous); 40 41 private: 42 bool m_active; 43 QPointF m_startPos; 44 QPointF m_endPos; 45 }; 46 47 #endif 48 49 50