Changes to help with the transition from version 0 to version 1 gorm files.

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/apps/gorm/trunk@19659 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Gregory John Casamento 2004-07-01 00:53:42 +00:00
parent c68df892a6
commit 26710d942c
3 changed files with 36 additions and 1 deletions

View file

@ -1,4 +1,14 @@
2004-06-30 23:14 Gregory John Casamento <greg_casamento@yahoo.com> 2004-06-30 20:14 Gregory John Casamento <greg_casamento@yahoo.com>
* GormDocument.m: Added "Compatibility Warning" alert panel
to [GormDocument saveGormDocument:]. If the user loads a
version 0 file and saves it will give a warning telling the
user that the new version isn't compatible with older
releases of GNUstep.
* GormDocument.h: Added ivar to keep track of whether we
are going to upgrade the version of the .gorm file or not.
2004-06-30 01:45 Gregory John Casamento <greg_casamento@yahoo.com>
* GormDocument.m: [GormDocument loadDocument:] the application * GormDocument.m: [GormDocument loadDocument:] the application
was not picking up subclasses of GSNibItem (GormObjectProxy) was not picking up subclasses of GSNibItem (GormObjectProxy)

View file

@ -70,6 +70,7 @@
NSMutableArray *openEditors; NSMutableArray *openEditors;
NSToolbar *toolbar; NSToolbar *toolbar;
id lastEditor; id lastEditor;
BOOL willUpgradeArchive;
} }
- (void) addConnector: (id<IBConnectors>)aConnector; - (void) addConnector: (id<IBConnectors>)aConnector;
- (NSArray*) allConnectors; - (NSArray*) allConnectors;

View file

@ -396,6 +396,9 @@ static NSImage *classesImage = nil;
[classManager parseHeader: (NSString *)obj]; [classManager parseHeader: (NSString *)obj];
} }
} }
// are we upgrading an archive?
willUpgradeArchive = NO;
} }
else else
{ {
@ -1983,6 +1986,8 @@ static NSImage *classesImage = nil;
[topLevelObjects addObject: obj]; [topLevelObjects addObject: obj];
} }
} }
willUpgradeArchive = YES;
} }
[nt removeObjectForKey: @"NSOwner"]; [nt removeObjectForKey: @"NSOwner"];
@ -2749,6 +2754,7 @@ static NSImage *classesImage = nil;
NSFileManager *mgr = [NSFileManager defaultManager]; NSFileManager *mgr = [NSFileManager defaultManager];
BOOL isDir; BOOL isDir;
BOOL fileExists; BOOL fileExists;
int retval;
if (documentPath == nil) if (documentPath == nil)
{ {
@ -2756,6 +2762,24 @@ static NSImage *classesImage = nil;
return NO; return NO;
} }
// Warn the user about possible incompatibility.
if(willUpgradeArchive)
{
retval = NSRunAlertPanel(_(@"Compatibility Warning"),
_(@"Saving will update this gorm to the latest version, which is not compatible with GNUstep's gui 0.9.3 Release or CVS prior to Jun 29 2004."),
_(@"Save"),
_(@"Don't Save"), nil, nil);
if (retval != NSAlertDefaultReturn)
{
return NO;
}
else
{
// we're saving anyway... set to new value.
willUpgradeArchive = NO;
}
}
[nc postNotificationName: IBWillSaveDocumentNotification [nc postNotificationName: IBWillSaveDocumentNotification
object: self]; object: self];