Set frame to autosaved frame in defaults

git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@17772 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Benhur Stein 2003-10-03 14:09:58 +00:00
parent 681ef962f9
commit 1a6ef7f076
2 changed files with 12 additions and 19 deletions

View file

@ -1,3 +1,10 @@
2003-10-03 Benhur Stein <benhur@inf.ufsm.br>
* Source/NSWindow.m (-setFrameAutosaveName:): remove previous frame
name from defaults; if there is a saved frame with the new name in
defaults, set window frame to it, otherwise store current frame in
defaults.
2003-10-03 Benhur Stein <benhur@inf.ufsm.br>
* Source/NSWindow.m (class variables, +initialize,

View file

@ -3510,8 +3510,6 @@ Code shared with [NSPanel -sendEvent:], remember to update both places.
- (BOOL) setFrameAutosaveName: (NSString*)name
{
NSString *nameToRemove = nil;
if ([name isEqual: _autosaveName])
{
return YES; /* That's our name already. */
@ -3523,10 +3521,7 @@ Code shared with [NSPanel -sendEvent:], remember to update both places.
}
if (_autosaveName != nil)
{
if (name == nil || [name isEqual: @""] == YES)
{
nameToRemove = RETAIN(_autosaveName);
}
[[self class] removeFrameUsingName: _autosaveName];
[autosaveNames removeObject: _autosaveName];
_autosaveName = nil;
}
@ -3536,19 +3531,10 @@ Code shared with [NSPanel -sendEvent:], remember to update both places.
[autosaveNames addObject: name];
_autosaveName = name;
RELEASE(name);
}
else if (nameToRemove != nil)
{
NSUserDefaults *defs;
NSString *key;
/*
* Autosave name cleared - remove from defaults database.
*/
defs = [NSUserDefaults standardUserDefaults];
key = [NSString stringWithFormat: @"NSWindow Frame %@", nameToRemove];
[defs removeObjectForKey: key];
RELEASE(nameToRemove);
if (![self setFrameUsingName: _autosaveName])
{
[self saveFrameUsingName: _autosaveName];
}
}
return YES;
}