111
111
# It used to set all changes but this one to False
112
112
self._selected = selected
113
113
self._enable_per_file_commits = True
114
self._commit_all_changes = True
115
114
self.committed_revision_id = None # Nothing has been committed yet
117
116
self.setup_params()
229
228
bus = dbus.SystemBus()
231
proxy_obj = bus.get_object('org.freedesktop.NetworkManager',
232
'/org/freedesktop/NetworkManager')
233
except dbus.DBusException:
234
mutter("networkmanager not available.")
235
self._check_local.show()
229
proxy_obj = bus.get_object('org.freedesktop.NetworkManager',
230
'/org/freedesktop/NetworkManager')
238
231
dbus_iface = dbus.Interface(proxy_obj,
239
232
'org.freedesktop.NetworkManager')
257
250
self._enable_per_file_commits = True
258
251
if not self._enable_per_file_commits:
259
252
self._file_message_expander.hide()
260
self._global_message_label.set_markup(_('<b>Commit Message</b>'))
262
254
def _compute_delta(self):
263
255
self._delta = self._wt.changes_from(self._basis_tree)
361
353
def _construct_file_list(self):
362
354
self._files_box = gtk.VBox(homogeneous=False, spacing=0)
363
355
file_label = gtk.Label(_('Files'))
365
357
self._files_box.pack_start(file_label, expand=False)
367
self._commit_all_files_radio = gtk.RadioButton(
368
None, _("Commit all changes"))
369
self._files_box.pack_start(self._commit_all_files_radio, expand=False)
370
self._commit_all_files_radio.show()
371
self._commit_all_files_radio.connect('toggled',
372
self._toggle_commit_selection)
373
self._commit_selected_radio = gtk.RadioButton(
374
self._commit_all_files_radio, _("Only commit selected changes"))
375
self._files_box.pack_start(self._commit_selected_radio, expand=False)
376
self._commit_selected_radio.show()
377
self._commit_selected_radio.connect('toggled',
378
self._toggle_commit_selection)
380
self._commit_all_files_radio.set_label(_('Commit all changes*'))
381
self._commit_all_files_radio.set_sensitive(False)
382
self._commit_selected_radio.set_sensitive(False)
384
359
scroller = gtk.ScrolledWindow()
385
360
scroller.set_policy(gtk.POLICY_AUTOMATIC, gtk.POLICY_AUTOMATIC)
386
361
self._treeview_files = gtk.TreeView()
407
382
self._files_store = liststore
408
383
self._treeview_files.set_model(liststore)
409
384
crt = gtk.CellRendererToggle()
410
crt.set_property('activatable', not bool(self._pending))
385
crt.set_active(not bool(self._pending))
411
386
crt.connect("toggled", self._toggle_commit, self._files_store)
412
387
if self._pending:
413
388
name = _('Commit*')
415
390
name = _('Commit')
416
commit_col = gtk.TreeViewColumn(name, crt, active=2)
417
commit_col.set_visible(False)
418
self._treeview_files.append_column(commit_col)
391
self._treeview_files.append_column(gtk.TreeViewColumn(name,
419
393
self._treeview_files.append_column(gtk.TreeViewColumn(_('Path'),
420
394
gtk.CellRendererText(), text=3))
421
395
self._treeview_files.append_column(gtk.TreeViewColumn(_('Type'),
432
406
model[path][2] = not model[path][2]
434
def _toggle_commit_selection(self, button):
435
all_files = self._commit_all_files_radio.get_active()
436
if self._commit_all_changes != all_files:
437
checked_col = self._treeview_files.get_column(0)
438
self._commit_all_changes = all_files
440
checked_col.set_visible(False)
442
checked_col.set_visible(True)
443
renderer = checked_col.get_cell_renderers()[0]
444
renderer.set_property('activatable', not all_files)
446
408
def _construct_pending_list(self):
447
409
# Pending information defaults to hidden, we put it all in 1 box, so
448
410
# that we can show/hide all of them at once
487
449
def _construct_diff_view(self):
488
450
from diff import DiffView
490
# TODO: jam 2007-10-30 The diff label is currently disabled. If we
491
# decide that we really don't ever want to display it, we should
492
# actually remove it, and other references to it, along with the
493
# tests that it is set properly.
494
452
self._diff_label = gtk.Label(_('Diff for whole tree'))
495
453
self._diff_label.set_alignment(0, 0)
496
454
self._right_pane_table.set_row_spacing(self._right_pane_table_row, 0)
497
455
self._add_to_right_table(self._diff_label, 1, False)
498
# self._diff_label.show()
456
self._diff_label.show()
500
458
self._diff_view = DiffView()
501
459
self._add_to_right_table(self._diff_view, 4, True)
524
482
def _construct_global_message(self):
525
483
self._global_message_label = gtk.Label(_('Global Commit Message'))
526
self._global_message_label.set_markup(_('<b>Global Commit Message</b>'))
527
484
self._global_message_label.set_alignment(0, 0)
528
485
self._right_pane_table.set_row_spacing(self._right_pane_table_row, 0)
529
486
self._add_to_right_table(self._global_message_label, 1, False)
624
581
for record in records:
625
if self._commit_all_changes or record[2]:# [2] checkbox
582
if record[2]: # [2] checkbox
626
583
file_id = record[0] # [0] file_id
627
584
path = record[1] # [1] real path
628
585
file_message = record[5] # [5] commit message