mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-06-01 00:20:49 +00:00
Fix unhide error - now activates app irrespective of whether it was hidden.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@5258 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
d921501c98
commit
6298c01579
3 changed files with 42 additions and 21 deletions
|
@ -3,6 +3,7 @@ Mon Nov 22 17:05:33:00 1999 Richard Frith-Macdonald <richard@brainstorm.co.uk>
|
||||||
* Source/NSApplication.m: Start listening for window notifications
|
* Source/NSApplication.m: Start listening for window notifications
|
||||||
whenm the app becomes active, and check to see which windows are key
|
whenm the app becomes active, and check to see which windows are key
|
||||||
and main.
|
and main.
|
||||||
|
([-unhide:]) fixed to activate app even if it wasn't hidden.
|
||||||
|
|
||||||
1999-11-21 Tim McIntosh <rockford@novia.net>
|
1999-11-21 Tim McIntosh <rockford@novia.net>
|
||||||
|
|
||||||
|
|
|
@ -427,6 +427,7 @@ static NSCell* tileCell = nil;
|
||||||
NSArray *windows_list;
|
NSArray *windows_list;
|
||||||
unsigned count;
|
unsigned count;
|
||||||
unsigned i;
|
unsigned i;
|
||||||
|
BOOL hadDuplicates = NO;
|
||||||
|
|
||||||
mainModelFile = [infoDict objectForKey: @"NSMainNibFile"];
|
mainModelFile = [infoDict objectForKey: @"NSMainNibFile"];
|
||||||
if (mainModelFile && ![mainModelFile isEqual: @""])
|
if (mainModelFile && ![mainModelFile isEqual: @""])
|
||||||
|
@ -454,18 +455,6 @@ static NSCell* tileCell = nil;
|
||||||
/* Register our listener to incoming services requests etc. */
|
/* Register our listener to incoming services requests etc. */
|
||||||
[listener registerAsServiceProvider];
|
[listener registerAsServiceProvider];
|
||||||
|
|
||||||
/* Register self as observer to window events. */
|
|
||||||
[nc addObserver: self selector: @selector(_windowWillClose:)
|
|
||||||
name: NSWindowWillCloseNotification object: nil];
|
|
||||||
[nc addObserver: self selector: @selector(_windowDidBecomeKey:)
|
|
||||||
name: NSWindowDidBecomeKeyNotification object: nil];
|
|
||||||
[nc addObserver: self selector: @selector(_windowDidBecomeMain:)
|
|
||||||
name: NSWindowDidBecomeMainNotification object: nil];
|
|
||||||
[nc addObserver: self selector: @selector(_windowDidResignKey:)
|
|
||||||
name: NSWindowDidResignKeyNotification object: nil];
|
|
||||||
[nc addObserver: self selector: @selector(_windowDidResignMain:)
|
|
||||||
name: NSWindowDidResignMainNotification object: nil];
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Establish the current key and main windows. We need to do this in case
|
* Establish the current key and main windows. We need to do this in case
|
||||||
* the windows were created and set to be key/main earlier - before the
|
* the windows were created and set to be key/main earlier - before the
|
||||||
|
@ -485,7 +474,9 @@ static NSCell* tileCell = nil;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
NSLog(@"Duplicate keyWindow ignored");
|
hadDuplicates = YES;
|
||||||
|
NSDebugLog(@"Duplicate keyWindow ignored");
|
||||||
|
[win resignKeyWindow];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if ([win isMainWindow] == YES)
|
if ([win isMainWindow] == YES)
|
||||||
|
@ -496,11 +487,38 @@ static NSCell* tileCell = nil;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
NSLog(@"Duplicate mainWindow ignored");
|
hadDuplicates = YES;
|
||||||
|
NSDebugLog(@"Duplicate mainWindow ignored");
|
||||||
|
[win resignMainWindow];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* If there was more than one window set as key or main, we must make sure
|
||||||
|
* that the one we have recorded is the real one by making it become key/main
|
||||||
|
* again.
|
||||||
|
*/
|
||||||
|
if (hadDuplicates)
|
||||||
|
{
|
||||||
|
[_main_window resignMainWindow];
|
||||||
|
[_main_window becomeMainWindow];
|
||||||
|
[_key_window resignKeyWindow];
|
||||||
|
[_key_window becomeKeyWindow];
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Register self as observer to window events. */
|
||||||
|
[nc addObserver: self selector: @selector(_windowWillClose:)
|
||||||
|
name: NSWindowWillCloseNotification object: nil];
|
||||||
|
[nc addObserver: self selector: @selector(_windowDidBecomeKey:)
|
||||||
|
name: NSWindowDidBecomeKeyNotification object: nil];
|
||||||
|
[nc addObserver: self selector: @selector(_windowDidBecomeMain:)
|
||||||
|
name: NSWindowDidBecomeMainNotification object: nil];
|
||||||
|
[nc addObserver: self selector: @selector(_windowDidResignKey:)
|
||||||
|
name: NSWindowDidResignKeyNotification object: nil];
|
||||||
|
[nc addObserver: self selector: @selector(_windowDidResignMain:)
|
||||||
|
name: NSWindowDidResignMainNotification object: nil];
|
||||||
|
|
||||||
[self activateIgnoringOtherApps: YES];
|
[self activateIgnoringOtherApps: YES];
|
||||||
|
|
||||||
/* finish the launching post notification that launching has finished */
|
/* finish the launching post notification that launching has finished */
|
||||||
|
@ -1268,13 +1286,13 @@ NSAssert([event retainCount] > 0, NSInternalInconsistencyException);
|
||||||
{
|
{
|
||||||
[self unhideWithoutActivation];
|
[self unhideWithoutActivation];
|
||||||
unhide_on_activation = NO;
|
unhide_on_activation = NO;
|
||||||
if (app_is_active == NO)
|
}
|
||||||
{
|
if (app_is_active == NO)
|
||||||
/*
|
{
|
||||||
* Activation should make the applications menus visible.
|
/*
|
||||||
*/
|
* Activation should make the applications menus visible.
|
||||||
[self activateIgnoringOtherApps: YES];
|
*/
|
||||||
}
|
[self activateIgnoringOtherApps: YES];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1232,6 +1232,8 @@ resetCursorRectsForView(NSView *theView)
|
||||||
RETAIN(self);
|
RETAIN(self);
|
||||||
|
|
||||||
[nc postNotificationName: NSWindowWillCloseNotification object: self];
|
[nc postNotificationName: NSWindowWillCloseNotification object: self];
|
||||||
|
[self resignKeyWindow];
|
||||||
|
[self resignMainWindow];
|
||||||
[NSApp removeWindowsItem: self];
|
[NSApp removeWindowsItem: self];
|
||||||
[self orderOut: self];
|
[self orderOut: self];
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue