14
14
# along with this program; if not, write to the Free Software
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
from gi.repository import Gtk
25
from bzrlib.config import GlobalConfig
19
26
from bzrlib.missing import find_unmerged
21
from bzrlib.plugins.gtk.revisionview import RevisionView
24
class MissingWindow(Gtk.Dialog):
28
from logview import LogView
30
class MissingWindow(gtk.Dialog):
25
31
"""Displays revisions present in one branch but missing in
27
33
def __init__(self, local_branch, remote_branch):
28
34
""" Initialize the Status window. """
29
super(MissingWindow, self).__init__(flags=Gtk.DialogFlags.MODAL)
35
super(MissingWindow, self).__init__(flags=gtk.DIALOG_MODAL)
30
36
self.set_title("Missing Revisions")
31
37
self.local_branch = local_branch
32
38
self.remote_branch = remote_branch
37
43
def _create_revisions_frame(self, revisions):
38
extra_revs = Gtk.ScrolledWindow()
44
extra_revs = gtk.ScrolledWindow()
40
46
for rev in revisions:
43
vbox.pack_start(rv, True, True, 0)
47
vbox.pack_start(LogView(rev), True, True)
44
48
extra_revs.add_with_viewport(vbox)
45
extra_revs.set_policy(Gtk.PolicyType.NEVER, Gtk.PolicyType.AUTOMATIC)
49
extra_revs.set_policy(gtk.POLICY_NEVER, gtk.POLICY_AUTOMATIC)
49
53
self.set_default_size(600, 600)
50
paned = Gtk.Paned.new(Gtk.Orientation.VERTICAL)
52
frame = Gtk.Frame(label="You have the following extra revisions:")
55
frame = gtk.Frame("You have the following extra revisions:")
54
57
extra_revs = self._create_revisions_frame(
55
58
self.local_branch.repository.get_revisions(
56
59
map(lambda (x,y):y, self.local_extra)))
57
60
frame.add(extra_revs)
58
paned.pack1(frame, resize=True, shrink=False)
61
self.vbox.pack_start(frame, True, True)
60
63
missing_revs = self._create_revisions_frame(
61
64
self.remote_branch.repository.get_revisions(
62
65
map(lambda (x,y):y, self.remote_extra)))
64
frame = Gtk.Frame(label="You are missing following revisions:")
67
frame = gtk.Frame("You are missing following revisions:")
65
68
frame.add(missing_revs)
67
paned.pack2(frame, resize=False, shrink=True)
69
self.get_content_area().pack_start(paned, True, True, 0)
70
self.get_content_area().show_all()
69
self.vbox.pack_start(frame, True, True)
73
self.window.show_all()
75
def close(self, widget=None):