File indexing completed on 2024-05-12 05:47:30
0001 /* 0002 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com> 0003 * 0004 * SPDX-License-Identifier: GPL-2.0-or-later 0005 */ 0006 0007 #ifndef KITEMLISTRUBBERBAND_H 0008 #define KITEMLISTRUBBERBAND_H 0009 0010 #include "dolphin_export.h" 0011 0012 #include <QObject> 0013 #include <QPointF> 0014 0015 /** 0016 * @brief Manages the rubberband when selecting items. 0017 */ 0018 class DOLPHIN_EXPORT KItemListRubberBand : public QObject 0019 { 0020 Q_OBJECT 0021 Q_PROPERTY(QPointF endPosition MEMBER m_endPos READ endPosition WRITE setEndPosition NOTIFY endPositionChanged) 0022 0023 public: 0024 explicit KItemListRubberBand(QObject *parent = nullptr); 0025 ~KItemListRubberBand() override; 0026 0027 void setStartPosition(const QPointF &pos); 0028 QPointF startPosition() const; 0029 0030 void setEndPosition(const QPointF &pos); 0031 QPointF endPosition() const; 0032 0033 void setActive(bool active); 0034 bool isActive() const; 0035 0036 Q_SIGNALS: 0037 void activationChanged(bool active); 0038 void startPositionChanged(const QPointF ¤t, const QPointF &previous); 0039 void endPositionChanged(const QPointF ¤t, const QPointF &previous); 0040 0041 private: 0042 bool m_active; 0043 QPointF m_startPos; 0044 QPointF m_endPos; 0045 }; 0046 0047 #endif