/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
 
            return False
308
 
        finally:
309
 
            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
310
313
 
311
314
    def construct_treeview(self):
312
315
        self.treeview = gtk.TreeView()
336
339
        cell.set_property("width-chars", 15)
337
340
        cell.set_property("ellipsize", pango.ELLIPSIZE_END)
338
341
        self.revno_column = gtk.TreeViewColumn("Revision No")
339
 
        self.revno_column.set_resizable(False)
 
342
        self.revno_column.set_resizable(True)
340
343
        self.revno_column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
341
344
        self.revno_column.set_fixed_width(cell.get_size(self.treeview)[2])
342
345
        self.revno_column.pack_start(cell, expand=True)
345
348
 
346
349
        self.graph_cell = CellRendererGraph()
347
350
        self.graph_column = gtk.TreeViewColumn()
348
 
        self.graph_column.set_resizable(False)
 
351
        self.graph_column.set_resizable(True)
349
352
        self.graph_column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
350
 
        self.graph_column.pack_start(self.graph_cell, expand=True)
 
353
        self.graph_column.pack_start(self.graph_cell, expand=False)
351
354
        self.graph_column.add_attribute(self.graph_cell, "node", treemodel.NODE)
352
355
        self.graph_column.add_attribute(self.graph_cell, "tags", treemodel.TAGS)
353
356
        self.graph_column.add_attribute(self.graph_cell, "in-lines", treemodel.LAST_LINES)
358
361
        cell.set_property("width-chars", 65)
359
362
        cell.set_property("ellipsize", pango.ELLIPSIZE_END)
360
363
        self.summary_column = gtk.TreeViewColumn("Summary")
361
 
        self.summary_column.set_resizable(False)
362
 
        self.summary_column.set_expand(True)
 
364
        self.summary_column.set_resizable(True)
363
365
        self.summary_column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
364
366
        self.summary_column.set_fixed_width(cell.get_size(self.treeview)[2])
365
367
        self.summary_column.pack_start(cell, expand=True)
370
372
        cell.set_property("width-chars", 15)
371
373
        cell.set_property("ellipsize", pango.ELLIPSIZE_END)
372
374
        self.committer_column = gtk.TreeViewColumn("Committer")
373
 
        self.committer_column.set_resizable(False)
 
375
        self.committer_column.set_resizable(True)
374
376
        self.committer_column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
375
 
        self.committer_column.set_fixed_width(200)
 
377
        self.committer_column.set_fixed_width(cell.get_size(self.treeview)[2])
376
378
        self.committer_column.pack_start(cell, expand=True)
377
379
        self.committer_column.add_attribute(cell, "text", treemodel.COMMITTER)
378
380
        self.treeview.append_column(self.committer_column)
382
384
        cell.set_property("ellipsize", pango.ELLIPSIZE_END)
383
385
        self.date_column = gtk.TreeViewColumn("Date")
384
386
        self.date_column.set_visible(False)
385
 
        self.date_column.set_resizable(False)
 
387
        self.date_column.set_resizable(True)
386
388
        self.date_column.set_sizing(gtk.TREE_VIEW_COLUMN_FIXED)
387
 
        self.date_column.set_fixed_width(130)
 
389
        self.date_column.set_fixed_width(cell.get_size(self.treeview)[2])
388
390
        self.date_column.pack_start(cell, expand=True)
389
391
        self.date_column.add_attribute(cell, "text", treemodel.TIMESTAMP)
390
392
        self.treeview.append_column(self.date_column)
391
393
        
392
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
393
414
 
394
415
    def _on_selection_changed(self, treeview):
395
416
        """callback for when the treeview changes."""