[gnome-games/applygsoc2009] Fixed toolbar, clear hints and GtkActions



commit 9f48c084dba867c6986c3f221ef41aeb60df1835
Author: Pablo Castellano <pablog src gnome org>
Date:   Wed Sep 8 04:43:12 2010 +0200

    Fixed toolbar, clear hints and GtkActions

 gnome-sudoku/data/main.ui     |   34 -----------------------
 gnome-sudoku/src/lib/main.py  |   59 +++++++++++++++++++++++-----------------
 gnome-sudoku/src/lib/model.py |    5 +++-
 3 files changed, 38 insertions(+), 60 deletions(-)
---
diff --git a/gnome-sudoku/data/main.ui b/gnome-sudoku/data/main.ui
index 69fb35c..401f6e1 100644
--- a/gnome-sudoku/data/main.ui
+++ b/gnome-sudoku/data/main.ui
@@ -155,26 +155,6 @@
                         <property name="use_underline">True</property>
                       </object>
                     </child>
-                    
-                    
-                    <child>
-                      <object class="GtkImageMenuItem" id="mi_clear">
-                        <property name="visible">True</property>
-                        <property name="related_action">Clear</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    <child>
-                      <object class="GtkImageMenuItem" id="mi_clear_notes">
-                        <property name="visible">True</property>
-                        <property name="related_action">ClearNotes</property>
-                        <property name="use_underline">True</property>
-                        <property name="use_stock">True</property>
-                      </object>
-                    </child>
-                    
-                    
                   </object>
                 </child>
               </object>
@@ -449,20 +429,6 @@
     <property name="tooltip">Redo last action</property>
     <property name="stock_id">gtk-redo</property>
   </object>
-  
-<!-- 
-  <object class="GtkAction" id="Clear">
-    <property name="label">_Clear</property>
-    <property name="tooltip">Clear entries you've filled in</property>
-    <property name="stock_id">gtk-clear</property>
-  </object>
-  <object class="GtkAction" id="ClearNotes">
-    <property name="label">Clear _Notes</property>
-    <property name="tooltip">Clear notes and hints</property>
-    <property name="stock_id">gtk-clear</property>
-  </object>
--->
-
   <object class="GtkToggleAction" id="AlwaysShowPossible">
     <property name="label">_Always show hint</property>
     <property name="tooltip">Always show possible numbers in a square</property>
diff --git a/gnome-sudoku/src/lib/main.py b/gnome-sudoku/src/lib/main.py
index 0355069..61f6e4f 100644
--- a/gnome-sudoku/src/lib/main.py
+++ b/gnome-sudoku/src/lib/main.py
@@ -123,7 +123,7 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
 
 #            self._main_grid_vew.connect('puzzle-finished', self.you_win_callback)
         elif game_type == game_selector.NewOrSavedGameSelector.SAVED_GAME:
-            saver._open_saved_game(puzzle)
+            self._open_saved_game(puzzle)
         else:
             logger.fatal("shouldn't be here")
         
@@ -186,9 +186,18 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
         Return (chosen-game-type, chosen-puzzle),
         Return None if user cancels."""
 #        self.update_statusbar() # make the statusbar empty # FIXME
+        self.toolbar.hide()
         selector = game_selector.NewOrSavedGameSelector()
         choice = selector.run_dialog()
         selector.dialog.destroy()
+        
+        if self.gconf['show_toolbar']:
+            self.toolbar.show()
+        if self.gconf['always_show_hints']:
+            self.gsd.update_all_hints()
+        if self.gconf['highlight']:
+            self.gsd.toggle_highlight(True)
+
         return choice
 
     def show (self):
@@ -207,7 +216,7 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
         return
         self.setup_autosave()
 #        self.w.add_accel_group(self.uimanager.get_accel_group())
-        self.setup_main_boxes()
+        self._setup_main_boxes()
         self.setup_tracker_interface()
         self.setup_toggles()
 
@@ -279,14 +288,10 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
             action = self.builder.get_object(action_name)
             action.connect("activate", callback)
 
-# 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)
+        self.builder.get_object("Undo").set_is_important(True)
+        self.builder.get_object("Redo").set_is_important(True)
+        self.builder.get_object("ShowPossible").set_is_important(True)
+        self.builder.get_object("ToggleTracker").set_is_important(True)
 
     def clear_cb (self, action):
         self._main_grid_vew.do_clear()
@@ -455,7 +460,7 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
 
         return jar
 
-    def full_screen_cb (self):
+    def full_screen_cb (self, action):
         if self.is_fullscreen:
             self.w.unfullscreen()
             self.is_fullscreen = False
@@ -489,20 +494,24 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
         self.undo_clear_notes()
 
     def clear_top_notes_cb (self, *args):
-        clearer = Undo.UndoableObject(
-            lambda *args: self.do_clear_notes('Top'), #action
-            self.undo_clear_notes, #inverse
-            self.history
-            )
-        clearer.perform()
+        #FIXME:
+#        clearer = Undo.UndoableObject(
+#            lambda *args: self.do_clear_notes('Top'), #action
+#            self.undo_clear_notes, #inverse
+#            self.history
+#            )
+#        clearer.perform()
+        pass
 
     def clear_bottom_notes_cb (self, *args):
-        clearer = Undo.UndoableObject(
-            lambda *args: self.do_clear_notes('Bottom'), #action
-            self.undo_clear_notes, #inverse
-            self.history
-            )
-        clearer.perform()
+        #FIXME:
+#        clearer = Undo.UndoableObject(
+#            lambda *args: self.do_clear_notes('Bottom'), #action
+#            self.undo_clear_notes, #inverse
+#            self.history
+#            )
+#        clearer.perform()
+        pass
 
     def do_clear_notes(self, side):
         ''' Clear top, bottom, or all notes - in undoable fashion
@@ -571,9 +580,9 @@ class SudokuGame (gconf_wrapper.GConfWrapper):
 
     def toggle_toolbar_cb (self, widg):
         if widg.get_active():
-            self.tb.show()
+            self.toolbar.show()
         else:
-            self.tb.hide()
+            self.toolbar.hide()
 
     def toggle_highlight_cb (self, widg):
         if widg.get_active():
diff --git a/gnome-sudoku/src/lib/model.py b/gnome-sudoku/src/lib/model.py
index 2550135..64f4683 100644
--- a/gnome-sudoku/src/lib/model.py
+++ b/gnome-sudoku/src/lib/model.py
@@ -34,7 +34,7 @@ class NotesModel:
             self.update_all_hints()
         else:
             self._always_show_hints = False
-            self.clear_hints()
+            self._clear_hints()
 
     def add_observer(self, observer):
         self._observers.append(observer)
@@ -91,6 +91,9 @@ class NotesModel:
         else:
             self.set_notes(x, y, bottom_note="X")
 
+    def _clear_hints(self):
+        self._clear_bottom_note()
+
 
 class SudokuModel(gobject.GObject):
 



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