This patch adds a simply "Send Merge Directive" button in the context
menu of bzr viz.

Cheers,

Jelmer

-- 
# Bazaar merge directive format 2 (Bazaar 0.90)
# revision_id: [EMAIL PROTECTED]
# target_branch: lp:bzr-gtk
# testament_sha1: 92016fdf4cde1b90680189a1447707a07e51ed26
# timestamp: 2008-06-30 21:56:43 +0200
# base_revision_id: [EMAIL PROTECTED]
# 
# Begin patch
=== modified file 'branchview/linegraph.py'
--- branchview/linegraph.py	2008-06-29 18:12:29 +0000
+++ 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'
--- revisionmenu.py	2008-06-29 22:46:38 +0000
+++ 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)

# Begin bundle
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

Attachment: signature.asc
Description: Digital signature

-- 
bzr-gtk mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.canonical.com/mailman/listinfo/bzr-gtk

Reply via email to