[Pkg-bazaar-commits] ./bzr-gtk/unstable r528: Add 'Send Merge Directive' button in bzr viz.

Jelmer Vernooij jelmer at samba.org
Fri Apr 10 07:50:38 UTC 2009


------------------------------------------------------------
revno: 528
committer: Jelmer Vernooij <jelmer at samba.org>
branch nick: trunk
timestamp: Tue 2008-07-01 23:52:06 +0200
message:
  Add 'Send Merge Directive' button in bzr viz.
modified:
  NEWS
  branchview/linegraph.py
  revisionmenu.py
    ------------------------------------------------------------
    revno: 523.1.1
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: trunk
    timestamp: Mon 2008-06-30 14:39:07 +0200
    message:
      Fix progress call arguments.
    modified:
      branchview/linegraph.py
    ------------------------------------------------------------
    revno: 523.1.2
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: trunk
    timestamp: Mon 2008-06-30 21:51:19 +0200
    message:
      Add 'Send Merge Directive' option in viz popup menu.
    modified:
      revisionmenu.py
    ------------------------------------------------------------
    revno: 523.1.3
    committer: Jelmer Vernooij <jelmer at samba.org>
    branch nick: trunk
    timestamp: Mon 2008-06-30 21:52:10 +0200
    message:
      Fix syntax.
    modified:
      revisionmenu.py
-------------- next part --------------
=== modified file 'NEWS'
--- a/NEWS	2008-06-29 22:46:38 +0000
+++ b/NEWS	2008-07-01 21:52:06 +0000
@@ -9,6 +9,8 @@
   * Added menu option for indexing branches if bzr-search is present.
     (Jelmer Vernooij)
 
+  * Add "Send Merge Directive" button in bzr viz. (Jelmer Vernooij)
+
  BUG FIXES
 
   * Replace _() calls by _i18n() calls. (Vincent Ladeuil, #187283)

=== modified file 'branchview/linegraph.py'
--- a/branchview/linegraph.py	2008-06-29 18:12:29 +0000
+++ b/branchview/linegraph.py	2008-06-30 12:39:07 +0000
@@ -47,7 +47,7 @@
     def update_root_progress(step_number):
         """IFF our container received a root progress bar, then update it."""
         if root_progress is not None:
-            root_progress.update(current_cnt=step_number)
+            root_progress.update(None, current_cnt=step_number)
 
     graph_parents = {}
     ghosts = set()

=== modified file 'revisionmenu.py'
--- a/revisionmenu.py	2008-06-29 22:46:38 +0000
+++ b/revisionmenu.py	2008-06-30 19:52:10 +0000
@@ -50,34 +50,47 @@
             item = gtk.MenuItem("View _Changes")
             item.connect('activate', self.show_diff)
             self.append(item)
-            self.show_all()
 
             item = gtk.MenuItem("_Push")
             item.connect('activate', self.show_push)
             self.append(item)
-            self.show_all()
 
             item = gtk.MenuItem("_Tag Revision")
             item.connect('activate', self.show_tag)
             self.append(item)
-            self.show_all()
 
             item = gtk.MenuItem("_Merge Directive")
             item.connect('activate', self.store_merge_directive)
             # FIXME: self.append(item)
-            self.show_all()
+
+            item = gtk.MenuItem("_Send Merge Directive")
+            item.connect('activate', self.send_merge_directive)
+            self.append(item)
             
             if self.wt:
                 item = gtk.MenuItem("_Revert to this revision")
                 item.connect('activate', self.revert)
                 self.append(item)
-                self.show_all()
+
+        self.show_all()
 
     def store_merge_directive(self, item):
         from bzrlib.plugins.gtk.mergedirective import CreateMergeDirectiveDialog
         window = CreateMergeDirectiveDialog(self.branch, self.revids[0])
         window.show()
 
+    def send_merge_directive(self, item):
+        from bzrlib.plugins.gtk.mergedirective import SendMergeDirectiveDialog
+        from cStringIO import StringIO
+        window = SendMergeDirectiveDialog(self.branch, self.revids[0])
+        if window.run() == gtk.RESPONSE_OK:
+            outf = StringIO()
+            outf.writelines(window.get_merge_directive().to_lines())
+            mail_client = self.branch.get_config().get_mail_client()
+            mail_client.compose_merge_request(window.get_mail_to(), "[MERGE]",
+                                              outf.getvalue())
+        window.destroy()
+
     def show_diff(self, item):
         from bzrlib.plugins.gtk.diff import DiffWindow
         window = DiffWindow(parent=self.parent)



More information about the Pkg-bazaar-commits mailing list