/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: 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:
3
3
 
4
4
"""
5
5
 
6
 
__copyright__ = "Copyright © 2005 Canonical Ltd."
 
6
__copyright__ = "Copyright � 2005 Canonical Ltd."
7
7
__author__    = "Daniel Schierbeck <daniel.schierbeck@gmail.com>"
8
8
 
9
9
import sys
13
13
import pango
14
14
import re
15
15
import treemodel
16
 
from bzrlib import ui
17
16
 
18
17
from bzrlib.plugins.gtk import _i18n
19
18
from linegraph import linegraph, same_branch
83
82
    }
84
83
 
85
84
    __gsignals__ = {
 
85
        'revisions-loaded': (gobject.SIGNAL_RUN_FIRST, 
 
86
                             gobject.TYPE_NONE,
 
87
                             ()),
86
88
        'revision-selected': (gobject.SIGNAL_RUN_FIRST,
87
89
                              gobject.TYPE_NONE,
88
90
                              ()),
106
108
        """
107
109
        gtk.VBox.__init__(self, spacing=0)
108
110
 
 
111
        self.pack_start(self.construct_loading_msg(), expand=False, fill=True)
 
112
        self.connect('revisions-loaded', 
 
113
                lambda x: self.loading_msg_box.hide())
 
114
 
109
115
        self.scrolled_window = gtk.ScrolledWindow()
110
116
        self.scrolled_window.set_policy(gtk.POLICY_AUTOMATIC,
111
117
                                        gtk.POLICY_AUTOMATIC)
114
120
        self.pack_start(self.scrolled_window, expand=True, fill=True)
115
121
 
116
122
        self.scrolled_window.add(self.construct_treeview())
 
123
        
117
124
 
118
125
        self.iter = None
119
126
        self.branch = branch
216
223
        self.emit('tag-added', tag, revid)
217
224
        
218
225
    def refresh(self):
 
226
        self.loading_msg_box.show()
219
227
        gobject.idle_add(self.populate, self.get_revision())
220
228
 
221
229
    def update(self):
269
277
                       should be broken.
270
278
        """
271
279
 
272
 
        loading_progress = ui.ui_factory.nested_progress_bar()
273
 
        loading_progress.update(msg="Loading ancestry graph", total=5)
274
 
 
275
 
        try:
276
 
            if self.compact:
277
 
                broken_line_length = 32
278
 
            else:
279
 
                broken_line_length = None
280
 
            
281
 
            show_graph = self.graph_column.get_visible()
282
 
 
283
 
            self.branch.lock_read()
284
 
            (linegraphdata, index, columns_len) = linegraph(self.branch.repository.get_graph(),
285
 
                                                            self.start,
286
 
                                                            self.maxnum, 
287
 
                                                            broken_line_length,
288
 
                                                            show_graph,
289
 
                                                            self.mainline_only,
290
 
                                                            loading_progress)
291
 
 
292
 
            self.model = TreeModel(self.branch, linegraphdata)
293
 
            self.graph_cell.columns_len = columns_len
294
 
            width = self.graph_cell.get_size(self.treeview)[2]
295
 
            if width > 500:
296
 
                width = 500
297
 
            self.graph_column.set_fixed_width(width)
298
 
            self.graph_column.set_max_width(width)
299
 
            self.index = index
300
 
            self.treeview.set_model(self.model)
301
 
 
302
 
            if not revision or revision == NULL_REVISION:
303
 
                self.treeview.set_cursor(0)
304
 
            else:
305
 
                self.set_revision(revision)
306
 
 
307
 
            self.emit('revisions-loaded')
308
 
 
309
 
            return False
310
 
        finally:
311
 
            loading_progress.finished()
 
280
        if self.compact:
 
281
            broken_line_length = 32
 
282
        else:
 
283
            broken_line_length = None
 
284
        
 
285
        show_graph = self.graph_column.get_visible()
 
286
 
 
287
        self.branch.lock_read()
 
288
        (linegraphdata, index, columns_len) = linegraph(self.branch.repository,
 
289
                                                        self.start,
 
290
                                                        self.maxnum, 
 
291
                                                        broken_line_length,
 
292
                                                        show_graph,
 
293
                                                        self.mainline_only)
 
294
 
 
295
        self.model = TreeModel(self.branch, linegraphdata)
 
296
        self.graph_cell.columns_len = columns_len
 
297
        width = self.graph_cell.get_size(self.treeview)[2]
 
298
        if width > 500:
 
299
            width = 500
 
300
        self.graph_column.set_fixed_width(width)
 
301
        self.graph_column.set_max_width(width)
 
302
        self.index = index
 
303
        self.treeview.set_model(self.model)
 
304
 
 
305
        if not revision or revision == NULL_REVISION:
 
306
            self.treeview.set_cursor(0)
 
307
        else:
 
308
            self.set_revision(revision)
 
309
 
 
310
        self.emit('revisions-loaded')
 
311
 
 
312
        return False
312
313
 
313
314
    def construct_treeview(self):
314
315
        self.treeview = gtk.TreeView()
338
339
        cell.set_property("width-chars", 15)
339
340
        cell.set_property("ellipsize", pango.ELLIPSIZE_END)
340
341
        self.revno_column = gtk.TreeViewColumn("Revision No")
341
 
        self.revno_column.set_resizable(False)
 
342
        self.revno_column.set_resizable(True)
342
343
        self.revno_column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
343
344
        self.revno_column.set_fixed_width(cell.get_size(self.treeview)[2])
344
345
        self.revno_column.pack_start(cell, expand=True)
347
348
 
348
349
        self.graph_cell = CellRendererGraph()
349
350
        self.graph_column = gtk.TreeViewColumn()
350
 
        self.graph_column.set_resizable(False)
 
351
        self.graph_column.set_resizable(True)
351
352
        self.graph_column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
352
 
        self.graph_column.pack_start(self.graph_cell, expand=True)
 
353
        self.graph_column.pack_start(self.graph_cell, expand=False)
353
354
        self.graph_column.add_attribute(self.graph_cell, "node", treemodel.NODE)
354
355
        self.graph_column.add_attribute(self.graph_cell, "tags", treemodel.TAGS)
355
356
        self.graph_column.add_attribute(self.graph_cell, "in-lines", treemodel.LAST_LINES)
360
361
        cell.set_property("width-chars", 65)
361
362
        cell.set_property("ellipsize", pango.ELLIPSIZE_END)
362
363
        self.summary_column = gtk.TreeViewColumn("Summary")
363
 
        self.summary_column.set_resizable(False)
364
 
        self.summary_column.set_expand(True)
 
364
        self.summary_column.set_resizable(True)
365
365
        self.summary_column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
366
366
        self.summary_column.set_fixed_width(cell.get_size(self.treeview)[2])
367
367
        self.summary_column.pack_start(cell, expand=True)
372
372
        cell.set_property("width-chars", 15)
373
373
        cell.set_property("ellipsize", pango.ELLIPSIZE_END)
374
374
        self.committer_column = gtk.TreeViewColumn("Committer")
375
 
        self.committer_column.set_resizable(False)
 
375
        self.committer_column.set_resizable(True)
376
376
        self.committer_column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
377
 
        self.committer_column.set_fixed_width(200)
 
377
        self.committer_column.set_fixed_width(cell.get_size(self.treeview)[2])
378
378
        self.committer_column.pack_start(cell, expand=True)
379
379
        self.committer_column.add_attribute(cell, "text", treemodel.COMMITTER)
380
380
        self.treeview.append_column(self.committer_column)
384
384
        cell.set_property("ellipsize", pango.ELLIPSIZE_END)
385
385
        self.date_column = gtk.TreeViewColumn("Date")
386
386
        self.date_column.set_visible(False)
387
 
        self.date_column.set_resizable(False)
 
387
        self.date_column.set_resizable(True)
388
388
        self.date_column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
389
 
        self.date_column.set_fixed_width(130)
 
389
        self.date_column.set_fixed_width(cell.get_size(self.treeview)[2])
390
390
        self.date_column.pack_start(cell, expand=True)
391
391
        self.date_column.add_attribute(cell, "text", treemodel.TIMESTAMP)
392
392
        self.treeview.append_column(self.date_column)
393
393
        
394
394
        return self.treeview
 
395
    
 
396
    def construct_loading_msg(self):
 
397
        image_loading = gtk.image_new_from_stock(gtk.STOCK_REFRESH,
 
398
                                                 gtk.ICON_SIZE_BUTTON)
 
399
        image_loading.show()
 
400
        
 
401
        label_loading = gtk.Label(
 
402
            _i18n("Please wait, loading ancestral graph..."))
 
403
        label_loading.set_alignment(0.0, 0.5)
 
404
        label_loading.show()
 
405
        
 
406
        self.loading_msg_box = gtk.HBox()
 
407
        self.loading_msg_box.set_spacing(5)
 
408
        self.loading_msg_box.set_border_width(5)        
 
409
        self.loading_msg_box.pack_start(image_loading, False, False)
 
410
        self.loading_msg_box.pack_start(label_loading, True, True)
 
411
        self.loading_msg_box.show()
 
412
        
 
413
        return self.loading_msg_box
395
414
 
396
415
    def _on_selection_changed(self, treeview):
397
416
        """callback for when the treeview changes."""