[gnome-games/applygsoc2009] Ok, now gnome-sudoku runs
- From: Pablo Castellano <pablog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games/applygsoc2009] Ok, now gnome-sudoku runs
- Date: Wed, 8 Sep 2010 17:42:32 +0000 (UTC)
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]