diff --git a/PCLib/PCEditor.h b/PCLib/PCEditor.h index 8a46208..fe096a0 100644 --- a/PCLib/PCEditor.h +++ b/PCLib/PCEditor.h @@ -44,6 +44,7 @@ - (void)show; - (void)close; +- (BOOL)saveFileIfNeeded; - (BOOL)saveFile; - (BOOL)revertFile; diff --git a/PCLib/PCEditor.m b/PCLib/PCEditor.m index 67de486..95f77b6 100644 --- a/PCLib/PCEditor.m +++ b/PCLib/PCEditor.m @@ -243,6 +243,16 @@ NSString *PCEditorDidResignKeyNotification=@"PCEditorDidResignKeyNotification"; } } +- (BOOL)saveFileIfNeeded +{ + if( isEdited ) + { + return [self saveFile]; + } + + return YES; +} + - (BOOL)saveFile { [self setIsEdited:NO]; diff --git a/PCLib/PCEditorController.m b/PCLib/PCEditorController.m index afc0118..b68f318 100644 --- a/PCLib/PCEditorController.m +++ b/PCLib/PCEditorController.m @@ -176,7 +176,7 @@ { editor = [editorDict objectForKey:key]; - if( [editor saveFile] == NO ) + if( [editor saveFileIfNeeded] == NO ) { ret = NO; } @@ -200,7 +200,7 @@ if( [window isKeyWindow] && [window isMainWindow] || [project isEditorActive] && [[project projectWindow] isKeyWindow]) { - return [editor saveFile]; + return [editor saveFileIfNeeded]; } }