Skip to content

Commit

Permalink
Fix #275 - Add drag tolerance for capture point
Browse files Browse the repository at this point in the history
  • Loading branch information
NathanW2 committed May 26, 2015
1 parent c039ead commit 6c0a497
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 32 deletions.
31 changes: 1 addition & 30 deletions src/roam/flickwidget.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,30 +132,8 @@ def eventFilter(self, object, event):
consumed = True
data.state = FlickData.Steady

# elif data.state == FlickData.AutoScroll:
# if eventType == QEvent.MouseButtonPress:
# consumed = True
# data.state = FlickData.Stop
# data.speed = QPoint(0, 0)
# elif eventType == QEvent.MouseButtonRelease:
# consumed = True
# data.state = FlickData.Steady
# data.speed = QPoint(0, 0)

# elif data.state == FlickData.Stop:
# if eventType == QEvent.MouseButtonRelease:
# consumed = True
# data.state = FlickData.Steady
# elif eventType == QEvent.MouseMove:
# consumed = True
# data.state = FlickData.ManualScroll
# data.dragPos = QCursor.pos()
# if not self.d.ticker.isActive():
# self.d.ticker.start(400, self)

return consumed


def timerEvent(self, event):
count = 0
for data in self.d.flickData.values():
Expand All @@ -164,13 +142,6 @@ def timerEvent(self, event):
cursorPos = QCursor.pos()
data.speed = cursorPos - data.dragPos
data.dragPos = cursorPos
# elif data.state == FlickData.AutoScroll:
# count += 1
# data.speed = deaccelerate(data.speed)
# # p = scrollOffset(data.widget)
# # setScrollOffset(data.widget, p - data.speed, data.pressPos)
# if data.speed == QPoint(0, 0):
# data.state = FlickData.Steady

if count == 0:
self.d.ticker.stop()
Expand Down Expand Up @@ -240,4 +211,4 @@ def removeAll(list, val):
found = True
else:
ret.append(element)
return (found, ret)
return (found, ret)
9 changes: 7 additions & 2 deletions src/roam/maptools/maptools.py
Original file line number Diff line number Diff line change
Expand Up @@ -505,13 +505,18 @@ def __init__(self, canvas):
def actions(self):
return [self.captureaction, self.gpscapture]

def canvasPressEvent(self, event):
self.startpoint = event.pos()

def canvasReleaseEvent(self, event):
if self.pinching:
return

if self.dragging:
super(PointTool, self).canvasReleaseEvent(event)
return
diff = self.startpoint - event.pos()
if not abs(diff.x()) < 10 and not abs(diff.y()) < 10:
super(PointTool, self).canvasReleaseEvent(event)
return

point = self.toMapCoordinates(event.pos())
self.geometryComplete.emit(QgsGeometry.fromPoint(point))
Expand Down

0 comments on commit 6c0a497

Please sign in to comment.