added search button

change show button to eye icon
fixed issue where 'reloadItem' (outline view) didn't reload row
customized 'no items found' label in bottom pane
refactor/code cleanup
added 'reloadBinary' method for VT callbacks
added header image
This commit is contained in:
Patrick Wardle
2015-06-28 21:15:49 -10:00
parent 51be8da95e
commit 4a14f0a763
31 changed files with 6927 additions and 6820 deletions
+8 -2
View File
@@ -121,6 +121,7 @@
//'no items' found label for bottom pane
@property (weak) IBOutlet NSTextField *noItemsLabel;
@property (weak) IBOutlet NSButton *searchButton;
/* METHODS */
- (IBAction)switchView:(id)sender;
@@ -136,11 +137,11 @@
-(void)applyPreferences;
//update a single row
-(void)itemProcessed:(Binary*)fileObj rowIndex:(NSUInteger)rowIndex;
//-(void)itemProcessed:(Binary*)fileObj rowIndex:(NSUInteger)rowIndex;
//action
// ->invoked when user clicks 'About/Info' or Objective-See logo in main UI
-(void)displayScanStats;
//-(void)displayScanStats;
-(IBAction)scanButtonHandler:(id)sender;
@@ -183,5 +184,10 @@
//VT callback to reload a binary
-(void)reloadBinary:(Binary*)binary;
//save button handler
-(IBAction)saveResults:(id)sender;
//search button handler
-(IBAction)search:(id)sender;
@end
+136 -134
View File
@@ -15,10 +15,11 @@
#import "Task.h"
//TODO: bottom pane's progress indicator: center via autolayout
//TODO: full VT queue!! - flush
//TODO: on filter, reset scanning for bottom item (hideDylib)
//TODO: network info window
//TODO: add IPV6 :: as 0.0.0.0? (since we do this for IPV4 i think)
//TODO: filter out dup'd networks (airportd 0:0..) -not sure want to do this
@implementation AppDelegate
@@ -44,6 +45,7 @@
@synthesize topPane;
@synthesize taskEnumerator;
@synthesize viewSelector;
@synthesize searchButton;
//@synthesize taskScrollView;
@@ -62,10 +64,6 @@
//make window front
[NSApp activateIgnoringOtherApps:YES];
//set initial view
// ->default is flat (non-tree) view
//[self changeViewController:[self.viewSelector selectedItem].tag];
return;
}
@@ -159,72 +157,19 @@
//set flag
self.bottomViewController.isBottomPane = YES;
//set input
//self.bottomViewController.tableItems = currentTask.dylibs;
//add subview
[self.bottomPane addSubview:[self.bottomViewController view]];
//[self.bottomPane addSubview:self.noItemsLabel];
//set frame
[[self.bottomViewController view] setFrame:[self.bottomPane bounds]];
//set default msg
//add 'items' not found msg
[self.bottomViewController.view addSubview:self.noItemsLabel];
//set delegate
// ->ensures our 'windowWillClose' method, which has logic to fully exit app
self.window.delegate = self;
//kick off thread to begin enumerating shared objects
// ->this takes awhile, so do it now!
//[self.sharedItemEnumerator start];
//instantiate all plugins objects
//self.plugins = [self instantiatePlugins];
//set selected plugin to first
//self.selectedPlugin = [self.plugins firstObject];
//dbg msg
//NSLog(@"KNOCKKNOCK: registered plugins: %@", self.plugins);
//pre-populate category table w/ each plugin title
//[self.categoryTableController initTable:self.plugins];
//make category table active/selected
//[[self.categoryTableController.categoryTableView window] makeFirstResponder:self.categoryTableController.categoryTableView];
//hide status msg
// ->when user clicks scan, will show up..
//[self.statusText setStringValue:@""];
//hide progress indicator
//self.progressIndicator.hidden = YES;
//init button label
// ->start scan
//[self.scanButtonLabel setStringValue:START_SCAN];
//set version info
//[self.versionString setStringValue:[NSString stringWithFormat:@"version: %@", getAppVersion()]];
//init tracking areas
//[self initTrackingAreas];
//set delegate
// ->ensures our 'windowWillClose' method, which has logic to fully exit app
//self.window.delegate = self;
return;
}
@@ -394,36 +339,30 @@
row = [self.taskTableController.filteredItems indexOfObject:item];
}
//sanity check
if(NSNotFound == row)
{
//bail
goto bail;
}
//begin updates
[tableView beginUpdates];
//reload row
[tableView reloadDataForRowIndexes:[NSIndexSet indexSetWithIndex:(row)] columnIndexes:[NSIndexSet indexSetWithIndex:0]];
//end updates
[tableView endUpdates];
}
//reload item
// ->tree view, so no need to worry about filtering
else
{
//begin updates
[tableView beginUpdates];
//reload
[(NSOutlineView*)tableView reloadItem:item];
//end updates
[tableView endUpdates];
//get row
row = [(NSOutlineView*)tableView rowForItem:item];
}
//sanity check
if(NSNotFound == row)
{
//bail
goto bail;
}
//begin updates
[tableView beginUpdates];
//reload row
[tableView reloadDataForRowIndexes:[NSIndexSet indexSetWithIndex:(row)] columnIndexes:[NSIndexSet indexSetWithIndex:0]];
//end updates
[tableView endUpdates];
}
//bottom pane
else
@@ -508,6 +447,9 @@ bail:
//set table items
self.bottomViewController.tableItems = self.currentTask.dylibs;
//if there is none
self.noItemsLabel.stringValue = @"no dylibs found";
break;
@@ -517,6 +459,9 @@ bail:
///set table items
self.bottomViewController.tableItems = self.currentTask.files;
//if there is none
self.noItemsLabel.stringValue = @"no files found";
break;
//networking
@@ -525,6 +470,9 @@ bail:
//set table items
self.bottomViewController.tableItems = self.currentTask.connections;
//if there is none
self.noItemsLabel.stringValue = @"no network connections found";
break;
default:
@@ -562,12 +510,14 @@ bail:
//no items?
if(0 == self.bottomViewController.tableItems.count)
{
//how
self.noItemsLabel.hidden = NO;
}
//no items?
//got items?
else
{
//hide
self.noItemsLabel.hidden = YES;
}
@@ -640,6 +590,7 @@ bail:
return;
}
//display alert about OS not being supported
-(void)showUnsupportedAlert
{
@@ -680,6 +631,13 @@ bail:
//add tracking area to pref button
[self.showPreferencesButton addTrackingArea:trackingArea];
//init tracking area
// ->for search button
trackingArea = [[NSTrackingArea alloc] initWithRect:[self.searchButton bounds] options:(NSTrackingInVisibleRect|NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways) owner:self userInfo:@{@"tag":[NSNumber numberWithUnsignedInteger:self.searchButton.tag]}];
//add tracking area to search button
[self.searchButton addTrackingArea:trackingArea];
//init tracking area
// ->for logo button
trackingArea = [[NSTrackingArea alloc] initWithRect:[self.logoButton bounds] options:(NSTrackingInVisibleRect|NSTrackingMouseEnteredAndExited | NSTrackingActiveAlways) owner:self userInfo:@{@"tag":[NSNumber numberWithUnsignedInteger:self.logoButton.tag]}];
@@ -942,6 +900,8 @@ bail:
}
/*
//update the UI to reflect that the fact the scan was stopped
// ->set text back to 'start scan', etc...
-(void)stopScanUI:(NSString*)statusMsg
@@ -989,6 +949,7 @@ bail:
return;
}
*/
/*
//shows alert stating that that scan is complete (w/ stats)
@@ -1167,7 +1128,13 @@ bail:
if(PREF_BUTTON_TAG == tag)
{
//set
imageName = @"settings";
imageName = @"saveIcon";
}
//set original search image
else if(SEARCH_BUTTON_TAG == tag)
{
//set
imageName = @"search";
}
//set original logo image
else if(LOGO_BUTTON_TAG == tag)
@@ -1203,7 +1170,13 @@ bail:
if(PREF_BUTTON_TAG == tag)
{
//set
imageName = @"settingsOver";
imageName = @"saveIconOver";
}
//set mouse over search image
else if(SEARCH_BUTTON_TAG == tag)
{
//set
imageName = @"searchOver";
}
//set mouse over logo image
else if(LOGO_BUTTON_TAG == tag)
@@ -1227,6 +1200,58 @@ bail:
return;
}
//invoked when user clicks 'save' icon
// ->show popup that allows user to save results
-(IBAction)saveResults:(id)sender
{
//save panel
NSSavePanel *panel = nil;
//output
// ->json of all tasks/dylibs, etc
__block NSString* output = nil;
//error
__block NSError* error = nil;
//create panel
panel = [NSSavePanel savePanel];
//suggest file name
[panel setNameFieldStringValue:@"tasks.json"];
//show panel
// ->completion handler will invoked when user clicks 'ok'
[panel beginWithCompletionHandler:^(NSInteger result)
{
//only need to handle 'ok'
if(NSFileHandlingPanelOKButton == result)
{
//TODO: generate JSON
output = @"test";
//save JSON to disk
if(YES != [output writeToURL:[panel URL] atomically:NO encoding:NSUTF8StringEncoding error:nil])
{
//err msg
NSLog(@"OBJECTIVE-SEE ERROR: saving output to %@ failed with %@", [panel URL], error);
}
}
}];
//bail
bail:
return;
}
- (IBAction)search:(id)sender {
}
/*
//save results to disk
// ->JSON dumped to current directory
-(void)saveResults
@@ -1330,13 +1355,14 @@ bail:
//bail
goto bail;
}
*/
//bail
bail:
return;
}
*/
#pragma mark Menu Handler(s) #pragma mark -
@@ -1613,7 +1639,8 @@ bail:
{
//filter
//TODO: move into Filter obj
[self filterTasks:search.string];
//[self filterTasks:search.string];
[self.filterObj filterTasks:search.string items:self.taskEnumerator.tasks results:self.taskTableController.filteredItems];
//set flag
self.taskTableController.isFiltered = YES;
@@ -1621,6 +1648,23 @@ bail:
//always reload task (top) pane
[self.taskTableController.itemView reloadData];
//[self.bottomViewController.itemView reloadData];
//when nothing matches
// ->reset current task and bottom pane
if( (YES == self.taskTableController.isFiltered) &&
(0 == self.taskTableController.filteredItems.count) )
{
//remove bottom pane's items
[self.bottomViewController.tableItems removeAllObjects];
//reset current task
self.currentTask = nil;
//reload bottom pane
[self.bottomViewController.itemView reloadData];
}
}
//bottom pane
else if(YES == [aNotification.object isEqualTo:self.filterItemsBox])
@@ -1667,7 +1711,6 @@ bail:
//filter
[self.filterObj filterConnections:search.string items:self.currentTask.connections results:self.bottomViewController.filteredItems];
break;
}
@@ -1680,7 +1723,7 @@ bail:
self.bottomViewController.isFiltered = YES;
}
//always reload task (top) pane
//always reload item (bottom) pane
[self.bottomViewController.itemView reloadData];
}
@@ -1691,47 +1734,6 @@ bail:
}
//filter tasks
// ->for now, just name & path
// TODO filter on everything
// TODO: move into task enumerator!?
-(void)filterTasks:(NSString*)filterText
{
//task
Task* task = nil;
//name range
NSRange nameRange = {0};
//path range
NSRange pathRange = {0};
//first reset filter'd items
[self.taskTableController.filteredItems removeAllObjects];
//iterate over all tasks
for(NSNumber* taskKey in self.taskEnumerator.tasks)
{
//extract task
task = self.taskEnumerator.tasks[taskKey];
//init name range
nameRange = [task.binary.name rangeOfString:filterText options:NSCaseInsensitiveSearch];
//init path range
pathRange = [task.binary.path rangeOfString:filterText options:NSCaseInsensitiveSearch];
//check for match
if( (NSNotFound != nameRange.location) ||
(NSNotFound != pathRange.location) )
{
//save match
[self.taskTableController.filteredItems addObject:task];
}
}//all tasks
return;
}
@end
+4 -1
View File
@@ -90,7 +90,10 @@
#define PREF_BUTTON_TAG 1001
//logo button
#define LOGO_BUTTON_TAG 1002
#define SEARCH_BUTTON_TAG 1002
//logo button
#define LOGO_BUTTON_TAG 1003
//category table
+3
View File
@@ -27,6 +27,9 @@
/* METHODS */
//filter tasks
-(void)filterTasks:(NSString*)filterText items:(NSMutableDictionary*)items results:(NSMutableArray*)results;
//filter dylibs and files
-(void)filterFiles:(NSString*)filterText items:(NSMutableArray*)items results:(NSMutableArray*)results;
+42 -1
View File
@@ -42,7 +42,48 @@
return self;
}
//TODO: add filter tasks
//filter tasks
// ->for now, just name & path
// TODO filter on everything
-(void)filterTasks:(NSString*)filterText items:(NSMutableDictionary*)items results:(NSMutableArray*)results
{
//task
Task* task = nil;
//name range
NSRange nameRange = {0};
//path range
NSRange pathRange = {0};
//first reset filter'd items
[results removeAllObjects];
//iterate over all tasks
for(NSNumber* taskKey in items)
{
//extract task
task = items[taskKey];
//init name range
nameRange = [task.binary.name rangeOfString:filterText options:NSCaseInsensitiveSearch];
//init path range
pathRange = [task.binary.path rangeOfString:filterText options:NSCaseInsensitiveSearch];
//check for match
if( (NSNotFound != nameRange.location) ||
(NSNotFound != pathRange.location) )
{
//save match
[results addObject:task];
}
}//all tasks
return;
}
//filter dylibs and files
+6 -1
View File
@@ -36,8 +36,13 @@
//file window specific outlets
@property (weak) IBOutlet NSTextField *type;
//network window specific outlets
@property (weak) IBOutlet NSTextField *connection;
@property (weak) IBOutlet NSTextField *protocol;
@property (weak) IBOutlet NSTextField *family;
@property (weak) IBOutlet NSTextField *state;
@property (weak) IBOutlet NSTextField *plist;
//window controller
+24 -38
View File
@@ -61,24 +61,13 @@
self.windowController = [[InfoWindowController alloc] initWithWindowNibName:@"FileInfoWindow"];
}
//TODO: file && network info view
/*TODO: delete this and xibs?
//load file info window
else if(YES == [selectedItem isKindOfClass:[File class]])
{
//load nib
self.windowController = [[InfoWindowController alloc] initWithWindowNibName:@"FileInfoWindow"];
}
//load extension info window
//load networking info window
else if(YES == [selectedItem isKindOfClass:[Connection class]])
{
//load nib
self.windowController = [[InfoWindowController alloc] initWithWindowNibName:@"ConnectionInfoWindow"];
self.windowController = [[InfoWindowController alloc] initWithWindowNibName:@"NetworkInfoWindow"];
}
*/
//save item
self.windowController.itemObj = selectedItem;
}
@@ -113,6 +102,10 @@
//file
// ->when showing info about a file
File* file = nil;
//connection
// ->when showing info about a connection
Connection* connection = nil;
//handle tasks
if(YES == [self.itemObj isKindOfClass:[Task class]])
@@ -260,7 +253,7 @@
[self.path setStringValue:self.itemObj.path];
//set type
[self.type setStringValue:[self valueForStringItem:((File*)self.itemObj).type default:@"unknown"]];
[self.type setStringValue:[self valueForStringItem:file.type default:@"unknown"]];
//set size
[self.size setStringValue:[NSString stringWithFormat:@"%llu bytes", self.itemObj.attributes.fileSize]];
@@ -269,37 +262,30 @@
[self.date setStringValue:[NSString stringWithFormat:@"%@ (created) / %@ (modified)", self.itemObj.attributes.fileCreationDate, self.itemObj.attributes.fileModificationDate]];
}
/*
//handle Extension class
if(YES == [self.itemObj isKindOfClass:[Extension class]])
//handle Connection class
else if(YES == [self.itemObj isKindOfClass:[Connection class]])
{
//typecast
connection = (Connection*)self.itemObj;
//set icon
self.icon.image = getIconForBinary(((Extension*)itemObj).browser, nil);
self.icon.image = itemObj.icon;
//set name
[self.name setStringValue:self.itemObj.name];
//set connection string
[self.name setStringValue:connection.endpoints];
//set path
[self.path setStringValue:self.itemObj.path];
//set type
[self.type setStringValue:[self valueForStringItem:connection.type default:@"unknown"]];
//set description
// ->optional
if(nil != ((Extension*)self.itemObj).details)
{
//set
[self.details setStringValue:[NSString stringWithFormat:@"%@", ((Extension*)self.itemObj).details]];
}
//set id
[self.identifier setStringValue:[NSString stringWithFormat:@"%@", ((Extension*)self.itemObj).identifier]];
//set proto
[self.protocol setStringValue:[self valueForStringItem:connection.proto default:@"unknown"]];
//set date
[self.date setStringValue:[NSString stringWithFormat:@"%@ (created) / %@ (modified)", ((File*)self.itemObj).attributes.fileCreationDate, ((File*)self.itemObj).attributes.fileModificationDate]];
//set family
[self.family setStringValue:[self valueForStringItem:connection.family default:@"unknown"]];
//set signing info
//[self.sign setStringValue:[(File*)self.itemObj formatSigningInfo]];
//set status
[self.state setStringValue:[self valueForStringItem:connection.state default:@"unknown"]];
}
*/
return;
}
+3 -47
View File
@@ -695,15 +695,9 @@ NSTableCellView* createNetworkView(NSTableView* tableView, id owner, Connection*
//item cell
NSTableCellView* connectionCell = nil;
//connection endpoint
NSMutableString* endpoints = nil;
//connection details
NSMutableString* details = nil;
//alloc string for endpoints
endpoints = [NSMutableString string];
//alloc string for details
details = [NSMutableString string];
@@ -715,54 +709,16 @@ NSTableCellView* createNetworkView(NSTableView* tableView, id owner, Connection*
goto bail;
}
//reset icon
connectionCell.imageView.image = nil;
//set icon for TCP sockets
//TODO: (re)set default icon!?
if(nil != connection.state)
{
//listening
if(YES == [connection.state isEqualToString:SOCKET_LISTENING])
{
//set
connectionCell.imageView.image = [NSImage imageNamed:@"listeningIcon"];
}
//connected
else if(YES == [connection.state isEqualToString:SOCKET_ESTABLISHED])
{
//set
connectionCell.imageView.image = [NSImage imageNamed:@"connectedIcon"];
}
}
//set icon for UDP sockets
// ->can't listen, so just show em as streaming
else if(YES == [connection.type isEqualToString:@"SOCK_DGRAM"])
{
//set
connectionCell.imageView.image = [NSImage imageNamed:@"streamIcon"];
}
//set icon
connectionCell.imageView.image = connection.icon;
//default
// ->(re)set main textfield's color to black
connectionCell.textField.textColor = [NSColor blackColor];
//add local addr/port to endpoint string
[endpoints appendString:[NSString stringWithFormat:@"%@:%d", connection.localIPAddr, [connection.localPort unsignedShortValue]]];
//for remote connections
// ->add remote endpoint
if( (nil != connection.remoteIPAddr) &&
(nil != connection.remotePort) )
{
//add remote endpoint
[endpoints appendString:[NSString stringWithFormat:@" -> %@:%d", connection.remoteIPAddr, [connection.remotePort unsignedShortValue]]];
}
//set main text
// ->connection endpoints
[connectionCell.textField setStringValue:endpoints];
[connectionCell.textField setStringValue:connection.endpoints];
//set details
// ->TCP socket
+10
View File
@@ -38,8 +38,18 @@
//socket state
@property(nonatomic, retain)NSString* state;
//pretty print of connnection
@property(nonatomic, retain)NSMutableString* endpoints;
/* METHODS */
//set icon
-(void)setConnectionIcon;
//return a string representation of the connection
-(void)setConnectionString;
@end
+62
View File
@@ -12,6 +12,8 @@
@implementation Connection
@synthesize endpoints;
//init method
-(id)initWithParams:(NSDictionary*)params
{
@@ -21,6 +23,9 @@
self = [super init];
if(nil != self)
{
//alloc string for connection
endpoints = [NSMutableString string];
//extract/save local addr
self.localIPAddr = params[KEY_LOCAL_ADDR];
@@ -44,12 +49,69 @@
//extract/save state
self.state = params[KEY_SOCKET_STATE];
//set icon
[self setConnectionIcon];
//build/set connection string
[self setConnectionString];
}
return self;
}
//set icon
// ->based on state
-(void)setConnectionIcon
{
//set icon for TCP sockets
if(nil != self.state)
{
//listening
if(YES == [self.state isEqualToString:SOCKET_LISTENING])
{
//set
self.icon = [NSImage imageNamed:@"listeningIcon"];
}
//connected
else if(YES == [self.state isEqualToString:SOCKET_ESTABLISHED])
{
//set
self.icon = [NSImage imageNamed:@"connectedIcon"];
}
}
//set icon for UDP sockets
// ->can't listen, so just show em as streaming
else if(YES == [self.type isEqualToString:@"SOCK_DGRAM"])
{
//set
self.icon = [NSImage imageNamed:@"streamIcon"];
}
return;
}
//build nice string
-(void)setConnectionString
{
//add local addr/port to endpoint string
[self.endpoints appendString:[NSString stringWithFormat:@"%@:%d", self.localIPAddr, [self.localPort unsignedShortValue]]];
//for remote connections
// ->add remote endpoint
if( (nil != self.remoteIPAddr) &&
(nil != self.remotePort) )
{
//add remote endpoint
[self.endpoints appendString:[NSString stringWithFormat:@" -> %@:%d", self.remoteIPAddr, [self.remotePort unsignedShortValue]]];
}
return;
}
/*
//convert object to JSON string
+28 -4
View File
@@ -8,7 +8,6 @@
/* Begin PBXBuildFile section */
1D21BC4F172AF43D009D1CFD /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1D21BC4E172AF43D009D1CFD /* Cocoa.framework */; };
CD001B371AB903040089014A /* kkText.png in Resources */ = {isa = PBXBuildFile; fileRef = CD001B341AB903040089014A /* kkText.png */; };
CD001B381AB903040089014A /* logo.png in Resources */ = {isa = PBXBuildFile; fileRef = CD001B351AB903040089014A /* logo.png */; };
CD001B391AB903040089014A /* logoApple.png in Resources */ = {isa = PBXBuildFile; fileRef = CD001B361AB903040089014A /* logoApple.png */; };
CD02194F1AD34D8B005148A2 /* AboutWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD02194D1AD34D8B005148A2 /* AboutWindow.xib */; };
@@ -84,6 +83,13 @@
CDD248341AF5947300232422 /* TAAdaptiveSpaceItem.m in Sources */ = {isa = PBXBuildFile; fileRef = CDD248311AF5947300232422 /* TAAdaptiveSpaceItem.m */; };
CDD248351AF5947300232422 /* TAAdaptiveSpaceItemView.m in Sources */ = {isa = PBXBuildFile; fileRef = CDD248331AF5947300232422 /* TAAdaptiveSpaceItemView.m */; };
CDD2483B1AF5CC4D00232422 /* Task.m in Sources */ = {isa = PBXBuildFile; fileRef = CDD2483A1AF5CC4D00232422 /* Task.m */; };
CDEE76FC1B3FD44500763826 /* saveIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CDEE76FB1B3FD44500763826 /* saveIcon.png */; };
CDEE76FF1B3FD4B000763826 /* saveIconBG.png in Resources */ = {isa = PBXBuildFile; fileRef = CDEE76FD1B3FD4B000763826 /* saveIconBG.png */; };
CDEE77001B3FD4B000763826 /* saveIconOver.png in Resources */ = {isa = PBXBuildFile; fileRef = CDEE76FE1B3FD4B000763826 /* saveIconOver.png */; };
CDEE77021B3FD55600763826 /* teText.png in Resources */ = {isa = PBXBuildFile; fileRef = CDEE77011B3FD55600763826 /* teText.png */; };
CDEE77061B41220300763826 /* search.png in Resources */ = {isa = PBXBuildFile; fileRef = CDEE77031B41220300763826 /* search.png */; };
CDEE77071B41220300763826 /* searchBG.png in Resources */ = {isa = PBXBuildFile; fileRef = CDEE77041B41220300763826 /* searchBG.png */; };
CDEE77081B41220300763826 /* searchOver.png in Resources */ = {isa = PBXBuildFile; fileRef = CDEE77051B41220300763826 /* searchOver.png */; };
CDF08CBF1AC3DE25009B3423 /* logoAppleBG.png in Resources */ = {isa = PBXBuildFile; fileRef = CDF08CBE1AC3DE25009B3423 /* logoAppleBG.png */; };
CDF08CC11AC3E8B0009B3423 /* showOver.png in Resources */ = {isa = PBXBuildFile; fileRef = CDF08CC01AC3E8B0009B3423 /* showOver.png */; };
CDF08CC31AC3E98D009B3423 /* infoOver.png in Resources */ = {isa = PBXBuildFile; fileRef = CDF08CC21AC3E98D009B3423 /* infoOver.png */; };
@@ -133,7 +139,6 @@
1D21BC51172AF43D009D1CFD /* AppKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AppKit.framework; path = System/Library/Frameworks/AppKit.framework; sourceTree = SDKROOT; };
1D21BC52172AF43D009D1CFD /* CoreData.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreData.framework; path = System/Library/Frameworks/CoreData.framework; sourceTree = SDKROOT; };
1D21BC53172AF43D009D1CFD /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
CD001B341AB903040089014A /* kkText.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = kkText.png; path = images/kkText.png; sourceTree = SOURCE_ROOT; };
CD001B351AB903040089014A /* logo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = logo.png; path = images/logo.png; sourceTree = SOURCE_ROOT; };
CD001B361AB903040089014A /* logoApple.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = logoApple.png; path = images/logoApple.png; sourceTree = SOURCE_ROOT; };
CD02194D1AD34D8B005148A2 /* AboutWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = AboutWindow.xib; path = UI/AboutWindow.xib; sourceTree = "<group>"; };
@@ -239,6 +244,13 @@
CDD248331AF5947300232422 /* TAAdaptiveSpaceItemView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = TAAdaptiveSpaceItemView.m; path = 3rdParty/TAAdaptiveSpaceItemView.m; sourceTree = "<group>"; };
CDD248391AF5CC4D00232422 /* Task.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Task.h; sourceTree = SOURCE_ROOT; };
CDD2483A1AF5CC4D00232422 /* Task.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Task.m; sourceTree = SOURCE_ROOT; };
CDEE76FB1B3FD44500763826 /* saveIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = saveIcon.png; path = images/saveIcon.png; sourceTree = SOURCE_ROOT; };
CDEE76FD1B3FD4B000763826 /* saveIconBG.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = saveIconBG.png; path = images/saveIconBG.png; sourceTree = SOURCE_ROOT; };
CDEE76FE1B3FD4B000763826 /* saveIconOver.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = saveIconOver.png; path = images/saveIconOver.png; sourceTree = SOURCE_ROOT; };
CDEE77011B3FD55600763826 /* teText.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = teText.png; path = images/teText.png; sourceTree = SOURCE_ROOT; };
CDEE77031B41220300763826 /* search.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = search.png; path = images/search.png; sourceTree = SOURCE_ROOT; };
CDEE77041B41220300763826 /* searchBG.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = searchBG.png; path = images/searchBG.png; sourceTree = SOURCE_ROOT; };
CDEE77051B41220300763826 /* searchOver.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = searchOver.png; path = images/searchOver.png; sourceTree = SOURCE_ROOT; };
CDF08CBE1AC3DE25009B3423 /* logoAppleBG.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = logoAppleBG.png; path = images/logoAppleBG.png; sourceTree = SOURCE_ROOT; };
CDF08CC01AC3E8B0009B3423 /* showOver.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = showOver.png; path = images/showOver.png; sourceTree = SOURCE_ROOT; };
CDF08CC21AC3E98D009B3423 /* infoOver.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = infoOver.png; path = images/infoOver.png; sourceTree = SOURCE_ROOT; };
@@ -381,6 +393,13 @@
CD6095501A8329FA00E091CD /* images */ = {
isa = PBXGroup;
children = (
CDEE77031B41220300763826 /* search.png */,
CDEE77041B41220300763826 /* searchBG.png */,
CDEE77051B41220300763826 /* searchOver.png */,
CDEE77011B3FD55600763826 /* teText.png */,
CDEE76FD1B3FD4B000763826 /* saveIconBG.png */,
CDEE76FE1B3FD4B000763826 /* saveIconOver.png */,
CDEE76FB1B3FD44500763826 /* saveIcon.png */,
CD4D543E1B2FF32C00008030 /* signedAppleIcon.png */,
CD4D54251B2EA94C00008030 /* streamIcon.png */,
CD4D53D11B23ED4300008030 /* listeningIcon.png */,
@@ -407,7 +426,6 @@
CDF08CC21AC3E98D009B3423 /* infoOver.png */,
CDF08CC01AC3E8B0009B3423 /* showOver.png */,
CDF08CBE1AC3DE25009B3423 /* logoAppleBG.png */,
CD001B341AB903040089014A /* kkText.png */,
CD001B351AB903040089014A /* logo.png */,
CD001B361AB903040089014A /* logoApple.png */,
CDA81DD11A9970A0009790E2 /* signed.png */,
@@ -607,10 +625,13 @@
CDA81D691A95B4E9009790E2 /* bug.png in Resources */,
CD02195E1AD39A74005148A2 /* ResultsWindow.xib in Resources */,
CD3F4D141AF85088002A2647 /* FlatView.xib in Resources */,
CDEE76FF1B3FD4B000763826 /* saveIconBG.png in Resources */,
CDA81D5B1A95B4B4009790E2 /* InfoPlist.strings in Resources */,
CD4D53CA1B20296E00008030 /* unknown.png in Resources */,
CDEE77081B41220300763826 /* searchOver.png in Resources */,
CDA81D6B1A95B4E9009790E2 /* show.png in Resources */,
CDF08CF31ACA6864009B3423 /* browserIcon.png in Resources */,
CDEE77061B41220300763826 /* search.png in Resources */,
CDAB98A11AEAFAFA00C75B4B /* authorizationIcon.png in Resources */,
CD001B391AB903040089014A /* logoApple.png in Resources */,
CDF08CEF1ACA677B009B3423 /* launchIcon.png in Resources */,
@@ -620,7 +641,9 @@
CDF08CF01ACA677B009B3423 /* kernelIcon.png in Resources */,
CD4D54261B2EA94C00008030 /* streamIcon.png in Resources */,
CDF08CD01AC4C6E8009B3423 /* settingsBG.png in Resources */,
CDEE77021B3FD55600763826 /* teText.png in Resources */,
CD0219551AD34E4C005148A2 /* kkIcon.png in Resources */,
CDEE76FC1B3FD44500763826 /* saveIcon.png in Resources */,
CD0219591AD37748005148A2 /* unsigned2.png in Resources */,
CD4D54281B2EAC7800008030 /* NetworkInfoWindow.xib in Resources */,
CDA81D5C1A95B4B4009790E2 /* MainMenu.xib in Resources */,
@@ -630,7 +653,6 @@
CDA5F6C61B16E8D4003CE340 /* lockIcon.png in Resources */,
CDA81DD41A9970A0009790E2 /* unsigned.png in Resources */,
CD7B9FA71ACCAE5E00DF3C71 /* startScanOver.png in Resources */,
CD001B371AB903040089014A /* kkText.png in Resources */,
CDF08CC11AC3E8B0009B3423 /* showOver.png in Resources */,
CD4D54241B2D082300008030 /* DylibInfoWindow.xib in Resources */,
CDA81DCC1A9960A3009790E2 /* virusTotalBG.png in Resources */,
@@ -645,6 +667,7 @@
CD0219501AD34D8B005148A2 /* PrefsWindow.xib in Resources */,
CDA81D6C1A95B4E9009790E2 /* showBG.png in Resources */,
CD3F4CFF1AF72BC4002A2647 /* TaskInfoWindow.xib in Resources */,
CDEE77001B3FD4B000763826 /* saveIconOver.png in Resources */,
CDA81D6A1A95B4E9009790E2 /* mainIcon.png in Resources */,
CDA81D711A95B4E9009790E2 /* stopScanBG.png in Resources */,
CDF08CBF1AC3DE25009B3423 /* logoAppleBG.png in Resources */,
@@ -660,6 +683,7 @@
CDA81DCA1A9960A3009790E2 /* infoBG.png in Resources */,
CDF08CD11AC4C6E8009B3423 /* settings.png in Resources */,
CDA81DD31A9970A0009790E2 /* signed.png in Resources */,
CDEE77071B41220300763826 /* searchBG.png in Resources */,
CDA81E661AA020FD009790E2 /* FileInfoWindow.xib in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -36,11 +36,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "775"
endingLineNumber = "775"
startingLineNumber = "732"
endingLineNumber = "732"
landmarkName = "-reloadTaskTable"
landmarkType = "5">
</BreakpointContent>
@@ -116,11 +116,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457149043.732031"
timestampString = "457254554.748014"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "320"
endingLineNumber = "320"
startingLineNumber = "264"
endingLineNumber = "264"
landmarkName = "-changeViewController"
landmarkType = "5">
</BreakpointContent>
@@ -174,11 +174,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
timestampString = "457254554.748014"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "479"
endingLineNumber = "479"
startingLineNumber = "417"
endingLineNumber = "417"
landmarkName = "-reloadBottomPane:itemView:"
landmarkType = "5">
</BreakpointContent>
@@ -190,11 +190,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
timestampString = "457254554.748014"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "497"
endingLineNumber = "497"
startingLineNumber = "435"
endingLineNumber = "435"
landmarkName = "-reloadBottomPane:itemView:"
landmarkType = "5">
</BreakpointContent>
@@ -295,22 +295,6 @@
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1699"
endingLineNumber = "1699"
landmarkName = "-filterTasks:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
@@ -334,11 +318,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1468"
endingLineNumber = "1468"
startingLineNumber = "1493"
endingLineNumber = "1493"
landmarkName = "-selectBottomPaneContent:"
landmarkType = "5">
</BreakpointContent>
@@ -350,11 +334,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1460"
endingLineNumber = "1460"
startingLineNumber = "1485"
endingLineNumber = "1485"
landmarkName = "-switchView:"
landmarkType = "5">
</BreakpointContent>
@@ -366,11 +350,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1456"
endingLineNumber = "1456"
startingLineNumber = "1481"
endingLineNumber = "1481"
landmarkName = "-switchView:"
landmarkType = "5">
</BreakpointContent>
@@ -382,11 +366,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1584"
endingLineNumber = "1584"
startingLineNumber = "1609"
endingLineNumber = "1609"
landmarkName = "-controlTextDidChange:"
landmarkType = "5">
</BreakpointContent>
@@ -398,11 +382,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Filter.m"
timestampString = "456909793.016924"
timestampString = "457245107.734201"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "50"
endingLineNumber = "50"
startingLineNumber = "91"
endingLineNumber = "91"
landmarkName = "-filterFiles:items:results:"
landmarkType = "5">
</BreakpointContent>
@@ -414,11 +398,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1651"
endingLineNumber = "1651"
startingLineNumber = "1694"
endingLineNumber = "1694"
landmarkName = "-controlTextDidChange:"
landmarkType = "5">
</BreakpointContent>
@@ -430,11 +414,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Filter.m"
timestampString = "456909837.519019"
timestampString = "457245107.734201"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "84"
endingLineNumber = "84"
startingLineNumber = "125"
endingLineNumber = "125"
landmarkName = "-filterConnections:items:results:"
landmarkType = "5">
</BreakpointContent>
@@ -471,22 +455,6 @@
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "InfoWindowController.m"
timestampString = "457146576.340811"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "250"
endingLineNumber = "250"
landmarkName = "-configure"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
@@ -510,11 +478,11 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "581"
endingLineNumber = "581"
startingLineNumber = "530"
endingLineNumber = "530"
landmarkName = "-reloadBinary:"
landmarkType = "5">
</BreakpointContent>
@@ -526,14 +494,110 @@
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457155963.943682"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "610"
endingLineNumber = "610"
startingLineNumber = "559"
endingLineNumber = "559"
landmarkName = "-reloadBinary:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1173"
endingLineNumber = "1173"
landmarkName = "-buttonAppearance:shouldReset:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1185"
endingLineNumber = "1185"
landmarkName = "-buttonAppearance:shouldReset:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1070"
endingLineNumber = "1070"
landmarkName = "-mouseEntered:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1080"
endingLineNumber = "1080"
landmarkName = "-mouseExited:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "633"
endingLineNumber = "633"
landmarkName = "-initTrackingAreas"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "AppDelegate.m"
timestampString = "457254594.166396"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1090"
endingLineNumber = "1090"
landmarkName = "-buttonAppearance:shouldReset:"
landmarkType = "5">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>
+17 -17
View File
@@ -25,7 +25,7 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="40" rowSizeStyle="automatic" viewBased="YES" id="fb0-7X-Sm6">
<rect key="frame" x="0.0" y="0.0" width="1298" height="0.0"/>
<rect key="frame" x="0.0" y="0.0" width="1304" height="0.0"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -73,10 +73,10 @@
</textFieldCell>
</textField>
<button toolTip="show in finder" verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" tag="107" translatesAutoresizingMaskIntoConstraints="NO" id="Y4J-KD-8iy">
<rect key="frame" x="1263" y="17" width="15" height="15"/>
<rect key="frame" x="1263" y="15" width="18" height="18"/>
<constraints>
<constraint firstAttribute="height" constant="15" id="Nro-9M-6Xg"/>
<constraint firstAttribute="width" constant="15" id="rEk-W0-lvD"/>
<constraint firstAttribute="height" constant="18" id="Nro-9M-6Xg"/>
<constraint firstAttribute="width" constant="18" id="rEk-W0-lvD"/>
</constraints>
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="show" imagePosition="only" alignment="center" alternateImage="showBG" state="on" imageScaling="proportionallyDown" inset="2" id="Xle-cK-MOQ">
<behavior key="behavior" lightByContents="YES"/>
@@ -173,8 +173,8 @@
<constraint firstItem="eBe-7K-OiH" firstAttribute="leading" secondItem="Dtg-ac-EVZ" secondAttribute="trailing" constant="18" id="Dd1-7F-oi4"/>
<constraint firstItem="miW-QO-gna" firstAttribute="leading" secondItem="cG6-PF-La2" secondAttribute="trailing" constant="8" id="J3y-8b-F3q"/>
<constraint firstItem="MqO-G8-w9L" firstAttribute="leading" secondItem="aPz-9H-xyy" secondAttribute="trailing" constant="9" id="Rfl-hR-rxD"/>
<constraint firstItem="Y4J-KD-8iy" firstAttribute="leading" secondItem="eBe-7K-OiH" secondAttribute="trailing" constant="20" id="TAx-KS-R7a"/>
<constraint firstAttribute="trailing" secondItem="Y4J-KD-8iy" secondAttribute="trailing" constant="10" id="iMf-M4-bv0"/>
<constraint firstItem="Y4J-KD-8iy" firstAttribute="leading" secondItem="eBe-7K-OiH" secondAttribute="trailing" constant="17" id="TAx-KS-R7a"/>
<constraint firstAttribute="trailing" secondItem="Y4J-KD-8iy" secondAttribute="trailing" constant="8" id="iMf-M4-bv0"/>
<constraint firstAttribute="trailing" secondItem="gpF-bM-EQR" secondAttribute="trailing" constant="4" id="myW-Ol-OIp"/>
<constraint firstItem="Dtg-ac-EVZ" firstAttribute="leading" secondItem="miW-QO-gna" secondAttribute="trailing" constant="8" id="rxd-Fp-O3o"/>
<constraint firstItem="gpF-bM-EQR" firstAttribute="leading" secondItem="MqO-G8-w9L" secondAttribute="trailing" constant="10" id="tLu-Y9-F4d"/>
@@ -205,10 +205,10 @@
</textFieldCell>
</textField>
<button toolTip="show in finder" verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" tag="107" translatesAutoresizingMaskIntoConstraints="NO" id="bau-Td-7ST">
<rect key="frame" x="1263" y="17" width="15" height="15"/>
<rect key="frame" x="1263" y="15" width="18" height="18"/>
<constraints>
<constraint firstAttribute="height" constant="15" id="DPj-gb-dIB"/>
<constraint firstAttribute="width" constant="15" id="oNg-zE-nJv"/>
<constraint firstAttribute="height" constant="18" id="DPj-gb-dIB"/>
<constraint firstAttribute="width" constant="18" id="oNg-zE-nJv"/>
</constraints>
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="show" imagePosition="only" alignment="center" alternateImage="showBG" state="on" imageScaling="proportionallyDown" inset="2" id="PQ1-ho-YTb">
<behavior key="behavior" lightByContents="YES"/>
@@ -267,7 +267,7 @@
<constraint firstAttribute="width" constant="15" id="CAs-CP-Cfn"/>
<constraint firstAttribute="height" constant="15" id="Nyk-SH-8p6"/>
</constraints>
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="info" imagePosition="only" alignment="center" alternateImage="infoBG" state="on" imageScaling="proportionallyDown" inset="2" id="7oW-jB-dbZ">
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="info" imagePosition="overlaps" alignment="center" alternateImage="infoBG" state="on" imageScaling="proportionallyDown" inset="2" id="7oW-jB-dbZ">
<behavior key="behavior" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
@@ -291,10 +291,10 @@
<constraint firstItem="Nvb-5R-deG" firstAttribute="leading" secondItem="FC1-IO-3xs" secondAttribute="trailing" constant="18" id="B3b-K8-iKu"/>
<constraint firstItem="d6d-We-r4h" firstAttribute="leading" secondItem="mKM-Ea-CdX" secondAttribute="trailing" constant="9" id="Geb-Pj-PW9"/>
<constraint firstItem="FC1-IO-3xs" firstAttribute="leading" secondItem="s79-UC-kl8" secondAttribute="trailing" constant="8" id="Rb2-Pf-nT9"/>
<constraint firstAttribute="trailing" secondItem="bau-Td-7ST" secondAttribute="trailing" constant="10" id="YV7-dd-VnF"/>
<constraint firstAttribute="trailing" secondItem="bau-Td-7ST" secondAttribute="trailing" constant="8" id="YV7-dd-VnF"/>
<constraint firstItem="s79-UC-kl8" firstAttribute="leading" secondItem="AMp-Sl-IUz" secondAttribute="leading" constant="13" id="jUo-Cu-hm3"/>
<constraint firstItem="DCt-ke-ecy" firstAttribute="leading" secondItem="d6d-We-r4h" secondAttribute="trailing" constant="10" id="mQm-zs-mcQ"/>
<constraint firstItem="bau-Td-7ST" firstAttribute="leading" secondItem="Nvb-5R-deG" secondAttribute="trailing" constant="20" id="p6O-3z-4Kx"/>
<constraint firstItem="bau-Td-7ST" firstAttribute="leading" secondItem="Nvb-5R-deG" secondAttribute="trailing" constant="17" id="p6O-3z-4Kx"/>
<constraint firstAttribute="trailing" secondItem="DCt-ke-ecy" secondAttribute="trailing" constant="4" id="paK-cH-SPa"/>
</constraints>
<connections>
@@ -314,10 +314,10 @@
</textFieldCell>
</textField>
<button toolTip="show in finder" verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" tag="107" translatesAutoresizingMaskIntoConstraints="NO" id="yDq-tI-YQJ">
<rect key="frame" x="1263" y="17" width="15" height="15"/>
<rect key="frame" x="1263" y="15" width="18" height="18"/>
<constraints>
<constraint firstAttribute="height" constant="15" id="weN-ut-xDd"/>
<constraint firstAttribute="width" constant="15" id="zwd-5o-XMf"/>
<constraint firstAttribute="height" constant="18" id="weN-ut-xDd"/>
<constraint firstAttribute="width" constant="18" id="zwd-5o-XMf"/>
</constraints>
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="show" imagePosition="only" alignment="center" alternateImage="showBG" state="on" imageScaling="proportionallyDown" inset="2" id="i29-A9-Sv1">
<behavior key="behavior" lightByContents="YES"/>
@@ -376,8 +376,8 @@
<constraints>
<constraint firstAttribute="trailing" secondItem="27e-wh-BEp" secondAttribute="trailing" constant="4" id="Ft1-LY-Scf"/>
<constraint firstItem="gwn-Wz-bDY" firstAttribute="leading" secondItem="zC6-7V-PKY" secondAttribute="leading" constant="13" id="GEK-N3-wIC"/>
<constraint firstItem="yDq-tI-YQJ" firstAttribute="leading" secondItem="8Vk-bl-kjr" secondAttribute="trailing" constant="20" id="aV6-Hu-Y5b"/>
<constraint firstAttribute="trailing" secondItem="yDq-tI-YQJ" secondAttribute="trailing" constant="10" id="fqn-su-UYW"/>
<constraint firstItem="yDq-tI-YQJ" firstAttribute="leading" secondItem="8Vk-bl-kjr" secondAttribute="trailing" constant="17" id="aV6-Hu-Y5b"/>
<constraint firstAttribute="trailing" secondItem="yDq-tI-YQJ" secondAttribute="trailing" constant="8" id="fqn-su-UYW"/>
<constraint firstItem="27e-wh-BEp" firstAttribute="leading" secondItem="tIY-Ij-plN" secondAttribute="trailing" constant="10" id="w6k-vz-Q6U"/>
</constraints>
<connections>
+45 -65
View File
@@ -1,141 +1,105 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7702" systemVersion="14D136" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="7706" systemVersion="14D136" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7702"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="7706"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="InfoWindowController">
<connections>
<outlet property="connection" destination="NA2-2e-4hN" id="XMN-mp-7hv"/>
<outlet property="date" destination="Wbv-SK-w53" id="Li5-qD-Hxq"/>
<outlet property="family" destination="Wbv-SK-w53" id="Ed4-yA-B9v"/>
<outlet property="hashes" destination="GQc-va-MLN" id="ta6-6g-dzh"/>
<outlet property="icon" destination="l8H-S3-g8O" id="P7o-8z-MjY"/>
<outlet property="icon" destination="l8H-S3-g8O" id="BO7-3z-ZLM"/>
<outlet property="name" destination="NA2-2e-4hN" id="0Lg-xP-m03"/>
<outlet property="path" destination="dY9-WD-WAf" id="7Lg-cs-t0f"/>
<outlet property="plist" destination="vm8-PU-Bu0" id="9mC-ha-tfK"/>
<outlet property="sign" destination="5Rx-Vm-7gm" id="3g2-Ay-zQ4"/>
<outlet property="protocol" destination="hLU-fi-qXH" id="tyd-MH-eeo"/>
<outlet property="size" destination="hLU-fi-qXH" id="wZf-h4-BKf"/>
<outlet property="state" destination="vm8-PU-Bu0" id="7w4-tn-ItA"/>
<outlet property="status" destination="vm8-PU-Bu0" id="nbA-pd-Eha"/>
<outlet property="type" destination="GQc-va-MLN" id="l7V-wT-132"/>
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
<window title="File Information" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
<window title="Network Information" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" oneShot="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5" userLabel="Network Information">
<windowStyleMask key="styleMask" titled="YES" closable="YES" texturedBackground="YES"/>
<rect key="contentRect" x="196" y="240" width="646" height="260"/>
<rect key="contentRect" x="196" y="240" width="646" height="221"/>
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
<view key="contentView" id="se5-gp-TjO">
<rect key="frame" x="0.0" y="0.0" width="646" height="260"/>
<rect key="frame" x="0.0" y="-5" width="646" height="221"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="NA2-2e-4hN">
<rect key="frame" x="73" y="226" width="553" height="29"/>
<rect key="frame" x="73" y="172" width="553" height="29"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" sendsActionOnEndEditing="YES" title="Item Name" id="pYD-IR-Vtv">
<font key="font" size="20" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="dY9-WD-WAf">
<rect key="frame" x="75" y="191" width="553" height="34"/>
<textFieldCell key="cell" selectable="YES" sendsActionOnEndEditing="YES" title="Item Path" id="MfU-Jb-agl">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GMp-1g-TFI">
<rect key="frame" x="8" y="149" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="hash:" id="fYa-Av-reX">
<rect key="frame" x="8" y="110" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="type:" id="fYa-Av-reX">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="GQc-va-MLN">
<rect key="frame" x="75" y="149" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item hash" id="yYo-KQ-DMm">
<rect key="frame" x="75" y="110" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="connection type" id="yYo-KQ-DMm">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hLU-fi-qXH">
<rect key="frame" x="75" y="129" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item size" id="XJ7-Go-bkG">
<rect key="frame" x="75" y="90" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="connection protocol" id="XJ7-Go-bkG">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Wbv-SK-w53">
<rect key="frame" x="75" y="108" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="item creation/modified" id="hR8-Wz-esN">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" setsMaxLayoutWidthAtFirstLayout="YES" translatesAutoresizingMaskIntoConstraints="NO" id="5Rx-Vm-7gm">
<rect key="frame" x="75" y="51" width="554" height="34"/>
<textFieldCell key="cell" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="signing status" id="00d-h4-SPW">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vm8-PU-Bu0">
<rect key="frame" x="76" y="88" width="554" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="plist" id="23w-N2-C5Z">
<rect key="frame" x="76" y="49" width="555" height="18"/>
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="connection family" id="hR8-Wz-esN">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="DFa-vc-wFY">
<rect key="frame" x="8" y="129" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="size:" id="iBS-9J-ok9">
<rect key="frame" x="8" y="90" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="proto:" id="iBS-9J-ok9">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="tM6-Nq-1Rh">
<rect key="frame" x="8" y="108" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="time:" id="U3V-A7-jO8">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="hel-J4-4Qt">
<rect key="frame" x="8" y="68" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="sign:" id="ezp-TW-Xky">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fAH-dm-SJe">
<rect key="frame" x="8" y="88" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="list:" id="oqF-UL-ydq">
<rect key="frame" x="8" y="49" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="family:" id="U3V-A7-jO8">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<box verticalHuggingPriority="750" fixedFrame="YES" title="Box" boxType="separator" titlePosition="noTitle" translatesAutoresizingMaskIntoConstraints="NO" id="Oh7-Ag-bHc">
<rect key="frame" x="22" y="181" width="604" height="5"/>
<rect key="frame" x="22" y="142" width="604" height="5"/>
<color key="borderColor" white="0.0" alpha="0.41999999999999998" colorSpace="calibratedWhite"/>
<color key="fillColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<font key="titleFont" metaFont="system"/>
</box>
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="l8H-S3-g8O">
<rect key="frame" x="13" y="202" width="48" height="48"/>
<rect key="frame" x="13" y="163" width="48" height="48"/>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="bug" id="w3z-uu-XKS"/>
</imageView>
<button verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="uJq-Bw-lDQ">
<rect key="frame" x="552" y="12" width="82" height="32"/>
<rect key="frame" x="552" y="13" width="82" height="32"/>
<buttonCell key="cell" type="push" title="close" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="RwO-yA-Xwk">
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
<font key="font" size="13" name="Menlo-Regular"/>
@@ -144,12 +108,28 @@
<action selector="closeWindow:" target="-2" id="SSo-9s-xQz"/>
</connections>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="vm8-PU-Bu0">
<rect key="frame" x="76" y="69" width="554" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="left" title="connection status" id="23w-N2-C5Z">
<font key="font" size="11" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fAH-dm-SJe">
<rect key="frame" x="8" y="69" width="59" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="state:" id="oqF-UL-ydq">
<font key="font" size="11" name="Menlo-Bold"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
</subviews>
</view>
<connections>
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
</connections>
<point key="canvasLocation" x="430" y="270"/>
<point key="canvasLocation" x="430" y="250.5"/>
</window>
</objects>
<resources>
+7 -7
View File
@@ -25,7 +25,7 @@
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<outlineView verticalHuggingPriority="750" allowsExpansionToolTips="YES" columnAutoresizingStyle="lastColumnOnly" alternatingRowBackgroundColors="YES" columnReordering="NO" columnResizing="NO" multipleSelection="NO" autosaveColumns="NO" rowHeight="40" rowSizeStyle="automatic" viewBased="YES" indentationPerLevel="16" outlineTableColumn="cLW-QZ-CYz" id="Wr1-No-lg2">
<rect key="frame" x="0.0" y="0.0" width="1304" height="0.0"/>
<rect key="frame" x="0.0" y="0.0" width="1326" height="0.0"/>
<autoresizingMask key="autoresizingMask"/>
<size key="intercellSpacing" width="3" height="2"/>
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
@@ -73,10 +73,10 @@
</textFieldCell>
</textField>
<button toolTip="show in finder" verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" tag="107" translatesAutoresizingMaskIntoConstraints="NO" id="0m7-AT-Eya">
<rect key="frame" x="1288" y="17" width="15" height="15"/>
<rect key="frame" x="1288" y="15" width="18" height="18"/>
<constraints>
<constraint firstAttribute="width" constant="15" id="Tdr-QH-P2k"/>
<constraint firstAttribute="height" constant="15" id="hTD-dI-cC7"/>
<constraint firstAttribute="width" constant="18" id="Tdr-QH-P2k"/>
<constraint firstAttribute="height" constant="18" id="hTD-dI-cC7"/>
</constraints>
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="show" imagePosition="only" alignment="center" alternateImage="showBG" state="on" imageScaling="proportionallyDown" inset="2" id="9bk-bJ-Zyz">
<behavior key="behavior" lightByContents="YES"/>
@@ -135,7 +135,7 @@
<constraint firstAttribute="height" constant="15" id="4EE-js-ecq"/>
<constraint firstAttribute="width" constant="15" id="kAe-AG-RWR"/>
</constraints>
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="info" imagePosition="only" alignment="center" alternateImage="infoBG" state="on" imageScaling="proportionallyDown" inset="2" id="3jg-7d-Ojq">
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="info" imagePosition="overlaps" alignment="center" alternateImage="infoBG" state="on" imageScaling="proportionallyDown" inset="2" id="3jg-7d-Ojq">
<behavior key="behavior" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
@@ -171,10 +171,10 @@
<constraint firstItem="QSB-ts-KGS" firstAttribute="leading" secondItem="ni5-tf-iVs" secondAttribute="trailing" constant="8" id="2Q3-uZ-8AD"/>
<constraint firstItem="Kpb-Mz-fbz" firstAttribute="leading" secondItem="e66-L1-kbk" secondAttribute="trailing" constant="22" id="IAL-i7-0WG"/>
<constraint firstItem="Ljf-ew-dFy" firstAttribute="leading" secondItem="IPo-Hz-FA1" secondAttribute="trailing" constant="8" id="J8E-t8-gI1"/>
<constraint firstAttribute="trailing" secondItem="201-Tu-53I" secondAttribute="trailing" constant="16" id="JVC-Ka-pOt"/>
<constraint firstAttribute="trailing" secondItem="201-Tu-53I" secondAttribute="trailing" constant="18" id="JVC-Ka-pOt"/>
<constraint firstItem="jvS-nx-JhV" firstAttribute="leading" secondItem="0gS-xR-4Le" secondAttribute="leading" constant="5" id="P00-iS-abC"/>
<constraint firstItem="IPo-Hz-FA1" firstAttribute="leading" secondItem="jvS-nx-JhV" secondAttribute="trailing" constant="10" id="SFT-OI-f7s"/>
<constraint firstItem="0m7-AT-Eya" firstAttribute="leading" secondItem="Kpb-Mz-fbz" secondAttribute="trailing" constant="22" id="SKZ-SB-gUV"/>
<constraint firstItem="0m7-AT-Eya" firstAttribute="leading" secondItem="Kpb-Mz-fbz" secondAttribute="trailing" constant="17" id="SKZ-SB-gUV"/>
<constraint firstItem="JeZ-sa-j9F" firstAttribute="leading" secondItem="Ljf-ew-dFy" secondAttribute="trailing" constant="11" id="Su2-k9-ZuQ"/>
<constraint firstItem="201-Tu-53I" firstAttribute="leading" secondItem="JeZ-sa-j9F" secondAttribute="trailing" constant="10" id="Zzh-F4-3Lv"/>
<constraint firstItem="e66-L1-kbk" firstAttribute="leading" secondItem="IPo-Hz-FA1" secondAttribute="trailing" constant="13" id="bQs-ue-I0H"/>
-4
View File
@@ -47,8 +47,4 @@
// ->will callback into AppDelegate to reload item
-(void)getInfoForItem:(Binary*)item scanID:(NSString*)scanID;
//call back up to update item in UI
// ->will either reload task table (top), or just row in item (bottom) table
-(void)updateUI:(Binary*)item;
@end
+10 -11
View File
@@ -330,9 +330,8 @@
}
//update UI
// ->will make item in task or dylib table have updated VT results
[self updateUI:item];
//call up into app delegate to smartly reload
[((AppDelegate*)[[NSApplication sharedApplication] delegate]) reloadBinary:item];
//exit loop
break;
@@ -490,12 +489,12 @@ bail:
NSURLResponse* httpResponse = nil;
//remove item's vt info
// ->as its about to be outdates
// ->as its about to be outdated
item.vtInfo = nil;
//reload UI
// ->will change item's VT button back to ...
[self updateUI:item];
//call up into app delegate to smartly reload
// ->it's VT button will be '...'
[((AppDelegate*)[[NSApplication sharedApplication] delegate]) reloadBinary:item];
//init submit URL
submitURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@?apikey=%@&resource=%@", VT_SUBMIT_URL, VT_API_KEY, item.hashes[KEY_HASH_MD5]]];
@@ -618,9 +617,9 @@ bail:
// ->as its about to be outdates
item.vtInfo = nil;
//reload UI
// ->will change item's VT button back to ...
[self updateUI:item];
//call up into app delegate to smartly reload
// ->will change item's VT button back to '...'
[((AppDelegate*)[[NSApplication sharedApplication] delegate]) reloadBinary:item];
//init scan url
reScanURL = [NSURL URLWithString:[NSString stringWithFormat:@"%@?apikey=%@&resource=%@", VT_RESCAN_URL, VT_API_KEY, item.hashes[KEY_HASH_MD5]]];
@@ -668,7 +667,7 @@ bail:
//save VT results into item
queriedItem.vtInfo = result;
//callback to smartly reload
//call up into app delegate to smartly reload
[((AppDelegate*)[[NSApplication sharedApplication] delegate]) reloadBinary:queriedItem];
+72 -42
View File
@@ -45,41 +45,27 @@
</menu>
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" showsToolbarButton="NO" animationBehavior="default" id="371">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES" unifiedTitleAndToolbar="YES"/>
<rect key="contentRect" x="0.0" y="0.0" width="1353" height="660"/>
<rect key="contentRect" x="0.0" y="0.0" width="1353" height="675"/>
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="877"/>
<value key="minSize" type="size" width="1000" height="650"/>
<value key="maxSize" type="size" width="2000" height="650"/>
<value key="minSize" type="size" width="1000" height="660"/>
<value key="maxSize" type="size" width="2000" height="660"/>
<view key="contentView" id="372">
<rect key="frame" x="0.0" y="0.0" width="1353" height="660"/>
<rect key="frame" x="0.0" y="-8" width="1353" height="675"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<progressIndicator hidden="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" maxValue="100" bezeled="NO" indeterminate="YES" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="839">
<rect key="frame" x="1157" y="-136" width="32" height="32"/>
<rect key="frame" x="1157" y="-121" width="32" height="32"/>
</progressIndicator>
<textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="745">
<rect key="frame" x="869" y="-127" width="268" height="18"/>
<rect key="frame" x="869" y="-112" width="268" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="status..." id="748">
<font key="font" size="13" name="Menlo-Regular"/>
<color key="textColor" red="0.20000000000000001" green="0.67450980392156867" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<segmentedControl verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gtq-gn-VPL">
<rect key="frame" x="465" y="339" width="223" height="24"/>
<segmentedCell key="cell" borderStyle="border" alignment="left" style="rounded" trackingMode="selectOne" id="DHY-0u-YD7">
<font key="font" metaFont="system"/>
<segments>
<segment label="dylibs" width="73" selected="YES"/>
<segment label="files" width="72" tag="1"/>
<segment label="network" tag="2"/>
</segments>
</segmentedCell>
<connections>
<action selector="selectBottomPaneContent:" target="494" id="CQa-nn-jVf"/>
</connections>
</segmentedControl>
<searchField wantsLayer="YES" verticalHuggingPriority="750" ambiguous="YES" misplaced="YES" translatesAutoresizingMaskIntoConstraints="NO" id="bNA-gy-9Ta">
<rect key="frame" x="1133" y="340" width="175" height="22"/>
<rect key="frame" x="1143" y="350" width="175" height="22"/>
<constraints>
<constraint firstAttribute="height" constant="22" id="1yR-lY-9om"/>
</constraints>
@@ -93,30 +79,60 @@
</connections>
</searchField>
<button ambiguous="YES" misplaced="YES" tag="1001" translatesAutoresizingMaskIntoConstraints="NO" id="gSG-Nq-plb">
<rect key="frame" x="9" y="5" width="35" height="32"/>
<rect key="frame" x="9" y="30" width="32" height="25"/>
<constraints>
<constraint firstAttribute="width" constant="35" id="XGt-s5-weq"/>
<constraint firstAttribute="height" constant="32" id="wlR-bC-Msz"/>
<constraint firstAttribute="width" constant="32" id="XGt-s5-weq"/>
<constraint firstAttribute="height" constant="25" id="wlR-bC-Msz"/>
</constraints>
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="settings" imagePosition="overlaps" alignment="center" alternateImage="settingsBG" imageScaling="proportionallyDown" inset="2" id="1TF-i7-mBn">
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="saveIcon" imagePosition="overlaps" alignment="center" alternateImage="saveIconBG" imageScaling="proportionallyDown" inset="2" id="1TF-i7-mBn">
<behavior key="behavior" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="showPreferences:" target="494" id="U3q-gH-jC6"/>
<action selector="saveResults:" target="494" id="gtU-9T-Adm"/>
</connections>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="FRk-Fk-n4f">
<rect key="frame" x="6" y="13" width="38" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="save" id="qeM-6t-Rz6">
<font key="font" size="9" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<button ambiguous="YES" misplaced="YES" tag="1002" translatesAutoresizingMaskIntoConstraints="NO" id="UiZ-UI-inM">
<rect key="frame" x="67" y="30" width="32" height="25"/>
<constraints>
<constraint firstAttribute="width" constant="32" id="OtG-JF-PVX"/>
<constraint firstAttribute="height" constant="25" id="Suo-pl-wcf"/>
</constraints>
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="search" imagePosition="overlaps" alignment="center" alternateImage="searchBG" imageScaling="proportionallyDown" inset="2" id="d77-J8-SjG">
<behavior key="behavior" lightByContents="YES"/>
<font key="font" metaFont="system"/>
</buttonCell>
<connections>
<action selector="search:" target="494" id="YU7-xU-gB7"/>
</connections>
</button>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="MHi-Fa-fbk">
<rect key="frame" x="64" y="13" width="38" height="17"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="search" id="tF8-E0-l1A">
<font key="font" size="9" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
</textFieldCell>
</textField>
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="TNF-7q-Loy" userLabel="Top Pane">
<rect key="frame" x="0.0" y="379" width="1353" height="281"/>
<rect key="frame" x="-1" y="394" width="1353" height="281"/>
</customView>
<customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="E4M-PF-VD0" userLabel="Bottom Pane">
<rect key="frame" x="0.0" y="45" width="1353" height="281"/>
<rect key="frame" x="-1" y="60" width="1353" height="281"/>
<subviews>
<progressIndicator horizontalHuggingPriority="750" verticalHuggingPriority="750" fixedFrame="YES" maxValue="100" bezeled="NO" indeterminate="YES" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="LMT-Bu-FAk">
<rect key="frame" x="660" y="124" width="32" height="32"/>
</progressIndicator>
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="kIC-ZZ-ldy">
<rect key="frame" x="584" y="106" width="184" height="17"/>
<textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="kIC-ZZ-ldy">
<rect key="frame" x="541" y="211" width="271" height="18"/>
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" allowsUndo="NO" sendsActionOnEndEditing="YES" alignment="center" title="no items found" id="LO4-i6-1es">
<font key="font" size="13" name="Menlo-Regular"/>
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -125,8 +141,8 @@
</textField>
</subviews>
</customView>
<button ambiguous="YES" misplaced="YES" tag="1002" translatesAutoresizingMaskIntoConstraints="NO" id="HoI-FQ-vTI">
<rect key="frame" x="662" y="5" width="29" height="32"/>
<button ambiguous="YES" misplaced="YES" tag="1003" translatesAutoresizingMaskIntoConstraints="NO" id="HoI-FQ-vTI">
<rect key="frame" x="662" y="20" width="29" height="32"/>
<buttonCell key="cell" type="bevel" bezelStyle="rounded" image="logoApple" imagePosition="only" alignment="center" alternateImage="logoAppleBG" imageScaling="proportionallyDown" inset="2" id="3g8-vm-R7Z">
<behavior key="behavior" lightByContents="YES"/>
<font key="font" metaFont="system"/>
@@ -135,18 +151,29 @@
<action selector="logoButtonHandler:" target="494" id="H4C-BT-arE"/>
</connections>
</button>
<segmentedControl verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="gtq-gn-VPL">
<rect key="frame" x="565" y="352" width="223" height="24"/>
<segmentedCell key="cell" borderStyle="border" alignment="left" style="rounded" trackingMode="selectOne" id="DHY-0u-YD7">
<font key="font" metaFont="system"/>
<segments>
<segment label="dylibs" width="73" selected="YES"/>
<segment label="files" width="72" tag="1"/>
<segment label="network" tag="2"/>
</segments>
</segmentedCell>
<connections>
<action selector="selectBottomPaneContent:" target="494" id="CQa-nn-jVf"/>
</connections>
</segmentedControl>
</subviews>
<constraints>
<constraint firstAttribute="centerX" secondItem="gtq-gn-VPL" secondAttribute="centerX" id="2Nh-NZ-P5p"/>
<constraint firstAttribute="trailing" secondItem="bNA-gy-9Ta" secondAttribute="trailing" constant="12" id="5N8-Ye-mhe"/>
<constraint firstAttribute="centerX" secondItem="HoI-FQ-vTI" secondAttribute="centerX" constant="1" id="EcI-vS-3LG"/>
</constraints>
</view>
<toolbar key="toolbar" implicitIdentifier="EAE4838B-30FD-4B21-8BE5-8564B213BE96" autosavesConfiguration="NO" displayMode="iconAndLabel" sizeMode="regular" id="qEm-Os-zrh">
<allowedToolbarItems>
<toolbarItem implicitItemIdentifier="NSToolbarShowColorsItem" id="RP7-Aw-wsx"/>
<toolbarItem implicitItemIdentifier="33BA6F3A-71D3-476F-B1FA-72F899CFDCA2" label="Toolbar Item" paletteLabel="Toolbar Item" tag="-1" id="1xB-mk-PMD" customClass="TAAdaptiveSpaceItem"/>
<toolbarItem implicitItemIdentifier="NSToolbarShowFontsItem" id="NU8-Nm-T2R"/>
<toolbarItem implicitItemIdentifier="NSToolbarFlexibleSpaceItem" id="eEO-jq-TLG"/>
<toolbarItem implicitItemIdentifier="146A46B5-DE4B-42D4-98E4-7C3A803AC963" label="" paletteLabel="" id="7ph-jg-soj">
<nil key="toolTip"/>
@@ -191,14 +218,14 @@
</connections>
</searchField>
</toolbarItem>
<toolbarItem implicitItemIdentifier="F54A1AEB-291E-4556-8B7E-D1C677012ABF" label="" paletteLabel="" image="kkText" id="UwA-pW-Mg8">
<toolbarItem implicitItemIdentifier="F54A1AEB-291E-4556-8B7E-D1C677012ABF" label="" paletteLabel="" image="teText" id="UwA-pW-Mg8">
<nil key="toolTip"/>
<size key="minSize" width="48" height="48"/>
<size key="maxSize" width="330" height="48"/>
<imageView key="view" horizontalHuggingPriority="251" verticalHuggingPriority="251" id="aNo-Uq-I0N">
<rect key="frame" x="116" y="14" width="330" height="48"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="kkText" id="hwQ-Gs-JPJ"/>
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="teText" id="hwQ-Gs-JPJ"/>
</imageView>
</toolbarItem>
</allowedToolbarItems>
@@ -211,7 +238,7 @@
<toolbarItem reference="y4u-t8-Acq"/>
</defaultToolbarItems>
</toolbar>
<point key="canvasLocation" x="662.5" y="340.5"/>
<point key="canvasLocation" x="662.5" y="347.5"/>
</window>
<customObject id="494" customClass="AppDelegate">
<connections>
@@ -223,7 +250,8 @@
<outlet property="logoButton" destination="HoI-FQ-vTI" id="bzc-wu-4Hv"/>
<outlet property="noItemsLabel" destination="kIC-ZZ-ldy" id="nOm-8E-tZA"/>
<outlet property="progressIndicator" destination="839" id="870"/>
<outlet property="showPreferencesButton" destination="gSG-Nq-plb" id="MsG-Ve-uHw"/>
<outlet property="searchButton" destination="UiZ-UI-inM" id="neL-LX-ZHh"/>
<outlet property="showPreferencesButton" destination="gSG-Nq-plb" id="AQZ-wC-I5a"/>
<outlet property="statusText" destination="745" id="871"/>
<outlet property="topPane" destination="TNF-7q-Loy" id="KZl-fO-P4O"/>
<outlet property="viewSelector" destination="nRz-eH-T6D" id="1YT-Nb-K3a"/>
@@ -243,10 +271,12 @@
</textField>
</objects>
<resources>
<image name="kkText" width="426.48001098632812" height="85.919998168945312"/>
<image name="logoApple" width="194" height="236"/>
<image name="logoAppleBG" width="194" height="236"/>
<image name="settings" width="256" height="256"/>
<image name="settingsBG" width="256" height="256"/>
<image name="saveIcon" width="256" height="256"/>
<image name="saveIconBG" width="256" height="256"/>
<image name="search" width="256" height="256"/>
<image name="searchBG" width="256" height="256"/>
<image name="teText" width="460.55999755859375" height="85.919998168945312"/>
</resources>
</document>
-6375
View File
File diff suppressed because one or more lines are too long
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 11 KiB

+6315
View File
File diff suppressed because one or more lines are too long
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB