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
19
21
pygtk.require("2.0")
28
from bzrlib.osutils import format_date
29
from bzrlib.plugins.gtk import _i18n
26
30
from bzrlib.plugins.gtk.branchview.treeview import TreeView
27
from bzrlib.plugins.gtk.i18n import _i18n
30
33
class RevisionBrowser(gtk.Dialog):
35
38
flags=gtk.DIALOG_MODAL,
36
39
buttons=(gtk.STOCK_CANCEL, gtk.RESPONSE_CANCEL))
39
42
self.branch = branch
41
44
# Create the widgets
42
45
self._button_select = gtk.Button(_i18n("_Select"), use_underline=True)
43
46
start_revs = [branch.last_revision(),]
44
47
self.treeview = TreeView(branch, start_revs, None)
47
50
self._button_select.connect('clicked', self._on_select_clicked)
48
51
self.treeview.connect('revision-activated',
49
52
self._on_treeview_revision_activated)
52
55
self.set_default_size(600, 400)
53
56
self.vbox.set_spacing(3)
54
57
self.treeview.set_property('graph-column-visible', False)
55
58
self.treeview.set_property('date-column-visible', True)
56
59
self.treeview.set_property('mainline-only', True)
58
61
# Construct the dialog
59
62
self.action_area.pack_end(self._button_select)
61
64
self.vbox.pack_start(self.treeview, True, True)
67
70
def _on_treeview_revision_activated(self, treeview, path, column):
68
71
""" Double-click on a row should also select a revision. """
69
72
self._on_select_clicked(treeview)
71
74
def _on_select_clicked(self, widget):
72
75
""" Select button clicked handler. """
74
77
self.selected_revno = self.treeview.get_property('revision-number')
75
78
self.selected_revid = \
76
79
self.treeview.get_property('revision').revision_id