Fix difficulty menu behaviour
parent
daef9e01b9
commit
7aace4df50
|
@ -71,14 +71,18 @@ class DifficultyDisplayer(QGraphicsWidget):
|
||||||
self.setSizePolicy(self.size_policy)
|
self.setSizePolicy(self.size_policy)
|
||||||
|
|
||||||
self.selected = False
|
self.selected = False
|
||||||
|
self.focus_changed = False
|
||||||
self.setFlag(QGraphicsItem.ItemIsFocusable, True)
|
self.setFlag(QGraphicsItem.ItemIsFocusable, True)
|
||||||
|
|
||||||
def paint(self, painter, style, widget=None):
|
def paint(self, painter, style, widget=None):
|
||||||
painter.setPen(self.box_pen)
|
painter.setPen(self.box_pen)
|
||||||
painter.drawRect(self.diff_box)
|
painter.drawRect(self.diff_box)
|
||||||
painter.drawText(self.diff_box, Qt.AlignCenter, "Normal")
|
painter.drawText(self.diff_box, Qt.AlignCenter, "Normal")
|
||||||
|
#painter.drawRect(self.boundingRect())
|
||||||
|
|
||||||
def mousePressEvent(self, event):
|
def mousePressEvent(self, event):
|
||||||
|
#if not self.focus_changed:
|
||||||
|
print('Click')
|
||||||
self.selected = not self.selected
|
self.selected = not self.selected
|
||||||
for btn in self.diff_buttons:
|
for btn in self.diff_buttons:
|
||||||
btn.setVisible(self.selected)
|
btn.setVisible(self.selected)
|
||||||
|
@ -86,13 +90,20 @@ class DifficultyDisplayer(QGraphicsWidget):
|
||||||
if self.selected:
|
if self.selected:
|
||||||
self.setFocus()
|
self.setFocus()
|
||||||
else:
|
else:
|
||||||
self.clearFocus()
|
print('Out of focus')
|
||||||
|
# self.focus_changed = False
|
||||||
|
|
||||||
#def boundingRect(self):
|
def boundingRect(self):
|
||||||
# return QRectF(-20, -(self.height+10)*4 -20, self.width+40, (self.height+20) * 5)
|
if self.selected:
|
||||||
|
return QRectF(-10, -(self.height+10)*4 -10, self.width+20, (self.height+10) * 4+5)
|
||||||
|
else:
|
||||||
|
return super().boundingRect()
|
||||||
|
|
||||||
def focusOutEvent(self, event):
|
def focusOutEvent(self, event):
|
||||||
|
print("diff focus out")
|
||||||
self.selected = False
|
self.selected = False
|
||||||
|
self.focus_changed = True
|
||||||
for btn in self.diff_buttons:
|
for btn in self.diff_buttons:
|
||||||
btn.setVisible(False)
|
btn.setVisible(False)
|
||||||
|
|
||||||
self.notFocus.emit()
|
self.notFocus.emit()
|
||||||
|
|
Loading…
Reference in New Issue