From: Nathan Kinsinger <[email protected]>

---
 PBGitIndexController.m |   33 ++++++++++++++++++++++-----------
 1 files 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 @@ - (void) showInFinderAction:(id) sender
        [ws selectFile: path inFileViewerRootedAtPath:nil];
 }
 
-- (void)discardChangesForFiles:(NSArray *)files force:(BOOL)force
+- (void) discardChangesForFilesAlertDidEnd:(NSAlert *)alert 
returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo
 {
-       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;
+    [[alert window] orderOut:nil];
+
+       if (returnCode == NSAlertDefaultReturn) {
+        [commitController.index discardChangesForFiles:contextInfo];
        }
-       
-       [commitController.index discardChangesForFiles:files];
+}
+
+- (void) discardChangesForFiles:(NSArray *)files force:(BOOL)force
+{
+       if (!force) {
+               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
-- 
1.7.0

To unsubscribe from this group, send email to gitx+unsubscribegooglegroups.com 
or reply to this email with the words "REMOVE ME" as the subject.

Reply via email to