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

Add options to viz treeview to not show the line graph, and to only show the main line.
Set the revision browser to use these options.

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
from bzrlib.trace import mutter
32
32
from bzrlib.util import bencode
33
33
 
34
 
from bzrlib.plugins.gtk import _i18n
35
34
from dialog import error_dialog, question_dialog
36
35
from errors import show_bzr_error
37
36
 
165
164
        store = self._files_store
166
165
        self._treeview_files.set_model(None)
167
166
 
168
 
        added = _i18n('added')
169
 
        removed = _i18n('removed')
170
 
        renamed = _i18n('renamed')
171
 
        renamed_and_modified = _i18n('renamed and modified')
172
 
        modified = _i18n('modified')
173
 
        kind_changed = _i18n('kind changed')
 
167
        added = _('added')
 
168
        removed = _('removed')
 
169
        renamed = _('renamed')
 
170
        renamed_and_modified = _('renamed and modified')
 
171
        modified = _('modified')
 
172
        kind_changed = _('kind changed')
174
173
 
175
174
        # The store holds:
176
175
        # [file_id, real path, checkbox, display path, changes type, message]
177
 
        # iter_changes returns:
 
176
        # _iter_changes returns:
178
177
        # (file_id, (path_in_source, path_in_target),
179
178
        #  changed_content, versioned, parent, name, kind,
180
179
        #  executable)
187
186
        self._wt.lock_read()
188
187
        self._basis_tree.lock_read()
189
188
        try:
190
 
            from diff import iter_changes_to_status
 
189
            from diff import _iter_changes_to_status
191
190
            for (file_id, real_path, change_type, display_path
192
 
                ) in iter_changes_to_status(self._basis_tree, self._wt):
 
191
                ) in _iter_changes_to_status(self._basis_tree, self._wt):
193
192
                if self._selected and real_path != self._selected:
194
193
                    enabled = False
195
194
                else:
228
227
            return
229
228
        if have_dbus:
230
229
            bus = dbus.SystemBus()
231
 
            try:
232
 
                proxy_obj = bus.get_object('org.freedesktop.NetworkManager',
233
 
                                           '/org/freedesktop/NetworkManager')
234
 
            except dbus.DBusException:
235
 
                mutter("networkmanager not available.")
236
 
                self._check_local.show()
237
 
                return
238
 
            
 
230
            proxy_obj = bus.get_object('org.freedesktop.NetworkManager',
 
231
                                       '/org/freedesktop/NetworkManager')
239
232
            dbus_iface = dbus.Interface(proxy_obj,
240
233
                                        'org.freedesktop.NetworkManager')
241
234
            try:
258
251
            self._enable_per_file_commits = True
259
252
        if not self._enable_per_file_commits:
260
253
            self._file_message_expander.hide()
261
 
            self._global_message_label.set_markup(_i18n('<b>Commit Message</b>'))
 
254
            self._global_message_label.set_markup(_('<b>Commit Message</b>'))
262
255
 
263
256
    def _compute_delta(self):
264
257
        self._delta = self._wt.changes_from(self._basis_tree)
303
296
                            gtk.gdk.CONTROL_MASK, 0, self._on_accel_next)
304
297
        self.add_accel_group(group)
305
298
 
306
 
        # ignore the escape key (avoid closing the window)
307
 
        self.connect_object('close', self.emit_stop_by_name, 'close')
308
 
 
309
299
    def _construct_left_pane(self):
310
300
        self._left_pane_box = gtk.VBox(homogeneous=False, spacing=5)
311
301
        self._construct_file_list()
312
302
        self._construct_pending_list()
313
303
 
314
 
        self._check_local = gtk.CheckButton(_i18n("_Only commit locally"),
 
304
        self._check_local = gtk.CheckButton(_("_Only commit locally"),
315
305
                                            use_underline=True)
316
306
        self._left_pane_box.pack_end(self._check_local, False, False)
317
307
        self._check_local.set_active(False)
338
328
        self._hpane.pack2(self._right_pane_table, resize=True, shrink=True)
339
329
 
340
330
    def _construct_action_pane(self):
341
 
        self._button_commit = gtk.Button(_i18n("Comm_it"), use_underline=True)
 
331
        self._button_commit = gtk.Button(_("Comm_it"), use_underline=True)
342
332
        self._button_commit.connect('clicked', self._on_commit_clicked)
343
333
        self._button_commit.set_flags(gtk.CAN_DEFAULT)
344
334
        self._button_commit.show()
364
354
 
365
355
    def _construct_file_list(self):
366
356
        self._files_box = gtk.VBox(homogeneous=False, spacing=0)
367
 
        file_label = gtk.Label(_i18n('Files'))
 
357
        file_label = gtk.Label(_('Files'))
368
358
        # file_label.show()
369
359
        self._files_box.pack_start(file_label, expand=False)
370
360
 
371
361
        self._commit_all_files_radio = gtk.RadioButton(
372
 
            None, _i18n("Commit all changes"))
 
362
            None, _("Commit all changes"))
373
363
        self._files_box.pack_start(self._commit_all_files_radio, expand=False)
374
364
        self._commit_all_files_radio.show()
375
365
        self._commit_all_files_radio.connect('toggled',
376
366
            self._toggle_commit_selection)
377
367
        self._commit_selected_radio = gtk.RadioButton(
378
 
            self._commit_all_files_radio, _i18n("Only commit selected changes"))
 
368
            self._commit_all_files_radio, _("Only commit selected changes"))
379
369
        self._files_box.pack_start(self._commit_selected_radio, expand=False)
380
370
        self._commit_selected_radio.show()
381
371
        self._commit_selected_radio.connect('toggled',
382
372
            self._toggle_commit_selection)
383
373
        if self._pending:
384
 
            self._commit_all_files_radio.set_label(_i18n('Commit all changes*'))
 
374
            self._commit_all_files_radio.set_label(_('Commit all changes*'))
385
375
            self._commit_all_files_radio.set_sensitive(False)
386
376
            self._commit_selected_radio.set_sensitive(False)
387
377
 
414
404
        crt.set_property('activatable', not bool(self._pending))
415
405
        crt.connect("toggled", self._toggle_commit, self._files_store)
416
406
        if self._pending:
417
 
            name = _i18n('Commit*')
 
407
            name = _('Commit*')
418
408
        else:
419
 
            name = _i18n('Commit')
 
409
            name = _('Commit')
420
410
        commit_col = gtk.TreeViewColumn(name, crt, active=2)
421
411
        commit_col.set_visible(False)
422
412
        self._treeview_files.append_column(commit_col)
423
 
        self._treeview_files.append_column(gtk.TreeViewColumn(_i18n('Path'),
 
413
        self._treeview_files.append_column(gtk.TreeViewColumn(_('Path'),
424
414
                                           gtk.CellRendererText(), text=3))
425
 
        self._treeview_files.append_column(gtk.TreeViewColumn(_i18n('Type'),
 
415
        self._treeview_files.append_column(gtk.TreeViewColumn(_('Type'),
426
416
                                           gtk.CellRendererText(), text=4))
427
417
        self._treeview_files.connect('cursor-changed',
428
418
                                     self._on_treeview_files_cursor_changed)
455
445
 
456
446
        pending_message = gtk.Label()
457
447
        pending_message.set_markup(
458
 
            _i18n('<i>* Cannot select specific files when merging</i>'))
 
448
            _('<i>* Cannot select specific files when merging</i>'))
459
449
        self._pending_box.pack_start(pending_message, expand=False, padding=5)
460
450
        pending_message.show()
461
451
 
462
 
        pending_label = gtk.Label(_i18n('Pending Revisions'))
 
452
        pending_label = gtk.Label(_('Pending Revisions'))
463
453
        self._pending_box.pack_start(pending_label, expand=False, padding=0)
464
454
        pending_label.show()
465
455
 
481
471
                                 )
482
472
        self._pending_store = liststore
483
473
        self._treeview_pending.set_model(liststore)
484
 
        self._treeview_pending.append_column(gtk.TreeViewColumn(_i18n('Date'),
 
474
        self._treeview_pending.append_column(gtk.TreeViewColumn(_('Date'),
485
475
                                             gtk.CellRendererText(), text=1))
486
 
        self._treeview_pending.append_column(gtk.TreeViewColumn(_i18n('Committer'),
 
476
        self._treeview_pending.append_column(gtk.TreeViewColumn(_('Committer'),
487
477
                                             gtk.CellRendererText(), text=2))
488
 
        self._treeview_pending.append_column(gtk.TreeViewColumn(_i18n('Summary'),
 
478
        self._treeview_pending.append_column(gtk.TreeViewColumn(_('Summary'),
489
479
                                             gtk.CellRendererText(), text=3))
490
480
 
491
481
    def _construct_diff_view(self):
495
485
        #       decide that we really don't ever want to display it, we should
496
486
        #       actually remove it, and other references to it, along with the
497
487
        #       tests that it is set properly.
498
 
        self._diff_label = gtk.Label(_i18n('Diff for whole tree'))
 
488
        self._diff_label = gtk.Label(_('Diff for whole tree'))
499
489
        self._diff_label.set_alignment(0, 0)
500
490
        self._right_pane_table.set_row_spacing(self._right_pane_table_row, 0)
501
491
        self._add_to_right_table(self._diff_label, 1, False)
519
509
        self._file_message_text_view.set_accepts_tab(False)
520
510
        self._file_message_text_view.show()
521
511
 
522
 
        self._file_message_expander = gtk.Expander(_i18n('File commit message'))
 
512
        self._file_message_expander = gtk.Expander(_('File commit message'))
523
513
        self._file_message_expander.set_expanded(True)
524
514
        self._file_message_expander.add(scroller)
525
515
        self._add_to_right_table(self._file_message_expander, 1, False)
526
516
        self._file_message_expander.show()
527
517
 
528
518
    def _construct_global_message(self):
529
 
        self._global_message_label = gtk.Label(_i18n('Global Commit Message'))
530
 
        self._global_message_label.set_markup(
531
 
            _i18n('<b>Global Commit Message</b>'))
 
519
        self._global_message_label = gtk.Label(_('Global Commit Message'))
 
520
        self._global_message_label.set_markup(_('<b>Global Commit Message</b>'))
532
521
        self._global_message_label.set_alignment(0, 0)
533
522
        self._right_pane_table.set_row_spacing(self._right_pane_table_row, 0)
534
523
        self._add_to_right_table(self._global_message_label, 1, False)
554
543
 
555
544
        if selection is not None:
556
545
            path, display_path = model.get(selection, 1, 3)
557
 
            self._diff_label.set_text(_i18n('Diff for ') + display_path)
 
546
            self._diff_label.set_text(_('Diff for ') + display_path)
558
547
            if path is None:
559
548
                self._diff_view.show_diff(None)
560
549
            else:
601
590
        text_buffer = self._file_message_text_view.get_buffer()
602
591
        file_id, display_path, message = self._files_store.get(selection, 0, 3, 5)
603
592
        if file_id is None: # Whole tree
604
 
            self._file_message_expander.set_label(_i18n('File commit message'))
 
593
            self._file_message_expander.set_label(_('File commit message'))
605
594
            self._file_message_expander.set_expanded(False)
606
595
            self._file_message_expander.set_sensitive(False)
607
596
            text_buffer.set_text('')
608
597
            self._last_selected_file = None
609
598
        else:
610
 
            self._file_message_expander.set_label(_i18n('Commit message for ')
 
599
            self._file_message_expander.set_label(_('Commit message for ')
611
600
                                                  + display_path)
612
601
            self._file_message_expander.set_expanded(True)
613
602
            self._file_message_expander.set_sensitive(True)
652
641
 
653
642
        if message == '':
654
643
            response = self._question_dialog(
655
 
                _i18n('Commit with an empty message?'),
656
 
                _i18n('You can describe your commit intent in the message.'))
 
644
                            _('Commit with an empty message?'),
 
645
                            _('You can describe your commit intent in the message.'))
657
646
            if response == gtk.RESPONSE_NO:
658
647
                # Kindly give focus to message area
659
648
                self._global_message_text_view.grab_focus()
672
661
        #       files at this point.
673
662
        for path in self._wt.unknowns():
674
663
            response = self._question_dialog(
675
 
                _i18n("Commit with unknowns?"),
676
 
                _i18n("Unknown files exist in the working tree. Commit anyway?"))
 
664
                _("Commit with unknowns?"),
 
665
                _("Unknown files exist in the working tree. Commit anyway?"))
677
666
            if response == gtk.RESPONSE_NO:
678
667
                return
679
668
            break
691
680
                       revprops=revprops)
692
681
        except errors.PointlessCommit:
693
682
            response = self._question_dialog(
694
 
                _i18n('Commit with no changes?'),
695
 
                _i18n('There are no changes in the working tree.'
696
 
                      ' Do you want to commit anyway?'))
 
683
                                _('Commit with no changes?'),
 
684
                                _('There are no changes in the working tree.'
 
685
                                  ' Do you want to commit anyway?'))
697
686
            if response == gtk.RESPONSE_YES:
698
687
                rev_id = self._wt.commit(message,
699
688
                               allow_pointless=True,