/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: Jelmer Vernooij
  • Date: 2007-02-03 14:18:57 UTC
  • Revision ID: jelmer@samba.org-20070203141857-9xxd3uvju5oo1p8z
Move dialog to top-level directory.

Show diffs side-by-side

added added

removed removed

Lines of Context:
29
29
import bzrlib.errors as errors
30
30
from bzrlib import osutils
31
31
 
32
 
from dialog import error_dialog, question_dialog
 
32
from olive.dialog import error_dialog, question_dialog
33
33
from errors import show_bzr_error
34
34
 
35
 
try:
36
 
    import dbus
37
 
    import dbus.glib
38
 
    have_dbus = True
39
 
except ImportError:
40
 
    have_dbus = False
41
 
 
42
35
class CommitDialog(gtk.Dialog):
43
36
    """ New implementation of the Commit dialog. """
44
37
    def __init__(self, wt, wtpath, notbranch, selected=None, parent=None):
86
79
        
87
80
        # Create the widgets
88
81
        self._button_commit = gtk.Button(_("Comm_it"), use_underline=True)
 
82
        if self._is_checkout:
 
83
            self._check_local = gtk.CheckButton(_("_Only commit locally"),
 
84
                                                use_underline=True)
 
85
        self._check_strict = gtk.CheckButton(_("_Allow unknown files"),
 
86
                                             use_underline=True)
89
87
        self._expander_files = gtk.Expander(_("File(s) to commit"))
90
88
        self._vpaned_main = gtk.VPaned()
91
89
        self._scrolledwindow_files = gtk.ScrolledWindow()
113
111
        self._textview_message.modify_font(pango.FontDescription("Monospace"))
114
112
        self.set_default_size(500, 500)
115
113
        self._vpaned_main.set_position(200)
116
 
        self._button_commit.set_flags(gtk.CAN_DEFAULT)
117
114
 
118
115
        if self._is_pending:
119
116
            self._scrolledwindow_merges.set_policy(gtk.POLICY_AUTOMATIC,
143
140
        self._vpaned_main.add2(self._vbox_message)
144
141
        
145
142
        self.vbox.pack_start(self._vpaned_main, True, True)
146
 
        if self._is_checkout: 
147
 
            self._check_local = gtk.CheckButton(_("_Only commit locally"),
148
 
                                                use_underline=True)
 
143
        if self._is_checkout:
149
144
            self.vbox.pack_start(self._check_local, False, False)
150
 
            if have_dbus:
151
 
                bus = dbus.SystemBus()
152
 
                proxy_obj = bus.get_object('org.freedesktop.NetworkManager', 
153
 
                              '/org/freedesktop/NetworkManager')
154
 
                dbus_iface = dbus.Interface(
155
 
                        proxy_obj, 'org.freedesktop.NetworkManager')
156
 
                # 3 is the enum value for STATE_CONNECTED
157
 
                self._check_local.set_active(dbus_iface.state() != 3)
 
145
        self.vbox.pack_start(self._check_strict, False, False)
158
146
        
159
147
        # Create the file list
160
148
        self._create_file_view()
169
157
        
170
158
        # Display dialog
171
159
        self.vbox.show_all()
172
 
        
173
 
        # Default to Commit button
174
 
        self._button_commit.grab_default()
175
160
    
176
161
    def _on_treeview_files_row_activated(self, treeview, path, view_column):
177
162
        # FIXME: the diff window freezes for some reason
179
164
        (model, iter) = treeselection.get_selected()
180
165
        
181
166
        if iter is not None:
182
 
            from diff import DiffWindow
 
167
            from olive import DiffWindow
183
168
            
184
169
            _selected = model.get_value(iter, 1)
185
170
            
186
171
            diff = DiffWindow()
187
 
            diff.set_type_hint(gtk.gdk.WINDOW_TYPE_HINT_DIALOG)
188
 
            diff.set_modal(True)
189
172
            parent_tree = self.wt.branch.repository.revision_tree(self.wt.branch.last_revision())
190
173
            diff.set_diff(self.wt.branch.nick, self.wt, parent_tree)
191
174
            try:
218
201
            local = self._check_local.get_active()
219
202
        else:
220
203
            local = False
221
 
 
222
 
        if list(self.wt.unknowns()) != []:
223
 
            response = question_dialog(_("Commit with unknowns?"),
224
 
               _("Unknown files exist in the working tree. Commit anyway?"))
225
 
            if response == gtk.RESPONSE_NO:
226
 
                return
227
204
        
228
205
        try:
229
206
            self.wt.commit(message,
230
207
                       allow_pointless=False,
231
 
                       strict=False,
 
208
                       strict=self._check_strict.get_active(),
232
209
                       local=local,
233
210
                       specific_files=specific_files)
234
211
        except errors.PointlessCommit:
237
214
            if response == gtk.RESPONSE_YES:
238
215
                self.wt.commit(message,
239
216
                               allow_pointless=True,
240
 
                               strict=False,
 
217
                               strict=self._check_strict.get_active(),
241
218
                               local=local,
242
219
                               specific_files=specific_files)
243
220
        self.response(gtk.RESPONSE_OK)