[gnome-games/applygsoc2009: 1/76] Remove duplicate code of closing current game
- From: Pablo Castellano <pablog src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-games/applygsoc2009: 1/76] Remove duplicate code of closing current game
- Date: Mon, 6 Sep 2010 02:47:18 +0000 (UTC)
commit f665e1dc17b30da79a3b1c70f2db8b88de1df18e
Author: Pablo Castellano <pablog src gnome org>
Date: Thu Aug 26 04:23:43 2010 +0200
Remove duplicate code of closing current game
gnome-sudoku/src/lib/main.py | 46 ++++++++++++++++++-----------------------
1 files changed, 20 insertions(+), 26 deletions(-)
---
diff --git a/gnome-sudoku/src/lib/main.py b/gnome-sudoku/src/lib/main.py
index c6fc586..a49730b 100644
--- a/gnome-sudoku/src/lib/main.py
+++ b/gnome-sudoku/src/lib/main.py
@@ -422,34 +422,28 @@ 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()
-
-
- @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()
+ 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 current game?"),
+ custom_yes = _("_Save"),
+ custom_no = _("_Abandon"),
+ ):
+ self.save_game()
+ else:
+ self.sudoku_tracker.abandon_game(self)
+ except dialog_extras.UserCancelledError:
+ # User cancelled; current game is not closed
+ return False
+ 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]