/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

  • Committer: Vincent Ladeuil
  • Date: 2008-06-10 15:25:47 UTC
  • mto: This revision was merged to the branch mainline in revision 504.
  • Revision ID: v.ladeuil+lp@free.fr-20080610152547-dwmil1p8pd0mfpnl
Fix third failing test (thanks to jam).

* tests/test_commit.py:
(TestPendingRevisions.test_pending_revisions_multi_merge): Fix
provided by jam: bzr we now filter the pending merges so that only
the 'heads()' are included. We just ensure that the pending merges
contain the unique tips for the ancestries.

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