Revision 54fd5c36 Classes/FolderDetailViewController.m
b/Classes/FolderDetailViewController.m | ||
---|---|---|
39 | 39 |
#import "EditMetadataViewController.h" |
40 | 40 |
#import "EditPermissionsViewController.h" |
41 | 41 |
#import "StorageObject.h" |
42 |
#import "APICallback.h" |
|
43 |
#import "AccountManager.h" |
|
44 |
#import "UIViewController+Conveniences.h" |
|
42 | 45 |
|
43 | 46 |
#define kOverview 0 |
44 | 47 |
#define kMetadata 1 |
... | ... | |
123 | 126 |
- (void)viewDidAppear:(BOOL)animated |
124 | 127 |
{ |
125 | 128 |
[super viewDidAppear:animated]; |
129 |
if (folder.metadata == nil) { |
|
130 |
[self reloadMetadataSection]; |
|
131 |
} |
|
126 | 132 |
} |
127 | 133 |
|
128 | 134 |
- (void)viewWillDisappear:(BOOL)animated |
... | ... | |
159 | 165 |
} |
160 | 166 |
else if (section == kMetadata) |
161 | 167 |
if (folderIsReadOnly) |
162 |
return [object.metadata count];
|
|
168 |
return [folder.metadata count];
|
|
163 | 169 |
else |
164 |
return 1 + [object.metadata count];
|
|
170 |
return 1 + [folder.metadata count];
|
|
165 | 171 |
return 0; |
166 | 172 |
} |
167 | 173 |
|
... | ... | |
362 | 368 |
} |
363 | 369 |
} |
364 | 370 |
|
371 |
#pragma mark - |
|
372 |
#pragma mark Helper functions |
|
373 |
|
|
374 |
- (void)reloadMetadataSection { |
|
375 |
NSString *activityMessage = @"Loading metadata..."; |
|
376 |
ActivityIndicatorView *activityIndicatorView = [[ActivityIndicatorView alloc] initWithFrame:[ActivityIndicatorView frameForText:activityMessage] text:activityMessage]; |
|
377 |
[activityIndicatorView addToView:self.view]; |
|
378 |
[[self.account.manager getObjectInfo:container object:object version:nil] |
|
379 |
success:^(OpenStackRequest *request) { |
|
380 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
381 |
folder.metadata = [NSMutableDictionary dictionary]; |
|
382 |
for (NSString *header in request.responseHeaders) { |
|
383 |
NSString *metadataKey; |
|
384 |
NSString *metadataValue; |
|
385 |
if ([header rangeOfString:@"X-Object-Meta-"].location != NSNotFound) { |
|
386 |
metadataKey = [header substringFromIndex:14]; |
|
387 |
metadataValue = [request.responseHeaders objectForKey:header]; |
|
388 |
[folder.metadata setObject:metadataValue forKey:metadataKey]; |
|
389 |
} |
|
390 |
} |
|
391 |
object.metadata = folder.metadata; |
|
392 |
NSIndexSet *metadataSections = [NSIndexSet indexSetWithIndex:kMetadata]; |
|
393 |
[self.tableView reloadSections:metadataSections withRowAnimation:UITableViewRowAnimationFade]; |
|
394 |
} |
|
395 |
failure:^(OpenStackRequest *request) { |
|
396 |
[activityIndicatorView removeFromSuperviewAndRelease]; |
|
397 |
[self alert:@"There was a problem retrieving the object's metadata." request:request]; |
|
398 |
}]; |
|
399 |
} |
|
400 |
|
|
365 | 401 |
@end |
Also available in: Unified diff