Revision 3a8071d4 Classes/ContainerDetailViewController.m
b/Classes/ContainerDetailViewController.m | ||
---|---|---|
22 | 22 |
#import "FolderViewController.h" |
23 | 23 |
#import "OpenStackRequest.h" |
24 | 24 |
#import "APICallback.h" |
25 |
#import "NSString+Conveniences.h" |
|
25 | 26 |
|
26 | 27 |
#define kOverview 0 |
27 | 28 |
#define kMetadata 1 |
... | ... | |
120 | 121 |
[self.tableView reloadData]; |
121 | 122 |
} |
122 | 123 |
|
124 |
- (void)viewDidAppear:(BOOL)animated { |
|
125 |
[super viewDidAppear:animated]; |
|
126 |
if (self.container && !container.metadata && (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone)) |
|
127 |
[self reloadMetadataSection]; |
|
128 |
} |
|
129 |
|
|
123 | 130 |
- (void)viewWillDisappear:(BOOL)animated { |
124 | 131 |
[super viewWillDisappear:animated]; |
125 | 132 |
} |
... | ... | |
623 | 630 |
if (buttonIndex == 0) { |
624 | 631 |
|
625 | 632 |
NSString *activityMessage = @"Deleting container..."; |
633 |
[activityIndicatorView release]; |
|
626 | 634 |
activityIndicatorView = [[ActivityIndicatorView alloc] initWithFrame:[ActivityIndicatorView frameForText:activityMessage] text:activityMessage]; |
627 | 635 |
[activityIndicatorView addToView:self.view scrollOffset:self.tableView.contentOffset.y]; |
628 | 636 |
|
629 | 637 |
[[self.account.manager deleteContainer:self.container] success:^(OpenStackRequest *request) { |
630 | 638 |
|
631 |
[activityIndicatorView removeFromSuperviewAndRelease];
|
|
639 |
[activityIndicatorView removeFromSuperview]; |
|
632 | 640 |
[self.account.containers removeObjectForKey:self.container.name]; |
633 | 641 |
[self.account persist]; |
634 | 642 |
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) |
... | ... | |
647 | 655 |
[self.account persist]; |
648 | 656 |
|
649 | 657 |
} else { |
650 |
[activityIndicatorView removeFromSuperviewAndRelease];
|
|
658 |
[activityIndicatorView removeFromSuperview]; |
|
651 | 659 |
[self alert:@"There was a problem deleting this container." request:request]; |
652 | 660 |
} |
653 | 661 |
}]; |
... | ... | |
671 | 679 |
[containersViewController release]; |
672 | 680 |
[selectedContainerIndexPath release]; |
673 | 681 |
[rootFolderViewController release]; |
682 |
[activityIndicatorView release]; |
|
674 | 683 |
[super dealloc]; |
675 | 684 |
} |
676 | 685 |
|
... | ... | |
679 | 688 |
|
680 | 689 |
- (void)reloadMetadataSection { |
681 | 690 |
NSString *activityMessage = @"Loading metadata..."; |
691 |
[activityIndicatorView release]; |
|
682 | 692 |
activityIndicatorView = [[ActivityIndicatorView alloc] initWithFrame:[ActivityIndicatorView frameForText:activityMessage] text:activityMessage]; |
683 | 693 |
[activityIndicatorView addToView:self.view scrollOffset:self.tableView.contentOffset.y]; |
684 | 694 |
[[self.account.manager getContainerInfo:container] |
685 | 695 |
success:^(OpenStackRequest *request) { |
686 |
[activityIndicatorView removeFromSuperviewAndRelease];
|
|
696 |
[activityIndicatorView removeFromSuperview]; |
|
687 | 697 |
container.metadata = [NSMutableDictionary dictionary]; |
688 | 698 |
for (NSString *header in request.responseHeaders) { |
689 | 699 |
NSString *metadataKey; |
690 | 700 |
NSString *metadataValue; |
691 | 701 |
if ([header rangeOfString:@"X-Container-Meta-"].location != NSNotFound) { |
692 |
metadataKey = [header substringFromIndex:17];
|
|
693 |
metadataValue = [request.responseHeaders objectForKey:header];
|
|
702 |
metadataKey = [NSString decodeFromPercentEscape:[header substringFromIndex:17]];
|
|
703 |
metadataValue = [NSString decodeFromPercentEscape:[request.responseHeaders objectForKey:header]];
|
|
694 | 704 |
[container.metadata setObject:metadataValue forKey:metadataKey]; |
695 | 705 |
} |
696 | 706 |
} |
... | ... | |
698 | 708 |
[self.tableView reloadSections:metadataSections withRowAnimation:UITableViewRowAnimationFade]; |
699 | 709 |
} |
700 | 710 |
failure:^(OpenStackRequest *request) { |
701 |
[activityIndicatorView removeFromSuperviewAndRelease];
|
|
711 |
[activityIndicatorView removeFromSuperview]; |
|
702 | 712 |
[self alert:@"There was a problem retrieving the container's metadata." request:request]; |
703 | 713 |
}]; |
704 | 714 |
} |
Also available in: Unified diff