[Pkg-bazaar-commits] ./bzr-gtk/unstable r317: Merged window refactoring branch.

Daniel Schierbeck daniel.schierbeck at gmail.com
Fri Apr 10 07:49:55 UTC 2009


------------------------------------------------------------
revno: 317
committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
branch nick: windows
timestamp: Sun 2007-10-21 18:55:31 +0200
message:
  Merged window refactoring branch.
added:
  window.py
modified:
  annotate/gannotate.py
  diff.py
  olive/__init__.py
  olive/menu.py
  tags.py
  viz/branchwin.py
    ------------------------------------------------------------
    revno: 298.2.1
    committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
    branch nick: refactor
    timestamp: Sun 2007-10-14 17:33:50 +0200
    message:
      Refactored the GTK window code, creating a single base window class that handles keyboard events.
    modified:
      annotate/gannotate.py
      diff.py
      olive/__init__.py
      olive/menu.py
      tags.py
      viz/branchwin.py
    ------------------------------------------------------------
    revno: 298.2.2
    committer: Daniel Schierbeck <daniel.schierbeck at gmail.com>
    branch nick: refactor
    timestamp: Sun 2007-10-14 17:54:57 +0200
    message:
      Added the new Window base class.
    added:
      window.py
-------------- next part --------------
=== modified file 'annotate/gannotate.py'
--- a/annotate/gannotate.py	2007-09-15 14:42:19 +0000
+++ b/annotate/gannotate.py	2007-10-14 15:33:50 +0000
@@ -29,6 +29,7 @@
 
 from colormap import AnnotateColorMap, AnnotateColorSaturation
 from bzrlib.plugins.gtk.logview import LogView
+from bzrlib.plugins.gtk.window import Window
 
 
 (
@@ -41,17 +42,14 @@
 ) = range(6)
 
 
-class GAnnotateWindow(gtk.Window):
+class GAnnotateWindow(Window):
     """Annotate window."""
 
     def __init__(self, all=False, plain=False, parent=None):
         self.all = all
         self.plain = plain
-        self._parent = parent
         
-        gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
-
-        self.connect("key-press-event", self._on_key_pressed)
+        Window.__init__(self, parent)
         
         self.set_icon(self.render_icon(gtk.STOCK_FIND, gtk.ICON_SIZE_BUTTON))
         self.annotate_colormap = AnnotateColorSaturation()
@@ -394,25 +392,6 @@
             if i + n >= row:
                 return j - i
 
-    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()
-    
-
-
 
 class FakeRevision:
     """ A fake revision.

=== modified file 'diff.py'
--- a/diff.py	2007-10-14 01:02:38 +0000
+++ b/diff.py	2007-10-21 16:55:31 +0000
@@ -35,9 +35,9 @@
 from bzrlib.diff import show_diff_trees
 from bzrlib.errors import NoSuchFile
 from bzrlib.trace import warning
-
-
-class DiffWindow(gtk.Window):
+from bzrlib.plugins.gtk.window import Window
+
+class DiffWindow(Window):
     """Diff window.
 
     This object represents and manages a single window containing the
@@ -45,7 +45,7 @@
     """
 
     def __init__(self, parent=None):
-        gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
+        Window.__init__(self, parent)
         self.set_border_width(0)
         self.set_title("bzrk diff")
 
@@ -56,11 +56,6 @@
         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):
@@ -321,21 +316,3 @@
             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-10-21 16:25:29 +0000
+++ b/olive/__init__.py	2007-10-21 16:55:31 +0000
@@ -726,7 +726,7 @@
     
     def on_menuitem_stats_diff_activate(self, widget):
         """ Statistics/Differences... menu handler. """
-        window = DiffWindow(parent=self)
+        window = DiffWindow(parent=self.window)
         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 'olive/menu.py'
--- a/olive/menu.py	2007-09-17 21:14:04 +0000
+++ b/olive/menu.py	2007-10-14 15:33:50 +0000
@@ -302,7 +302,7 @@
     def diff(self, action):
         """ Right context menu -> Diff """
         wt = WorkingTree.open_containing(self.path)[0]
-        window = DiffWindow()
+        window = DiffWindow(self.app)
         parent_tree = wt.branch.repository.revision_tree(wt.branch.last_revision())
         window.set_diff(wt.branch.nick, wt, parent_tree)
         window.set_file(wt.relpath(self.path + os.sep + self.selected))

=== modified file 'tags.py'
--- a/tags.py	2007-09-14 15:56:39 +0000
+++ b/tags.py	2007-10-14 15:33:50 +0000
@@ -24,20 +24,20 @@
 import gtk
 
 from bzrlib.plugins.gtk.logview import LogView
+from bzrlib.plugins.gtk.window import Window
 
 from dialog import error_dialog
 from revidbox import RevisionSelectionBox
 
 
-class TagsWindow(gtk.Window):
+class TagsWindow(Window):
     """ Tags window. Allows the user to view/add/remove tags. """
     def __init__(self, branch, parent=None):
         """ Initialize the Tags window. """
-        gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
+        Window.__init__(self, parent)
 
         # Get arguments
         self.branch = branch
-        self._parent = parent
 
         # Create the widgets
         self._button_add = gtk.Button(stock=gtk.STOCK_ADD)
@@ -60,9 +60,6 @@
         self._button_refresh.connect('clicked', self._on_refresh_clicked)
         self._button_remove.connect('clicked', self._on_remove_clicked)
         self._treeview_tags.connect('cursor-changed', self._on_treeview_changed)
-        self.connect('key-press-event', self._on_key_pressed)
-        if parent is None:
-            self.connect('delete-event', gtk.main_quit)
         
         # Set properties
         self.set_title(_("Tags"))
@@ -179,23 +176,6 @@
         if self._parent is None:
             gtk.main_quit()
 
-    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()
-    
     def _on_refresh_clicked(self, widget):
         """ Refresh button event handler. """
         self._refresh_tags()

=== modified file 'viz/branchwin.py'
--- a/viz/branchwin.py	2007-10-21 16:29:25 +0000
+++ b/viz/branchwin.py	2007-10-21 16:55:31 +0000
@@ -14,6 +14,7 @@
 import pango
 import treemodel
 
+from bzrlib.plugins.gtk.window import Window
 from bzrlib.osutils import format_date
 
 from linegraph import linegraph, same_branch
@@ -21,7 +22,7 @@
 from treemodel import TreeModel
 from treeview  import TreeView
 
-class BranchWindow(gtk.Window):
+class BranchWindow(Window):
     """Branch window.
 
     This object represents and manages a single window containing information
@@ -29,7 +30,7 @@
     """
 
     def __init__(self, branch, start, maxnum, parent=None):
-        gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
+        Window.__init__(self, parent=parent)
         self.set_border_width(0)
 
         self.branch = branch
@@ -38,10 +39,6 @@
 
         self.set_title(branch.nick + " - revision history")
 
-        self._parent = parent
-
-        self.connect('key-press-event', self._on_key_pressed)
-
         # Use three-quarters of the screen by default
         screen = self.get_screen()
         monitor = screen.get_monitor_geometry(0)
@@ -145,23 +142,6 @@
         self.logview.set_show_callback(self._show_clicked_cb)
         self.logview.set_go_callback(self._go_clicked_cb)
         return self.logview
-
-    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()
     
     def _treeselection_changed_cb(self, selection, *args):
         """callback for when the treeview changes."""

=== added file 'window.py'
--- a/window.py	1970-01-01 00:00:00 +0000
+++ b/window.py	2007-10-14 15:54:57 +0000
@@ -0,0 +1,22 @@
+
+import pygtk
+import gtk
+
+class Window(gtk.Window):
+
+    def __init__(self, parent=None):
+        gtk.Window.__init__(self, gtk.WINDOW_TOPLEVEL)
+        self._parent = parent
+        
+        self.connect('key-press-event', self._on_key_press)
+        
+    def _on_key_press(self, widget, event):
+        keyname = gtk.gdk.keyval_name(event.keyval)
+        if event.state & gtk.gdk.CONTROL_MASK:
+            if keyname is "w":
+                self.destroy()
+                if self._parent is None:
+                    gtk.main_quit()
+            elif keyname is "q":
+                gtk.main_quit()
+



More information about the Pkg-bazaar-commits mailing list