/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 branch.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:
27
27
from errors import show_bzr_error
28
28
 
29
29
from bzrlib.branch import Branch
30
 
from bzrlib.config import GlobalConfig
31
30
import bzrlib.errors as errors
32
31
 
 
32
from bzrlib.plugins.gtk import _i18n
 
33
 
33
34
from dialog import error_dialog, info_dialog
34
35
 
35
 
from history import UrlHistory
36
 
from olive import Preferences
 
36
from branchbox import BranchSelectionBox
37
37
 
38
38
class BranchDialog(gtk.Dialog):
39
39
    """ New implementation of the Branch dialog. """
49
49
        self.path = path
50
50
        
51
51
        # Create the widgets
52
 
        self._button_branch = gtk.Button(_("_Branch"), use_underline=True)
 
52
        self._button_branch = gtk.Button(_i18n("_Branch"), use_underline=True)
 
53
        self._remote_branch = BranchSelectionBox()
53
54
        self._button_revision = gtk.Button('')
54
 
        self._image_browse = gtk.Image()
55
 
        self._filechooser = gtk.FileChooserButton(_("Please select a folder"))
56
 
        self._combo = gtk.ComboBoxEntry()
57
 
        self._label_location = gtk.Label(_("Branch location:"))
58
 
        self._label_destination = gtk.Label(_("Destination:"))
59
 
        self._label_nick = gtk.Label(_("Branck nick:"))
60
 
        self._label_revision = gtk.Label(_("Revision:"))
 
55
        self._label_location = gtk.Label(_i18n("Branch location:"))
 
56
        self._label_location.set_alignment(0, 0.5)
 
57
        self._label_destination = gtk.Label(_i18n("Destination:"))
 
58
        self._label_nick = gtk.Label(_i18n("Branck nick:"))
 
59
        self._label_revision = gtk.Label(_i18n("Revision:"))
 
60
        self._filechooser = gtk.FileChooserButton(_i18n("Please select a folder"))
 
61
        self._filechooser.set_action(gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER)
61
62
        self._hbox_revision = gtk.HBox()
62
63
        self._entry_revision = gtk.Entry()
63
64
        self._entry_nick = gtk.Entry()
65
66
        # Set callbacks
66
67
        self._button_branch.connect('clicked', self._on_branch_clicked)
67
68
        self._button_revision.connect('clicked', self._on_revision_clicked)
68
 
        self._combo.child.connect('focus-out-event', self._on_combo_changed)
69
 
        
 
69
        self._remote_branch.connect('branch-changed', self._on_branch_changed)
 
70
 
70
71
        # Create the table and pack the widgets into it
71
72
        self._table = gtk.Table(rows=3, columns=2)
72
73
        self._table.attach(self._label_location, 0, 1, 0, 1)
 
74
        self._table.attach(self._remote_branch, 1, 2, 0, 1)
73
75
        self._table.attach(self._label_destination, 0, 1, 1, 2)
74
76
        self._table.attach(self._label_nick, 0, 1, 2, 3)
75
77
        self._table.attach(self._label_revision, 0, 1, 3, 4)
76
 
        self._table.attach(self._combo, 1, 2, 0, 1)
77
78
        self._table.attach(self._filechooser, 1, 2, 1, 2)
78
79
        self._table.attach(self._entry_nick, 1, 2, 2, 3)
79
80
        self._table.attach(self._hbox_revision, 1, 2, 3, 4)
80
81
        
81
82
        # Set properties
 
83
        self._image_browse = gtk.Image()
82
84
        self._image_browse.set_from_stock(gtk.STOCK_OPEN, gtk.ICON_SIZE_BUTTON)
83
85
        self._button_revision.set_image(self._image_browse)
84
86
        self._button_revision.set_sensitive(False)
85
 
        self._filechooser.set_action(gtk.FILE_CHOOSER_ACTION_SELECT_FOLDER)
86
 
        self._label_location.set_alignment(0, 0.5)
87
87
        self._label_destination.set_alignment(0, 0.5)
88
88
        self._label_nick.set_alignment(0, 0.5)
89
89
        self._label_revision.set_alignment(0, 0.5)
90
90
        self._table.set_row_spacings(3)
91
91
        self._table.set_col_spacings(3)
92
92
        self.vbox.set_spacing(3)
 
93
        if remote_path is not None:
 
94
            self._remote_branch.set_url(remote_path)
93
95
        if self.path is not None:
94
96
            self._filechooser.set_filename(self.path)
95
 
        if remote_path is not None:
96
 
            self._combo.child.set_text(remote_path)
97
97
        
98
98
        # Pack some widgets
99
99
        self._hbox_revision.pack_start(self._entry_revision, True, True)
103
103
        
104
104
        # Show the dialog
105
105
        self.vbox.show_all()
106
 
        
107
 
        # Build branch history
108
 
        self._history = UrlHistory(GlobalConfig(), 'branch_history')
109
 
        self._build_history()
110
 
    
111
 
    def _build_history(self):
112
 
        """ Build up the branch history. """
113
 
        self._combo_model = gtk.ListStore(str)
114
 
        
115
 
        for item in self._history.get_entries():
116
 
            self._combo_model.append([ item ])
117
 
        
118
 
        pref = Preferences()
119
 
        for item in pref.get_bookmarks():
120
 
            self._combo_model.append([ item ])
121
 
        
122
 
        self._combo.set_model(self._combo_model)
123
 
        self._combo.set_text_column(0)
124
106
    
125
107
    def _get_last_revno(self):
126
108
        """ Get the revno of the last revision (if any). """
127
 
        location = self._combo.get_child().get_text()
128
109
        try:
129
 
            br = Branch.open(location)
130
 
        except:
131
 
            return None
132
 
        else:
 
110
            br = self._remote_branch.get_branch()
133
111
            return br.revno()
 
112
        except:
 
113
            pass
134
114
    
135
115
    def _on_revision_clicked(self, button):
136
116
        """ Browse for revision button clicked handler. """
137
117
        from revbrowser import RevisionBrowser
138
118
        
139
 
        location = self._combo.get_child().get_text()
140
119
        
141
120
        try:
142
 
            br = Branch.open(location)
 
121
            br = self._remote_branch.get_branch()
143
122
        except:
144
123
            return
145
 
        else:
146
 
            revb = RevisionBrowser(br, self)
147
 
            response = revb.run()
148
 
            if response != gtk.RESPONSE_NONE:
149
 
                revb.hide()
 
124
        revb = RevisionBrowser(br, self)
 
125
        response = revb.run()
 
126
        if response != gtk.RESPONSE_NONE:
 
127
            revb.hide()
 
128
    
 
129
            if response == gtk.RESPONSE_OK:
 
130
                if revb.selected_revno is not None:
 
131
                    self._entry_revision.set_text(revb.selected_revno)
150
132
        
151
 
                if response == gtk.RESPONSE_OK:
152
 
                    if revb.selected_revno is not None:
153
 
                        self._entry_revision.set_text(revb.selected_revno)
154
 
            
155
 
                revb.destroy()
 
133
            revb.destroy()
156
134
    
157
135
    @show_bzr_error
158
136
    def _on_branch_clicked(self, button):
159
137
        """ Branch button clicked handler. """
160
 
        location = self._combo.get_child().get_text()
 
138
        location = self._remote_branch.get_url()
161
139
        if location is '':
162
 
            error_dialog(_('Missing branch location'),
163
 
                         _('You must specify a branch location.'))
 
140
            error_dialog(_i18n('Missing branch location'),
 
141
                         _i18n('You must specify a branch location.'))
164
142
            return
165
143
        
166
144
        destination = self._filechooser.get_filename()
201
179
        finally:
202
180
            br_from.unlock()
203
181
                
204
 
        self._history.add_entry(location)
205
 
        info_dialog(_('Branching successful'),
206
 
                    _('%d revision(s) branched.') % revs)
 
182
        info_dialog(_i18n('Branching successful'),
 
183
                    _i18n('%d revision(s) branched.') % revs)
207
184
        
208
185
        self.response(gtk.RESPONSE_OK)
209
186
    
210
 
    def _on_combo_changed(self, widget, event):
 
187
    def _on_branch_changed(self, widget, event):
211
188
        """ We try to get the last revision if focus lost. """
212
189
        rev = self._get_last_revno()
213
190
        if rev is None:
214
 
            self._entry_revision.set_text(_('N/A'))
 
191
            self._entry_revision.set_text(_i18n('N/A'))
215
192
            self._button_revision.set_sensitive(False)
216
193
        else:
217
194
            self._entry_revision.set_text(str(rev))
218
195
            self._button_revision.set_sensitive(True)
219
196
            if self._entry_nick.get_text() == '':
220
 
                self._entry_nick.set_text(os.path.basename(self._combo.get_child().get_text().rstrip("/\\")))
 
197
                self._entry_nick.set_text(os.path.basename(self._remote_branch.get_url().rstrip("/\\")))