- Timestamp:
- 06/30/08 11:57:38 (6 months ago)
- Files:
-
- 1 modified
-
trunk/Settings/MFSettingsController.m (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Settings/MFSettingsController.m
r72 r73 296 296 { 297 297 MFClientFS* clickedFS = [filesystemTableView clickedFilesystem]; 298 NSArray* selectedFilesystems = [[filesystemArrayController arrangedObjects] objectsAtIndexes: 299 [filesystemTableView selectedRowIndexes]]; 298 300 if (clickedFS) 299 301 { 300 return [NSArray arrayWithObject: clickedFS]; 302 if ([selectedFilesystems containsObject: clickedFS]) 303 return selectedFilesystems; 304 else 305 return [NSArray arrayWithObject: clickedFS]; 301 306 } 302 307 else … … 330 335 } 331 336 332 - (void)deleteFilesystem:(MFClientFS*)fs 333 { 334 if ([fs isUnmounted] || [fs isFailedToMount]) 335 { 336 NSString* messageText = [NSString stringWithFormat: @"Are you sure you want to delete the filesystem %@?", fs.name]; 337 338 - (void)deleteFilesystems:(NSArray*)filesystems 339 { 340 NSMutableArray* filesystemsToDelete = [filesystems mutableCopy]; 341 for(MFClientFS* fs in filesystems) 342 { 343 if( ! ([fs isUnmounted] || [fs isFailedToMount]) ) 344 { 345 [filesystemsToDelete removeObject: fs]; 346 MFLogS(self, @"Can't delete filesystem %@", fs); 347 } 348 } 349 350 if ([filesystemsToDelete count] > 0) 351 { 352 NSString* fsWord = [filesystemsToDelete count] == 1 ? @"filesystem" : @"filesystems"; 353 NSString* messageText = [NSString stringWithFormat: @"Are you sure you want to delete the %@ %@?", fsWord, 354 [[filesystemsToDelete valueForKey: kMFFSNameParameter] componentsJoinedByString: @", "]]; 337 355 NSAlert* deleteConfirmation = [NSAlert new]; 338 356 [deleteConfirmation setMessageText: messageText]; … … 344 362 modalDelegate:self 345 363 didEndSelector:@selector(deleteConfirmationAlertDidEnd:returnCode:contextInfo:) 346 contextInfo:f s];347 } 348 else 349 { 350 MFLogSO(self, fs, @"Can't delete FS %@", fs); 351 } 352 } 353 354 364 contextInfo:filesystemsToDelete]; 365 } 366 } 367 368 - (void)deleteFilesystem:(MFClientFS*)fs 369 { 370 [self deleteFilesystems: [NSArray arrayWithObject: fs]]; 371 } 372 355 373 356 374 # pragma mark Selected Action Methods … … 412 430 - (IBAction)deleteSelectedFS:(id)sender 413 431 { 414 for(MFClientFS* fs in [self selectedFilesystems])415 [self deleteFilesystem: fs];432 NSLog(@"DSFS %@", [self selectedFilesystems]); 433 [self deleteFilesystems: [self selectedFilesystems]]; 416 434 } 417 435 … … 419 437 - (void)deleteConfirmationAlertDidEnd:(NSAlert*)alert returnCode:(NSInteger)code contextInfo:(void*)context 420 438 { 421 MFClientFS* fs = (MFClientFS*)context;439 NSArray* filesystemsToDelete = (NSArray*)context; 422 440 if (code == NSAlertSecondButtonReturn) 423 441 { … … 426 444 else if (code == NSAlertFirstButtonReturn) 427 445 { 428 [client deleteFilesystem: fs]; 446 for(MFClientFS* fs in filesystemsToDelete) 447 [client deleteFilesystem: fs]; 429 448 } 430 449 }
