X-Git-Url: https://harishankar.org/repos/?p=getaclue.git;a=blobdiff_plain;f=player_mainwindow.py;h=e167f039571f99f1196bbdf1b21dbd67a8b4cdf4;hp=24fabf6033992d2172ec260aab1a522d8f3d0899;hb=ccfc49515acfe83e5cab9878d095de25024dab97;hpb=f75d1272342c253939b762073bd87a9432efc11e diff --git a/player_mainwindow.py b/player_mainwindow.py index 24fabf6..e167f03 100644 --- a/player_mainwindow.py +++ b/player_mainwindow.py @@ -199,9 +199,6 @@ along with GetAClue. If not, see .""" # update the puzzle grid puzgrid = self.ui.get_object ("puzzlegrid") - # set focus to the puzzle grid - self.window.set_focus (puzgrid) - puzgrid.queue_draw () # callback for tree view "across" being activated @@ -262,7 +259,7 @@ along with GetAClue. If not, see .""" if self.puzzle: # set a guess only if not revealed if self.puzzle.data[self.selected_row][self.selected_col].revealed is False: - self.puzzle.data[self.selected_row][self.selected_col].guess = guess_char.upper () + self.puzzle.data[self.selected_row][self.selected_col].guess = guess_char # across mode typing if self.typing_mode == self.ACROSS: # move by one character across but only if there is no block @@ -324,9 +321,10 @@ along with GetAClue. If not, see .""" return False - # callback for puzzle grid key release event - def on_puzzlegrid_key_press_event (self, drawarea, event): + # callback for main window key release event + def on_mainwindow_key_press_event (self, window, event): if self.puzzle: + drawarea = self.ui.get_object ("puzzlegrid") key = gtk.gdk.keyval_name (event.keyval).lower () if event.state == gtk.gdk.SHIFT_MASK and key == "up": @@ -355,12 +353,18 @@ along with GetAClue. If not, see .""" drawarea.queue_draw () # if it is A-Z or a-z then elif len (key) == 1 and key.isalpha (): - self.set_guess (key) + guess_char = key.upper () + self.set_guess (guess_char) drawarea.queue_draw () # if it is the delete key then delete character at selected row/col - elif key == "delete" or key == "space": + elif key == "delete": self.puzzle.data[self.selected_row][self.selected_col].guess = None drawarea.queue_draw () + # if the key is space key then delete character and move across or + # down one step depending on the mode + elif key == "space": + self.set_guess (None) + drawarea.queue_draw () # if it is backspace key then delete character at previous row/col # depending on the input mode. If across editing mode, then delete # at previous column else at previous row