/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 revbrowser.py

  • Committer: Vincent Ladeuil
  • Date: 2008-05-05 18:16:46 UTC
  • mto: (487.1.1 gtk)
  • mto: This revision was merged to the branch mainline in revision 490.
  • Revision ID: v.ladeuil+lp@free.fr-20080505181646-n95l8ltw2u6jtr26
Fix bug #187283 fix replacing _() by _i18n().

* genpot.sh 
Remove duplication. Add the ability to specify the genrated pot
file on command-line for debugging purposes.

* po/olive-gtk.pot:
Regenerated.

* __init__.py, branch.py, branchview/treeview.py, checkout.py,
commit.py, conflicts.py, diff.py, errors.py, initialize.py,
merge.py, nautilus-bzr.py, olive/__init__.py, olive/add.py,
olive/bookmark.py, olive/guifiles.py, olive/info.py,
olive/menu.py, olive/mkdir.py, olive/move.py, olive/remove.py,
olive/rename.py, push.py, revbrowser.py, status.py, tags.py:
Replace all calls to _() by calls to _i18n(), the latter being
defined in __init__.py and imported in the other modules from
there. This fix the problem encountered countless times when
running bzr selftest and getting silly error messages about
boolean not being callables.

Show diffs side-by-side

added added

removed removed

Lines of Context:
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
16
16
 
 
17
import time
 
18
 
17
19
try:
18
20
    import pygtk
19
21
    pygtk.require("2.0")
24
26
import gtk
25
27
 
26
28
from bzrlib.osutils import format_date
 
29
from bzrlib.plugins.gtk import _i18n
 
30
from bzrlib.plugins.gtk.branchview.treeview import TreeView
27
31
 
28
32
 
29
33
class RevisionBrowser(gtk.Dialog):
38
42
        self.branch = branch
39
43
        
40
44
        # Create the widgets
41
 
        self._label_select = gtk.Label(_("Please select a revision"))
42
 
        self._scrolledwindow = gtk.ScrolledWindow()
43
 
        self._treeview = gtk.TreeView()
44
 
        self._button_select = gtk.Button(_("_Select"), use_underline=True)
 
45
        self._button_select = gtk.Button(_i18n("_Select"), use_underline=True)
 
46
        start_revs = [branch.last_revision(),]
 
47
        self.treeview = TreeView(branch, start_revs, None)
45
48
        
46
49
        # Set callbacks
47
50
        self._button_select.connect('clicked', self._on_select_clicked)
48
 
        self._treeview.connect('row-activated', self._on_treeview_row_activated)
 
51
        self.treeview.connect('revision-activated',
 
52
                               self._on_treeview_revision_activated)
49
53
        
50
54
        # Set properties
51
 
        self._scrolledwindow.set_policy(gtk.POLICY_AUTOMATIC,
52
 
                                        gtk.POLICY_AUTOMATIC)
 
55
        self.set_default_size(600, 400)
53
56
        self.vbox.set_spacing(3)
54
 
        self.set_default_size(600, 400)
55
 
        
56
 
        # Construct the TreeView columns
57
 
        self._treeview.append_column(gtk.TreeViewColumn(_('Revno'),
58
 
                                     gtk.CellRendererText(), text=0))
59
 
        self._treeview.append_column(gtk.TreeViewColumn(_('Summary'),
60
 
                                     gtk.CellRendererText(), text=1))
61
 
        self._treeview.append_column(gtk.TreeViewColumn(_('Committer'),
62
 
                                     gtk.CellRendererText(), text=2))
63
 
        self._treeview.append_column(gtk.TreeViewColumn(_('Time'),
64
 
                                     gtk.CellRendererText(), text=3))
65
 
        self._treeview.get_column(1).get_cell_renderers()[0].set_property("width-chars", 40)
66
 
        self._treeview.get_column(2).get_cell_renderers()[0].set_property("width-chars", 40)
67
 
        self._treeview.get_column(3).get_cell_renderers()[0].set_property("width-chars", 40)
 
57
        self.treeview.set_property('graph-column-visible', False)
 
58
        self.treeview.set_property('date-column-visible', True)
 
59
        self.treeview.set_property('mainline-only', True)
68
60
        
69
61
        # Construct the dialog
70
62
        self.action_area.pack_end(self._button_select)
71
63
        
72
 
        self._scrolledwindow.add(self._treeview)
73
 
        
74
 
        self.vbox.pack_start(self._label_select, False, False)
75
 
        self.vbox.pack_start(self._scrolledwindow, True, True)
76
 
        
77
 
        # Fill up with revisions
78
 
        self._fill_revisions()
79
 
        
 
64
        self.vbox.pack_start(self.treeview, True, True)
 
65
 
80
66
        # Show the dialog
81
 
        self.vbox.show_all()
 
67
        self.show_all()
82
68
 
83
 
    def _fill_revisions(self):
84
 
        """ Fill up the treeview with the revisions. """
85
 
        # [ revno, message, committer, timestamp ]
86
 
        self.model = gtk.ListStore(gobject.TYPE_STRING,
87
 
                                   gobject.TYPE_STRING,
88
 
                                   gobject.TYPE_STRING,
89
 
                                   gobject.TYPE_STRING)
90
 
        self._treeview.set_model(self.model)
91
 
        repo = self.branch.repository
92
 
        revs = self.branch.revision_history()
93
 
        r = repo.get_revisions(revs)
94
 
        r.reverse()
95
 
        for rev in r:
96
 
            if rev.committer is not None:
97
 
                timestamp = format_date(rev.timestamp, rev.timezone)
98
 
            else:
99
 
                timestamp = None
100
 
            self.model.append([ self.branch.revision_id_to_revno(rev.revision_id),
101
 
                                rev.get_summary(),
102
 
                                rev.committer,
103
 
                                timestamp ])
104
 
    
105
 
    def _get_selected_revno(self):
106
 
        """ Return the selected revision's revno. """
107
 
        treeselection = self._treeview.get_selection()
108
 
        (model, iter) = treeselection.get_selected()
109
 
        
110
 
        if iter is None:
111
 
            return None
112
 
        else:
113
 
            return model.get_value(iter, 0)
114
 
    
115
 
    def _on_treeview_row_activated(self, treeview, path, column):
 
69
    
 
70
    def _on_treeview_revision_activated(self, treeview, path, column):
116
71
        """ Double-click on a row should also select a revision. """
117
72
        self._on_select_clicked(treeview)
118
73
    
119
74
    def _on_select_clicked(self, widget):
120
75
        """ Select button clicked handler. """
121
 
        self.selected_revno = self._get_selected_revno()
 
76
        
 
77
        self.selected_revno = self.treeview.get_property('revision-number')
 
78
        self.selected_revid = \
 
79
                    self.treeview.get_property('revision').revision_id
122
80
        self.response(gtk.RESPONSE_OK)