]> cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/private/kitemlistrubberband.h
Add clang-format and format code as in Frameworks
[dolphin.git] / src / kitemviews / private / kitemlistrubberband.h
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