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

  • Committer: Vincent Ladeuil
  • Date: 2008-05-05 18:16:46 UTC
  • mto: (487.1.1 gtk)
  • mto: This revision was merged to the branch mainline in revision 490.
  • Revision ID: v.ladeuil+lp@free.fr-20080505181646-n95l8ltw2u6jtr26
Fix bug #187283 fix replacing _() by _i18n().

* genpot.sh 
Remove duplication. Add the ability to specify the genrated pot
file on command-line for debugging purposes.

* po/olive-gtk.pot:
Regenerated.

* __init__.py, branch.py, branchview/treeview.py, checkout.py,
commit.py, conflicts.py, diff.py, errors.py, initialize.py,
merge.py, nautilus-bzr.py, olive/__init__.py, olive/add.py,
olive/bookmark.py, olive/guifiles.py, olive/info.py,
olive/menu.py, olive/mkdir.py, olive/move.py, olive/remove.py,
olive/rename.py, push.py, revbrowser.py, status.py, tags.py:
Replace all calls to _() by calls to _i18n(), the latter being
defined in __init__.py and imported in the other modules from
there. This fix the problem encountered countless times when
running bzr selftest and getting silly error messages about
boolean not being callables.

Show diffs side-by-side

added added

removed removed

Lines of Context:
15
15
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
16
16
"""Simple popup menu for revisions."""
17
17
 
18
 
from gi.repository import Gtk
19
 
from gi.repository import GObject
20
 
from bzrlib import ui
 
18
try:
 
19
    import pygtk
 
20
    pygtk.require("2.0")
 
21
except:
 
22
    pass
 
23
 
 
24
import bzrlib
 
25
import gtk
 
26
import gobject
 
27
from bzrlib import (errors, ui)
21
28
from bzrlib.revision import NULL_REVISION
22
29
 
23
 
class RevisionMenu(Gtk.Menu):
 
30
class RevisionPopupMenu(gtk.Menu):
24
31
 
25
32
    __gsignals__ = {
26
33
            'tag-added': (
27
 
                GObject.SignalFlags.RUN_FIRST,
28
 
                None,
29
 
                (GObject.TYPE_STRING, GObject.TYPE_STRING)
 
34
                gobject.SIGNAL_RUN_FIRST,
 
35
                gobject.TYPE_NONE,
 
36
                (gobject.TYPE_STRING, gobject.TYPE_STRING)
30
37
            )
31
38
    }
32
39
 
33
 
    def __init__(self, repository, revids, branch=None, wt=None, parent=None):
34
 
        super(RevisionMenu, self).__init__()
35
 
        self._parent = parent
 
40
    def __init__(self, repository, revids, branch=None, wt=None):
 
41
        super(RevisionPopupMenu, self).__init__()
36
42
        self.branch = branch
37
43
        self.repository = repository
38
44
        self.wt = wt
39
 
        self.set_revision_ids(revids)
40
 
 
41
 
    def set_revision_ids(self, revids):
42
 
        assert isinstance(revids, list)
43
 
        for c in self.get_children():
44
 
            self.remove(c)
45
45
        self.revids = revids
46
46
        self.create_items()
47
47
 
48
48
    def create_items(self):
49
49
        if len(self.revids) == 1:
50
 
            item = Gtk.MenuItem.new_with_mnemonic("View _Changes")
 
50
            item = gtk.MenuItem("View _Changes")
51
51
            item.connect('activate', self.show_diff)
52
52
            self.append(item)
 
53
            self.show_all()
53
54
 
54
 
            item = Gtk.MenuItem.new_with_mnemonic("_Push")
 
55
            item = gtk.MenuItem("_Push")
55
56
            item.connect('activate', self.show_push)
56
57
            self.append(item)
 
58
            self.show_all()
57
59
 
58
 
            item = Gtk.MenuItem.new_with_mnemonic("_Tag Revision")
 
60
            item = gtk.MenuItem("_Tag Revision")
59
61
            item.connect('activate', self.show_tag)
60
62
            self.append(item)
 
63
            self.show_all()
61
64
 
62
 
            item = Gtk.MenuItem.new_with_mnemonic("_Merge Directive")
 
65
            item = gtk.MenuItem("_Merge Directive")
63
66
            item.connect('activate', self.store_merge_directive)
64
67
            # FIXME: self.append(item)
65
 
 
66
 
            item = Gtk.MenuItem.new_with_mnemonic("_Send Merge Directive")
67
 
            item.connect('activate', self.send_merge_directive)
68
 
            self.append(item)
69
 
 
 
68
            self.show_all()
 
69
            
70
70
            if self.wt:
71
 
                item = Gtk.MenuItem.new_with_mnemonic(
72
 
                    "_Revert to this revision")
 
71
                item = gtk.MenuItem("_Revert to this revision")
73
72
                item.connect('activate', self.revert)
74
73
                self.append(item)
75
 
 
76
 
        self.show_all()
 
74
                self.show_all()
77
75
 
78
76
    def store_merge_directive(self, item):
79
77
        from bzrlib.plugins.gtk.mergedirective import CreateMergeDirectiveDialog
80
78
        window = CreateMergeDirectiveDialog(self.branch, self.revids[0])
81
79
        window.show()
82
80
 
83
 
    def send_merge_directive(self, item):
84
 
        from bzrlib.plugins.gtk.mergedirective import SendMergeDirectiveDialog
85
 
        from cStringIO import StringIO
86
 
        window = SendMergeDirectiveDialog(self.branch, self.revids[0])
87
 
        if window.run() == Gtk.ResponseType.OK:
88
 
            outf = StringIO()
89
 
            outf.writelines(window.get_merge_directive().to_lines())
90
 
            mail_client = self.branch.get_config().get_mail_client()
91
 
            mail_client.compose_merge_request(window.get_mail_to(), "[MERGE]",
92
 
                                              outf.getvalue())
93
 
        window.destroy()
94
 
 
95
81
    def show_diff(self, item):
96
82
        from bzrlib.plugins.gtk.diff import DiffWindow
97
 
        window = DiffWindow(parent=self._parent)
98
 
        parentids = self.repository.get_revision(self.revids[0]).parent_ids
 
83
        window = DiffWindow(parent=self.parent)
 
84
        parentids = self.repository.revision_parents(self.revids[0])
 
85
 
99
86
        if len(parentids) == 0:
100
87
            parentid = NULL_REVISION
101
88
        else:
102
89
            parentid = parentids[0]
 
90
 
103
91
        rev_tree    = self.repository.revision_tree(self.revids[0])
104
92
        parent_tree = self.repository.revision_tree(parentid)
105
93
        window.set_diff(self.revids[0], rev_tree, parent_tree)
110
98
        dialog = PushDialog(self.repository, self.revids[0], self.branch)
111
99
        response = dialog.run()
112
100
 
113
 
        if response != Gtk.ResponseType.NONE:
 
101
        if response != gtk.RESPONSE_NONE:
114
102
            dialog.destroy()
115
103
 
116
104
    def show_tag(self, item):
118
106
        dialog = AddTagDialog(self.repository, self.revids[0], self.branch)
119
107
        response = dialog.run()
120
108
 
121
 
        if response != Gtk.ResponseType.NONE:
 
109
        if response != gtk.RESPONSE_NONE:
122
110
            dialog.hide()
123
 
 
124
 
            if response == Gtk.ResponseType.OK:
 
111
        
 
112
            if response == gtk.RESPONSE_OK:
125
113
                self.emit('tag-added', dialog.tagname, dialog._revid)
126
 
 
 
114
            
127
115
            dialog.destroy()
128
 
 
 
116
    
129
117
    def revert(self, item):
130
118
        pb = ui.ui_factory.nested_progress_bar()
131
119
        revision_tree = self.branch.repository.revision_tree(self.revids[0])