Revision 45f2fce6 Classes/FolderViewController.m

b/Classes/FolderViewController.m
23 23
#import "FolderDetailViewController.h"
24 24
#import "AccountHomeViewController.h"
25 25
#import "PithosImageViewController.h"
26
#import "OpenStackRequest.h"
27
#import "JSON.h"
26 28

  
27 29

  
28 30
@implementation FolderViewController
......
65 67
        if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
66 68
            [self setDetailViewController];
67 69
        if (needsRefreshing) {
68
            [self refreshButtonPressed:nil];
70
                [self refreshButtonPressed:nil];
69 71
        }
70 72
    }
71 73
}
......
82 84
    if ([self.folder isEqual:self.container.rootFolder]) {
83 85
        ContainerDetailViewController *vc = [[ContainerDetailViewController alloc] initWithNibName:@"ContainerDetailViewController" bundle:nil];
84 86
        vc.account = self.account;
85
        vc.container = container;
87
        vc.container = self.container;
86 88
        vc.containersViewController = self.containersViewController;
87 89
        vc.rootFolderViewController = self;
88 90
        vc.selectedContainerIndexPath = self.selectedContainerIndexPath;
89 91
        [self presentPrimaryViewController:vc];
90 92
        [vc release];
91
    } else {
93
    }
94
    else {
92 95
        FolderDetailViewController *folderDetailViewController = [[FolderDetailViewController alloc] initWithNibName:@"FolderDetailViewController" bundle:nil];
93 96
        folderDetailViewController.account = account;
94 97
        folderDetailViewController.container = container;
95 98
        folderDetailViewController.folder = self.folder;
96
        folderDetailViewController.folderViewController = self;
99
        folderDetailViewController.folderViewController = self.parentFolderViewController;
97 100
        [self presentPrimaryViewController:folderDetailViewController];
98 101
        [folderDetailViewController release];
99 102
    }
......
130 133
    }
131 134
}
132 135

  
136

  
137

  
133 138
#pragma mark -
134 139
#pragma mark Table view data source
135 140

  
......
154 159
    }
155 160
}
156 161

  
162

  
157 163
// Customize the appearance of table view cells.
164

  
158 165
- (UITableViewCell *)tableView:(UITableView *)aTableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
159 166
    if ([folder.objects count] + [folder.folders count] == 0) {
160 167
        NSString *noFoldersTitle = (self.account.shared || self.account.sharingAccount) ?
161 168
        @"No shared Files or Folders" : @"No Files or Folders";
162
        NSString *noFoldersSubtitle = (self.account.shared || self.account.sharingAccount) ?
169
        NSString *noFoldersSubtitle = (self.account.shared || self.account.sharingAccount || [self.folder.name hasSuffix:@"/"]) ?
163 170
        @"" : @"Tap the + button to create a new Folder";
164 171
        NSString *deleteFolderButtonTitle = (self.account.shared || self.account.sharingAccount) ?
165 172
        nil : @"Delete Folder";
166 173
        SEL deleteButtonSelector = (self.account.shared || self.account.sharingAccount) ? nil : @selector(deleteButtonPressed:);
167
        self.navigationItem.rightBarButtonItem.enabled = !self.account.shared;
168

  
174
        self.navigationItem.rightBarButtonItem.enabled = (self.account.shared || [self.folder.name hasSuffix:@"/"]) ? NO : YES;
175
        
169 176
        if ([self.container.rootFolder isEqual:self.folder]) {
170 177
            return [self tableView:aTableView
171 178
                emptyCellWithImage:[UIImage imageNamed:@"empty-files.png"]
......
319 326
    [activityIndicatorView addToView:self.view];
320 327
    
321 328
    [self.account.manager getObjects:self.container];
322
    
323 329
    successObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"getObjectsSucceeded" object:self.container
324 330
                                                                         queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification* notification) 
325 331
                       {   
326 332
                           contentsLoaded = YES;
327 333
                           [self reloadFolderViewControllers];
328 334
                           needsRefreshing = NO;
329
                           [[NSNotificationCenter defaultCenter] removeObserver:successObserver];
330 335
                           [activityIndicatorView removeFromSuperviewAndRelease];
336
                           [[NSNotificationCenter defaultCenter] removeObserver:successObserver];
331 337
                       }];
332 338
    
333 339
    failureObserver = [[NSNotificationCenter defaultCenter] addObserverForName:@"getObjectsFailed" object:self.container
334 340
                                                                         queue:[NSOperationQueue mainQueue] usingBlock:^(NSNotification* notification) 
335 341
                       {
336 342
                           needsRefreshing = NO;
337
                           [self.tableView reloadData];                           
338
                           [[NSNotificationCenter defaultCenter] removeObserver:failureObserver];
343
                           [self.tableView reloadData]; 
339 344
                           [activityIndicatorView removeFromSuperviewAndRelease];
345
                           [self alert:@"Error" message:@"Failed to retrieve files from server"];
346
                           [[NSNotificationCenter defaultCenter] removeObserver:failureObserver];
340 347
                       }];
341 348
    
342 349
    

Also available in: Unified diff