X-Git-Url: https://git.yukkurigames.com/?p=enjoyable.git;a=blobdiff_plain;f=Classes%2FNJMappingsViewController.m;h=854c1142a1ca4034d08197066bb87c114ac2c6c8;hp=fd9ce4175a4508fd92429a2a91ac197b205ee286;hb=4a8e67a7294e8e527e2be9d8f5f39aae60691697;hpb=b14d8429658dd6f3f7b4904301031addb502b22c diff --git a/Classes/NJMappingsViewController.m b/Classes/NJMappingsViewController.m index fd9ce41..854c114 100644 --- a/Classes/NJMappingsViewController.m +++ b/Classes/NJMappingsViewController.m @@ -36,9 +36,6 @@ [self.delegate mappingsViewController:self moveMappingFromIndex:fromIdx toIndex:toIdx]; - [self.mappingList beginUpdates]; - [self.mappingList moveRowAtIndex:fromIdx toIndex:toIdx]; - [self.mappingList endUpdates]; [self.mappingList scrollRowToVisible:toIdx]; [self.mappingList selectRowIndexes:[[NSIndexSet alloc] initWithIndex:toIdx] byExtendingSelection:NO]; @@ -50,9 +47,6 @@ [self.delegate mappingsViewController:self moveMappingFromIndex:fromIdx toIndex:toIdx]; - [self.mappingList beginUpdates]; - [self.mappingList moveRowAtIndex:fromIdx toIndex:toIdx]; - [self.mappingList endUpdates]; [self.mappingList scrollRowToVisible:toIdx]; [self.mappingList selectRowIndexes:[[NSIndexSet alloc] initWithIndex:toIdx] byExtendingSelection:NO]; @@ -73,12 +67,19 @@ self.mappingListTrigger.state = NSOffState; } +- (void)beginUpdates { + [self.mappingList beginUpdates]; +} + +- (void)endUpdates { + [self.mappingList endUpdates]; + [self changedActiveMappingToIndex:self.mappingList.selectedRow]; +} + - (void)addedMappingAtIndex:(NSInteger)index startEditing:(BOOL)startEditing { [self.mappingList abortEditing]; - [self.mappingList beginUpdates]; [self.mappingList insertRowsAtIndexes:[[NSIndexSet alloc] initWithIndex:index] withAnimation:startEditing ? 0 : NSTableViewAnimationSlideLeft]; - [self.mappingList endUpdates]; if (startEditing) { [self.mappingListTrigger performClick:self]; [self.mappingList editColumn:0 row:index withEvent:nil select:YES]; @@ -88,10 +89,8 @@ - (void)removedMappingAtIndex:(NSInteger)index { [self.mappingList abortEditing]; - [self.mappingList beginUpdates]; [self.mappingList removeRowsAtIndexes:[[NSIndexSet alloc] initWithIndex:index] withAnimation:NSTableViewAnimationEffectFade]; - [self.mappingList endUpdates]; } - (void)changedActiveMappingToIndex:(NSInteger)index { @@ -126,10 +125,9 @@ setObjectValue:(NSString *)obj forTableColumn:(NSTableColumn *)col row:(NSInteger)index { - NJMapping *mapping = [self.delegate mappingsViewController:self - mappingForIndex:index]; - mapping.name = obj; - [self.delegate mappingsViewController:self editedMappingAtIndex:index]; + [self.delegate mappingsViewController:self + renameMappingAtIndex:index + toName:obj]; } - (NSInteger)numberOfRowsInTableView:(NSTableView *)tableView { @@ -145,9 +143,6 @@ NSString *value = [pboard stringForType:PB_ROW]; NSInteger srcRow = [value intValue]; row -= srcRow < row; - [self.mappingList beginUpdates]; - [self.mappingList moveRowAtIndex:srcRow toIndex:row]; - [self.mappingList endUpdates]; [self.delegate mappingsViewController:self moveMappingFromIndex:srcRow toIndex:row];