[gnome-games/sudoku-tube] Remove duplicate code of closing current game
- From: Zhang Sen <zhangsen src gnome org>
- To: svn-commits-list gnome org
- Subject: [gnome-games/sudoku-tube] Remove duplicate code of closing current game
- Date: Wed, 27 May 2009 03:32:52 -0400 (EDT)
commit 8c205f0e5ea71580ebf5ac60b3be5551ee532088
Author: Zhang Sen <zh jesse gmail com>
Date: Wed May 27 15:31:40 2009 +0800
Remove duplicate code of closing current game
---
gnome-sudoku/src/lib/main.py | 50 +++++++++++++----------------------------
1 files changed, 16 insertions(+), 34 deletions(-)
diff --git a/gnome-sudoku/src/lib/main.py b/gnome-sudoku/src/lib/main.py
index 6687677..6eb8e4a 100644
--- a/gnome-sudoku/src/lib/main.py
+++ b/gnome-sudoku/src/lib/main.py
@@ -463,51 +463,33 @@ class UI (gconf_wrapper.GConfWrapper):
@simple_debug
@inactivate_new_game_etc
def new_cb (self, *args):
- if (self.gsd.grid and self.gsd.grid.is_changed() and not self.won):
- try:
- if dialog_extras.getBoolean(
- label = _("Save this game before starting new one?"),
- custom_yes = _("_Save game for later"),
- custom_no = _("_Abandon game"),
- ):
- self.save_game()
- else:
- self.sudoku_tracker.abandon_game(self)
- except dialog_extras.UserCancelledError:
- # User cancelled new game
- return
- self.do_stop()
- self.select_game()
+ if self._close_current_game():
+ self.select_game()
@inactivate_new_game_etc
def new_with_contact (self, *args):
+ if self._close_current_game():
+ self.select_game()
+
+ @simple_debug
+ def _close_current_game (self):
+ """Close current running game
+
+ Return True if game is closed, or else return False"""
if (self.gsd.grid and self.gsd.grid.is_changed() and not self.won):
try:
if dialog_extras.getBoolean(
- label = _("Save this game before starting new one?"),
- custom_yes = _("_Save game for later"),
- custom_no = _("_Abandon game"),
- ):
+ label = _("Save current game?"),
+ custom_yes = _("_Save"),
+ custom_no = _("_Abandon")):
self.save_game()
else:
self.sudoku_tracker.abandon_game(self)
except dialog_extras.UserCancelledError:
- # User cancelled new game
- return
+ # User cancelled; current game is not closed
+ return False
self.do_stop()
- self.select_game()
-
- @simple_debug
- def stop_game (self):
- if (self.gsd.grid
- and self.gsd.grid.is_changed()
- and (not self.won)):
- try:
- if dialog_extras.getBoolean(label = _("Save game before closing?")):
- self.save_game(self)
- except dialog_extras.UserCancelledError:
- return
- self.do_stop()
+ return True # also return True if game is not changed at all
def do_stop (self):
self.stop_dancer()
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]