/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: Curtis Hovey
  • Date: 2011-07-31 17:38:30 UTC
  • mto: This revision was merged to the branch mainline in revision 741.
  • Revision ID: sinzui.is@verizon.net-20110731173830-mjhimj25p2ahjxfa
Update diff to gtk3.

Show diffs side-by-side

added added

removed removed

Lines of Context:
16
16
 
17
17
import re
18
18
 
19
 
from gi.repository import Gdk
20
19
from gi.repository import Gtk
21
20
from gi.repository import GObject
22
21
from gi.repository import Pango
108
107
    """Implementation of Commit."""
109
108
 
110
109
    def __init__(self, wt, selected=None, parent=None):
111
 
        super(CommitDialog, self).__init__(
112
 
            title="Commit to %s" % wt.basedir, parent=parent, flags=0)
 
110
        GObject.GObject.__init__(self, title="Commit to %s" % wt.basedir,
 
111
                            parent=parent, flags=0,)
113
112
        self.connect('delete-event', self._on_delete_window)
114
113
        self._question_dialog = question_dialog
115
114
 
122
121
        self._enable_per_file_commits = True
123
122
        self._commit_all_changes = True
124
123
        self.committed_revision_id = None # Nothing has been committed yet
125
 
        self._saved_commit_messages_manager = SavedCommitMessagesManager(
126
 
            self._wt, self._wt.branch)
 
124
        self._saved_commit_messages_manager = SavedCommitMessagesManager(self._wt, self._wt.branch)
127
125
 
128
126
        self.setup_params()
129
127
        self.construct()
228
226
        # This sets the cursor, which causes the expander to close, which
229
227
        # causes the _file_message_text_view to never get realized. So we have
230
228
        # to give it a little kick, or it warns when we try to grab the focus
231
 
        self._treeview_files.set_cursor(initial_cursor, None, False)
 
229
        self._treeview_files.set_cursor(initial_cursor)
232
230
 
233
231
        def _realize_file_message_tree_view(*args):
234
232
            self._file_message_text_view.realize()
288
286
        self._construct_right_pane()
289
287
        self._construct_action_pane()
290
288
 
291
 
        self.get_content_area().pack_start(self._hpane, True, True, 0)
 
289
        self.vbox.pack_start(self._hpane, True, True, 0)
292
290
        self._hpane.show()
293
291
        self.set_focus(self._global_message_text_view)
294
292
 
314
312
 
315
313
    def _construct_accelerators(self):
316
314
        group = Gtk.AccelGroup()
317
 
        group.connect(Gdk.keyval_from_name('N'),
318
 
                      Gdk.ModifierType.CONTROL_MASK, 0, self._on_accel_next)
 
315
        group.connect_group(Gdk.keyval_from_name('N'),
 
316
                            Gdk.EventMask.CONTROL_MASK, 0, self._on_accel_next)
319
317
        self.add_accel_group(group)
320
318
 
321
319
        # ignore the escape key (avoid closing the window)
328
326
 
329
327
        self._check_local = Gtk.CheckButton(_i18n("_Only commit locally"),
330
328
                                            use_underline=True)
331
 
        self._left_pane_box.pack_end(self._check_local, False, False, 0)
 
329
        self._left_pane_box.pack_end(self._check_local, False, False)
332
330
        self._check_local.set_active(False)
333
331
 
334
332
        self._hpane.pack1(self._left_pane_box, resize=False, shrink=False)
356
354
        self._button_cancel = Gtk.Button(stock=Gtk.STOCK_CANCEL)
357
355
        self._button_cancel.connect('clicked', self._on_cancel_clicked)
358
356
        self._button_cancel.show()
359
 
        self.get_action_area().pack_end(
360
 
            self._button_cancel, True, True, 0)
 
357
        self.action_area.pack_end(self._button_cancel)
361
358
        self._button_commit = Gtk.Button(_i18n("Comm_it"), use_underline=True)
362
359
        self._button_commit.connect('clicked', self._on_commit_clicked)
363
360
        self._button_commit.set_can_default(True)
364
361
        self._button_commit.show()
365
 
        self.get_action_area().pack_end(
366
 
            self._button_commit, True, True, 0)
 
362
        self.action_area.pack_end(self._button_commit)
367
363
        self._button_commit.grab_default()
368
364
 
369
365
    def _add_to_right_table(self, widget, weight, expanding=False):
389
385
        # file_label.show()
390
386
        self._files_box.pack_start(file_label, False, True, 0)
391
387
 
392
 
        self._commit_all_files_radio = Gtk.RadioButton.new_with_label(
 
388
        self._commit_all_files_radio = Gtk.RadioButton(
393
389
            None, _i18n("Commit all changes"))
394
390
        self._files_box.pack_start(self._commit_all_files_radio, False, True, 0)
395
391
        self._commit_all_files_radio.show()
396
392
        self._commit_all_files_radio.connect('toggled',
397
393
            self._toggle_commit_selection)
398
 
        self._commit_selected_radio = Gtk.RadioButton.new_with_label_from_widget(
 
394
        self._commit_selected_radio = Gtk.RadioButton(
399
395
            self._commit_all_files_radio, _i18n("Only commit selected changes"))
400
396
        self._files_box.pack_start(self._commit_selected_radio, False, True, 0)
401
397
        self._commit_selected_radio.show()
413
409
        scroller.add(self._treeview_files)
414
410
        scroller.set_shadow_type(Gtk.ShadowType.IN)
415
411
        scroller.show()
416
 
        self._files_box.pack_start(scroller, True, True, 0)
 
412
        self._files_box.pack_start(scroller,
 
413
                                   expand=True, fill=True)
417
414
        self._files_box.show()
418
415
        self._left_pane_box.pack_start(self._files_box, True, True, 0)
419
416
 
464
461
                checked_col.set_visible(False)
465
462
            else:
466
463
                checked_col.set_visible(True)
467
 
            renderer = checked_col.get_cells()[0]
 
464
            renderer = checked_col.get_cell_renderers()[0]
468
465
            renderer.set_property('activatable', not all_files)
469
466
 
470
467
    def _construct_pending_list(self):
476
473
        pending_message = Gtk.Label()
477
474
        pending_message.set_markup(
478
475
            _i18n('<i>* Cannot select specific files when merging</i>'))
479
 
        self._pending_box.pack_start(pending_message, False, True, 5)
 
476
        self._pending_box.pack_start(pending_message, expand=False, padding=5)
480
477
        pending_message.show()
481
478
 
482
479
        pending_label = Gtk.Label(label=_i18n('Pending Revisions'))
483
 
        self._pending_box.pack_start(pending_label, False, True, 0)
 
480
        self._pending_box.pack_start(pending_label, expand=False, padding=0)
484
481
        pending_label.show()
485
482
 
486
483
        scroller = Gtk.ScrolledWindow()
489
486
        scroller.add(self._treeview_pending)
490
487
        scroller.set_shadow_type(Gtk.ShadowType.IN)
491
488
        scroller.show()
492
 
        self._pending_box.pack_start(scroller, True, True, 5)
 
489
        self._pending_box.pack_start(scroller,
 
490
                                     expand=True, fill=True, padding=5)
493
491
        self._treeview_pending.show()
494
492
        self._left_pane_box.pack_start(self._pending_box, True, True, 0)
495
493
 
538
536
        self._file_message_text_view.set_accepts_tab(False)
539
537
        self._file_message_text_view.show()
540
538
 
541
 
        self._file_message_expander = Gtk.Expander(
542
 
            label=_i18n('File commit message'))
 
539
        self._file_message_expander = Gtk.Expander(_i18n('File commit message'))
543
540
        self._file_message_expander.set_expanded(True)
544
541
        self._file_message_expander.add(scroller)
545
542
        self._add_to_right_table(self._file_message_expander, 1, False)
596
593
            # We have either made it to the end of the list, or nothing was
597
594
            # selected. Either way, select All Files, and jump to the global
598
595
            # commit message.
599
 
            self._treeview_files.set_cursor(
600
 
                Gtk.TreePath(path=0), None, False)
 
596
            self._treeview_files.set_cursor((0,))
601
597
            self._global_message_text_view.grab_focus()
602
598
        else:
603
599
            # Set the cursor to this entry, and jump to the per-file commit
604
600
            # message
605
 
            self._treeview_files.set_cursor(model.get_path(next), None, False)
 
601
            self._treeview_files.set_cursor(model.get_path(next))
606
602
            self._file_message_text_view.grab_focus()
607
603
 
608
604
    def _save_current_file_message(self):
610
606
            return # Nothing to save
611
607
        text_buffer = self._file_message_text_view.get_buffer()
612
608
        cur_text = text_buffer.get_text(text_buffer.get_start_iter(),
613
 
                                        text_buffer.get_end_iter(), True)
 
609
                                        text_buffer.get_end_iter())
614
610
        last_selected = self._files_store.get_iter(self._last_selected_file)
615
611
        self._files_store.set_value(last_selected, 5, cur_text)
616
612
 
764
760
    def _get_global_commit_message(self):
765
761
        buf = self._global_message_text_view.get_buffer()
766
762
        start, end = buf.get_bounds()
767
 
        text = buf.get_text(start, end, True)
 
763
        text = buf.get_text(start, end)
768
764
        return _sanitize_and_decode_message(text)
769
765
 
770
766
    def _set_global_commit_message(self, message):