From 4e78882dc9146ee1a91dc15e38808d26ebf18bdf Mon Sep 17 00:00:00 2001 From: doubt72 Date: Tue, 19 Mar 2013 23:21:45 -0600 Subject: [PATCH] Added dialog for reviewing incorrect characters --- Sokudoku/Interface/DrillWindow.m | 30 ++++++++++++++++++++++-------- Sokudoku/Interface/GraphWindow.m | 4 +--- Sokudoku/Interface/MainWindow.m | 2 -- 3 files changed, 23 insertions(+), 13 deletions(-) diff --git a/Sokudoku/Interface/DrillWindow.m b/Sokudoku/Interface/DrillWindow.m index 0a13d34..8fcabe9 100644 --- a/Sokudoku/Interface/DrillWindow.m +++ b/Sokudoku/Interface/DrillWindow.m @@ -57,6 +57,16 @@ - (void)finish { [alert beginSheetModalForWindow:[self window] modalDelegate:self didEndSelector:@selector(sessionFinished:returnCode:contextInfo:) contextInfo:nil]; } +- (void)finishAnswer:(NSAlert *)alert returnCode:(NSInteger)returnCode contextInfo:(void *)contextInfo { + if (timeLeft < 0) { + [self finish]; + } else { + [testString setTextColor:[NSColor blackColor]]; + [answerField setStringValue:@""]; + [self nextQuestion]; + } +} + - (IBAction)answer:(id)sender { // Elapsed time is negative (time relative to "now") NSTimeInterval elapsed = [time timeIntervalSinceNow]; @@ -66,17 +76,21 @@ - (IBAction)answer:(id)sender { if ([package test:literals:answer:-elapsed]) { correctAnswers++; status = [NSString stringWithFormat:@"Answer %@ correct (in %.2f seconds)", - answer, -elapsed]; + answer, -elapsed]; + [statusField setStringValue:status]; + [self finishAnswer:nil returnCode:0 contextInfo:nil]; } else { incorrectAnswers++; status = [NSString stringWithFormat:@"Answer %@ incorrect", answer]; - } - [statusField setStringValue:status]; - if (timeLeft < 0) { - [self finish]; - } else { - [answerField setStringValue:@""]; - [self nextQuestion]; + [statusField setStringValue:status]; + [testString setTextColor:[NSColor redColor]]; + NSAlert *alert = [[NSAlert alloc] init]; + [alert addButtonWithTitle:@"Continue"]; + [alert setMessageText:@"Incorrect Answer"]; + [alert setInformativeText:[NSString stringWithFormat:@"Answer %@ incorrect", + answer]]; + [alert setAlertStyle:NSInformationalAlertStyle]; + [alert beginSheetModalForWindow:[self window] modalDelegate:self didEndSelector:@selector(finishAnswer:returnCode:contextInfo:) contextInfo:nil]; } } diff --git a/Sokudoku/Interface/GraphWindow.m b/Sokudoku/Interface/GraphWindow.m index 7df9da2..95001ea 100644 --- a/Sokudoku/Interface/GraphWindow.m +++ b/Sokudoku/Interface/GraphWindow.m @@ -38,7 +38,6 @@ - (IBAction)changeDataSet:(id)sender { } - (IBAction)changeGraphType:(id)sender { - NSLog(@"graphType: %ld", [graphType indexOfSelectedItem]); [graphView setGraphType:(int)[graphType indexOfSelectedItem]]; [parent setGraphType:(int)[graphType indexOfSelectedItem]]; [graphView setNeedsDisplay:YES]; @@ -47,8 +46,7 @@ - (IBAction)changeGraphType:(id)sender { - (IBAction)changeTimeFrame:(id)sender { // Day ranges (1 week, 1 month, 3 months, 6 months, 1 year, 2 years) int array[] = {7, 30, 90, 180, 365, 730}; - - NSLog(@"timeFrame: %ld", [timeFrame indexOfSelectedItem]); + [graphView setTimeFrame:array[[timeFrame indexOfSelectedItem]]]; [parent setGraphTime:(int)[timeFrame indexOfSelectedItem]]; [graphView setNeedsDisplay:YES]; diff --git a/Sokudoku/Interface/MainWindow.m b/Sokudoku/Interface/MainWindow.m index 88094a6..0f2eccd 100644 --- a/Sokudoku/Interface/MainWindow.m +++ b/Sokudoku/Interface/MainWindow.m @@ -42,7 +42,6 @@ @implementation MainWindow @synthesize characterOrder, graphTime, graphType; - (void)settingsFromSaveDict:(NSDictionary *)dict { - NSLog(@"dict: %@", dict); characterOrder = [[dict objectForKey:@"characterOrder"] boolValue]; graphTime = [[dict objectForKey:@"graphTime"] intValue]; graphType = [[dict objectForKey:@"graphType"] intValue]; @@ -66,7 +65,6 @@ - (NSDictionary *)saveDictFromSettings { forKey:@"sessionLength"]; [rc setObject:[NSNumber numberWithInt:(int)[weightHistory state]] forKey:@"weightHistory"]; - NSLog(@"rc: %@", rc); return [NSDictionary dictionaryWithDictionary:rc]; }