/b-gtk/fix-viz

To get this branch, use:
bzr branch http://gegoxaren.bato24.eu/bzr/b-gtk/fix-viz

« back to all changes in this revision

Viewing changes to revisionmenu.py

  • Committer: Jelmer Vernooij
  • Date: 2008-06-30 19:51:19 UTC
  • mto: This revision was merged to the branch mainline in revision 528.
  • Revision ID: jelmer@samba.org-20080630195119-i74jo84oe98dnaw5
Add 'Send Merge Directive' option in viz popup menu.

Show diffs side-by-side

added added

removed removed

Lines of Context:
50
50
            item = gtk.MenuItem("View _Changes")
51
51
            item.connect('activate', self.show_diff)
52
52
            self.append(item)
53
 
            self.show_all()
54
53
 
55
54
            item = gtk.MenuItem("_Push")
56
55
            item.connect('activate', self.show_push)
57
56
            self.append(item)
58
 
            self.show_all()
59
57
 
60
58
            item = gtk.MenuItem("_Tag Revision")
61
59
            item.connect('activate', self.show_tag)
62
60
            self.append(item)
63
 
            self.show_all()
64
61
 
65
62
            item = gtk.MenuItem("_Merge Directive")
66
63
            item.connect('activate', self.store_merge_directive)
67
64
            # FIXME: self.append(item)
68
 
            self.show_all()
 
65
 
 
66
            item = gtk.MenuItem("_Send Merge Directive")
 
67
            item.connect('activate', self.send_merge_directive)
 
68
            self.append(item)
69
69
            
70
70
            if self.wt:
71
71
                item = gtk.MenuItem("_Revert to this revision")
72
72
                item.connect('activate', self.revert)
73
73
                self.append(item)
74
 
                self.show_all()
 
74
 
 
75
        self.show_all()
75
76
 
76
77
    def store_merge_directive(self, item):
77
78
        from bzrlib.plugins.gtk.mergedirective import CreateMergeDirectiveDialog
78
79
        window = CreateMergeDirectiveDialog(self.branch, self.revids[0])
79
80
        window.show()
80
81
 
 
82
    def send_merge_directive(self, item):
 
83
        from bzrlib.plugins.gtk.mergedirective import SendMergeDirectiveDialog
 
84
        from cStringIO import StringIO
 
85
        window = SendMergeDirectiveDialog(self.branch, self.revids[0])
 
86
        if window.run() == gtk.RESPONSE_OK:
 
87
            outf = StringIO()
 
88
            outf.writelines(window.get_merge_directive.to_lines())
 
89
            mail_client = self.branch.get_config().get_mail_client()
 
90
            mail_client.compose_merge_request(window.get_mail_to(), "[MERGE]",
 
91
                                              outf.getvalue())
 
92
        window.destroy()
 
93
 
81
94
    def show_diff(self, item):
82
95
        from bzrlib.plugins.gtk.diff import DiffWindow
83
96
        window = DiffWindow(parent=self.parent)