summaryrefslogtreecommitdiffstats
path: root/Sshuttle VPN.app/Contents/Resources/models.py
diff options
context:
space:
mode:
Diffstat (limited to 'Sshuttle VPN.app/Contents/Resources/models.py')
-rw-r--r--Sshuttle VPN.app/Contents/Resources/models.py26
1 files changed, 26 insertions, 0 deletions
diff --git a/Sshuttle VPN.app/Contents/Resources/models.py b/Sshuttle VPN.app/Contents/Resources/models.py
index 858975e..ad8e538 100644
--- a/Sshuttle VPN.app/Contents/Resources/models.py
+++ b/Sshuttle VPN.app/Contents/Resources/models.py
@@ -92,11 +92,28 @@ class SshuttleServer(NSObject):
if self.autoNets() == NET_MANUAL and not len(list(self.nets())):
return False
return True
+
+ def title(self):
+ host = self.host()
+ if not host:
+ return host
+ an = self.autoNets()
+ suffix = ""
+ if an == NET_ALL:
+ suffix = " (all traffic)"
+ elif an == NET_MANUAL:
+ n = self.nets()
+ suffix = ' (%d subnet%s)' % (len(n), len(n)!=1 and 's' or '')
+ return self.host() + suffix
+ def setTitle_(self, v):
+ # title is always auto-generated
+ config_changed()
def host(self):
return getattr(self, '_k_host', None)
def setHost_(self, v):
self._k_host = v
+ self.setTitle_(None)
config_changed()
@objc.accessor
def validateHost_error_(self, value, error):
@@ -109,6 +126,7 @@ class SshuttleServer(NSObject):
return getattr(self, '_k_nets', [])
def setNets_(self, v):
self._k_nets = v
+ self.setTitle_(None)
config_changed()
def netsHidden(self):
#print 'checking netsHidden'
@@ -122,6 +140,8 @@ class SshuttleServer(NSObject):
def setAutoNets_(self, v):
self._k_autoNets = v
self.setNetsHidden_(-1)
+ self.setUseDns_(v == NET_ALL)
+ self.setTitle_(None)
config_changed()
def autoHosts(self):
@@ -129,3 +149,9 @@ class SshuttleServer(NSObject):
def setAutoHosts_(self, v):
self._k_autoHosts = v
config_changed()
+
+ def useDns(self):
+ return getattr(self, '_k_useDns', False)
+ def setUseDns_(self, v):
+ self._k_useDns = v
+ config_changed()