Changeset 3729

Show
Ignore:
Timestamp:
02/23/06 10:50:27 (2 years ago)
Author:
morris
Message:

Show Status tab on load


Add confirmation dialog to accounts delete

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • WiredServer/trunk/PreferencePane/English.lproj/Wired.nib/info.nib

    r3675 r3729  
    1212        </array> 
    1313        <key>IBSystem Version</key> 
    14         <string>8G32</string> 
     14        <string>8H14</string> 
    1515</dict> 
    1616</plist> 
  • WiredServer/trunk/WCAccountsController.m

    r3675 r3729  
    488488 
    489489- (IBAction)delete:(id)sender { 
     490        NSString                *name; 
     491 
     492        name = [[self _selectedAccount] name]; 
     493 
     494        NSBeginAlertSheet([NSSWF:NSLS(@"Are you sure you want to delete \"%@\"?", @"Delete account dialog title (account)"), name], 
     495                                          NSLS(@"Delete", @"Delete account dialog button title"), 
     496                                          NSLS(@"Cancel", @"Delete account dialog button title"), 
     497                                          NULL, 
     498                                          [_deleteButton window], 
     499                                          self, 
     500                                          @selector(deleteSheetDidEnd:returnCode:contextInfo:), 
     501                                          NULL, 
     502                                          NULL, 
     503                                          NSLS(@"This cannot be undone.", @"Delete account dialog description")); 
     504} 
     505 
     506 
     507 
     508- (void)deleteSheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo { 
    490509        NSEnumerator    *enumerator; 
    491510        WCAccount               *account, *user; 
    492          
    493         account = [self _selectedAccount]; 
    494          
    495         if([account type] == WCAccountGroup) { 
    496                 enumerator = [[_users accounts] objectEnumerator]; 
    497                  
    498                 while((user = [enumerator nextObject])) { 
    499                         if([[user group] isEqualToString:[account name]]) 
    500                                 [user setGroup:@""]; 
     511        int                             row; 
     512         
     513        if(returnCode == NSAlertDefaultReturn) { 
     514                account = [self _selectedAccount]; 
     515                 
     516                if([account type] == WCAccountGroup) { 
     517                        enumerator = [[_users accounts] objectEnumerator]; 
     518                         
     519                        while((user = [enumerator nextObject])) { 
     520                                if([[user group] isEqualToString:[account name]]) 
     521                                        [user setGroup:@""]; 
     522                        } 
    501523                } 
     524                 
     525                [account retain]; 
     526                [_accounts removeObject:account]; 
     527                [_users deleteAccount:account]; 
     528                [_groups deleteAccount:account]; 
     529                [account release]; 
     530                 
     531                _touched = YES; 
     532                 
     533                [_tableView reloadData]; 
     534                 
     535                row = row == 0 ? 0 : row - 1; 
     536                 
     537                if(row != [_tableView selectedRow]) 
     538                        [_tableView selectRow:row byExtendingSelection:NO]; 
     539                else 
     540                        [self _selectAccount:[self _selectedAccount]]; 
    502541        } 
    503          
    504         [account retain]; 
    505         [_accounts removeObject:account]; 
    506         [_users deleteAccount:account]; 
    507         [_groups deleteAccount:account]; 
    508         [account release]; 
    509          
    510         _touched = YES; 
    511          
    512         [_tableView selectRow:[_tableView selectedRow] == 0 ? 0 : [_tableView selectedRow] - 1 byExtendingSelection:NO]; 
    513         [_tableView reloadData]; 
    514542} 
    515543