[gnome-games/sudoku-tube] Make show-hint work



commit 742e645fc4a5993426df52aa86d3f3773def1768
Author: Zhang Sen <zh jesse gmail com>
Date:   Tue Jul 14 09:21:08 2009 +0800

    Make show-hint work

 gnome-sudoku/src/lib/gsudoku.py |   13 +++----------
 gnome-sudoku/src/lib/main.py    |    3 ++-
 2 files changed, 5 insertions(+), 11 deletions(-)
---
diff --git a/gnome-sudoku/src/lib/gsudoku.py b/gnome-sudoku/src/lib/gsudoku.py
index b88d3ca..071d463 100644
--- a/gnome-sudoku/src/lib/gsudoku.py
+++ b/gnome-sudoku/src/lib/gsudoku.py
@@ -371,6 +371,9 @@ class NotesModel:
             for y in range(self._group_size):
                 self._update_hint_for_entry(x, y)
 
+    def show_hint(self, x, y):
+        self._update_hint_for_entry(x, y)
+
     def _update_hint_for_entry(self, x, y):
         # no need to show anything if it's already filled, being correct or not
         if self._model.get_value(x, y):
@@ -416,14 +419,6 @@ class SudokuModel:
         for observer in self._observers:
             observer.puzzle_finished_cb()
 
-    def show_hint (self):
-        entry = self.get_focus()
-        if entry:
-            if entry.read_only or entry.get_text():
-                pass
-            else:
-                self._show_hint_for_entry(entry, interactive = True)
-
     def reset_grid (self):
         """Reset grid to its original setup.
 
@@ -515,7 +510,6 @@ class SudokuModel:
         result.extend(old_conflicts)
         result.extend(new_conflicts)
 
-        print self.grid
         self._signal_observers(result)
         self._check_for_completeness()
 
@@ -539,7 +533,6 @@ class SudokuModel:
     def _find_new_conflicts(self, x, y, value):
         result = []
         new_conflicts = self.grid.find_conflicts(x, y, value)
-        print new_conflicts
         if new_conflicts:
             self.__error_pairs__[(x, y)] = new_conflicts
         for entry in new_conflicts:
diff --git a/gnome-sudoku/src/lib/main.py b/gnome-sudoku/src/lib/main.py
index 168460b..46b9e8a 100644
--- a/gnome-sudoku/src/lib/main.py
+++ b/gnome-sudoku/src/lib/main.py
@@ -477,7 +477,8 @@ class UI (gconf_wrapper.GConfWrapper):
         clearer.perform()
 
     def show_hint_cb (self, *args):
-        self.gsd.show_hint()
+        current = self._main_grid_vew.get_focus()
+        self._notes_model.show_hint(current.x, current.y)
 
     def auto_hint_cb (self, action):
         self._notes_model.toggle_auto_hint(action.get_active())



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]