Revision 54fd5c36 Classes/FolderViewController.m

b/Classes/FolderViewController.m
31 31

  
32 32
@implementation FolderViewController
33 33

  
34
@synthesize account, container, folder, containersViewController, selectedContainerIndexPath, contentsLoaded, parentFolderViewController, selectedFolderIndexPath, tableView, needsRefreshing, folderHasBeenRemoved, refreshWhenAppeared;
34
@synthesize account, container, folder, containersViewController, selectedContainerIndexPath, contentsLoaded, parentFolderViewController, selectedFolderIndexPath, tableView, needsRefreshing, folderHasBeenRemoved, refreshWhenAppeared, folderDetailVC, selectedObjectViewController;
35 35

  
36 36
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation {
37 37
    return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) || (toInterfaceOrientation == UIInterfaceOrientationPortrait);
......
55 55
    } else {
56 56
        self.navigationItem.title = self.container.name;
57 57
    }
58

  
58
    self.selectedObjectViewController = nil;
59 59
}
60 60

  
61 61
- (void)viewDidAppear:(BOOL)animated {
......
102 102
        vc.rootFolderViewController = self;
103 103
        vc.selectedContainerIndexPath = self.selectedContainerIndexPath;
104 104
        [self presentPrimaryViewController:vc];
105
        self.containersViewController.containerDetailViewController = vc;
105 106
        [vc release];
106 107
    }
107 108
    else {
......
111 112
        folderDetailViewController.folder = self.folder;
112 113
        folderDetailViewController.folderViewController = self.parentFolderViewController;
113 114
        [self presentPrimaryViewController:folderDetailViewController];
115
        self.parentFolderViewController.folderDetailVC = folderDetailViewController;
114 116
        [folderDetailViewController release];
115 117
    }
116 118
}
......
286 288
                folderDetailViewController.folder = folderForDetailView;
287 289
                folderDetailViewController.folderViewController = vc;
288 290
                [self presentPrimaryViewController:folderDetailViewController];
291
                self.folderDetailVC = folderDetailViewController;
289 292
                [folderDetailViewController release];
290 293
            }
291 294
            [vc release];
......
299 302
            vc.selectedIndexPath = indexPath;
300 303
            if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
301 304
                [self.navigationController presentPrimaryViewController:vc];
305
                self.selectedObjectViewController = vc;
302 306
                OpenStackAppDelegate *app = [[UIApplication sharedApplication] delegate];
303 307
                if (app.rootViewController.popoverController != nil) {
304 308
                    [app.rootViewController.popoverController dismissPopoverAnimated:YES];
......
346 350
                           [self.containersViewController refreshButtonPressed:nil];
347 351
                           [self reloadFolderViewControllers];
348 352
                           needsRefreshing = NO;
353
                           if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
354
                               if (self.selectedObjectViewController) {
355
                                   [self.selectedObjectViewController reloadMetadataSection];
356
                               } else {
357
                                   if ([self.folder isEqual:container.rootFolder]) {
358
                                       [containersViewController.containerDetailViewController reloadMetadataSection];
359
                                   } else {
360
                                       [parentFolderViewController.folderDetailVC reloadMetadataSection];
361
                                   }
362
                               }
363
                           }
349 364
                           [[NSNotificationCenter defaultCenter] removeObserver:successObserver];
350 365
                       }];
351 366
    

Also available in: Unified diff