From efa77f89b8a9be596773aa0ed436bbf337ecb970 Mon Sep 17 00:00:00 2001 From: Patrick Wardle Date: Tue, 1 Sep 2015 21:31:43 -1000 Subject: [PATCH] added auto-complete keyword logic to main search window --- AppDelegate.h | 14 +- AppDelegate.m | 7 +- Consts.h | 3 +- CustomTextField.h | 3 + CustomTextField.m | 6 +- SearchWindowController.h | 19 +- SearchWindowController.m | 184 +++++++++++++++++- TaskEnumerator.m | 15 +- .../UserInterfaceState.xcuserstate | Bin 64019 -> 64941 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 46 ++--- UI/SearchWindow.xib | 5 +- en.lproj/MainMenu.xib | 2 +- 12 files changed, 244 insertions(+), 60 deletions(-) diff --git a/AppDelegate.h b/AppDelegate.h index 4dfd3bd..db17fc2 100755 --- a/AppDelegate.h +++ b/AppDelegate.h @@ -159,22 +159,22 @@ @property(nonatomic, retain)NSLayoutConstraint* trailingConstraint; //remote XPC interface -@property(nonatomic, retain) NSXPCConnection* xpcConnection; +@property(nonatomic, retain)NSXPCConnection* xpcConnection; //flagged items -@property(nonatomic, retain) NSMutableArray* flaggedItems; - -//array of autocomplete keywords -//@property NSMutableArray *builtInKeywords; +@property(nonatomic, retain)NSMutableArray* flaggedItems; +//flag for filter field (autocomplete) @property BOOL completePosting; + +//flag for filter field (autocomplete) @property BOOL commandHandling; //custom search field for tasks -@property CustomTextField* customTasksFilter; +@property(nonatomic, retain)CustomTextField* customTasksFilter; //custom search field for items -@property CustomTextField* customItemsFilter; +@property(nonatomic, retain)CustomTextField* customItemsFilter; /* METHODS */ diff --git a/AppDelegate.m b/AppDelegate.m index d86ce48..70fc2a5 100755 --- a/AppDelegate.m +++ b/AppDelegate.m @@ -109,9 +109,15 @@ //alloc/init custom search field for tasks customTasksFilter = [[CustomTextField alloc] init]; + //set owner + self.customTasksFilter.owner = self; + //alloc/init custom search field for items customItemsFilter = [[CustomTextField alloc] init]; + //set owner + self.customItemsFilter.owner = self; + //set field editor for tasks [self.customTasksFilter setFieldEditor:YES]; @@ -880,7 +886,6 @@ bail: return; } - //display alert about OS not being supported -(void)showUnsupportedAlert { diff --git a/Consts.h b/Consts.h index a30c8f2..fb8be94 100644 --- a/Consts.h +++ b/Consts.h @@ -304,8 +304,9 @@ //delta for pid tag #define PID_TAG_DELTA 1000 +//TODO: CHANGE B4 RELEASE //search wait time (from app's launch) -#define SEARCH_WAIT_TIME 30 +#define SEARCH_WAIT_TIME 1 //pls wait (search) message #define PLS_WAIT_MESSAGE @"completing (intial) task/dylib/file enumeration please wait" diff --git a/CustomTextField.h b/CustomTextField.h index cbc1e5a..9c45e60 100644 --- a/CustomTextField.h +++ b/CustomTextField.h @@ -16,4 +16,7 @@ } +//'owner' +@property (nonatomic, retain)id owner; + @end diff --git a/CustomTextField.m b/CustomTextField.m index b920626..6b0ccab 100644 --- a/CustomTextField.m +++ b/CustomTextField.m @@ -11,6 +11,7 @@ @implementation CustomTextField +@synthesize owner; //subclass override // ->see: http://stackoverflow.com/questions/5163646/how-to-make-nssearchfield-send-action-upon-autocompletion/5360535#5360535 @@ -41,8 +42,9 @@ // ->call up into app delegate to process (filter) if(movement == NSReturnTextMovement) { - //call up//filterAutoComplete - [((AppDelegate*)[[NSApplication sharedApplication] delegate]) filterAutoComplete:self]; + //call up into owner to process + [owner filterAutoComplete:self]; + //[((AppDelegate*)[[NSApplication sharedApplication] delegate]) filterAutoComplete:self]; } //bail diff --git a/SearchWindowController.h b/SearchWindowController.h index 1ea844e..08fa153 100644 --- a/SearchWindowController.h +++ b/SearchWindowController.h @@ -8,16 +8,12 @@ #import +#import "CustomTextField.h" #import "InfoWindowController.h" #import "VTInfoWindowController.h" - -@interface SearchWindowController : NSWindowController - -//automatically invoked when user presses 'Enter' in search box -// ->search! --(IBAction)search:(id)sender; +@interface SearchWindowController : NSWindowController //PROPERTIES @@ -54,6 +50,14 @@ //overlay view @property (weak) IBOutlet NSView *overlayView; +//flag for filter field (autocomplete) +@property BOOL completePosting; + +//flag for filter field (autocomplete) +@property BOOL commandHandling; + +//custom search field +@property (nonatomic, retain)CustomTextField* customSearchField; /* METHODS */ @@ -62,5 +66,8 @@ // ->make sure everything is cleanly init'd -(void)prepare; +//search +-(void)search; + @end diff --git a/SearchWindowController.m b/SearchWindowController.m index 163d2ff..ec6b3de 100644 --- a/SearchWindowController.m +++ b/SearchWindowController.m @@ -28,6 +28,9 @@ @synthesize searchTable; @synthesize searchResults; @synthesize plsWaitMessage; +@synthesize commandHandling; +@synthesize completePosting; +@synthesize customSearchField; @synthesize vtWindowController; @synthesize infoWindowController; @@ -59,6 +62,12 @@ //init array for search results searchResults = [NSMutableArray array]; + //alloc/init custom search field for items + customSearchField = [[CustomTextField alloc] init]; + + //set owner + self.customSearchField.owner = self; + //first time outlets are nil // ->thus 'initUI' method called in 'awakeFromNib' if(nil != self.window) @@ -204,7 +213,6 @@ self.activityIndicatorLabel.stringValue = [NSString stringWithFormat:@"%@ (%d)", PLS_WAIT_MESSAGE, (int)timeRemaining]; }); - } //update UI on main thread @@ -231,6 +239,164 @@ return; } +//automatically invoked when user enters text in filter search boxes +// ->filter tasks and/or items +-(void)controlTextDidChange:(NSNotification *)aNotification +{ + //prevent calling "complete" too often + if( (YES != self.completePosting) && + (YES != self.commandHandling) ) + { + //set flag + self.completePosting = YES; + + //invoke complete + [aNotification.userInfo[@"NSFieldEditor"] complete:nil]; + + //unset flag + self.completePosting = NO; + } + + return; +} + +//delegate method, automatically called +// ->generate list of matches to return for drop-down +-(NSArray *)control:(NSControl *)control textView:(NSTextView *)textView completions:(NSArray *)words forPartialWordRange:(NSRange)charRange indexOfSelectedItem:(NSInteger *)index +{ + //matches + NSMutableArray *matches = nil; + + //range options + NSUInteger rangeOptions = {0}; + + //init array for matches + matches = [[NSMutableArray alloc] init]; + + //init range options + rangeOptions = NSAnchoredSearch | NSCaseInsensitiveSearch; + + //check all filters + // note: really check Binary ones, but this should include all! + for(NSString* filter in self.filterObj.binaryFilters) + { + //check if found + // ->add to match when found + if([filter rangeOfString:textView.string options:rangeOptions range:NSMakeRange(0, filter.length)].location != NSNotFound) + { + //add + [matches addObject:filter]; + } + } + + //sort matches + [matches sortUsingComparator:^(NSString *a, NSString *b) + { + //sort + return [a localizedStandardCompare:b]; + }]; + +//bail +bail: + + return matches; +} + +//delegate method, automatically invoked +// ->handle invocations for text view +- (BOOL)control:(NSControl *)control textView:(NSTextView *)textView doCommandBySelector:(SEL)commandSelector +{ + //flag + BOOL didPerformRequestedSelectorOnTextView = NO; + + //invocation + NSInvocation *textViewInvocationForSelector = nil; + + //check if text view can handle selector + if(YES != [textView respondsToSelector:commandSelector]) + { + //bail + goto bail; + } + + //first handle 'enter' + // ->trigger a search + if(commandSelector == @selector(insertNewline:)) + { + //search + [self search]; + } + //handle all others + else + { + //set iVar flag + self.commandHandling = YES; + + //init invocation + textViewInvocationForSelector = [NSInvocation invocationWithMethodSignature:[textView methodSignatureForSelector:commandSelector]]; + + //set target + [textViewInvocationForSelector setTarget:textView]; + + //set selector + [textViewInvocationForSelector setSelector:commandSelector]; + + //invoke selector + [textViewInvocationForSelector invoke]; + + //unset iVar + self.commandHandling = NO; + } + + //indicate that selector was performed + didPerformRequestedSelectorOnTextView = YES; + +//bail +bail: + + return didPerformRequestedSelectorOnTextView; +} + + +//callback for custom search fields +// ->handle auto-complete filterings +-(void)filterAutoComplete:(NSTextView*)textView +{ + //just call search method + // ->has logic to handle searching + [self search]; + + return; +} + +//automatically invoked +// ->set all NSSearchFields to be instances of our custom NSTextView +-(id)windowWillReturnFieldEditor:(NSWindow *)sender toObject:(id)client +{ + //field editor + id fieldEditor = nil; + + //ignore non-NSSearchField classes + if(YES != [client isKindOfClass:[NSTextField class]]) + { + //ingnore + goto bail; + } + + //set task's filter search field + if(client == self.searchBox) + { + //assign for return + fieldEditor = self.customSearchField; + } + + +//bail +bail: + + return fieldEditor; +} + //table delegate // ->return number of rows -(NSInteger)numberOfRowsInTableView:(NSTableView *)tableView @@ -314,9 +480,10 @@ bail: return; } -//automatically invoked when user presses 'Enter' in search box -// ->search! --(IBAction)search:(id)sender +//search +//TODO: SYNC DYLIBS etc +//TODO: search network conns +-(void)search { //search string NSString* searchString = nil; @@ -359,7 +526,7 @@ bail: [self.searchTable reloadData]; //grab search string - searchString = [sender stringValue]; + searchString = [self.searchBox stringValue]; //grab all tasks allTasks = ((AppDelegate*)[[NSApplication sharedApplication] delegate]).taskEnumerator.tasks; @@ -374,8 +541,8 @@ bail: //ignore goto bail; } - } - + } + //1st: search for all matching tasks //sync @synchronized(allTasks) @@ -397,6 +564,7 @@ bail: @synchronized(allTasks) { + //TODO: B4 RELEASE! SYNC DYLIBS ARRAY!!! //walk all tasks // ->scan each for dylib matches, only processing first match for(NSNumber* taskPid in allTasks) @@ -471,6 +639,8 @@ bail: //refresh table to display dylib [self.searchTable reloadData]; + //TODO: search network conns + //bail bail: diff --git a/TaskEnumerator.m b/TaskEnumerator.m index 26c9a6e..0f68380 100644 --- a/TaskEnumerator.m +++ b/TaskEnumerator.m @@ -206,7 +206,20 @@ [NSThread sleepForTimeInterval:0.01f]; } - //TODO: add network connection filtering + //begin network enumeration + // ->for search view + for(NSNumber* key in newTasks) + { + //get task + newTask = newTasks[key]; + + //enumerate + [newTask enumerateNetworking:xpcConnection]; + + //nap + // ->helps with UI + [NSThread sleepForTimeInterval:0.01f]; + } return; } diff --git a/TaskExplorer.xcodeproj/project.xcworkspace/xcuserdata/patrickw.xcuserdatad/UserInterfaceState.xcuserstate b/TaskExplorer.xcodeproj/project.xcworkspace/xcuserdata/patrickw.xcuserdatad/UserInterfaceState.xcuserstate index 33e98a96d6b69ec24a3c90665a4da871c9808a67..3809cf05b9af31068a2531e6db1dc41937ee7407 100644 GIT binary patch literal 64941 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

t(63G}!>zjj})T=Ls6?<3Rp2&Kh-gK$ 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 tkC``_$IhqC1M~am56| literal 64019 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%0DO!NcLWj;;Xg5tJbkM^)~gP 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 BN<07n diff --git a/TaskExplorer.xcodeproj/xcuserdata/patrickw.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/TaskExplorer.xcodeproj/xcuserdata/patrickw.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index ab3133b..277cd05 100644 --- a/TaskExplorer.xcodeproj/xcuserdata/patrickw.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/TaskExplorer.xcodeproj/xcuserdata/patrickw.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -3,22 +3,6 @@ type = "1" version = "2.0"> - - - - @@ -122,11 +106,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "AppDelegate.m" - timestampString = "462785295.692202" + timestampString = "462870109.066579" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "1537" - endingLineNumber = "1537" + startingLineNumber = "1544" + endingLineNumber = "1544" landmarkName = "-selectBottomPaneContent:" landmarkType = "5"> @@ -186,11 +170,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "AppDelegate.m" - timestampString = "462695042.305349" + timestampString = "462870109.066579" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "206" - endingLineNumber = "206" + startingLineNumber = "214" + endingLineNumber = "214" landmarkName = "-registerKeypressHandler" landmarkType = "5"> @@ -202,11 +186,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "AppDelegate.m" - timestampString = "462695042.305349" + timestampString = "462870109.066579" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "223" - endingLineNumber = "223" + startingLineNumber = "231" + endingLineNumber = "231" landmarkName = "-handleKeypress:" landmarkType = "5"> @@ -218,11 +202,11 @@ ignoreCount = "0" continueAfterRunningActions = "No" filePath = "AppDelegate.m" - timestampString = "462695042.305349" + timestampString = "462870109.066579" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "244" - endingLineNumber = "244" + startingLineNumber = "252" + endingLineNumber = "252" landmarkName = "-handleKeypress:" landmarkType = "5"> diff --git a/UI/SearchWindow.xib b/UI/SearchWindow.xib index 020d610..f38089c 100644 --- a/UI/SearchWindow.xib +++ b/UI/SearchWindow.xib @@ -21,7 +21,7 @@ - + @@ -393,13 +393,12 @@ - + - diff --git a/en.lproj/MainMenu.xib b/en.lproj/MainMenu.xib index 03381ee..11bc0ff 100755 --- a/en.lproj/MainMenu.xib +++ b/en.lproj/MainMenu.xib @@ -41,7 +41,7 @@ - +