Skip to content

Commit

Permalink
Merge pull request #597 from dalMaschio-lab/main
Browse files Browse the repository at this point in the history
Checking modifier keys using bitfield operations
  • Loading branch information
carsen-stringer committed Jan 9, 2023
2 parents 4e82051 + fea492a commit 92b4257
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 15 deletions.
12 changes: 2 additions & 10 deletions cellpose/gui/gui.py
Original file line number Diff line number Diff line change
Expand Up @@ -698,9 +698,7 @@ def make_buttons(self):
def keyPressEvent(self, event):
if self.loaded:
#self.p0.setMouseEnabled(x=True, y=True)
if (event.modifiers() != QtCore.Qt.ControlModifier and
event.modifiers() != QtCore.Qt.ShiftModifier and
event.modifiers() != QtCore.Qt.AltModifier) and not self.in_stroke:
if not (event.modifiers() & (QtCore.Qt.ControlModifier | QtCore.Qt.ShiftModifier | QtCore.Qt.AltModifier) or self.in_stroke):
updated = False
if len(self.current_point_set) > 0:
if event.key() == QtCore.Qt.Key_Return:
Expand Down Expand Up @@ -792,11 +790,6 @@ def keyPressEvent(self, event):
self.brush_choose()
if not updated:
self.update_plot()
elif event.modifiers() == QtCore.Qt.ControlModifier:
if event.key() == QtCore.Qt.Key_Z:
self.undo_action()
if event.key() == QtCore.Qt.Key_0:
self.clear_all()
if event.key() == QtCore.Qt.Key_Minus or event.key() == QtCore.Qt.Key_Equal:
self.p0.keyPressEvent(event)

Expand Down Expand Up @@ -1251,8 +1244,7 @@ def remove_stroke(self, delete_points=True, stroke_ind=-1):
del self.strokes[stroke_ind]

def plot_clicked(self, event):
if event.button()==QtCore.Qt.LeftButton and (event.modifiers() != QtCore.Qt.ShiftModifier and
event.modifiers() != QtCore.Qt.AltModifier):
if event.button()==QtCore.Qt.LeftButton and not event.modifiers() & (QtCore.Qt.ShiftModifier | QtCore.Qt.AltModifier):
if event.double():
try:
self.p0.setYRange(0,self.Ly+self.pr)
Expand Down
10 changes: 5 additions & 5 deletions cellpose/gui/guiparts.py
Original file line number Diff line number Diff line change
Expand Up @@ -548,8 +548,8 @@ def __init__(self, image=None, viewbox=None, parent=None, **kargs):

def mouseClickEvent(self, ev):
if self.parent.masksOn or self.parent.outlinesOn:
if self.parent.loaded and (ev.button()==QtCore.Qt.RightButton or
ev.modifiers() == QtCore.Qt.ShiftModifier and not ev.double()):
if self.parent.loaded and (ev.button() == QtCore.Qt.RightButton or
ev.modifiers() & QtCore.Qt.ShiftModifier and not ev.double()):
if not self.parent.in_stroke:
ev.accept()
self.create_start(ev.pos())
Expand All @@ -563,13 +563,13 @@ def mouseClickEvent(self, ev):
elif not self.parent.in_stroke:
y,x = int(ev.pos().y()), int(ev.pos().x())
if y>=0 and y<self.parent.Ly and x>=0 and x<self.parent.Lx:
if ev.button()==QtCore.Qt.LeftButton and not ev.double():
if ev.button() == QtCore.Qt.LeftButton and not ev.double():
idx = self.parent.cellpix[self.parent.currentZ][y,x]
if idx > 0:
if ev.modifiers()==QtCore.Qt.ControlModifier:
if ev.modifiers() & QtCore.Qt.ControlModifier:
# delete mask selected
self.parent.remove_cell(idx)
elif ev.modifiers()==QtCore.Qt.AltModifier:
elif ev.modifiers() & QtCore.Qt.AltModifier:
self.parent.merge_cells(idx)
elif self.parent.masksOn:
self.parent.unselect_cell()
Expand Down

0 comments on commit 92b4257

Please sign in to comment.