[gnome-games/applygsoc2009] Ok, now gnome-sudoku runs



commit 659eafb2a72cf31716186fb46beeddfb1fd0abfe
Author: Pablo Castellano <pablog src gnome org>
Date:   Wed Sep 8 03:37:37 2010 +0200

    Ok, now gnome-sudoku runs

 gnome-sudoku/src/gnome-sudoku.in.in |   13 ++++---
 gnome-sudoku/src/lib/main.py        |   62 ++++++++++++++++++-----------------
 gnome-sudoku/src/lib/model.py       |   12 +++---
 gnome-sudoku/src/lib/view.py        |    9 ++---
 4 files changed, 49 insertions(+), 47 deletions(-)
---
diff --git a/gnome-sudoku/src/gnome-sudoku.in.in b/gnome-sudoku/src/gnome-sudoku.in.in
index b2c1737..975d665 100644
--- a/gnome-sudoku/src/gnome-sudoku.in.in
+++ b/gnome-sudoku/src/gnome-sudoku.in.in
@@ -27,12 +27,13 @@ import sys
 sys.stdout = SafeStdout()
 
 # Setup bugbuddy to report unhandled exceptions.
-try: 
-  import bugbuddy
-  bugbuddy.install('gnome-sudoku')
-except:
-  #No bugbuddy support
-  pass 
+#Disabled temporarily, since it's a pain.
+#try: 
+#  import bugbuddy
+#  bugbuddy.install('gnome-sudoku')
+#except:
+#  #No bugbuddy support
+#  pass 
 
 import sys
 
diff --git a/gnome-sudoku/src/lib/main.py b/gnome-sudoku/src/lib/main.py
index 97561fb..0355069 100644
--- a/gnome-sudoku/src/lib/main.py
+++ b/gnome-sudoku/src/lib/main.py
@@ -18,6 +18,7 @@ from gettext import ngettext
 
 import dancer
 import game_selector
+import gsudoku
 import model
 import view
 import printing
@@ -83,23 +84,23 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
         game_type = game_selector.NewOrSavedGameSelector.SAVED_GAME
             
         if not game:
-			game = self._generate_new_puzzle()
-			game_type = game_selector.NewOrSavedGameSelector.NEW_GAME
-			
+            game = self._generate_new_puzzle()
+            game_type = game_selector.NewOrSavedGameSelector.NEW_GAME
+            
         if game:
             self._open_game(game_type, game)
         else:
             logger.error("can't open game")
             self.quit_cb()
 
-	def _auto_load_saved(self):
-		"""Automatically open a saved game
-	
+    def _auto_load_saved(self):
+        """Automatically open a saved game
+    
         To keep things simple and keep aligned with other game, we should only
         save *one* game in the future. And auto load this one game on launch"""
         saved_games = self.sudoku_tracker.list_saved_games()
         if saved_games:
-		    return saved_games[0]
+            return saved_games[0]
         else:
             logger.debug("no saved game found")
             return None
@@ -115,7 +116,7 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
 
     def _open_game(self, game_type, puzzle):
         """Finally enter the puzzle"""
-		self._puzzle = puzzle
+        self._puzzle = puzzle
         if game_type == game_selector.NewOrSavedGameSelector.NEW_GAME:
             self._main_model = model.SudokuModel(puzzle, 9)
             self._notes_model = model.NotesModel(self._main_model, group_size=9)
@@ -124,8 +125,8 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
         elif game_type == game_selector.NewOrSavedGameSelector.SAVED_GAME:
             saver._open_saved_game(puzzle)
         else:
-			logger.fatal("shouldn't be here")
-		
+            logger.fatal("shouldn't be here")
+        
         self._post_open_setup()
 
     def _open_saved_game(self, jar):
@@ -163,10 +164,10 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
         """Properly do the setup after entering game
 
         Like show highlight, update hints, start timer, etc."""
-        self._main_grid_vew.connect_to_notes_model(self._notes_model)
+#        self._main_grid_vew.connect_to_notes_model(self._notes_model) #FIXME
         self._main_model.connect('puzzle-finished', self._puzzle_finished_cb)
         self.timer.start_timing()
-        self.update_statusbar()
+#        self.update_statusbar() #FIXME
         if self.gconf['always_show_hints']:
             self.gsd.update_all_hints()
 
@@ -184,7 +185,7 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
 
         Return (chosen-game-type, chosen-puzzle),
         Return None if user cancels."""
-        self.update_statusbar() # make the statusbar empty
+#        self.update_statusbar() # make the statusbar empty # FIXME
         selector = game_selector.NewOrSavedGameSelector()
         choice = selector.run_dialog()
         selector.dialog.destroy()
@@ -200,7 +201,7 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
         self.setup_undo()
         self.gsd = gsudoku.SudokuGameDisplay() #? 
         self.gsd.set_parent_for(self.w) #?
-        self.gsd.connect('puzzle-finished', self.you_win_callback) #?
+#        self.gsd.connect('puzzle-finished', self.you_win_callback) #?
         self.setup_color()
         self._setup_actions()
         return
@@ -243,8 +244,8 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
     def setup_color (self):
         # setup background colors
         bgcol = self.gconf['bg_color']
-        if bgcol != '':
-            self._main_grid_vew.set_bg_color(bgcol)
+        #if bgcol != '':
+        #    self._main_grid_vew.set_bg_color(bgcol) #FIXME
 
     def _setup_actions (self):
         toggle_actions = [
@@ -278,17 +279,18 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
             action = self.builder.get_object(action_name)
             action.connect("activate", callback)
 
-        edit_actions = [
-                ("Clear", self.clear_cb),
-                ("ClearNotes", self.clear_notes_cb),
-                ]
-        for action_name, callback in edit_actions:
-            action = self.builder.get_object(action_name)
-            action.connect("activate", callback)
-
-	def clear_cb (self, action)
-		self._main_grid_vew.do_clear()
-		
+# FIXME:
+#        edit_actions = [
+#                ("Clear", self.clear_cb),
+#                ("ClearNotes", self.clear_notes_cb),
+#                ]
+#        for action_name, callback in edit_actions:
+#            action = self.builder.get_object(action_name)
+#            action.connect("activate", callback)
+
+    def clear_cb (self, action):
+        self._main_grid_vew.do_clear()
+    
     def clear_notes_cb(self, action):
         self._notes_model.clear_notes()
 
@@ -383,7 +385,7 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
 
     def new_cb (self, *args):
         if self._close_current_game():
-			self._auto_open_game()
+            self._auto_open_game()
             return
 
     def _close_current_game (self):
@@ -422,7 +424,7 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
     def quit_cb (self, *args):
         self.w.hide()
         if (self._main_model and self._main_model.grid.is_changed() and (not self.won)):
-			self._save_game()
+            self._save_game()
         # make sure we really go away before doing our saving --
         # otherwise we appear sluggish.
         while gtk.events_pending():
@@ -645,7 +647,7 @@ def start_game (debug=False):
 
     game = SudokuGame()
     try:
-    	gtk.main()
+        gtk.main()
     except KeyboardInterrupt:
         # properly quit on a keyboard interrupt...
         game.quit_cb()
diff --git a/gnome-sudoku/src/lib/model.py b/gnome-sudoku/src/lib/model.py
index 529bdec..2550135 100644
--- a/gnome-sudoku/src/lib/model.py
+++ b/gnome-sudoku/src/lib/model.py
@@ -4,7 +4,7 @@ import gobject
 import sudoku
 
 class NumberBoxModel:
-   """Used to notify observers for the change of SudokuModel"""
+    """Used to notify observers for the change of SudokuModel"""
     def __init__(self, x, y, value=None, conflict=None):
         self.x = x
         self.y = y
@@ -52,7 +52,7 @@ class NotesModel:
         if bottom_note is not None:
             self._notes[(x, y)][0] = bottom_note
 
-        change = (x, y, top_note=top_note, bottom_note=bottom_note)
+        change = (x, y, top_note, bottom_note)
         self._signal_observers([change])
 
     def get_all_notes(self):
@@ -99,8 +99,8 @@ class SudokuModel(gobject.GObject):
             "puzzle-finished": (gobject.SIGNAL_RUN_LAST, gobject.TYPE_NONE, ())
             }
 
-	def __init__ (self, virgin_grid, group_size, initial_grid=None):
-		gobject.GObject.__init__(self)
+    def __init__ (self, virgin_grid, group_size, initial_grid=None):
+        gobject.GObject.__init__(self)
         self.hints = 0
         self.autofill_count = 0
         self.show_impossible_implications = False
@@ -112,7 +112,7 @@ class SudokuModel(gobject.GObject):
         self._virgin_grid = None
         self._observers = []
 
-        self.__error_pairs__ = ParallelDict()
+        self.__error_pairs__ = sudoku.ParallelDict()
         self._setup_virgin_grid(virgin_grid)
         if initial_grid:
             self._setup_initial_grid(initial_grid)
@@ -292,7 +292,7 @@ class SudokuModel(gobject.GObject):
         return self.autofill_count
 
     def auto_fill (self):
-		self.autofill_count += 1
+        self.autofill_count += 1
         changed = set(self.grid.auto_fill()) # there are duplicate?
         for coords, val in changed:
 		    self.set_value(coords[0], coords[1], val)
diff --git a/gnome-sudoku/src/lib/view.py b/gnome-sudoku/src/lib/view.py
index cd57ef2..d0db22f 100644
--- a/gnome-sudoku/src/lib/view.py
+++ b/gnome-sudoku/src/lib/view.py
@@ -154,7 +154,7 @@ class SudokuNumberGrid (gtk.AspectFrame):
         return self.__entries__[(x, y)].get_value()
 
     def get_focus(self):
-	    return self.table.get_focus_child()
+        return self.table.get_focus_child()
 
     def set_value(self, x, y, value):
         self.__entries__[(x, y)].set_value(value)
@@ -196,11 +196,10 @@ class SudokuView(SudokuNumberGrid):
         SudokuNumberGrid.__init__(self, group_size)
 #        self.hint_square = None
 #        self.tinfo = tracker_info.TrackerInfo()
-        SudokuNumberGrid.__init__(self, group_size = group_size)
 
         self._model = None
         self._do_highlight_cells = False
-		self._notes_model = None
+        self._notes_model = None
 
         self._controller = controller
         if controller:
@@ -316,10 +315,10 @@ class SudokuView(SudokuNumberGrid):
         self._controller.execute_command(cmd)
 
     def _notes_changed_cb(self, widget, top_note, bottom_note):
-		self._notes_model.set_notes(widget.x, widget.y, top_note, bottom_note)
+        self._notes_model.set_notes(widget.x, widget.y, top_note, bottom_note)
 
     def _focus_callback(self, widget, event):
-		self.emit("focus-changed", widget.x, widget.y)
+        self.emit("focus-changed", widget.x, widget.y)
         if self._do_highlight_cells:
             self._highlight_cells()
 #        self.emit('focus-changed')



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