From 91c11358f116453f9799c4879eab619f15cec865 Mon Sep 17 00:00:00 2001 From: Pieter de Bie Date: Tue, 28 Apr 2009 16:38:54 +0100 Subject: [PATCH] IndexController: Add methods to stop tracking the Index This is useful when changing large portions of the index at once, as refreshing the tables in those cases can become a large burden. --- PBGitIndexController.m | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/PBGitIndexController.m b/PBGitIndexController.m index a89d70f..6b36925 100644 --- a/PBGitIndexController.m +++ b/PBGitIndexController.m @@ -12,6 +12,11 @@ #define FileChangesTableViewType @"GitFileChangedType" +@interface PBGitIndexController (PrivateMethods) +- (void)stopTrackingIndex; +- (void)resumeTrackingIndex; +@end + @implementation PBGitIndexController @synthesize contextSize; @@ -386,4 +391,17 @@ writeRowsWithIndexes:(NSIndexSet *)rowIndexes return NO; } +#pragma mark Private Methods +- (void)stopTrackingIndex +{ + [stagedFilesController setAutomaticallyRearrangesObjects:NO]; + [unstagedFilesController setAutomaticallyRearrangesObjects:NO]; +} +- (void)resumeTrackingIndex +{ + [stagedFilesController setAutomaticallyRearrangesObjects:YES]; + [unstagedFilesController setAutomaticallyRearrangesObjects:YES]; + [stagedFilesController rearrangeObjects]; + [unstagedFilesController rearrangeObjects]; +} @end