]> cloud.milkyroute.net Git - dolphin.git/commitdiff
Prevent the selection rectangle from being reduced to 0px
authorEmmanuel Pescosta <emmanuelpescosta099@gmail.com>
Thu, 20 Jun 2013 17:02:06 +0000 (19:02 +0200)
committerEmmanuel Pescosta <emmanuelpescosta099@gmail.com>
Thu, 20 Jun 2013 17:02:06 +0000 (19:02 +0200)
width or 0px height, so the selected items can not be accidently
unselected when the rectangle width/height becomes 0px.

BUG: 320897
REVIEW: 111144
FIXED-IN: 4.10.5

src/kitemviews/private/kitemlistrubberband.cpp

index ae023d2aac59500c293c76fd30a4203a1bc92d82..58567c460a0c99a0ce2df70a65187c223e040792 100644 (file)
@@ -50,6 +50,22 @@ void KItemListRubberBand::setEndPosition(const QPointF& pos)
     if (m_endPos != pos) {
         const QPointF previous = m_endPos;
         m_endPos = pos;
+
+        if (m_startPos.x() == m_endPos.x()) {
+            if (previous.x() < m_startPos.x()) {
+                m_endPos.rx() = m_startPos.x() - 1.0;
+            } else {
+                m_endPos.rx() = m_startPos.x() + 1.0;
+            }
+        }
+        if (m_startPos.y() == m_endPos.y()) {
+            if (previous.y() < m_startPos.y()) {
+                m_endPos.ry() = m_startPos.y() - 1.0;
+            } else {
+                m_endPos.ry() = m_startPos.y() + 1.0;
+            }
+        }
+
         emit endPositionChanged(m_endPos, previous);
     }
 }