From cfcbec788a7bc879fffa88370934a0f39ff69e18 Mon Sep 17 00:00:00 2001 From: Nathan Kinsinger Date: Fri, 19 Feb 2010 22:53:38 -0700 Subject: [PATCH] Switch "Discard changes" panel to a window modal sheet --- PBGitIndexController.m | 33 ++++++++++++++++++++++----------- 1 file changed, 22 insertions(+), 11 deletions(-) diff --git a/PBGitIndexController.m b/PBGitIndexController.m index 5d2a949..d72e8bc 100644 --- a/PBGitIndexController.m +++ b/PBGitIndexController.m @@ -196,19 +196,30 @@ [ws selectFile: path inFileViewerRootedAtPath:nil]; } -- (void)discardChangesForFiles:(NSArray *)files force:(BOOL)force +- (void) discardChangesForFilesAlertDidEnd:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo +{ + [[alert window] orderOut:nil]; + + if (returnCode == NSAlertDefaultReturn) { + [commitController.index discardChangesForFiles:contextInfo]; + } +} + +- (void) discardChangesForFiles:(NSArray *)files force:(BOOL)force { if (!force) { - int ret = [[NSAlert alertWithMessageText:@"Discard changes" - defaultButton:nil - alternateButton:@"Cancel" - otherButton:nil - informativeTextWithFormat:@"Are you sure you wish to discard the changes to this file?\n\nYou cannot undo this operation."] runModal]; - if (ret != NSAlertDefaultReturn) - return; - } - - [commitController.index discardChangesForFiles:files]; + NSAlert *alert = [NSAlert alertWithMessageText:@"Discard changes" + defaultButton:nil + alternateButton:@"Cancel" + otherButton:nil + informativeTextWithFormat:@"Are you sure you wish to discard the changes to this file?\n\nYou cannot undo this operation."]; + [alert beginSheetModalForWindow:[[commitController view] window] + modalDelegate:self + didEndSelector:@selector(discardChangesForFilesAlertDidEnd:returnCode:contextInfo:) + contextInfo:files]; + } else { + [commitController.index discardChangesForFiles:files]; + } } # pragma mark TableView icon delegate