diff --git a/graphic_components/board.py b/graphic_components/board.py index f8496de..de304b0 100644 --- a/graphic_components/board.py +++ b/graphic_components/board.py @@ -99,6 +99,7 @@ class GameBoard(BoxBoard): """ boxClicked = pyqtSignal(bool) newGameSelected = pyqtSignal(str) + gridDrawn = pyqtSignal() def __init__(self, width, height, parent=None): super().__init__(width, height, parent) @@ -117,6 +118,7 @@ class GameBoard(BoxBoard): self.anim.finished.connect(lambda: self.show_playmenu(True)) self.playmenu.buttonClicked.connect(self.new_game) + self.gamegrid.finishDrawing.connect(self.gridDrawn.emit) self.toggle_anim(True) def show_number_ring(self, x=0, y=0): @@ -187,6 +189,7 @@ class MenuBoard(BoxBoard): def show_children(self, state): for chd in self.children(): chd.setVisible(state) + self.timer_display.reset_time() def set_difficulty_text(self, string): self.diff_display.set_text(string) diff --git a/graphic_components/sudoku_graphics.py b/graphic_components/sudoku_graphics.py index f65d861..e09626d 100644 --- a/graphic_components/sudoku_graphics.py +++ b/graphic_components/sudoku_graphics.py @@ -75,6 +75,7 @@ class NumberPainter(BaseSudokuItem): class SudokuGrid(BaseSudokuItem): # TODO: Add functions to animated the grid lines buttonClicked = pyqtSignal(float, float) + finishDrawing = pyqtSignal() def __init__(self, width, height, parent=None): super().__init__(parent) @@ -134,6 +135,7 @@ class SudokuGrid(BaseSudokuItem): def finish_drawing(self): if self.length == self.width: self.drawn = True + self.finishDrawing.emit() # Toggle the animation to be play forward or backward def toggle_anim(self, toggling): diff --git a/main.py b/main.py index 471073d..6ec58a6 100644 --- a/main.py +++ b/main.py @@ -43,7 +43,7 @@ class SudokuWindow(QGraphicsView): self.show() # Cross-Board signal connections - self.gameboard.newGameSelected.connect(lambda: self.menuboard.show_children(True)) + self.gameboard.gridDrawn.connect(lambda: self.menuboard.show_children(True)) self.gameboard.newGameSelected.connect(self.menuboard.set_difficulty_text) self.menuboard.diff_display.notFocus.connect(self.gameboard.game_refocus) self.menuboard.diff_display.difficultySelected.connect(self.gameboard.new_game)