/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 16:53:23 UTC
  • Revision ID: jelmer@samba.org-20070203165323-d4tv4qp9gb35um11
If available, use NetworkManager to find out whether a commit should be local or not.

Show diffs side-by-side

added added

removed removed

Lines of Context:
32
32
from 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
    bus = dbus.SystemBus()
 
39
    proxy_obj = bus.get_object('org.freedesktop.NetworkManager', 
 
40
                              '/org/freedesktop/NetworkManager')
 
41
    dbus_iface = dbus.Interface(proxy_obj, 'org.freedesktop.NetworkManager')
 
42
    have_nm = True
 
43
except ImportError:
 
44
    have_nm = False
 
45
 
35
46
class CommitDialog(gtk.Dialog):
36
47
    """ New implementation of the Commit dialog. """
37
48
    def __init__(self, wt, wtpath, notbranch, selected=None, parent=None):
79
90
        
80
91
        # Create the widgets
81
92
        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
93
        self._check_strict = gtk.CheckButton(_("_Allow unknown files"),
86
94
                                             use_underline=True)
87
95
        self._expander_files = gtk.Expander(_("File(s) to commit"))
140
148
        self._vpaned_main.add2(self._vbox_message)
141
149
        
142
150
        self.vbox.pack_start(self._vpaned_main, True, True)
143
 
        if self._is_checkout:
 
151
        if self._is_checkout and not have_nm:
 
152
            self._check_local = gtk.CheckButton(_("_Only commit locally"),
 
153
                                                use_underline=True)
144
154
            self.vbox.pack_start(self._check_local, False, False)
145
155
        self.vbox.pack_start(self._check_strict, False, False)
146
156
        
198
208
                return
199
209
 
200
210
        if self._is_checkout:
201
 
            local = self._check_local.get_active()
 
211
            if have_nm:
 
212
                local = (dbus_iface.state() != 3)
 
213
            else:
 
214
                local = self._check_local.get_active()
202
215
        else:
203
216
            local = False
204
217