diff options
Diffstat (limited to 'macui')
-rw-r--r-- | macui/ZeroTier One/ShowNetworksViewController.m | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/macui/ZeroTier One/ShowNetworksViewController.m b/macui/ZeroTier One/ShowNetworksViewController.m index 8ca32ed0..903a4b44 100644 --- a/macui/ZeroTier One/ShowNetworksViewController.m +++ b/macui/ZeroTier One/ShowNetworksViewController.m @@ -58,8 +58,36 @@ BOOL hasNetworkWithID(NSArray<Network*> *list, UInt64 nwid) self.visible = NO; } +- (NSInteger)findNetworkWithID:(UInt64)networkId +{ + for(int i = 0; i < [_networkList count]; ++i) { + Network *nw = [_networkList objectAtIndex:i]; + + if(nw.nwid == networkId) { + return i; + } + } + + return NSNotFound; +} + + - (void)deleteNetworkFromList:(NSString *)nwid { [self.netMonitor deleteSavedNetwork:nwid]; + + UInt64 netid = 0; + NSScanner *scanner = [NSScanner scannerWithString:nwid]; + [scanner scanHexLongLong:&netid]; + for (Network *n in _networkList) { + if (n.nwid == netid) { + NSInteger index = [self findNetworkWithID:netid]; + + if (index != NSNotFound) { + [_networkList removeObjectAtIndex:index]; + [_tableView reloadData]; + } + } + } } - (void)setNetworks:(NSArray<Network *> *)list { |