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 2003-10-03 14:09:58 +00:00
parent d4e1c63db3
commit 7e667e6e77
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> 2003-10-03 Benhur Stein <benhur@inf.ufsm.br>
* Source/NSWindow.m (class variables, +initialize, * 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 - (BOOL) setFrameAutosaveName: (NSString*)name
{ {
NSString *nameToRemove = nil;
if ([name isEqual: _autosaveName]) if ([name isEqual: _autosaveName])
{ {
return YES; /* That's our name already. */ 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 (_autosaveName != nil)
{ {
if (name == nil || [name isEqual: @""] == YES) [[self class] removeFrameUsingName: _autosaveName];
{
nameToRemove = RETAIN(_autosaveName);
}
[autosaveNames removeObject: _autosaveName]; [autosaveNames removeObject: _autosaveName];
_autosaveName = nil; _autosaveName = nil;
} }
@ -3536,19 +3531,10 @@ Code shared with [NSPanel -sendEvent:], remember to update both places.
[autosaveNames addObject: name]; [autosaveNames addObject: name];
_autosaveName = name; _autosaveName = name;
RELEASE(name); RELEASE(name);
} if (![self setFrameUsingName: _autosaveName])
else if (nameToRemove != nil) {
{ [self saveFrameUsingName: _autosaveName];
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);
} }
return YES; return YES;
} }