[Pkg-bazaar-commits] ./bzr-gtk/unstable r299: Made the diff viewer close on Ctrl-W and Ctrl-Q.

Daniel Schierbeck daniel.schierbeck at gmail.com
Fri Apr 10 07:45:25 UTC 2009


------------------------------------------------------------
revno: 299
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: diff-close
timestamp: Sun 2007-10-14 03:02:38 +0200
message:
  Made the diff viewer close on Ctrl-W and Ctrl-Q.
modified:
  diff.py
  olive/__init__.py
  viz/branchwin.py
-------------- next part --------------
=== modified file 'diff.py'
--- a/diff.py	2007-09-17 20:20:43 +0000
+++ b/diff.py	2007-10-14 01:02:38 +0000
@@ -44,7 +44,7 @@
     differences between two revisions on a branch.
     """
 
-    def __init__(self):
+    def __init__(self, parent=None):
         gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
         self.set_border_width(0)
         self.set_title("bzrk diff")
@@ -56,6 +56,11 @@
         height = int(monitor.height * 0.66)
         self.set_default_size(width, height)
 
+        self._parent = parent
+        self.connect('key-press-event', self._on_key_pressed)
+        if parent is None:
+            self.connect('delete-event', gtk.main_quit)
+
         self.construct()
 
     def construct(self):
@@ -316,3 +321,21 @@
             colors[key.strip()] = val.strip()
         return colors
 
+    def _on_key_pressed(self, widget, event):
+        """ Key press event handler. """
+        keyname = gtk.gdk.keyval_name(event.keyval)
+        func = getattr(self, '_on_key_press_' + keyname, None)
+        if func:
+            return func(event)
+
+    def _on_key_press_w(self, event):
+        if event.state & gtk.gdk.CONTROL_MASK:
+            self.destroy()
+            if self._parent is None:
+                gtk.main_quit()
+
+    def _on_key_press_q(self, event):
+        if event.state & gtk.gdk.CONTROL_MASK:
+            gtk.main_quit()
+    
+

=== modified file 'olive/__init__.py'
--- a/olive/__init__.py	2007-09-15 14:42:19 +0000
+++ b/olive/__init__.py	2007-10-14 01:02:38 +0000
@@ -726,7 +726,7 @@
     
     def on_menuitem_stats_diff_activate(self, widget):
         """ Statistics/Differences... menu handler. """
-        window = DiffWindow()
+        window = DiffWindow(parent=self)
         parent_tree = self.wt.branch.repository.revision_tree(self.wt.branch.last_revision())
         window.set_diff(self.wt.branch.nick, self.wt, parent_tree)
         window.show()

=== modified file 'viz/branchwin.py'
--- a/viz/branchwin.py	2007-10-08 10:23:50 +0000
+++ b/viz/branchwin.py	2007-10-14 01:02:38 +0000
@@ -293,7 +293,7 @@
     def show_diff(self, branch, revid, parentid):
         """Open a new window to show a diff between the given revisions."""
         from bzrlib.plugins.gtk.diff import DiffWindow
-        window = DiffWindow()
+        window = DiffWindow(parent=self)
         (parent_tree, rev_tree) = branch.repository.revision_trees([parentid, 
                                                                    revid])
         description = revid + " - " + branch.nick



More information about the Pkg-bazaar-commits mailing list