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

  • Committer: Alexander Belchenko
  • Date: 2006-10-26 07:49:27 UTC
  • mto: (91.1.8 trunk) (66.2.10 trunk)
  • mto: This revision was merged to the branch mainline in revision 107.
  • Revision ID: bialix@ukr.net-20061026074927-7011f495b559b654
Fix bug introduced by revid:bialix@ukr.net-20061025102040-90bcdbad341ee3fa

Commit dialog should store real file name of renamed items,
otherwise commit fails with error (File not versioned a => b)

Fixed by using extra hidden column in file_store.
Also for renamed *and* modified items show correct type of changes
as 'renamed and modified'

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- coding: UTF-8 -*-
 
2
"""Application object.
 
3
 
 
4
This module contains the application object that manages the windows
 
5
on screen, and can be used to create new windows of various types.
 
6
"""
 
7
 
 
8
__copyright__ = "Copyright © 2005 Canonical Ltd."
 
9
__author__    = "Scott James Remnant <scott@ubuntu.com>"
 
10
 
 
11
 
 
12
import pygtk
 
13
pygtk.require("2.0")
 
14
 
 
15
import gtk
 
16
 
 
17
from branchwin import BranchWindow
 
18
from diffwin import DiffWindow
 
19
 
 
20
 
 
21
class BzrkApp(object):
 
22
    """Application manager.
 
23
 
 
24
    This object manages the bzrk application, creating and managing
 
25
    individual branch windows and ensuring the application exits when
 
26
    the last window is closed.
 
27
    """
 
28
 
 
29
    def show(self, branch, start, maxnum):
 
30
        """Open a new window to show the given branch."""
 
31
        window = BranchWindow(self)
 
32
        window.set_branch(branch, start, maxnum)
 
33
        window.connect("destroy", self._destroy_cb)
 
34
        window.show()
 
35
 
 
36
    def show_diff(self, branch, revid, parentid):
 
37
        """Open a new window to show a diff between the given revisions."""
 
38
        window = DiffWindow()
 
39
        rev_tree = branch.repository.revision_tree(revid)
 
40
        parent_tree = branch.repository.revision_tree(parentid)
 
41
        description = revid + " - " + branch.nick
 
42
        window.set_diff(description, rev_tree, parent_tree)
 
43
        window.show()
 
44
 
 
45
    def _destroy_cb(self, widget):
 
46
        """Callback for when a window we manage is destroyed."""
 
47
        self.quit()
 
48
 
 
49
    def main(self):
 
50
        """Start the GTK+ main loop."""
 
51
        gtk.main()
 
52
 
 
53
    def quit(self):
 
54
        """Stop the GTK+ main loop."""
 
55
        gtk.main_quit()