remove server if no longer visible
Change-Id: I75902afe3040304155d164fd0502a00869e4f9d7
This commit is contained in:
@@ -76,8 +76,9 @@
|
|||||||
- (void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didNotSearch:(NSDictionary *)errorDict
|
- (void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser didNotSearch:(NSDictionary *)errorDict
|
||||||
{
|
{
|
||||||
NSLog(@"search error");
|
NSLog(@"search error");
|
||||||
UITableViewCell * cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
|
// UITableViewCell * cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
|
||||||
[(UIActivityIndicatorView *)[cell viewWithTag:5] stopAnimating];
|
// [(UIActivityIndicatorView *)[cell viewWithTag:5] stopAnimating];
|
||||||
|
[self.serviceBrowser searchForServicesOfType:@"_impressRemote._tcp" inDomain:@"local"];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser
|
- (void)netServiceBrowser:(NSNetServiceBrowser *)aNetServiceBrowser
|
||||||
@@ -104,11 +105,34 @@
|
|||||||
didRemoveService:(NSNetService *)aNetService
|
didRemoveService:(NSNetService *)aNetService
|
||||||
moreComing:(BOOL)moreComing
|
moreComing:(BOOL)moreComing
|
||||||
{
|
{
|
||||||
|
NSLog(@"Did remove");
|
||||||
|
NSString * ipString;
|
||||||
|
|
||||||
|
if ([[aNetService addresses] count] > 0){
|
||||||
|
NSData * address = [[aNetService addresses] objectAtIndex: 0];
|
||||||
|
struct sockaddr_in *socketAddress = (struct sockaddr_in *) [address bytes];
|
||||||
|
ipString = [NSString stringWithFormat: @"%s",inet_ntoa(socketAddress->sin_addr)];
|
||||||
|
}
|
||||||
|
|
||||||
|
for (Server * s in self.comManager.autoDiscoveryServers) {
|
||||||
|
if (ipString){
|
||||||
|
if ([s.serverName isEqualToString:aNetService.name] && [s.serverAddress isEqualToString:ipString])
|
||||||
|
[self.comManager.autoDiscoveryServers removeObjectIdenticalTo:s];
|
||||||
|
} else {
|
||||||
|
if ([s.serverName isEqualToString:aNetService.name])
|
||||||
|
[self.comManager.autoDiscoveryServers removeObjectIdenticalTo:s];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// in case any residuous netServices still stay in the list
|
||||||
[self.comManager.autoDiscoveryServers removeObject:aNetService];
|
[self.comManager.autoDiscoveryServers removeObject:aNetService];
|
||||||
|
|
||||||
if(!moreComing)
|
if(!moreComing)
|
||||||
{
|
{
|
||||||
[self.tableView reloadData];
|
[self.tableView reloadData];
|
||||||
|
if ([self.comManager.autoDiscoveryServers count] == 0) {
|
||||||
|
UITableViewCell * cell = [self.tableView cellForRowAtIndexPath:[NSIndexPath indexPathForRow:0 inSection:0]];
|
||||||
|
[(UIActivityIndicatorView *)[cell viewWithTag:5] startAnimating];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -170,6 +194,8 @@
|
|||||||
- (void) viewWillDisappear:(BOOL)animated
|
- (void) viewWillDisappear:(BOOL)animated
|
||||||
{
|
{
|
||||||
[self disableSpinner];
|
[self disableSpinner];
|
||||||
|
[self.serviceBrowser stop];
|
||||||
|
[self.serviceBrowser removeFromRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
|
||||||
[super viewWillDisappear:animated];
|
[super viewWillDisappear:animated];
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -266,13 +292,13 @@
|
|||||||
|
|
||||||
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
|
- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
|
||||||
if ([self.comManager.servers count] == 0 && section == 1) {
|
if ([self.comManager.servers count] == 0 && section == 1) {
|
||||||
UILabel *sectionFooter = [[UILabel alloc] initWithFrame:CGRectMake(20, 10, tableView.frame.size.width - 50, 40)];
|
UILabel *sectionFooter = [[UILabel alloc] initWithFrame:CGRectMake(20, 10, tableView.frame.size.width - 50, 60)];
|
||||||
[sectionFooter setLineBreakMode:NSLineBreakByCharWrapping];
|
[sectionFooter setLineBreakMode:NSLineBreakByWordWrapping];
|
||||||
[sectionFooter setNumberOfLines:5];
|
[sectionFooter setNumberOfLines:5];
|
||||||
sectionFooter.backgroundColor = [UIColor clearColor];
|
sectionFooter.backgroundColor = [UIColor clearColor];
|
||||||
sectionFooter.font = [UIFont systemFontOfSize:14];
|
sectionFooter.font = [UIFont systemFontOfSize:14];
|
||||||
sectionFooter.textColor = [UIColor colorWithRed:0.22 green:0.33 blue:0.53 alpha:1.0];
|
sectionFooter.textColor = [UIColor colorWithRed:0.22 green:0.33 blue:0.53 alpha:1.0];
|
||||||
sectionFooter.text = @"Please manually add a computer with its IP address.";
|
sectionFooter.text = @"In case your computer does not appear in the section above, manually add a computer with its IP address.";
|
||||||
|
|
||||||
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, [self tableView:tableView heightForHeaderInSection:section])];
|
UIView *view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, [self tableView:tableView heightForHeaderInSection:section])];
|
||||||
[view addSubview:sectionFooter];
|
[view addSubview:sectionFooter];
|
||||||
@@ -331,7 +357,7 @@
|
|||||||
[cell.detailTextLabel setText:[s serverAddress]];
|
[cell.detailTextLabel setText:[s serverAddress]];
|
||||||
} else if ([s isKindOfClass:[NSNetService class]]){
|
} else if ([s isKindOfClass:[NSNetService class]]){
|
||||||
[cell.textLabel setText:[s name]];
|
[cell.textLabel setText:[s name]];
|
||||||
[cell.detailTextLabel setText:@"loading..."];
|
[cell.detailTextLabel setText:@"Resolving..."];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -176,7 +176,7 @@ PresenterController::PresenterController (
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// UpdateCurrentSlide(0);
|
UpdateCurrentSlide(0);
|
||||||
|
|
||||||
maInstances[mxController->getFrame()] = this;
|
maInstances[mxController->getFrame()] = this;
|
||||||
|
|
||||||
@@ -255,6 +255,7 @@ void PresenterController::disposing (void)
|
|||||||
|
|
||||||
void PresenterController::UpdateCurrentSlide (const sal_Int32 nOffset)
|
void PresenterController::UpdateCurrentSlide (const sal_Int32 nOffset)
|
||||||
{
|
{
|
||||||
|
std::cerr << "Updating current Slide to " << nOffset << std::endl;
|
||||||
GetSlides(nOffset);
|
GetSlides(nOffset);
|
||||||
UpdatePaneTitles();
|
UpdatePaneTitles();
|
||||||
UpdateViews();
|
UpdateViews();
|
||||||
@@ -774,7 +775,7 @@ void SAL_CALL PresenterController::notifyConfigurationChange (
|
|||||||
if (IsAccessibilityActive())
|
if (IsAccessibilityActive())
|
||||||
{
|
{
|
||||||
mpAccessibleObject->UpdateAccessibilityHierarchy();
|
mpAccessibleObject->UpdateAccessibilityHierarchy();
|
||||||
// UpdateCurrentSlide(0);
|
UpdateCurrentSlide(0);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1121,7 +1122,7 @@ void PresenterController::InitializeMainPane (const Reference<XPane>& rxPane)
|
|||||||
if (mxSlideShowController.is())
|
if (mxSlideShowController.is())
|
||||||
mxSlideShowController->activate();
|
mxSlideShowController->activate();
|
||||||
|
|
||||||
// UpdateCurrentSlide(0);
|
UpdateCurrentSlide(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
void PresenterController::LoadTheme (const Reference<XPane>& rxPane)
|
void PresenterController::LoadTheme (const Reference<XPane>& rxPane)
|
||||||
|
Reference in New Issue
Block a user