diff --git a/Sources/Network/Server Browsing/View Controllers/VLCNetworkListViewController.h b/Sources/Network/Server Browsing/View Controllers/VLCNetworkListViewController.h index 24b5d04b55f55acfe5386e2581e7c02dd2531e89..157e2247ac62bd623ce800c6c244592956802063 100644 --- a/Sources/Network/Server Browsing/View Controllers/VLCNetworkListViewController.h +++ b/Sources/Network/Server Browsing/View Controllers/VLCNetworkListViewController.h @@ -25,4 +25,7 @@ extern NSString *VLCNetworkListCellIdentifier; - (IBAction)playAllAction:(id)sender; - (void)tableView:(UITableView *)tableView willDisplayCell:(VLCNetworkListCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath; +- (void)addPlayAllAction; +- (void)removePlayAllAction; + @end diff --git a/Sources/Network/Server Browsing/View Controllers/VLCNetworkListViewController.m b/Sources/Network/Server Browsing/View Controllers/VLCNetworkListViewController.m index 05cac4497a5475811f6120fa73c20a6d7017cbd8..bfa9b2ef170ac7e487327e0d1007d63b145cb62d 100644 --- a/Sources/Network/Server Browsing/View Controllers/VLCNetworkListViewController.m +++ b/Sources/Network/Server Browsing/View Controllers/VLCNetworkListViewController.m @@ -91,7 +91,7 @@ NSString *VLCNetworkListCellIdentifier = @"VLCNetworkListCellIdentifier"; } self.definesPresentationContext = YES; - self.navigationItem.rightBarButtonItems = @[[UIBarButtonItem themedPlayAllButtonWithTarget:self andSelector:@selector(playAllAction:)]]; + [self addPlayAllAction]; _searchData = [[NSMutableArray alloc] init]; [_searchData removeAllObjects]; @@ -138,6 +138,16 @@ NSString *VLCNetworkListCellIdentifier = @"VLCNetworkListCellIdentifier"; [_activityIndicator stopAnimating]; } +- (void)addPlayAllAction +{ + self.navigationItem.rightBarButtonItems = @[[UIBarButtonItem themedPlayAllButtonWithTarget:self andSelector:@selector(playAllAction:)]]; +} + +- (void)removePlayAllAction +{ + self.navigationItem.rightBarButtonItems = @[]; +} + #pragma mark - Table view data source - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView diff --git a/Sources/Network/Server Browsing/View Controllers/VLCNetworkServerBrowserViewController.m b/Sources/Network/Server Browsing/View Controllers/VLCNetworkServerBrowserViewController.m index 101eb20f9cb8da5ab9502b5bc3b94f1f80960bf5..808655392b2aba332f052114b4861bf4569a2218 100644 --- a/Sources/Network/Server Browsing/View Controllers/VLCNetworkServerBrowserViewController.m +++ b/Sources/Network/Server Browsing/View Controllers/VLCNetworkServerBrowserViewController.m @@ -97,6 +97,7 @@ if (_serverBrowser.items.count == 0 && [(VLCNetworkServerBrowserVLCMedia *)_serverBrowser retrieveParsedStatus] == VLCMediaParsedStatusDone) { [self stopActivityIndicator]; + [self removePlayAllAction]; } } @@ -126,6 +127,7 @@ - (void)networkServerBrowserEndParsing:(id<VLCNetworkServerBrowser>)networkBrowser { [self stopActivityIndicator]; + [self removePlayAllActionIfNeeded]; } - (void)networkServerBrowser:(id<VLCNetworkServerBrowser>)networkBrowser requestDidFailWithError:(NSError *)error @@ -153,11 +155,18 @@ [[VLCActivityManager defaultManager] networkActivityStarted]; } --(void)handleRefresh +- (void)handleRefresh { [self update]; } +- (void)removePlayAllActionIfNeeded +{ + if ([_serverBrowser.items count] == 0) { + [self removePlayAllAction]; + } +} + #pragma mark - server browser item specifics - (void)didSelectItem:(id<VLCNetworkServerBrowserItem>)item index:(NSUInteger)index singlePlayback:(BOOL)singlePlayback