/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 branchview/treeview.py

  • Committer: Jelmer Vernooij
  • Date: 2010-02-28 15:19:15 UTC
  • mfrom: (674.1.1 bzr-gtk)
  • Revision ID: jelmer@samba.org-20100228151915-bvwflj8ongj2fwqd
Merge qense's indicator application work, but don't require appindicator to be installed.

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
__copyright__ = "Copyright © 2005 Canonical Ltd."
7
7
__author__    = "Daniel Schierbeck <daniel.schierbeck@gmail.com>"
8
8
 
 
9
import sys
 
10
import string
9
11
import gtk
10
12
import gobject
11
13
import pango
 
14
import re
12
15
import treemodel
13
16
from bzrlib import ui
14
17
 
15
 
from bzrlib.plugins.gtk.ui import ProgressPanel
 
18
from bzrlib.plugins.gtk import _i18n
 
19
from bzrlib.plugins.gtk.ui import GtkProgressBar, ProgressPanel
16
20
from linegraph import linegraph, same_branch
17
21
from graphcell import CellRendererGraph
18
22
from treemodel import TreeModel
19
23
from bzrlib.revision import NULL_REVISION
20
 
from bzrlib.plugins.gtk import lock
21
24
 
22
25
 
23
26
class TreeView(gtk.VBox):
222
225
    def add_tag(self, tag, revid=None):
223
226
        if revid is None: revid = self.revision.revision_id
224
227
 
225
 
        if lock.release(self.branch):
 
228
        try:
 
229
            self.branch.unlock()
 
230
 
226
231
            try:
227
 
                lock.acquire(self.branch, lock.WRITE)
 
232
                self.branch.lock_write()
228
233
                self.model.add_tag(tag, revid)
229
234
            finally:
230
 
                lock.release(self.branch)
231
 
 
232
 
            lock.acquire(self.branch, lock.READ)
233
 
 
234
 
            self.emit('tag-added', tag, revid)
 
235
                self.branch.unlock()
 
236
 
 
237
        finally:
 
238
            self.branch.lock_read()
 
239
 
 
240
        self.emit('tag-added', tag, revid)
235
241
        
236
242
    def refresh(self):
237
243
        gobject.idle_add(self.populate, self.get_revision())
392
398
        cell = gtk.CellRendererText()
393
399
        cell.set_property("width-chars", 15)
394
400
        cell.set_property("ellipsize", pango.ELLIPSIZE_END)
395
 
        self.authors_column = gtk.TreeViewColumn("Author(s)")
396
 
        self.authors_column.set_resizable(False)
397
 
        self.authors_column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
398
 
        self.authors_column.set_fixed_width(200)
399
 
        self.authors_column.pack_start(cell, expand=True)
400
 
        self.authors_column.add_attribute(cell, "text", treemodel.AUTHORS)
401
 
        self.treeview.append_column(self.authors_column)
 
401
        self.committer_column = gtk.TreeViewColumn("Committer")
 
402
        self.committer_column.set_resizable(False)
 
403
        self.committer_column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
 
404
        self.committer_column.set_fixed_width(200)
 
405
        self.committer_column.pack_start(cell, expand=True)
 
406
        self.committer_column.add_attribute(cell, "text", treemodel.COMMITTER)
 
407
        self.treeview.append_column(self.committer_column)
402
408
 
403
409
        cell = gtk.CellRendererText()
404
410
        cell.set_property("width-chars", 20)