/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 olive/info.py

  • Committer: Aaron Bentley
  • Date: 2007-03-19 14:04:43 UTC
  • mto: This revision was merged to the branch mainline in revision 182.
  • Revision ID: abentley@panoramicfeedback.com-20070319140443-nimeomjezt1nzf0h
Better behavior when unable to go back

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 os
18
 
 
19
17
try:
20
18
    import pygtk
21
19
    pygtk.require("2.0")
23
21
    pass
24
22
 
25
23
import gtk
 
24
import gtk.glade
26
25
 
27
26
import bzrlib.errors as errors
28
27
 
29
 
from bzrlib.plugins.gtk import _i18n, icon_path
30
28
from bzrlib.plugins.gtk.dialog import error_dialog
 
29
from guifiles import GLADEFILENAME
31
30
 
32
31
 
33
32
def info(location):
109
108
 
110
109
    try:
111
110
        branch = a_bzrdir.open_branch()
112
 
        repository = branch.repository
113
 
        control = a_bzrdir
114
111
        branch.lock_read()
115
112
        try:
116
113
            ret['location'] = info_helper.get_location_info(repository, branch)
137
134
            ret['repstats'] = info_helper.get_repository_stats(repository)
138
135
        finally:
139
136
            repository.unlock()
140
 
        return ret
 
137
            return ret
 
138
        return
141
139
    except errors.NoRepositoryPresent:
142
140
        pass
143
141
 
144
142
 
145
 
class InfoDialog(object):
 
143
class OliveInfo:
146
144
    """ Display Informations window and perform the needed actions. """
147
 
    
148
 
    def __init__(self, branch):
 
145
    def __init__(self, wt):
149
146
        """ Initialize the Informations window. """
 
147
        self.glade = gtk.glade.XML(GLADEFILENAME, 'window_info', 'olive-gtk')
 
148
        
 
149
        # Get the Informations window widget
 
150
        self.window = self.glade.get_widget('window_info')
 
151
        
150
152
        # Check if current location is a branch
151
153
        self.notbranch = False
152
154
        try:
153
 
            self.ret = info(branch.base)
 
155
            self.ret = info(wt.basedir)
154
156
        except errors.NotBranchError:
155
157
            self.notbranch = True
156
158
            return
157
159
        
158
 
        # Create the window
159
 
        self.window = gtk.Dialog(title="Olive - Information",
160
 
                                  parent = None,
161
 
                                  flags=0,
162
 
                                  buttons=None)
163
 
        self.window.set_icon_list(gtk.gdk.pixbuf_new_from_file(icon_path("oliveicon2.png")),
164
 
                                  gtk.gdk.pixbuf_new_from_file(icon_path("olive-gtk.png")))
165
 
        self.window.vbox.set_spacing(3)
166
 
        self.window.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_NORMAL)
167
 
        
168
 
        infokeylist = ( ('location', _i18n("Location"), (
169
 
                            ('lightcoroot', _i18n("Light checkout root")),
170
 
                            ('sharedrepo', _i18n("Shared repository")),
171
 
                            ('repobranch', _i18n("Repository branch")),
172
 
                            ('cobranch', _i18n("Checkout of branch")),
173
 
                            ('repoco', _i18n("Repository checkout")),
174
 
                            ('coroot', _i18n("Checkout root")),
175
 
                            ('branchroot', _i18n("Branch root")),
176
 
                            )),
177
 
                        ('related', _i18n("Related branches"), (
178
 
                            ('parentbranch', _i18n("Parent branch")),
179
 
                            ('publishbranch', _i18n("Publish to branch")),
180
 
                            )),
181
 
                        ('format', _i18n("Format"), (
182
 
                            ('control', _i18n("Control format")),
183
 
                            ('workingtree', _i18n("Working tree format")),
184
 
                            ('branch', _i18n("Branch format")),
185
 
                            ('repository', _i18n("Repository format")),
186
 
                            )),
187
 
                        ('locking', _i18n("Lock status"), (
188
 
                            ('workingtree', _i18n("Working tree lock status")),
189
 
                            ('branch', _i18n("Branch lock status")),
190
 
                            ('repository', _i18n("Repository lock status")),
191
 
                            )),
192
 
                        #('missing', _i18n("Missing revisions"), (
193
 
                        #    ('branch', _i18n("Missing revisions in branch")),
194
 
                        #    ('workingtree', _i18n("Missing revisions in working tree")),
195
 
                        #    )), # Missing is 'temporary' disabled
196
 
                        ('wtstats', _i18n("In the working tree"), (
197
 
                            ('unchanged', _i18n("Unchanged files")),
198
 
                            ('modified', _i18n("Modified files")),
199
 
                            ('added', _i18n("Added files")),
200
 
                            ('removed', _i18n("Removed files")),
201
 
                            ('renamed', _i18n("Renamed files")),
202
 
                            ('unknown', _i18n("Unknown files")),
203
 
                            ('ignored', _i18n("Ignored files")),
204
 
                            ('subdirs', _i18n("Versioned subdirectories")),
205
 
                            )),
206
 
                        ('brstats', _i18n("Branch history"), (
207
 
                            ('revno', _i18n("Revisions in branch")),
208
 
                            ('commiters', _i18n("Number of commiters")),
209
 
                            ('age', _i18n("Age of branch in days")),
210
 
                            ('firstrev', _i18n("Time of first revision")),
211
 
                            ('lastrev', _i18n("Time of last revision")),
212
 
                            )),
213
 
                        ('repstats', _i18n("Revision store"), (
214
 
                            ('revisions', _i18n("Revisions in repository")),
215
 
                            ('size', _i18n("Size of repository in bytes")),
216
 
                            )),
217
 
                        )
218
 
               
 
160
        # Dictionary for signal_autoconnect
 
161
        dic = { "on_button_info_close_clicked": self.close,
 
162
                "on_expander_info_location_activate": self.activate,
 
163
                "on_expander_info_related_activate": self.activate,
 
164
                "on_expander_info_format_activate": self.activate,
 
165
                "on_expander_info_locking_activate": self.activate,
 
166
                "on_expander_info_missing_activate": self.activate,
 
167
                "on_expander_info_wtstats_activate": self.activate,
 
168
                "on_expander_info_brstats_activate": self.activate,
 
169
                "on_expander_info_repstats_activate": self.activate }
 
170
        
 
171
        # Connect the signals to the handlers
 
172
        self.glade.signal_autoconnect(dic)
 
173
        
219
174
        # Generate status output
220
 
        self._generate_info(infokeylist)
221
 
        
222
 
        button_close = gtk.Button(stock=gtk.STOCK_CLOSE)        
223
 
        button_close.connect('clicked', self.close)
224
 
        self.window.action_area.pack_end(button_close)
225
 
        self.window.set_focus(button_close)
226
 
    
227
 
    def _generate_info(self, infokeylist):
 
175
        self._generate_info()
 
176
 
 
177
    def _generate_info(self):
228
178
        """ Generate 'bzr info' output. """
229
 
        for key, keystring, subkeylist in infokeylist:
230
 
            if self.ret.has_key(key):
231
 
                tablelength = 0
232
 
                for subkey, subkeystring in subkeylist:
233
 
                    if self.ret[key].has_key(subkey):
234
 
                        tablelength += 1
235
 
                if tablelength == 0:
236
 
                    pass
237
 
                else:
238
 
                    exec "exp_%s = gtk.Expander('<b>%s</b>')"%(key, keystring)
239
 
                    eval("exp_%s.set_use_markup(True)"%key)
240
 
                    eval("exp_%s.connect('activate', self.activate)"%key)
241
 
                    
242
 
                    exec "alignment_%s = gtk.Alignment()"%key
243
 
                    eval("alignment_%s.set_padding(0, 0, 24, 0)"%key)
244
 
                    eval("exp_%s.add(alignment_%s)"%(key, key))
245
 
                    
246
 
                    exec "table_%s = gtk.Table(tablelength, 2)"%key
247
 
                    eval("table_%s.set_col_spacings(12)"%key)
248
 
                    eval("alignment_%s.add(table_%s)"%(key, key))
249
 
                    
250
 
                    tablepos = 0
251
 
                    for subkey, subkeystring in subkeylist:
252
 
                        if self.ret[key].has_key(subkey):
253
 
                            exec "%s_%s_label = gtk.Label('%s:')"%(key,subkey, subkeystring)
254
 
                            eval("table_%s.attach(%s_%s_label, 0, 1, %i, %i, gtk.FILL)"%(key, key, subkey, tablepos, tablepos + 1))
255
 
                            eval("%s_%s_label.set_alignment(0, 0.5)"%(key, subkey))
256
 
                            
257
 
                            exec "%s_%s = gtk.Label('%s')"%(key, subkey, str(self.ret[key][subkey]))
258
 
                            eval("table_%s.attach(%s_%s, 1, 2, %i, %i, gtk.FILL)"%(key, key, subkey, tablepos, tablepos + 1))
259
 
                            eval("%s_%s.set_alignment(0, 0.5)"%(key, subkey))
260
 
                            tablepos += 1
261
 
                    eval("exp_%s.set_expanded(True)"%key)
262
 
                    eval("self.window.vbox.pack_start(exp_%s, False, True, 0)"%key)
 
179
        # location
 
180
        if self.ret.has_key('location'):
 
181
            display = False
 
182
            e = self.glade.get_widget('expander_info_location')
 
183
            if self.ret['location'].has_key('lightcoroot'):
 
184
                ll = self.glade.get_widget('label_info_location_lightcoroot_label')
 
185
                l = self.glade.get_widget('label_info_location_lightcoroot')
 
186
                l.set_text(self.ret['location']['lightcoroot'])
 
187
                ll.show()
 
188
                l.show()
 
189
                if not display:
 
190
                    e.set_expanded(True)
 
191
                    e.show()
 
192
                    display = True
 
193
            if self.ret['location'].has_key('sharedrepo'):
 
194
                ll = self.glade.get_widget('label_info_location_sharedrepo_label')
 
195
                l = self.glade.get_widget('label_info_location_sharedrepo')
 
196
                l.set_text(self.ret['location']['sharedrepo'])
 
197
                ll.show()
 
198
                l.show()
 
199
                if not display:
 
200
                    e.set_expanded(True)
 
201
                    e.show()
 
202
                    display = True
 
203
            if self.ret['location'].has_key('repobranch'):
 
204
                ll = self.glade.get_widget('label_info_location_repobranch_label')
 
205
                l = self.glade.get_widget('label_info_location_repobranch')
 
206
                l.set_text(self.ret['location']['repobranch'])
 
207
                ll.show()
 
208
                l.show()
 
209
                if not display:
 
210
                    e.set_expanded(True)
 
211
                    e.show()
 
212
                    display = True
 
213
            if self.ret['location'].has_key('cobranch'):
 
214
                ll = self.glade.get_widget('label_info_location_cobranch_label')
 
215
                l = self.glade.get_widget('label_info_location_cobranch')
 
216
                l.set_text(self.ret['location']['cobranch'])
 
217
                ll.show()
 
218
                l.show()
 
219
                if not display:
 
220
                    e.set_expanded(True)
 
221
                    e.show()
 
222
                    display = True
 
223
            if self.ret['location'].has_key('repoco'):
 
224
                ll = self.glade.get_widget('label_info_location_repoco_label')
 
225
                l = self.glade.get_widget('label_info_location_repoco')
 
226
                l.set_text(self.ret['location']['repoco'])
 
227
                ll.show()
 
228
                l.show()
 
229
                if not display:
 
230
                    e.set_expanded(True)
 
231
                    e.show()
 
232
                    display = True
 
233
            if self.ret['location'].has_key('coroot'):
 
234
                ll = self.glade.get_widget('label_info_location_coroot_label')
 
235
                l = self.glade.get_widget('label_info_location_coroot')
 
236
                l.set_text(self.ret['location']['coroot'])
 
237
                ll.show()
 
238
                l.show()
 
239
                if not display:
 
240
                    e.set_expanded(True)
 
241
                    e.show()
 
242
                    display = True
 
243
            if self.ret['location'].has_key('branchroot'):
 
244
                ll = self.glade.get_widget('label_info_location_branchroot_label')
 
245
                l = self.glade.get_widget('label_info_location_branchroot')
 
246
                l.set_text(self.ret['location']['branchroot'])
 
247
                ll.show()
 
248
                l.show()
 
249
                if not display:
 
250
                    e.set_expanded(True)
 
251
                    e.show()
 
252
                    display = True
 
253
        # related
 
254
        if self.ret.has_key('related'):
 
255
            display = False
 
256
            e = self.glade.get_widget('expander_info_related')
 
257
            if self.ret['related'].has_key('parentbranch'):
 
258
                ll = self.glade.get_widget('label_info_related_parentbranch_label')
 
259
                l = self.glade.get_widget('label_info_related_parentbranch')
 
260
                l.set_text(self.ret['related']['parentbranch'])
 
261
                ll.show()
 
262
                l.show()
 
263
                if not display:
 
264
                    e.set_expanded(True)
 
265
                    e.show()
 
266
                    display = True
 
267
            if self.ret['related'].has_key('publishbranch'):
 
268
                ll = self.glade.get_widget('label_info_related_publishbranch_label')
 
269
                l = self.glade.get_widget('label_info_related_publishbranch')
 
270
                l.set_text(self.ret['related']['publishbranch'])
 
271
                ll.show()
 
272
                l.show()
 
273
                if not display:
 
274
                    e.set_expanded(True)
 
275
                    e.show()
 
276
                    display = True
 
277
        # format
 
278
        if self.ret.has_key('format'):
 
279
            display = False
 
280
            e = self.glade.get_widget('expander_info_format')
 
281
            if self.ret['format'].has_key('control'):
 
282
                ll = self.glade.get_widget('label_info_format_control_label')
 
283
                l = self.glade.get_widget('label_info_format_control')
 
284
                l.set_text(self.ret['format']['control'])
 
285
                ll.show()
 
286
                l.show()
 
287
                if not display:
 
288
                    e.set_expanded(True)
 
289
                    e.show()
 
290
                    display = True
 
291
            if self.ret['format'].has_key('workingtree'):
 
292
                ll = self.glade.get_widget('label_info_format_workingtree_label')
 
293
                l = self.glade.get_widget('label_info_format_workingtree')
 
294
                l.set_text(self.ret['format']['workingtree'])
 
295
                ll.show()
 
296
                l.show()
 
297
                if not display:
 
298
                    e.set_expanded(True)
 
299
                    e.show()
 
300
                    display = True
 
301
            if self.ret['format'].has_key('branch'):
 
302
                ll = self.glade.get_widget('label_info_format_branch_label')
 
303
                l = self.glade.get_widget('label_info_format_branch')
 
304
                l.set_text(self.ret['format']['branch'])
 
305
                ll.show()
 
306
                l.show()
 
307
                if not display:
 
308
                    e.set_expanded(True)
 
309
                    e.show()
 
310
                    display = True
 
311
            if self.ret['format'].has_key('repository'):
 
312
                ll = self.glade.get_widget('label_info_format_repository_label')
 
313
                l = self.glade.get_widget('label_info_format_repository')
 
314
                l.set_text(self.ret['format']['repository'])
 
315
                ll.show()
 
316
                l.show()
 
317
                if not display:
 
318
                    e.set_expanded(True)
 
319
                    e.show()
 
320
                    display = True
 
321
        # locking
 
322
        if self.ret.has_key('locking'):
 
323
            display = False
 
324
            e = self.glade.get_widget('expander_info_locking')
 
325
            if self.ret['locking'].has_key('workingtree'):
 
326
                ll = self.glade.get_widget('label_info_locking_workingtree_label')
 
327
                l = self.glade.get_widget('label_info_locking_workingtree')
 
328
                l.set_text(self.ret['locking']['workingtree'])
 
329
                ll.show()
 
330
                l.show()
 
331
                if not display:
 
332
                    e.set_expanded(True)
 
333
                    e.show()
 
334
                    display = True
 
335
            if self.ret['locking'].has_key('branch'):
 
336
                ll = self.glade.get_widget('label_info_locking_branch_label')
 
337
                l = self.glade.get_widget('label_info_locking_branch')
 
338
                l.set_text(self.ret['locking']['branch'])
 
339
                ll.show()
 
340
                l.show()
 
341
                if not display:
 
342
                    e.set_expanded(True)
 
343
                    e.show()
 
344
                    display = True
 
345
            if self.ret['locking'].has_key('repository'):
 
346
                ll = self.glade.get_widget('label_info_locking_repository_label')
 
347
                l = self.glade.get_widget('label_info_locking_repository')
 
348
                l.set_text(self.ret['locking']['repository'])
 
349
                ll.show()
 
350
                l.show()
 
351
                if not display:
 
352
                    e.set_expanded(True)
 
353
                    e.show()
 
354
                    display = True
 
355
        # missing - temporary disabled
 
356
        """
 
357
        if self.ret.has_key('missing'):
 
358
            display = False
 
359
            e = self.glade.get_widget('expander_info_missing')
 
360
            if self.ret['missing'].has_key('branch'):
 
361
                ll = self.glade.get_widget('label_info_missing_branch_label')
 
362
                l = self.glade.get_widget('label_info_missing_branch')
 
363
                l.set_text(self.ret['missing']['branch'])
 
364
                ll.set_markup('<b>' + ll.get_text() + '</b>')
 
365
                ll.show()
 
366
                l.show()
 
367
                if not display:
 
368
                    e.set_expanded(True)
 
369
                    e.show()
 
370
                    display = True
 
371
            if self.ret['missing'].has_key('workingtree'):
 
372
                ll = self.glade.get_widget('label_info_missing_workingtree_label')
 
373
                l = self.glade.get_widget('label_info_missing_workingtree')
 
374
                l.set_text(self.ret['missing']['branch'])
 
375
                ll.set_markup('<b>' + ll.get_text() + '</b>')
 
376
                ll.show()
 
377
                l.show()
 
378
                if not display:
 
379
                    e.set_expanded(True)
 
380
                    e.show()
 
381
                    display = True
 
382
        """
 
383
        # working tree stats
 
384
        if self.ret.has_key('wtstats'):
 
385
            display = False
 
386
            e = self.glade.get_widget('expander_info_wtstats')
 
387
            if self.ret['wtstats'].has_key('unchanged'):
 
388
                ll = self.glade.get_widget('label_info_wtstats_unchanged_label')
 
389
                l = self.glade.get_widget('label_info_wtstats_unchanged')
 
390
                l.set_text(str(self.ret['wtstats']['unchanged']))
 
391
                ll.show()
 
392
                l.show()
 
393
                if not display:
 
394
                    e.set_expanded(True)
 
395
                    e.show()
 
396
                    display = True
 
397
            if self.ret['wtstats'].has_key('modified'):
 
398
                ll = self.glade.get_widget('label_info_wtstats_modified_label')
 
399
                l = self.glade.get_widget('label_info_wtstats_modified')
 
400
                l.set_text(str(self.ret['wtstats']['modified']))
 
401
                ll.show()
 
402
                l.show()
 
403
                if not display:
 
404
                    e.set_expanded(True)
 
405
                    e.show()
 
406
                    display = True
 
407
            if self.ret['wtstats'].has_key('added'):
 
408
                ll = self.glade.get_widget('label_info_wtstats_added_label')
 
409
                l = self.glade.get_widget('label_info_wtstats_added')
 
410
                l.set_text(str(self.ret['wtstats']['added']))
 
411
                ll.show()
 
412
                l.show()
 
413
                if not display:
 
414
                    e.set_expanded(True)
 
415
                    e.show()
 
416
                    display = True
 
417
            if self.ret['wtstats'].has_key('removed'):
 
418
                ll = self.glade.get_widget('label_info_wtstats_removed_label')
 
419
                l = self.glade.get_widget('label_info_wtstats_removed')
 
420
                l.set_text(str(self.ret['wtstats']['removed']))
 
421
                ll.show()
 
422
                l.show()
 
423
                if not display:
 
424
                    e.set_expanded(True)
 
425
                    e.show()
 
426
                    display = True
 
427
            if self.ret['wtstats'].has_key('renamed'):
 
428
                ll = self.glade.get_widget('label_info_wtstats_renamed_label')
 
429
                l = self.glade.get_widget('label_info_wtstats_renamed')
 
430
                l.set_text(str(self.ret['wtstats']['renamed']))
 
431
                ll.show()
 
432
                l.show()
 
433
                if not display:
 
434
                    e.set_expanded(True)
 
435
                    e.show()
 
436
                    display = True
 
437
            if self.ret['wtstats'].has_key('unknown'):
 
438
                ll = self.glade.get_widget('label_info_wtstats_unknown_label')
 
439
                l = self.glade.get_widget('label_info_wtstats_unknown')
 
440
                l.set_text(str(self.ret['wtstats']['unknown']))
 
441
                ll.show()
 
442
                l.show()
 
443
                if not display:
 
444
                    e.set_expanded(True)
 
445
                    e.show()
 
446
                    display = True
 
447
            if self.ret['wtstats'].has_key('ignored'):
 
448
                ll = self.glade.get_widget('label_info_wtstats_ignored_label')
 
449
                l = self.glade.get_widget('label_info_wtstats_ignored')
 
450
                l.set_text(str(self.ret['wtstats']['ignored']))
 
451
                ll.show()
 
452
                l.show()
 
453
                if not display:
 
454
                    e.set_expanded(True)
 
455
                    e.show()
 
456
                    display = True
 
457
            if self.ret['wtstats'].has_key('subdirs'):
 
458
                ll = self.glade.get_widget('label_info_wtstats_subdirs_label')
 
459
                l = self.glade.get_widget('label_info_wtstats_subdirs')
 
460
                l.set_text(str(self.ret['wtstats']['subdirs']))
 
461
                ll.show()
 
462
                l.show()
 
463
                if not display:
 
464
                    e.set_expanded(True)
 
465
                    e.show()
 
466
                    display = True
 
467
        # branch stats
 
468
        if self.ret.has_key('brstats'):
 
469
            display = False
 
470
            e = self.glade.get_widget('expander_info_brstats')
 
471
            if self.ret['brstats'].has_key('revno'):
 
472
                ll = self.glade.get_widget('label_info_brstats_revno_label')
 
473
                l = self.glade.get_widget('label_info_brstats_revno')
 
474
                l.set_text(str(self.ret['brstats']['revno']))
 
475
                ll.show()
 
476
                l.show()
 
477
                if not display:
 
478
                    e.set_expanded(True)
 
479
                    e.show()
 
480
                    display = True
 
481
            if self.ret['brstats'].has_key('commiters'):
 
482
                ll = self.glade.get_widget('label_info_brstats_commiters_label')
 
483
                l = self.glade.get_widget('label_info_brstats_commiters')
 
484
                l.set_text(str(self.ret['brstats']['commiters']))
 
485
                ll.show()
 
486
                l.show()
 
487
                if not display:
 
488
                    e.set_expanded(True)
 
489
                    e.show()
 
490
                    display = True
 
491
            if self.ret['brstats'].has_key('age'):
 
492
                ll = self.glade.get_widget('label_info_brstats_age_label')
 
493
                l = self.glade.get_widget('label_info_brstats_age')
 
494
                l.set_text('%d days' % self.ret['brstats']['age'])
 
495
                ll.show()
 
496
                l.show()
 
497
                if not display:
 
498
                    e.set_expanded(True)
 
499
                    e.show()
 
500
                    display = True
 
501
            if self.ret['brstats'].has_key('firstrev'):
 
502
                ll = self.glade.get_widget('label_info_brstats_firstrev_label')
 
503
                l = self.glade.get_widget('label_info_brstats_firstrev')
 
504
                l.set_text(self.ret['brstats']['firstrev'])
 
505
                ll.show()
 
506
                l.show()
 
507
                if not display:
 
508
                    e.set_expanded(True)
 
509
                    e.show()
 
510
                    display = True
 
511
            if self.ret['brstats'].has_key('lastrev'):
 
512
                ll = self.glade.get_widget('label_info_brstats_lastrev_label')
 
513
                l = self.glade.get_widget('label_info_brstats_lastrev')
 
514
                l.set_text(self.ret['brstats']['lastrev'])
 
515
                ll.show()
 
516
                l.show()
 
517
                if not display:
 
518
                    e.set_expanded(True)
 
519
                    e.show()
 
520
                    display = True
 
521
        # repository stats
 
522
        if self.ret.has_key('repstats'):
 
523
            display = False
 
524
            e = self.glade.get_widget('expander_info_repstats')
 
525
            if self.ret['repstats'].has_key('revisions'):
 
526
                ll = self.glade.get_widget('label_info_repstats_revisions_label')
 
527
                l = self.glade.get_widget('label_info_repstats_revisions')
 
528
                l.set_text(str(self.ret['repstats']['revisions']))
 
529
                ll.show()
 
530
                l.show()
 
531
                if not display:
 
532
                    e.set_expanded(True)
 
533
                    e.show()
 
534
                    display = True
 
535
            if self.ret['repstats'].has_key('size'):
 
536
                ll = self.glade.get_widget('label_info_repstats_size_label')
 
537
                l = self.glade.get_widget('label_info_repstats_size')
 
538
                l.set_text('%d KiB' % (self.ret['repstats']['size'] / 1024))
 
539
                ll.show()
 
540
                l.show()
 
541
                if not display:
 
542
                    e.set_expanded(True)
 
543
                    e.show()
 
544
                    display = True
263
545
    
264
546
    def activate(self, expander):
265
547
        """ Redraw the window. """
269
551
    def display(self):
270
552
        """ Display the Informations window. """
271
553
        if self.notbranch:
272
 
            error_dialog(_i18n('Directory is not a branch'),
273
 
                         _i18n('You can perform this action only in a branch.'))
 
554
            error_dialog(_('Directory is not a branch'),
 
555
                         _('You can perform this action only in a branch.'))
274
556
            self.close()
275
557
        else:
276
 
            self.window.show_all()
277
 
    
 
558
            self.window.show()
 
559
 
278
560
    def close(self, widget=None):
279
561
        self.window.destroy()