Revision: 23886
http://sourceforge.net/p/bibdesk/svn/23886
Author: hofman
Date: 2019-06-20 15:00:33 +0000 (Thu, 20 Jun 2019)
Log Message:
-----------
no need to observer key window for first responder or key state
Modified Paths:
--------------
trunk/bibdesk/BDSKTypeSelectHelper.m
Modified: trunk/bibdesk/BDSKTypeSelectHelper.m
===================================================================
--- trunk/bibdesk/BDSKTypeSelectHelper.m 2019-06-20 14:43:47 UTC (rev
23885)
+++ trunk/bibdesk/BDSKTypeSelectHelper.m 2019-06-20 15:00:33 UTC (rev
23886)
@@ -45,8 +45,6 @@
#define BDSKWindowDidChangeFirstResponderNotification
@"BDSKWindowDidChangeFirstResponderNotification"
-static char BDSKTypeSelectHelperObservationContext;
-
@interface NSString (BDSKTypeAheadHelperExtensions)
- (BOOL)containsStringStartingAtWord:(NSString *)string
options:(NSInteger)mask range:(NSRange)range;
@end
@@ -61,7 +59,6 @@
- (void)stopTimer;
- (void)startTimer;
- (void)typeSelectSearchTimeout:(id)sender;
-- (void)stopObserving;
- (NSTimeInterval)timeoutInterval;
- (NSUInteger)indexOfMatchedItemAfterIndex:(NSUInteger)selectedIndex;
- (NSTextView *)editor;
@@ -87,7 +84,7 @@
- (void)dealloc;
{
- [self stopObserving];
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
delegate = nil;
[timer invalidate];
BDSKDESTROY(timer);
@@ -157,15 +154,11 @@
- (void)searchWithEvent:(NSEvent *)keyEvent;
{
- NSWindow *window = [NSApp keyWindow];
NSText *editor = [self editor];
if (processing == NO) {
- [self stopObserving];
- [[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(typeSelectSearchTimeout:)
name:NSWindowDidResignKeyNotification object:window];
- [[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(typeSelectSearchTimeout:) name:NSWindowWillCloseNotification
object:window];
- [window addObserver:self forKeyPath:@"firstResponder" options:0
context:&BDSKTypeSelectHelperObservationContext];
- observedWindow = [window retain];
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
+ [[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(typeSelectSearchTimeout:) name:NSWindowWillCloseNotification
object:[NSApp keyWindow]];
if ([editor delegate])
[(BDSKTypeSelectHelper *)[editor delegate]
typeSelectSearchTimeout:nil];
[editor setDelegate:self];
@@ -295,7 +288,7 @@
{
if([delegate
respondsToSelector:@selector(typeSelectHelper:updateSearchString:)])
[delegate typeSelectHelper:self updateSearchString:nil];
- [self stopObserving];
+ [[NSNotificationCenter defaultCenter] removeObserver:self];
[self stopTimer];
processing = NO;
@@ -377,21 +370,6 @@
return NSNotFound;
}
-- (void)stopObserving {
- if (observedWindow) {
- @try { [observedWindow removeObserver:self
forKeyPath:@"firstResponder"]; }
- @catch(id e) {}
- BDSKDESTROY(observedWindow);
- }
- [[NSNotificationCenter defaultCenter] removeObserver:self];
-}
-
-- (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object
change:(NSDictionary *)change context:(void *)context {
- if (context == &BDSKTypeSelectHelperObservationContext)
- [self typeSelectSearchTimeout:nil];
- else
- [super observeValueForKeyPath:keyPath ofObject:object change:change
context:context];
-}
@end
#pragma mark -
This was sent by the SourceForge.net collaborative development platform, the
world's largest Open Source development site.
_______________________________________________
Bibdesk-commit mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/bibdesk-commit