]> cloud.milkyroute.net Git - dolphin.git/blob - src/kitemviews/private/kitemlistrubberband.cpp
Add explicit moc includes to sources for moc-covered headers
[dolphin.git] / src / kitemviews / private / kitemlistrubberband.cpp
1 /*
2 * SPDX-FileCopyrightText: 2011 Peter Penz <peter.penz19@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6
7 #include "kitemlistrubberband.h"
8
9 KItemListRubberBand::KItemListRubberBand(QObject *parent)
10 : QObject(parent)
11 , m_active(false)
12 , m_startPos()
13 , m_endPos()
14 {
15 }
16
17 KItemListRubberBand::~KItemListRubberBand()
18 {
19 }
20
21 void KItemListRubberBand::setStartPosition(const QPointF &pos)
22 {
23 if (m_startPos != pos) {
24 const QPointF previous = m_startPos;
25 m_startPos = pos;
26 Q_EMIT startPositionChanged(m_startPos, previous);
27 }
28 }
29
30 QPointF KItemListRubberBand::startPosition() const
31 {
32 return m_startPos;
33 }
34
35 void KItemListRubberBand::setEndPosition(const QPointF &pos)
36 {
37 if (m_endPos != pos) {
38 const QPointF previous = m_endPos;
39 m_endPos = pos;
40
41 if (m_startPos.x() == m_endPos.x()) {
42 if (previous.x() < m_startPos.x()) {
43 m_endPos.rx() = m_startPos.x() - 1.0;
44 } else {
45 m_endPos.rx() = m_startPos.x() + 1.0;
46 }
47 }
48 if (m_startPos.y() == m_endPos.y()) {
49 if (previous.y() < m_startPos.y()) {
50 m_endPos.ry() = m_startPos.y() - 1.0;
51 } else {
52 m_endPos.ry() = m_startPos.y() + 1.0;
53 }
54 }
55
56 Q_EMIT endPositionChanged(m_endPos, previous);
57 }
58 }
59
60 QPointF KItemListRubberBand::endPosition() const
61 {
62 return m_endPos;
63 }
64
65 void KItemListRubberBand::setActive(bool active)
66 {
67 if (m_active != active) {
68 m_active = active;
69 Q_EMIT activationChanged(active);
70 }
71 }
72
73 bool KItemListRubberBand::isActive() const
74 {
75 return m_active;
76 }
77
78 #include "moc_kitemlistrubberband.cpp"