diff --git a/Quicksilver/Code-QuickStepInterface/QSCommandBuilder.m b/Quicksilver/Code-QuickStepInterface/QSCommandBuilder.m index 811808716..184fa06a3 100644 --- a/Quicksilver/Code-QuickStepInterface/QSCommandBuilder.m +++ b/Quicksilver/Code-QuickStepInterface/QSCommandBuilder.m @@ -10,15 +10,15 @@ - (id)init { } - (void)windowDidLoad { [super windowDidLoad]; - [dSelector setDropMode:QSSelectDropMode]; - [aSelector setDropMode:QSRejectDropMode]; - [iSelector setDropMode:QSSelectDropMode]; NSArray *theControls = [NSArray arrayWithObjects:dSelector, aSelector, iSelector, nil]; for(QSSearchObjectView *theControl in theControls) { + [theControl setDropMode:QSSelectDropMode]; QSObjectCell *theCell = [theControl cell]; [theCell setHighlightColor:[NSColor lightGrayColor]]; [theCell setTextColor:[NSColor blackColor]]; } + // don't observe notifications meant for the main interface + [self ignoreInterfaceNotifications]; } - (IBAction)hideWindows:(id)sender { diff --git a/Quicksilver/Code-QuickStepInterface/QSInterfaceController.h b/Quicksilver/Code-QuickStepInterface/QSInterfaceController.h index 55d8c8efd..1419f0b2d 100644 --- a/Quicksilver/Code-QuickStepInterface/QSInterfaceController.h +++ b/Quicksilver/Code-QuickStepInterface/QSInterfaceController.h @@ -95,4 +95,5 @@ - (void)setPreview:(BOOL)flag; - (void)clearObjectView:(QSSearchObjectView *)view; +- (void)ignoreInterfaceNotifications; @end diff --git a/Quicksilver/Code-QuickStepInterface/QSInterfaceController.m b/Quicksilver/Code-QuickStepInterface/QSInterfaceController.m index fd7e23d64..c24692920 100644 --- a/Quicksilver/Code-QuickStepInterface/QSInterfaceController.m +++ b/Quicksilver/Code-QuickStepInterface/QSInterfaceController.m @@ -468,6 +468,14 @@ - (void)clear:(NSTimer *)timer { [self updateActionsNow]; } +- (void)ignoreInterfaceNotifications +{ + // subclasses (namely the Command Builder) need a way to overlook notifications meant for the main interface + NSNotificationCenter *nc = [NSNotificationCenter defaultCenter]; + [nc removeObserver:self name:@"QSSourceArrayCreated" object:nil]; + [nc removeObserver:self name:@"QSSourceArrayUpdated" object:nil]; +} + #pragma mark - #pragma mark NSWindow #pragma mark Delegate