Set undermouse even when selecting

This commit is contained in:
Ian Jauslin 2021-10-20 21:02:51 -04:00
parent 98dcaacfb5
commit a702a4a991

View File

@ -294,11 +294,11 @@ class Cross_painter(Widget):
# select cross
if touch.button=="left":
# find cross under touch
self.undermouse=self.find_cross(Point(touch.x/Cross.size,touch.y/Cross.size))
# no modifiers
if self.modifiers==[]:
# find cross under touch
self.undermouse=self.find_cross(Point(touch.x/Cross.size,touch.y/Cross.size))
if self.undermouse==None or not self.undermouse in self.selected:
# unselect all crosses
for sel in self.selected:
@ -308,16 +308,15 @@ class Cross_painter(Widget):
# shift-click
elif self.modifiers==['s']:
clicked=self.find_cross(Point(touch.x/Cross.size,touch.y/Cross.size))
if clicked!=None:
if clicked not in self.selected:
self.selected.append(clicked)
clicked.selected=True
if self.undermouse!=None:
if self.undermouse not in self.selected:
self.selected.append(self.undermouse)
self.undermouse.selected=True
else:
# remove
self.selected[self.selected.index(clicked)]=self.selected[len(self.selected)-1]
self.selected[self.selected.index(self.undermouse)]=self.selected[len(self.selected)-1]
self.selected=self.selected[:len(self.selected)-1]
clicked.selected=False
self.undermouse.selected=False
self.draw()