[gnome-games] sudoku: Make note window transient



commit 1a0232c816f7e8198602f0a594270dc081a615a1
Author: Jim Ross <jimbo dimensia com>
Date:   Wed Mar 31 00:36:12 2010 -0400

    sudoku: Make note window transient
    
    Bug#561564

 gnome-sudoku/src/lib/gsudoku.py    |    4 ++++
 gnome-sudoku/src/lib/main.py       |    1 +
 gnome-sudoku/src/lib/number_box.py |    6 ++++++
 3 files changed, 11 insertions(+), 0 deletions(-)
---
diff --git a/gnome-sudoku/src/lib/gsudoku.py b/gnome-sudoku/src/lib/gsudoku.py
index e2ef7fc..ff63434 100644
--- a/gnome-sudoku/src/lib/gsudoku.py
+++ b/gnome-sudoku/src/lib/gsudoku.py
@@ -53,6 +53,10 @@ class SudokuNumberGrid (gtk.AspectFrame):
         self.connect('size-allocate', self.allocate_cb)
         self.show_all()
 
+    def set_parent_for(self, parent):
+        for entry in self.__entries__.values():
+            entry.set_parent_win(parent)
+
     def allocate_cb (self, w, rect):
         if rect.width > rect.height:
             side = rect.height
diff --git a/gnome-sudoku/src/lib/main.py b/gnome-sudoku/src/lib/main.py
index a5b11a5..5931b3c 100644
--- a/gnome-sudoku/src/lib/main.py
+++ b/gnome-sudoku/src/lib/main.py
@@ -216,6 +216,7 @@ class UI (gconf_wrapper.GConfWrapper):
         self.initialize_prefs()
         self.setup_main_window()
         self.gsd = gsudoku.SudokuGameDisplay()
+        self.gsd.set_parent_for(self.w)
         self.gsd.connect('puzzle-finished', self.you_win_callback)
         self.setup_color()
         self.setup_actions()
diff --git a/gnome-sudoku/src/lib/number_box.py b/gnome-sudoku/src/lib/number_box.py
index 434dd74..1deb4be 100644
--- a/gnome-sudoku/src/lib/number_box.py
+++ b/gnome-sudoku/src/lib/number_box.py
@@ -98,6 +98,7 @@ class NumberBox (gtk.Widget):
     def __init__ (self, upper = 9, text = ''):
         gtk.Widget.__init__(self)
         self.upper = upper
+        self.parent_win = None
         self.font = self.style.font_desc
         self.font.set_size(BASE_FONT_SIZE)
         self.note_font = self.font.copy()
@@ -113,6 +114,9 @@ class NumberBox (gtk.Widget):
         self.connect('motion-notify-event', self.motion_notify_cb)
         self.set_text(text)
 
+    def set_parent_win(self, new_parent):
+        self.parent_win = new_parent
+
     def pointer_enter_cb (self, *args):
         if not self.is_focus():
             self.set_state(gtk.STATE_PRELIGHT)
@@ -220,6 +224,8 @@ class NumberBox (gtk.Widget):
         w.set_decorated(False)
         w.set_position(gtk.WIN_POS_MOUSE)
         w.set_size_request(alloc.width, alloc.height/2)
+        if self.parent_win:
+            w.set_transient_for(self.parent_win)
         f = gtk.Frame()
         e = gtk.Entry()
         f.add(e)



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