Allow right-clicking for scribbling

master
En Yi 2019-07-06 18:48:15 +08:00 committed by En Yi
parent b7eba38f0f
commit de5af7cb44
2 changed files with 9 additions and 5 deletions

View File

@ -64,6 +64,7 @@ class AnimBox(QGraphicsObject):
self.line_order = [self.up, self.right, self.down, self.left]
self.accepted_buttons = Qt.LeftButton
self.set_freeze(False)
self.length = 0
@ -85,7 +86,7 @@ class AnimBox(QGraphicsObject):
self.setAcceptedMouseButtons(Qt.NoButton)
self.setAcceptHoverEvents(False)
else:
self.setAcceptedMouseButtons(Qt.LeftButton)
self.setAcceptedMouseButtons(self.accepted_buttons)
self.setAcceptHoverEvents(True)
def toggle_anim(self, toggling):
@ -216,6 +217,7 @@ class RingButton(AnimBox):
super().__init__(x, y, width, height, parent=parent)
self.text = text
self.transparent = False
self.accepted_buttons = self.accepted_buttons | Qt.RightButton
def set_transparent(self, state):
"""Make the button transparent
@ -252,7 +254,7 @@ class RingButton(AnimBox):
"""
event.accept()
self.toggle_anim(False)
self.buttonClicked.emit(self.text)
self.buttonClicked.emit(self.text, event.button())
class MenuButton(AnimBox):

View File

@ -465,7 +465,7 @@ class NumberRing(BaseSudokuItem):
"""
pass
def send_button_press(self, val):
def send_button_press(self, val, btn):
"""Emits the keyPressed signal if any of the buttons is pressed, and attempts to close the ring
Parameters
@ -473,8 +473,10 @@ class NumberRing(BaseSudokuItem):
val : str
The digit to be emitted
"""
self.keyPressed.emit(val, self.scribbling)
self.close_menu()
scribble = btn == 2
self.keyPressed.emit(val, scribble)
if not scribble:
self.close_menu()
def freeze_buttons(self, freeze):
"""Freezes the button