/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 viz/branchwin.py

  • Committer: Curtis Hovey
  • Date: 2011-08-29 14:12:30 UTC
  • mto: This revision was merged to the branch mainline in revision 741.
  • Revision ID: sinzui.is@verizon.net-20110829141230-6nv7h0oxjrojb1y1
Updated hacking doc.

Show diffs side-by-side

added added

removed removed

Lines of Context:
38
38
                       None for no limit.
39
39
        """
40
40
 
41
 
        super(BranchWindow, self).__init__(parent=parent)
 
41
        Window.__init__(self, parent=parent)
42
42
        self.set_border_width(0)
43
43
 
44
44
        self.branch      = branch
78
78
        self.accel_group = Gtk.AccelGroup()
79
79
        self.add_accel_group(self.accel_group)
80
80
 
 
81
        if getattr(Gtk.Action, 'set_tool_item_type', None) is not None:
 
82
            Gtk.Action.set_tool_item_type(Gtk.MenuToolButton)
 
83
 
81
84
        self.prev_rev_action = Gtk.Action("prev-rev", "_Previous Revision", "Go to the previous revision", Gtk.STOCK_GO_DOWN)
82
85
        self.prev_rev_action.set_accel_path("<viz>/Go/Previous Revision")
83
86
        self.prev_rev_action.set_accel_group(self.accel_group)
134
137
    def construct_paned(self):
135
138
        """Construct the main HPaned/VPaned contents."""
136
139
        if self.config.get_user_option('viz-vertical') == 'True':
137
 
            self.paned = Gtk.Paned.new(Gtk.Orientation.HORIZONTAL)
 
140
            self.paned = Gtk.HPaned()
138
141
        else:
139
 
            self.paned = Gtk.Paned.new(Gtk.Orientation.VERTICAL)
 
142
            self.paned = Gtk.VPaned()
140
143
 
141
144
        self.paned.pack1(self.construct_top(), resize=False, shrink=True)
142
145
        self.paned.pack2(self.construct_bottom(), resize=True, shrink=False)
371
374
    def construct_bottom(self):
372
375
        """Construct the bottom half of the window."""
373
376
        if self.config.get_user_option('viz-wide-diffs') == 'True':
374
 
            self.diff_paned = Gtk.Paned.new(Gtk.Orientation.VERTICAL)
 
377
            self.diff_paned = Gtk.VPaned()
375
378
        else:
376
 
            self.diff_paned = Gtk.Paned.new(Gtk.Orientation.HORIZONTAL)
 
379
            self.diff_paned = Gtk.HPaned()
377
380
        (width, height) = self.get_size()
378
381
        self.diff_paned.set_size_request(20, 20) # shrinkable
379
382
 
429
432
                        except KeyError:
430
433
                            str = ""
431
434
 
432
 
                        item = Gtk.MenuItem(
433
 
                            label=parent.message.split("\n")[0] + str)
 
435
                        item = Gtk.MenuItem(parent.message.split("\n")[0] + str)
434
436
                        item.connect('activate', self._set_revision_cb, parent_id)
435
437
                        prev_menu.add(item)
436
438
                prev_menu.show_all()
451
453
                    except KeyError:
452
454
                        str = ""
453
455
 
454
 
                    item = Gtk.MenuItem(
455
 
                        label=child.message.split("\n")[0] + str)
 
456
                    item = Gtk.MenuItem(child.message.split("\n")[0] + str)
456
457
                    item.connect('activate', self._set_revision_cb, child_id)
457
458
                    next_menu.add(item)
458
459
                next_menu.show_all()
478
479
        else:
479
480
            parent_id = parents[0]
480
481
 
481
 
        if revision is not None:
482
 
            self.show_diff(revision.revision_id, parent_id)
483
 
        else:
484
 
            self.show_diff(NULL_REVISION)
 
482
        self.show_diff(revision.revision_id, parent_id)
485
483
        self.treeview.grab_focus()
486
484
 
487
485
    def _back_clicked_cb(self, *args):
545
543
        dialog = SearchDialog(index)
546
544
 
547
545
        if dialog.run() == Gtk.ResponseType.OK:
548
 
            revid = dialog.get_revision()
549
 
            if revid is not None:
550
 
                self.set_revision(revid)
 
546
            self.set_revision(dialog.get_revision())
551
547
 
552
548
        dialog.destroy()
553
549
 
573
569
        old = self.paned
574
570
        self.vbox.remove(old)
575
571
        self.vbox.pack_start(
576
 
            self.construct_paned(), True, True, 0)
 
572
            self.construct_paned(), True, True, True, 0)
577
573
        self._make_diff_paned_nonzero_size()
578
574
        self._make_diff_nonzero_size()
579
575
 
657
653
            return width, height
658
654
        return None
659
655
 
660
 
    def show_diff(self, revid, parentid=NULL_REVISION):
 
656
    def show_diff(self, revid=None, parentid=NULL_REVISION):
661
657
        """Open a new window to show a diff between the given revisions."""
662
658
        from bzrlib.plugins.gtk.diff import DiffWindow
663
659
        window = DiffWindow(parent=self)