mirror of
https://github.com/objective-see/KnockKnock.git
synced 2026-03-22 06:52:25 +00:00
Localizations
This commit is contained in:
+25
-76
@@ -57,9 +57,6 @@
|
||||
//defaults
|
||||
NSUserDefaults* defaults = nil;
|
||||
|
||||
//app's (self) signing status
|
||||
OSStatus signingStatus = -1;
|
||||
|
||||
//init filter object
|
||||
itemFilter = [[Filter alloc] init];
|
||||
|
||||
@@ -79,19 +76,6 @@
|
||||
// work-around for menu not showing since we set Application is agent(UIElement): YES
|
||||
[[[NSRunningApplication runningApplicationsWithBundleIdentifier:@"com.objective-see.KnockKnock"] firstObject] activateWithOptions:NSApplicationActivateIgnoringOtherApps];
|
||||
|
||||
//verify self
|
||||
signingStatus = verifySelf();
|
||||
|
||||
//show error if app (self) cannot be verified
|
||||
if(noErr != signingStatus)
|
||||
{
|
||||
//show alert
|
||||
[self showUnverifiedAlert:signingStatus];
|
||||
|
||||
//exit
|
||||
exit(0);
|
||||
}
|
||||
|
||||
//load defaults
|
||||
defaults = [NSUserDefaults standardUserDefaults];
|
||||
|
||||
@@ -171,7 +155,7 @@
|
||||
[self.scanButtonLabel setStringValue:START_SCAN];
|
||||
|
||||
//set version info
|
||||
[self.versionString setStringValue:[NSString stringWithFormat:@"version: %@", getAppVersion()]];
|
||||
[self.versionString setStringValue:[NSString stringWithFormat:NSLocalizedString(@"version: %@", @"version: %@"), getAppVersion()]];
|
||||
|
||||
//init tracking areas
|
||||
[self initTrackingAreas];
|
||||
@@ -246,16 +230,16 @@
|
||||
infoAlert = [[NSAlert alloc] init];
|
||||
|
||||
//main text
|
||||
infoAlert.messageText = @"Open 'System Preferences' to give KnockKnock Full Disk Access?";
|
||||
infoAlert.messageText = NSLocalizedString(@"Open 'System Preferences' to give KnockKnock Full Disk Access?", @"Open 'System Preferences' to give KnockKnock Full Disk Access?");
|
||||
|
||||
//detailed test
|
||||
infoAlert.informativeText = @"This allows the app to perform a comprehensive scan.\n\nIn System Preferences:\r ▪ Click the 🔒 to authenticate\r ▪ Click the ➕ to add KnockKnock.app\n";
|
||||
infoAlert.informativeText = NSLocalizedString(@"This allows the app to perform a comprehensive scan.\n\nIn System Preferences:\r ▪ Click the 🔒 to authenticate\r ▪ Click the ➕ to add KnockKnock.app\n", @"This allows the app to perform a comprehensive scan.\n\nIn System Preferences:\r ▪ Click the 🔒 to authenticate\r ▪ Click the ➕ to add KnockKnock.app\n");
|
||||
|
||||
//ok button
|
||||
[infoAlert addButtonWithTitle:@"OK"];
|
||||
[infoAlert addButtonWithTitle:NSLocalizedString(@"OK", @"OK")];
|
||||
|
||||
//alert button
|
||||
[infoAlert addButtonWithTitle:@"Cancel"];
|
||||
[infoAlert addButtonWithTitle:NSLocalizedString(@"Cancel", @"Cancel")];
|
||||
|
||||
//show 'alert' and capture user response
|
||||
// user clicked 'OK'? -> open System Preferences
|
||||
@@ -270,36 +254,6 @@
|
||||
return;
|
||||
}
|
||||
|
||||
//display alert about OS not being supported
|
||||
-(void)showUnsupportedAlert
|
||||
{
|
||||
//alert box
|
||||
NSAlert* unsupportedAlert = nil;
|
||||
|
||||
//alloc/init alert
|
||||
unsupportedAlert = [NSAlert alertWithMessageText:[NSString stringWithFormat:@"OS X %@ is not supported", [[NSProcessInfo processInfo] operatingSystemVersionString]] defaultButton:@"Ok" alternateButton:nil otherButton:nil informativeTextWithFormat:@"sorry for the inconvenience!"];
|
||||
|
||||
//show it
|
||||
[unsupportedAlert runModal];
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//display alert about app being unverifable
|
||||
-(void)showUnverifiedAlert:(OSStatus)signingError
|
||||
{
|
||||
//alert box
|
||||
NSAlert* modifiedAlert = nil;
|
||||
|
||||
//alloc/init alert
|
||||
modifiedAlert = [NSAlert alertWithMessageText:@"ERROR: application could not be verified" defaultButton:@"Ok" alternateButton:nil otherButton:nil informativeTextWithFormat:@"code: %d\nplease re-download, and run again", signingError];
|
||||
|
||||
//show it
|
||||
[modifiedAlert runModal];
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
//init tracking areas for buttons
|
||||
// provides mouse over effects (i.e. image swaps)
|
||||
-(void)initTrackingAreas
|
||||
@@ -380,7 +334,7 @@
|
||||
for(NSUInteger i=0; i < pluginCount; i++)
|
||||
{
|
||||
//init plugin
|
||||
pluginObj = [(PluginBase*)([NSClassFromString(SUPPORTED_PLUGINS[i]) alloc]) init];
|
||||
pluginObj = [[NSClassFromString(SUPPORTED_PLUGINS[i]) alloc] init];
|
||||
|
||||
//save it
|
||||
[pluginObjects addObject:pluginObj];
|
||||
@@ -484,7 +438,7 @@
|
||||
self.statusText.hidden = NO;
|
||||
|
||||
//update
|
||||
[self.statusText setStringValue:[NSString stringWithFormat:@"Scanning: %@", plugin.name]];
|
||||
[self.statusText setStringValue:[NSString stringWithFormat:NSLocalizedString(@"Scanning: %@", @"Scanning: %@"), plugin.name]];
|
||||
|
||||
});
|
||||
|
||||
@@ -519,7 +473,7 @@
|
||||
dispatch_sync(dispatch_get_main_queue(), ^{
|
||||
|
||||
//update
|
||||
[self.statusText setStringValue:[NSString stringWithFormat:@"Awaiting VirusTotal results"]];
|
||||
[self.statusText setStringValue:[NSString stringWithFormat:NSLocalizedString(@"Awaiting VirusTotal results", @"Awaiting VirusTotal results")]];
|
||||
|
||||
});
|
||||
|
||||
@@ -626,7 +580,7 @@
|
||||
{
|
||||
//open URL
|
||||
// ->invokes user's default browser
|
||||
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"https://objective-see.com"]];
|
||||
[[NSWorkspace sharedWorkspace] openURL:[NSURL URLWithString:@"https://objective-see.org"]];
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -985,7 +939,7 @@
|
||||
flaggedItemCount += plugin.flaggedItems.count;
|
||||
|
||||
//init detailed msg
|
||||
details = [NSMutableString stringWithFormat:@"■ Found %lu items", (unsigned long)itemCount];
|
||||
details = [NSMutableString stringWithFormat:NSLocalizedString(@"■ Found %lu items", @"■ Found %lu items"), (unsigned long)itemCount];
|
||||
}
|
||||
//otherwise just unknown items
|
||||
else
|
||||
@@ -1006,7 +960,7 @@
|
||||
}
|
||||
|
||||
//init detailed msg
|
||||
details = [NSMutableString stringWithFormat:@"■ Found %lu non-OS items", (unsigned long)itemCount];
|
||||
details = [NSMutableString stringWithFormat:NSLocalizedString(@"■ Found %lu non-OS items", @"■ Found %lu non-OS items"), (unsigned long)itemCount];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1019,14 +973,14 @@
|
||||
if(YES != self.isConnected)
|
||||
{
|
||||
//add disconnected msg
|
||||
[details appendFormat:@" \r\n■ Unable to query VirusTotal (network)"];
|
||||
[details appendFormat:NSLocalizedString(@" \r\n■ Unable to query VirusTotal (network)", @" \r\n■ Unable to query VirusTotal (network)")];
|
||||
}
|
||||
//otherwise
|
||||
// ->add details about # of flagged items
|
||||
else
|
||||
{
|
||||
//add flagged items
|
||||
[details appendFormat:@" \r\n■ %lu item(s) flagged by VirusTotal", flaggedItemCount];
|
||||
[details appendFormat:NSLocalizedString(@" \r\n■ %lu item(s) flagged by VirusTotal", @" \r\n■ %lu item(s) flagged by VirusTotal"), flaggedItemCount];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1105,7 +1059,7 @@
|
||||
if(SCAN_BUTTON_TAG == tag)
|
||||
{
|
||||
//scan running?
|
||||
if(YES == [self.scanButtonLabel.stringValue isEqualToString:@"Stop Scan"])
|
||||
if(YES == [self.scanButtonLabel.stringValue isEqualToString:NSLocalizedString(@"Stop Scan", @"Stop Scan")])
|
||||
{
|
||||
//set
|
||||
imageName = @"stopScan";
|
||||
@@ -1147,7 +1101,7 @@
|
||||
if(SCAN_BUTTON_TAG == tag)
|
||||
{
|
||||
//scan running
|
||||
if(YES == [self.scanButtonLabel.stringValue isEqualToString:@"Stop Scan"])
|
||||
if(YES == [self.scanButtonLabel.stringValue isEqualToString:NSLocalizedString(@"Stop Scan", @"Stop Scan")])
|
||||
{
|
||||
//set
|
||||
imageName = @"stopScanOver";
|
||||
@@ -1305,17 +1259,12 @@
|
||||
NSLog(@"OBJECTIVE-SEE ERROR: saving output to %@ failed with %@", [panel URL], error);
|
||||
|
||||
//init popup w/ error msg
|
||||
saveResultPopup = [NSAlert alertWithMessageText:@"ERROR: failed to save output" defaultButton:@"Ok" alternateButton:nil otherButton:nil informativeTextWithFormat:@"details: %@", error];
|
||||
saveResultPopup = [NSAlert alertWithMessageText:NSLocalizedString(@"ERROR: failed to save output", @"ERROR: failed to save output") defaultButton:NSLocalizedString(@"Ok",@"Ok") alternateButton:nil otherButton:nil informativeTextWithFormat:NSLocalizedString(@"details: %@", @"details: %@"), error];
|
||||
|
||||
}
|
||||
//happy
|
||||
// ->set result msg
|
||||
else
|
||||
{
|
||||
//init popup w/ msg
|
||||
saveResultPopup = [NSAlert alertWithMessageText:@"Succesfully saved output" defaultButton:@"Ok" alternateButton:nil otherButton:nil informativeTextWithFormat:@"file: %s", [[panel URL] fileSystemRepresentation]];
|
||||
}
|
||||
|
||||
|
||||
//TODO: show in Finder
|
||||
|
||||
//show popup
|
||||
[saveResultPopup runModal];
|
||||
|
||||
@@ -1431,10 +1380,10 @@
|
||||
case UPDATE_ERROR:
|
||||
|
||||
//set details
|
||||
details = @"error, failed to check for an update.";
|
||||
details = NSLocalizedString(@"error, failed to check for an update.", @"error, failed to check for an update.");
|
||||
|
||||
//set action
|
||||
action = @"Close";
|
||||
action = NSLocalizedString(@"Close", @"Close");
|
||||
|
||||
break;
|
||||
|
||||
@@ -1442,10 +1391,10 @@
|
||||
case UPDATE_NOTHING_NEW:
|
||||
|
||||
//set details
|
||||
details = [NSString stringWithFormat:@"you're all up to date! (v. %@)", getAppVersion()];
|
||||
details = [NSString stringWithFormat:NSLocalizedString(@"you're all up to date! (v. %@)", @"you're all up to date! (v. %@)"), getAppVersion()];
|
||||
|
||||
//set action
|
||||
action = @"Close";
|
||||
action = NSLocalizedString(@"Close", @"Close");
|
||||
|
||||
break;
|
||||
|
||||
@@ -1453,10 +1402,10 @@
|
||||
case UPDATE_NEW_VERSION:
|
||||
|
||||
//set details
|
||||
details = [NSString stringWithFormat:@"a new version (%@) is available!", newVersion];
|
||||
details = [NSString stringWithFormat:NSLocalizedString(@"a new version (%@) is available!", @"a new version (%@) is available!"), newVersion];
|
||||
|
||||
//set action
|
||||
action = @"Update";
|
||||
action = NSLocalizedString(@"Update", @"Update");
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22690"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
@@ -53,7 +53,7 @@
|
||||
<window title="KnockKnock" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="371" userLabel="Main Window">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
|
||||
<rect key="contentRect" x="0.0" y="0.0" width="1295" height="671"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1512" height="944"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="3440" height="1415"/>
|
||||
<value key="minSize" type="size" width="1000" height="597"/>
|
||||
<value key="maxSize" type="size" width="2500" height="1000"/>
|
||||
<view key="contentView" misplaced="YES" id="372">
|
||||
@@ -100,7 +100,7 @@
|
||||
</constraints>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyUpOrDown" image="NSColorPanel" id="JBT-rT-wqy"/>
|
||||
</imageView>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" tag="100" translatesAutoresizingMaskIntoConstraints="NO" id="xGV-Tx-yH1">
|
||||
<textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" tag="100" translatesAutoresizingMaskIntoConstraints="NO" id="xGV-Tx-yH1">
|
||||
<rect key="frame" x="54" y="33" width="282" height="20"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="278" id="EuR-1k-VH6"/>
|
||||
@@ -111,7 +111,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="749" tag="101" translatesAutoresizingMaskIntoConstraints="NO" id="8wd-TY-VtF">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="749" tag="101" translatesAutoresizingMaskIntoConstraints="NO" id="8wd-TY-VtF">
|
||||
<rect key="frame" x="54" y="15" width="325" height="13"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Item Category Description" id="5m9-ob-we9">
|
||||
<font key="font" size="11" name="Menlo-Regular"/>
|
||||
@@ -119,7 +119,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="102" translatesAutoresizingMaskIntoConstraints="NO" id="COl-vm-3pc">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="102" translatesAutoresizingMaskIntoConstraints="NO" id="COl-vm-3pc">
|
||||
<rect key="frame" x="340" y="43" width="40" height="20"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="36" id="UXg-0o-sWR"/>
|
||||
@@ -200,7 +200,7 @@
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="577">
|
||||
<rect key="frame" x="5" y="8" width="40" height="51"/>
|
||||
<rect key="frame" x="5" y="8" width="40" height="50"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="40" id="kB1-L8-KFN"/>
|
||||
<constraint firstAttribute="width" constant="40" id="wxT-p0-paD"/>
|
||||
@@ -215,7 +215,7 @@
|
||||
</constraints>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="signed" id="gVd-oB-yPP"/>
|
||||
</imageView>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="578">
|
||||
<textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="578">
|
||||
<rect key="frame" x="66" y="39" width="586" height="15"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" title="Item Name" id="579">
|
||||
<font key="font" size="13" name="Menlo-Regular"/>
|
||||
@@ -234,7 +234,7 @@
|
||||
<constraint firstAttribute="height" constant="29" id="ahw-QZ-Z1R"/>
|
||||
</constraints>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="104" translatesAutoresizingMaskIntoConstraints="NO" id="CiH-Az-c01">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="104" translatesAutoresizingMaskIntoConstraints="NO" id="CiH-Az-c01">
|
||||
<rect key="frame" x="654" y="4" width="65" height="12"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="12" id="6jt-Ne-3IA"/>
|
||||
@@ -260,7 +260,7 @@
|
||||
<action selector="showInfo:" target="8VH-uv-w4O" id="pNK-sy-1L0"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="106" translatesAutoresizingMaskIntoConstraints="NO" id="Mkq-Uk-nSg">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="106" translatesAutoresizingMaskIntoConstraints="NO" id="Mkq-Uk-nSg">
|
||||
<rect key="frame" x="714" y="4" width="49" height="12"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="45" id="1s0-Zf-mjM"/>
|
||||
@@ -286,7 +286,7 @@
|
||||
<action selector="showInFinder:" target="8VH-uv-w4O" id="elc-yI-cGX"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="108" translatesAutoresizingMaskIntoConstraints="NO" id="rjr-rW-ScS">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="108" translatesAutoresizingMaskIntoConstraints="NO" id="rjr-rW-ScS">
|
||||
<rect key="frame" x="758" y="4" width="49" height="12"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="45" id="2RI-E3-pmm"/>
|
||||
@@ -298,7 +298,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="101" translatesAutoresizingMaskIntoConstraints="NO" id="BUm-sJ-dtF">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="101" translatesAutoresizingMaskIntoConstraints="NO" id="BUm-sJ-dtF">
|
||||
<rect key="frame" x="51" y="24" width="606" height="13"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" title="item path" id="mds-5g-doD">
|
||||
<font key="font" size="11" name="Menlo-Regular"/>
|
||||
@@ -306,7 +306,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="102" translatesAutoresizingMaskIntoConstraints="NO" id="u9p-Kt-bod">
|
||||
<textField hidden="YES" focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="102" translatesAutoresizingMaskIntoConstraints="NO" id="u9p-Kt-bod">
|
||||
<rect key="frame" x="51" y="14" width="606" height="13"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" title="item plist" id="Xud-mK-lFp">
|
||||
<font key="font" size="11" name="Menlo-Regular"/>
|
||||
@@ -359,7 +359,7 @@
|
||||
</constraints>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="binaryIcon" id="dVo-AX-092"/>
|
||||
</imageView>
|
||||
<textField verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="s2m-Ro-25U">
|
||||
<textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="s2m-Ro-25U">
|
||||
<rect key="frame" x="51" y="38" width="712" height="15"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" title="Command" id="66D-SU-ADH">
|
||||
<font key="font" size="13" name="Menlo-Regular"/>
|
||||
@@ -367,7 +367,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="101" translatesAutoresizingMaskIntoConstraints="NO" id="ZOQ-sX-OJ3">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="101" translatesAutoresizingMaskIntoConstraints="NO" id="ZOQ-sX-OJ3">
|
||||
<rect key="frame" x="51" y="22" width="712" height="13"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" title="item path" id="W7z-UG-RS9">
|
||||
<font key="font" size="11" name="Menlo-Regular"/>
|
||||
@@ -389,7 +389,7 @@
|
||||
<action selector="showInFinder:" target="8VH-uv-w4O" id="9Dd-FG-R1Y"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="108" translatesAutoresizingMaskIntoConstraints="NO" id="W4S-lZ-nlD">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="108" translatesAutoresizingMaskIntoConstraints="NO" id="W4S-lZ-nlD">
|
||||
<rect key="frame" x="758" y="4" width="49" height="12"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="12" id="WzJ-X9-e7f"/>
|
||||
@@ -441,7 +441,7 @@
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="768">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="768">
|
||||
<rect key="frame" x="563" y="567" width="129" height="24"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="Start Scan" id="769">
|
||||
<font key="font" size="20" name="Menlo-Bold"/>
|
||||
@@ -464,7 +464,7 @@
|
||||
<constraint firstAttribute="height" constant="32" id="aeM-9z-lBy"/>
|
||||
</constraints>
|
||||
</progressIndicator>
|
||||
<textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="745">
|
||||
<textField hidden="YES" focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="745">
|
||||
<rect key="frame" x="1120" y="19" width="75" height="18"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="18" id="1aa-3i-5H9"/>
|
||||
@@ -519,7 +519,7 @@
|
||||
<action selector="saveResults:" target="494" id="uNp-yV-2St"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" alphaValue="0.14999999999999999" translatesAutoresizingMaskIntoConstraints="NO" id="LfL-UI-usm">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" alphaValue="0.14999999999999999" translatesAutoresizingMaskIntoConstraints="NO" id="LfL-UI-usm">
|
||||
<rect key="frame" x="1125" y="613" width="128" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="124" id="Ad2-tH-lq6"/>
|
||||
@@ -554,7 +554,7 @@
|
||||
</constraints>
|
||||
<color key="borderColor" red="0.57623034719999999" green="0.75666517020000001" blue="0.23727124929999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</box>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="kNk-UY-Y8u">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="kNk-UY-Y8u">
|
||||
<rect key="frame" x="3" y="517" width="97" height="26"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="clipping" title="Categories:" id="8lb-2h-A37">
|
||||
@@ -563,7 +563,7 @@
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fVB-DL-Qgc">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fVB-DL-Qgc">
|
||||
<rect key="frame" x="435" y="517" width="89" height="26"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="clipping" title="Items:" id="akD-jt-Y0L">
|
||||
@@ -659,7 +659,7 @@
|
||||
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" restorable="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="" animationBehavior="default" id="gD4-T8-B0H" userLabel="Friends">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES"/>
|
||||
<rect key="contentRect" x="2843" y="305" width="767" height="288"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1512" height="944"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="3440" height="1415"/>
|
||||
<view key="contentView" id="zIY-EJ-oYy">
|
||||
<rect key="frame" x="0.0" y="0.0" width="767" height="288"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
@@ -675,7 +675,7 @@
|
||||
<action selector="closeFriendsWindow:" target="494" id="4tu-GP-sAX"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="G5i-Vw-RGw">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="G5i-Vw-RGw">
|
||||
<rect key="frame" x="72" y="210" width="623" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" lineBreakMode="clipping" alignment="center" title="Mahalo to the "Friends of Objective-See"" id="JSF-ba-pCy">
|
||||
@@ -732,7 +732,7 @@
|
||||
<image name="FriendsMosyle" width="963" height="265"/>
|
||||
<image name="FriendsPANW" width="1312" height="240"/>
|
||||
<image name="FriendsSophos" width="518" height="137"/>
|
||||
<image name="NSActionTemplate" width="20" height="20"/>
|
||||
<image name="NSActionTemplate" width="19" height="19"/>
|
||||
<image name="NSColorPanel" width="32" height="32"/>
|
||||
<image name="binaryIcon" width="512" height="512"/>
|
||||
<image name="info" width="256" height="256"/>
|
||||
@@ -280,14 +280,14 @@ enum Signer{None, Apple, AppStore, DevID, AdHoc};
|
||||
#define PATREON_URL @"https://www.patreon.com/bePatron?c=701171"
|
||||
|
||||
//product url
|
||||
#define PRODUCT_URL @"https://objective-see.com/products/knockknock.html"
|
||||
#define PRODUCT_URL @"https://objective-see.org/products/knockknock.html"
|
||||
|
||||
//product name
|
||||
// ...for version check
|
||||
#define PRODUCT_NAME @"KnockKnock"
|
||||
|
||||
//product version url
|
||||
#define PRODUCT_VERSIONS_URL @"https://objective-see.com/products.json"
|
||||
#define PRODUCT_VERSIONS_URL @"https://objective-see.org/products.json"
|
||||
|
||||
//update error
|
||||
#define UPDATE_ERROR -1
|
||||
|
||||
Executable
+753
@@ -0,0 +1,753 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22690"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
|
||||
<connections>
|
||||
<outlet property="delegate" destination="494" id="495"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||
<menu title="AMainMenu" systemMenu="main" id="29">
|
||||
<items>
|
||||
<menuItem title="KnockKnock" id="56">
|
||||
<menu key="submenu" title="KnockKnock" systemMenu="apple" id="57">
|
||||
<items>
|
||||
<menuItem title="About" id="134">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="about:" target="494" id="1Av-a0-4RW"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Preferences" tag="1" id="Cd7-Xq-jnw">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="showPreferences:" target="494" id="h1a-NR-0PY"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem title="Check For Update..." tag="2" id="m5h-Zp-Y8c">
|
||||
<modifierMask key="keyEquivalentModifierMask"/>
|
||||
<connections>
|
||||
<action selector="check4Update:" target="494" id="w2B-fN-g1g"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
<menuItem isSeparatorItem="YES" id="149">
|
||||
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||
</menuItem>
|
||||
<menuItem title="Quit" tag="3" keyEquivalent="q" id="136">
|
||||
<connections>
|
||||
<action selector="terminate:" target="-3" id="449"/>
|
||||
</connections>
|
||||
</menuItem>
|
||||
</items>
|
||||
</menu>
|
||||
</menuItem>
|
||||
</items>
|
||||
<point key="canvasLocation" x="43" y="-154"/>
|
||||
</menu>
|
||||
<window title="KnockKnock" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="371" userLabel="Main Window">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
|
||||
<rect key="contentRect" x="0.0" y="0.0" width="1295" height="671"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="3440" height="1415"/>
|
||||
<value key="minSize" type="size" width="1000" height="597"/>
|
||||
<value key="maxSize" type="size" width="2500" height="1000"/>
|
||||
<view key="contentView" misplaced="YES" id="372">
|
||||
<rect key="frame" x="0.0" y="0.0" width="1295" height="671"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<userGuides>
|
||||
<userLayoutGuide location="662" affinity="minY"/>
|
||||
</userGuides>
|
||||
<subviews>
|
||||
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="68" horizontalPageScroll="10" verticalLineScroll="68" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rqX-FA-o3e" customClass="RFOverlayScrollView">
|
||||
<rect key="frame" x="-5" y="52" width="400" height="468"/>
|
||||
<clipView key="contentView" drawsBackground="NO" id="GbW-la-76n">
|
||||
<rect key="frame" x="0.0" y="0.0" width="400" height="468"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<tableView verticalHuggingPriority="750" tag="99" allowsExpansionToolTips="YES" columnAutoresizingStyle="none" alternatingRowBackgroundColors="YES" columnReordering="NO" columnResizing="NO" multipleSelection="NO" emptySelection="NO" autosaveColumns="NO" typeSelect="NO" rowHeight="66" viewBased="YES" floatsGroupRows="NO" id="zYP-0r-U2A">
|
||||
<rect key="frame" x="0.0" y="0.0" width="400" height="468"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
<tableColumns>
|
||||
<tableColumn identifier="MainCell" editable="NO" width="368" minWidth="368" maxWidth="368" id="YxG-Lg-xla">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left" title="categories">
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</tableHeaderCell>
|
||||
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="Ybp-gD-hTK">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<prototypeCellViews>
|
||||
<tableCellView identifier="categoryCell" id="xyl-A2-Ges">
|
||||
<rect key="frame" x="11" y="1" width="377" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="xh4-Ga-2R3">
|
||||
<rect key="frame" x="4" y="17" width="40" height="32"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="32" id="dgJ-Bz-fYq"/>
|
||||
<constraint firstAttribute="width" constant="40" id="yZI-zl-HNC"/>
|
||||
</constraints>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyUpOrDown" image="NSColorPanel" id="JBT-rT-wqy"/>
|
||||
</imageView>
|
||||
<textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" tag="100" translatesAutoresizingMaskIntoConstraints="NO" id="xGV-Tx-yH1">
|
||||
<rect key="frame" x="54" y="33" width="282" height="20"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="278" id="EuR-1k-VH6"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" sendsActionOnEndEditing="YES" title="Item Category" id="DUA-BI-gth">
|
||||
<font key="font" size="17" name="Menlo-Bold"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="749" tag="101" translatesAutoresizingMaskIntoConstraints="NO" id="8wd-TY-VtF">
|
||||
<rect key="frame" x="54" y="15" width="325" height="13"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Item Category Description" id="5m9-ob-we9">
|
||||
<font key="font" size="11" name="Menlo-Regular"/>
|
||||
<color key="textColor" white="0.5" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="102" translatesAutoresizingMaskIntoConstraints="NO" id="COl-vm-3pc">
|
||||
<rect key="frame" x="340" y="43" width="40" height="20"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="36" id="UXg-0o-sWR"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="000" id="jB9-4g-VcD">
|
||||
<font key="font" size="17" name="Menlo-Regular"/>
|
||||
<color key="textColor" white="0.45205439809999998" alpha="0.84999999999999998" colorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="xGV-Tx-yH1" firstAttribute="leading" secondItem="xh4-Ga-2R3" secondAttribute="trailing" constant="12" id="EXr-B8-chd"/>
|
||||
<constraint firstItem="xh4-Ga-2R3" firstAttribute="centerY" secondItem="xyl-A2-Ges" secondAttribute="centerY" id="GPA-7Y-mPo"/>
|
||||
<constraint firstItem="8wd-TY-VtF" firstAttribute="leading" secondItem="xh4-Ga-2R3" secondAttribute="trailing" constant="12" id="PHm-Bt-q58"/>
|
||||
<constraint firstItem="xGV-Tx-yH1" firstAttribute="top" secondItem="xyl-A2-Ges" secondAttribute="top" constant="13" id="PvE-7Q-kXz"/>
|
||||
<constraint firstAttribute="bottom" secondItem="8wd-TY-VtF" secondAttribute="bottom" constant="15" id="QGE-e5-LM2"/>
|
||||
<constraint firstAttribute="trailing" secondItem="8wd-TY-VtF" secondAttribute="trailing" id="SGb-BP-LZI"/>
|
||||
<constraint firstItem="xh4-Ga-2R3" firstAttribute="leading" secondItem="xyl-A2-Ges" secondAttribute="leading" constant="4" id="d6D-1Z-Q4e"/>
|
||||
<constraint firstItem="COl-vm-3pc" firstAttribute="top" secondItem="xyl-A2-Ges" secondAttribute="top" constant="3" id="pSg-DQ-zPo"/>
|
||||
<constraint firstAttribute="trailing" secondItem="COl-vm-3pc" secondAttribute="trailing" constant="-1" id="pgN-Jo-a5J"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<outlet property="imageView" destination="xh4-Ga-2R3" id="6F6-3c-OWh"/>
|
||||
<outlet property="textField" destination="xGV-Tx-yH1" id="h0N-Pf-9dL"/>
|
||||
</connections>
|
||||
</tableCellView>
|
||||
</prototypeCellViews>
|
||||
</tableColumn>
|
||||
</tableColumns>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="SmD-QP-397" id="WGC-pN-Tbg"/>
|
||||
<outlet property="delegate" destination="SmD-QP-397" id="YX1-DF-hMB"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
</subviews>
|
||||
<nil key="backgroundColor"/>
|
||||
</clipView>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="400" id="XkS-rH-sQN"/>
|
||||
</constraints>
|
||||
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" controlSize="mini" horizontal="YES" id="7vn-ou-LQB">
|
||||
<rect key="frame" x="1" y="298" width="480" height="16"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" controlSize="mini" horizontal="NO" id="UN2-nS-XZS" customClass="RFOverlayScroller">
|
||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
<scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="68" horizontalPageScroll="10" verticalLineScroll="68" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="536" customClass="RFOverlayScrollView">
|
||||
<rect key="frame" x="427" y="52" width="828" height="468"/>
|
||||
<clipView key="contentView" drawsBackground="NO" id="LBx-qs-tgi">
|
||||
<rect key="frame" x="0.0" y="0.0" width="828" height="468"/>
|
||||
<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="66" rowSizeStyle="automatic" viewBased="YES" id="537">
|
||||
<rect key="frame" x="0.0" y="0.0" width="828" height="468"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<size key="intercellSpacing" width="3" height="2"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="gridColor" name="gridColor" catalog="System" colorSpace="catalog"/>
|
||||
<tableColumns>
|
||||
<tableColumn identifier="MainCell" editable="NO" width="796" minWidth="40" maxWidth="2000" id="541">
|
||||
<tableHeaderCell key="headerCell" lineBreakMode="truncatingTail" borderStyle="border" alignment="left">
|
||||
<color key="textColor" name="headerTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" white="0.33333298560000002" alpha="1" colorSpace="calibratedWhite"/>
|
||||
</tableHeaderCell>
|
||||
<textFieldCell key="dataCell" lineBreakMode="truncatingTail" selectable="YES" editable="YES" alignment="left" title="Text Cell" id="544">
|
||||
<font key="font" metaFont="system"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
<tableColumnResizingMask key="resizingMask" resizeWithTable="YES" userResizable="YES"/>
|
||||
<prototypeCellViews>
|
||||
<tableCellView identifier="FileCell" id="576">
|
||||
<rect key="frame" x="11" y="1" width="805" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="577">
|
||||
<rect key="frame" x="5" y="8" width="40" height="50"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="40" id="kB1-L8-KFN"/>
|
||||
<constraint firstAttribute="width" constant="40" id="wxT-p0-paD"/>
|
||||
</constraints>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="NSActionTemplate" id="580"/>
|
||||
</imageView>
|
||||
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" tag="100" translatesAutoresizingMaskIntoConstraints="NO" id="lmb-Gf-NAo">
|
||||
<rect key="frame" x="53" y="41" width="11" height="11"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="11" id="6h8-zN-IAf"/>
|
||||
<constraint firstAttribute="width" constant="11" id="pXI-22-KE9"/>
|
||||
</constraints>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="signed" id="gVd-oB-yPP"/>
|
||||
</imageView>
|
||||
<textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="578">
|
||||
<rect key="frame" x="66" y="39" width="586" height="15"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" title="Item Name" id="579">
|
||||
<font key="font" size="13" name="Menlo-Regular"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button toolTip="show virustotal info" tag="103" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="jMK-Qd-DDP" customClass="VTButton">
|
||||
<rect key="frame" x="661" y="19" width="49" height="29"/>
|
||||
<buttonCell key="cell" type="bevel" title="▪ ▪ ▪" bezelStyle="regularSquare" imagePosition="overlaps" alignment="center" enabled="NO" refusesFirstResponder="YES" state="on" imageScaling="proportionallyDown" inset="2" id="1za-Bx-vuB">
|
||||
<behavior key="behavior" lightByContents="YES"/>
|
||||
<font key="font" size="8" name="Menlo-Bold"/>
|
||||
</buttonCell>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="49" id="4GP-IV-TxD"/>
|
||||
<constraint firstAttribute="height" constant="29" id="ahw-QZ-Z1R"/>
|
||||
</constraints>
|
||||
</button>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="104" translatesAutoresizingMaskIntoConstraints="NO" id="CiH-Az-c01">
|
||||
<rect key="frame" x="654" y="4" width="65" height="12"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="12" id="6jt-Ne-3IA"/>
|
||||
<constraint firstAttribute="width" constant="61" id="Csc-5I-vNn"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="virustotal" id="50R-D6-zAq">
|
||||
<font key="font" size="9" name="Menlo-Regular"/>
|
||||
<color key="textColor" white="0.5" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button toolTip="show file info" tag="105" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1D0-FU-7Yz">
|
||||
<rect key="frame" x="728" y="23" width="21" height="21"/>
|
||||
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="info" imagePosition="only" alignment="center" alternateImage="infoBG" state="on" imageScaling="proportionallyDown" inset="2" id="kiw-Hx-aiN">
|
||||
<behavior key="behavior" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="21" id="H5r-kf-JB8"/>
|
||||
<constraint firstAttribute="height" constant="21" id="eWB-hd-Kcv"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<action selector="showInfo:" target="8VH-uv-w4O" id="pNK-sy-1L0"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="106" translatesAutoresizingMaskIntoConstraints="NO" id="Mkq-Uk-nSg">
|
||||
<rect key="frame" x="714" y="4" width="49" height="12"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="45" id="1s0-Zf-mjM"/>
|
||||
<constraint firstAttribute="height" constant="12" id="Xzb-iR-pDz"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="info" id="NHF-GA-lDe">
|
||||
<font key="font" size="9" name="Menlo-Regular"/>
|
||||
<color key="textColor" white="0.5" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button toolTip="show in finder" tag="107" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="602">
|
||||
<rect key="frame" x="769" y="21" width="27" height="24"/>
|
||||
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="show" imagePosition="only" alignment="center" alternateImage="showBG" state="on" imageScaling="proportionallyDown" inset="2" id="603">
|
||||
<behavior key="behavior" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="27" id="K7d-Mq-cdn"/>
|
||||
<constraint firstAttribute="height" constant="24" id="PiG-96-MLK"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<action selector="showInFinder:" target="8VH-uv-w4O" id="elc-yI-cGX"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="108" translatesAutoresizingMaskIntoConstraints="NO" id="rjr-rW-ScS">
|
||||
<rect key="frame" x="758" y="4" width="49" height="12"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="45" id="2RI-E3-pmm"/>
|
||||
<constraint firstAttribute="height" constant="12" id="cLw-ol-XjQ"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="show" id="3n6-7o-mGC">
|
||||
<font key="font" size="9" name="Menlo-Regular"/>
|
||||
<color key="textColor" white="0.5" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="101" translatesAutoresizingMaskIntoConstraints="NO" id="BUm-sJ-dtF">
|
||||
<rect key="frame" x="51" y="24" width="606" height="13"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" title="item path" id="mds-5g-doD">
|
||||
<font key="font" size="11" name="Menlo-Regular"/>
|
||||
<color key="textColor" white="0.5" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField hidden="YES" focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="102" translatesAutoresizingMaskIntoConstraints="NO" id="u9p-Kt-bod">
|
||||
<rect key="frame" x="51" y="14" width="606" height="13"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" title="item plist" id="Xud-mK-lFp">
|
||||
<font key="font" size="11" name="Menlo-Regular"/>
|
||||
<color key="textColor" white="0.5" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="577" firstAttribute="top" secondItem="576" secondAttribute="top" constant="13" id="68k-YR-7Xb"/>
|
||||
<constraint firstItem="577" firstAttribute="leading" secondItem="576" secondAttribute="leading" constant="5" id="7rt-Vz-O2D"/>
|
||||
<constraint firstItem="602" firstAttribute="leading" secondItem="1D0-FU-7Yz" secondAttribute="trailing" constant="20" id="Avj-x7-xrO"/>
|
||||
<constraint firstAttribute="trailing" secondItem="u9p-Kt-bod" secondAttribute="trailing" constant="150" id="BgY-wb-pop"/>
|
||||
<constraint firstItem="578" firstAttribute="leading" secondItem="577" secondAttribute="trailing" constant="23" identifier="itemNameLeftPadding" id="CUg-kd-MXX"/>
|
||||
<constraint firstAttribute="trailing" secondItem="578" secondAttribute="trailing" constant="155" id="Dur-8R-AXM"/>
|
||||
<constraint firstAttribute="trailing" secondItem="Mkq-Uk-nSg" secondAttribute="trailing" constant="44" id="HYM-Fc-4Uc"/>
|
||||
<constraint firstItem="BUm-sJ-dtF" firstAttribute="leading" secondItem="577" secondAttribute="trailing" constant="8" id="Krc-Rz-RiV"/>
|
||||
<constraint firstItem="1D0-FU-7Yz" firstAttribute="centerY" secondItem="602" secondAttribute="centerY" id="Ll9-VD-Dfx"/>
|
||||
<constraint firstItem="rjr-rW-ScS" firstAttribute="leading" secondItem="CiH-Az-c01" secondAttribute="trailing" constant="43" id="LuG-Br-Mor"/>
|
||||
<constraint firstItem="578" firstAttribute="top" secondItem="576" secondAttribute="top" constant="12" id="REA-TZ-G0x"/>
|
||||
<constraint firstAttribute="trailing" secondItem="rjr-rW-ScS" secondAttribute="trailing" id="Snx-x8-XMM"/>
|
||||
<constraint firstItem="jMK-Qd-DDP" firstAttribute="centerY" secondItem="577" secondAttribute="centerY" id="Spf-6G-ih6"/>
|
||||
<constraint firstItem="u9p-Kt-bod" firstAttribute="leading" secondItem="577" secondAttribute="trailing" constant="8" id="WQ0-6D-CSP"/>
|
||||
<constraint firstItem="Mkq-Uk-nSg" firstAttribute="baseline" secondItem="rjr-rW-ScS" secondAttribute="baseline" id="ZPT-86-vbZ"/>
|
||||
<constraint firstItem="1D0-FU-7Yz" firstAttribute="leading" secondItem="jMK-Qd-DDP" secondAttribute="trailing" constant="18" id="d1Q-4K-GLe"/>
|
||||
<constraint firstItem="u9p-Kt-bod" firstAttribute="top" secondItem="578" secondAttribute="bottom" constant="12" id="df0-lA-pOl"/>
|
||||
<constraint firstAttribute="trailing" secondItem="602" secondAttribute="trailing" constant="9" id="fLY-uL-geN"/>
|
||||
<constraint firstItem="lmb-Gf-NAo" firstAttribute="centerY" secondItem="578" secondAttribute="centerY" id="g5b-vO-rv8"/>
|
||||
<constraint firstItem="1D0-FU-7Yz" firstAttribute="centerY" secondItem="577" secondAttribute="centerY" id="gCl-JB-HZj"/>
|
||||
<constraint firstItem="CiH-Az-c01" firstAttribute="top" secondItem="jMK-Qd-DDP" secondAttribute="bottom" constant="3" id="hDp-En-YKj"/>
|
||||
<constraint firstItem="CiH-Az-c01" firstAttribute="baseline" secondItem="Mkq-Uk-nSg" secondAttribute="baseline" id="kz6-Ki-dvM"/>
|
||||
<constraint firstItem="lmb-Gf-NAo" firstAttribute="leading" secondItem="BUm-sJ-dtF" secondAttribute="leading" id="pud-rT-yh8"/>
|
||||
<constraint firstItem="BUm-sJ-dtF" firstAttribute="top" secondItem="578" secondAttribute="bottom" constant="2" identifier="itemPathTopPadding" id="vti-l0-X0m"/>
|
||||
<constraint firstAttribute="trailing" secondItem="BUm-sJ-dtF" secondAttribute="trailing" constant="150" id="xOJ-5M-z93"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<outlet property="imageView" destination="577" id="581"/>
|
||||
<outlet property="textField" destination="578" id="582"/>
|
||||
</connections>
|
||||
</tableCellView>
|
||||
<tableCellView identifier="CommandCell" id="n0G-fw-7qX">
|
||||
<rect key="frame" x="11" y="69" width="805" height="66"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
<subviews>
|
||||
<imageView translatesAutoresizingMaskIntoConstraints="NO" id="9vY-7y-ZHe">
|
||||
<rect key="frame" x="5" y="13" width="40" height="40"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="40" id="FGT-Jy-fjH"/>
|
||||
<constraint firstAttribute="height" constant="40" id="hXF-k5-7IJ"/>
|
||||
</constraints>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="binaryIcon" id="dVo-AX-092"/>
|
||||
</imageView>
|
||||
<textField focusRingType="none" verticalHuggingPriority="750" horizontalCompressionResistancePriority="250" translatesAutoresizingMaskIntoConstraints="NO" id="s2m-Ro-25U">
|
||||
<rect key="frame" x="51" y="38" width="712" height="15"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" title="Command" id="66D-SU-ADH">
|
||||
<font key="font" size="13" name="Menlo-Regular"/>
|
||||
<color key="textColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="101" translatesAutoresizingMaskIntoConstraints="NO" id="ZOQ-sX-OJ3">
|
||||
<rect key="frame" x="51" y="22" width="712" height="13"/>
|
||||
<textFieldCell key="cell" lineBreakMode="truncatingTail" selectable="YES" allowsUndo="NO" sendsActionOnEndEditing="YES" title="item path" id="W7z-UG-RS9">
|
||||
<font key="font" size="11" name="Menlo-Regular"/>
|
||||
<color key="textColor" white="0.5" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button toolTip="show in finder" tag="107" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FJa-D6-BXh">
|
||||
<rect key="frame" x="769" y="20" width="27" height="24"/>
|
||||
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="show" imagePosition="only" alignment="center" alternateImage="showBG" state="on" imageScaling="proportionallyDown" inset="2" id="bII-lI-zIh">
|
||||
<behavior key="behavior" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="27" id="66n-WG-zZ8"/>
|
||||
<constraint firstAttribute="height" constant="24" id="6ke-Gw-ROc"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<action selector="showInFinder:" target="8VH-uv-w4O" id="9Dd-FG-R1Y"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" tag="108" translatesAutoresizingMaskIntoConstraints="NO" id="W4S-lZ-nlD">
|
||||
<rect key="frame" x="758" y="4" width="49" height="12"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="12" id="WzJ-X9-e7f"/>
|
||||
<constraint firstAttribute="width" constant="45" id="q3c-XB-eBD"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="show" id="RsS-lJ-vVj">
|
||||
<font key="font" size="9" name="Menlo-Regular"/>
|
||||
<color key="textColor" white="0.5" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstAttribute="trailing" secondItem="FJa-D6-BXh" secondAttribute="trailing" constant="9" id="3AA-rM-7rf"/>
|
||||
<constraint firstItem="9vY-7y-ZHe" firstAttribute="centerY" secondItem="n0G-fw-7qX" secondAttribute="centerY" id="6R5-TL-sfk"/>
|
||||
<constraint firstItem="ZOQ-sX-OJ3" firstAttribute="leading" secondItem="9vY-7y-ZHe" secondAttribute="trailing" constant="8" id="7uq-Sp-NKT"/>
|
||||
<constraint firstItem="s2m-Ro-25U" firstAttribute="leading" secondItem="9vY-7y-ZHe" secondAttribute="trailing" constant="8" id="JAt-se-SuP"/>
|
||||
<constraint firstItem="ZOQ-sX-OJ3" firstAttribute="top" secondItem="n0G-fw-7qX" secondAttribute="top" constant="31" id="K8u-qD-6Ue"/>
|
||||
<constraint firstItem="W4S-lZ-nlD" firstAttribute="top" secondItem="FJa-D6-BXh" secondAttribute="bottom" constant="4" id="Oke-NU-75J"/>
|
||||
<constraint firstItem="FJa-D6-BXh" firstAttribute="leading" secondItem="ZOQ-sX-OJ3" secondAttribute="trailing" constant="8" id="a2f-Ka-XBr"/>
|
||||
<constraint firstItem="FJa-D6-BXh" firstAttribute="leading" secondItem="s2m-Ro-25U" secondAttribute="trailing" constant="8" id="dAg-Pf-c0a"/>
|
||||
<constraint firstItem="9vY-7y-ZHe" firstAttribute="leading" secondItem="n0G-fw-7qX" secondAttribute="leading" constant="5" id="gcr-Nt-WNn"/>
|
||||
<constraint firstItem="9vY-7y-ZHe" firstAttribute="top" secondItem="s2m-Ro-25U" secondAttribute="top" id="lzn-bX-CGo"/>
|
||||
<constraint firstAttribute="trailing" secondItem="W4S-lZ-nlD" secondAttribute="trailing" id="q2m-R0-1tw"/>
|
||||
<constraint firstItem="FJa-D6-BXh" firstAttribute="top" secondItem="n0G-fw-7qX" secondAttribute="top" constant="22" id="yVh-Pl-FPn"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<outlet property="imageView" destination="9vY-7y-ZHe" id="KDg-Ye-DaU"/>
|
||||
<outlet property="textField" destination="s2m-Ro-25U" id="BJl-bI-yjK"/>
|
||||
</connections>
|
||||
</tableCellView>
|
||||
</prototypeCellViews>
|
||||
</tableColumn>
|
||||
</tableColumns>
|
||||
<connections>
|
||||
<outlet property="dataSource" destination="8VH-uv-w4O" id="bBF-y4-5AW"/>
|
||||
<outlet property="delegate" destination="8VH-uv-w4O" id="QWm-sr-pJK"/>
|
||||
</connections>
|
||||
</tableView>
|
||||
</subviews>
|
||||
<nil key="backgroundColor"/>
|
||||
</clipView>
|
||||
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" controlSize="mini" horizontal="YES" id="538">
|
||||
<rect key="frame" x="1" y="298" width="480" height="16"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
<scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" controlSize="mini" horizontal="NO" id="540" customClass="RFOverlayScroller">
|
||||
<rect key="frame" x="224" y="17" width="15" height="102"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="768">
|
||||
<rect key="frame" x="563" y="567" width="129" height="24"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="center" title="Start Scan" id="769">
|
||||
<font key="font" size="20" name="Menlo-Bold"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="8im-ux-tdL">
|
||||
<rect key="frame" x="1010" y="623" width="245" height="48"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="245" id="K7W-In-lUh"/>
|
||||
<constraint firstAttribute="height" constant="48" id="coN-VH-SzH"/>
|
||||
</constraints>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="kkText" id="r1Z-Hx-M6T"/>
|
||||
</imageView>
|
||||
<progressIndicator hidden="YES" horizontalHuggingPriority="750" verticalHuggingPriority="750" maxValue="100" bezeled="NO" indeterminate="YES" style="spinning" translatesAutoresizingMaskIntoConstraints="NO" id="839">
|
||||
<rect key="frame" x="1215" y="10" width="32" height="32"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="32" id="5xq-yG-SSJ"/>
|
||||
<constraint firstAttribute="height" constant="32" id="aeM-9z-lBy"/>
|
||||
</constraints>
|
||||
</progressIndicator>
|
||||
<textField hidden="YES" focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="745">
|
||||
<rect key="frame" x="1120" y="19" width="75" height="18"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="18" id="1aa-3i-5H9"/>
|
||||
</constraints>
|
||||
<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" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button tag="1001" translatesAutoresizingMaskIntoConstraints="NO" id="gSG-Nq-plb">
|
||||
<rect key="frame" x="15" y="10" width="35" height="32"/>
|
||||
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="settings" imagePosition="overlaps" alignment="center" alternateImage="settingsBG" imageScaling="proportionallyDown" inset="2" id="1TF-i7-mBn">
|
||||
<behavior key="behavior" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="35" id="V0n-oO-ZDf"/>
|
||||
<constraint firstAttribute="height" constant="32" id="Yz4-4o-kJc"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<action selector="showPreferences:" target="494" id="U3q-gH-jC6"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button tag="1003" translatesAutoresizingMaskIntoConstraints="NO" id="HoI-FQ-vTI">
|
||||
<rect key="frame" x="613" y="10" 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"/>
|
||||
</buttonCell>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="32" id="GAR-Ew-IAH"/>
|
||||
<constraint firstAttribute="width" constant="29" id="p6h-LP-9tp"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<action selector="logoButtonHandler:" target="494" id="H4C-BT-arE"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button tag="1002" translatesAutoresizingMaskIntoConstraints="NO" id="cnG-6Y-PZr">
|
||||
<rect key="frame" x="58" y="10" width="35" height="32"/>
|
||||
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="save" imagePosition="overlaps" alignment="center" alternateImage="saveBG" imageScaling="proportionallyDown" inset="2" id="Cbl-sV-mb4">
|
||||
<behavior key="behavior" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
<string key="keyEquivalent">s</string>
|
||||
<modifierMask key="keyEquivalentModifierMask" command="YES"/>
|
||||
</buttonCell>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="35" id="21R-IR-HXE"/>
|
||||
<constraint firstAttribute="height" constant="32" id="k09-Oe-8KT"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<action selector="saveResults:" target="494" id="uNp-yV-2St"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" alphaValue="0.14999999999999999" translatesAutoresizingMaskIntoConstraints="NO" id="LfL-UI-usm">
|
||||
<rect key="frame" x="1125" y="613" width="128" height="17"/>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="124" id="Ad2-tH-lq6"/>
|
||||
<constraint firstAttribute="height" constant="17" id="v5H-r7-N8o"/>
|
||||
</constraints>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" alignment="right" title="version x.x.x" id="TTQ-yd-uVn">
|
||||
<font key="font" size="10" name="Menlo-Regular"/>
|
||||
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<box boxType="custom" borderType="line" borderWidth="2" cornerRadius="5" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="WyP-Ci-amT">
|
||||
<rect key="frame" x="3" y="520" width="384" height="2"/>
|
||||
<view key="contentView" id="gih-fL-oNv">
|
||||
<rect key="frame" x="2" y="1" width="380" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
</view>
|
||||
<constraints>
|
||||
<constraint firstAttribute="width" constant="384" id="BMn-Ta-euR"/>
|
||||
<constraint firstAttribute="height" constant="2" id="nHm-lL-wKP"/>
|
||||
</constraints>
|
||||
<color key="borderColor" red="0.57623034719999999" green="0.75666517020000001" blue="0.23727124929999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</box>
|
||||
<box boxType="custom" borderType="line" borderWidth="2" cornerRadius="5" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="KxO-Jf-gyu">
|
||||
<rect key="frame" x="435" y="520" width="820" height="2"/>
|
||||
<view key="contentView" id="40M-xz-Xgw">
|
||||
<rect key="frame" x="2" y="1" width="816" height="0.0"/>
|
||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||
</view>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="2" id="TTL-6d-eJ0"/>
|
||||
</constraints>
|
||||
<color key="borderColor" red="0.57623034719999999" green="0.75666517020000001" blue="0.23727124929999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
|
||||
</box>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="kNk-UY-Y8u">
|
||||
<rect key="frame" x="3" y="517" width="97" height="26"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="clipping" title="Categories:" id="8lb-2h-A37">
|
||||
<font key="font" size="14" name="Menlo-Bold"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fVB-DL-Qgc">
|
||||
<rect key="frame" x="435" y="517" width="89" height="26"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" lineBreakMode="clipping" title="Items:" id="akD-jt-Y0L">
|
||||
<font key="font" size="14" name="Menlo-Bold"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<box verticalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="x7S-Ww-gLm">
|
||||
<rect key="frame" x="0.0" y="49" width="1255" height="5"/>
|
||||
</box>
|
||||
<button focusRingType="none" tag="1000" translatesAutoresizingMaskIntoConstraints="NO" id="655">
|
||||
<rect key="frame" x="500" y="589" width="256" height="73"/>
|
||||
<buttonCell key="cell" type="bevel" bezelStyle="regularSquare" image="startScan" imagePosition="overlaps" alignment="center" alternateImage="startScanBG" focusRingType="none" imageScaling="proportionallyDown" inset="2" id="656">
|
||||
<behavior key="behavior" lightByContents="YES"/>
|
||||
<font key="font" metaFont="system"/>
|
||||
</buttonCell>
|
||||
<constraints>
|
||||
<constraint firstAttribute="height" constant="73" id="cg5-Ox-JCe"/>
|
||||
<constraint firstAttribute="width" constant="256" id="hbv-4S-4RK"/>
|
||||
</constraints>
|
||||
<connections>
|
||||
<action selector="scanButtonHandler:" target="494" id="836"/>
|
||||
</connections>
|
||||
</button>
|
||||
</subviews>
|
||||
<constraints>
|
||||
<constraint firstItem="536" firstAttribute="top" secondItem="KxO-Jf-gyu" secondAttribute="bottom" id="0Pq-fP-ujK"/>
|
||||
<constraint firstAttribute="trailing" secondItem="8im-ux-tdL" secondAttribute="trailing" id="0rc-bF-mDK"/>
|
||||
<constraint firstItem="768" firstAttribute="centerX" secondItem="372" secondAttribute="centerX" id="16Z-w9-wSB"/>
|
||||
<constraint firstItem="WyP-Ci-amT" firstAttribute="top" secondItem="372" secondAttribute="top" constant="149" id="22l-0n-sLa"/>
|
||||
<constraint firstItem="655" firstAttribute="top" secondItem="372" secondAttribute="top" constant="9" id="3MP-az-SJd"/>
|
||||
<constraint firstItem="LfL-UI-usm" firstAttribute="top" secondItem="372" secondAttribute="top" constant="41" id="3YG-9Y-8Vo"/>
|
||||
<constraint firstItem="839" firstAttribute="leading" secondItem="745" secondAttribute="trailing" constant="22" id="3sw-oy-qcE"/>
|
||||
<constraint firstAttribute="bottom" secondItem="536" secondAttribute="bottom" constant="52" id="Ahv-CE-awA"/>
|
||||
<constraint firstAttribute="trailing" secondItem="536" secondAttribute="trailing" id="Ceo-fw-xdy"/>
|
||||
<constraint firstItem="cnG-6Y-PZr" firstAttribute="leading" secondItem="gSG-Nq-plb" secondAttribute="trailing" constant="8" symbolic="YES" id="IzN-cm-PUS"/>
|
||||
<constraint firstItem="536" firstAttribute="top" secondItem="372" secondAttribute="top" constant="151" id="J2d-A4-ilB"/>
|
||||
<constraint firstAttribute="bottom" secondItem="gSG-Nq-plb" secondAttribute="bottom" constant="10" id="LRX-T6-Tk0"/>
|
||||
<constraint firstAttribute="trailing" secondItem="KxO-Jf-gyu" secondAttribute="trailing" id="M0L-Os-TaB"/>
|
||||
<constraint firstItem="HoI-FQ-vTI" firstAttribute="centerX" secondItem="372" secondAttribute="centerX" id="M4b-FH-jIV"/>
|
||||
<constraint firstItem="KxO-Jf-gyu" firstAttribute="leading" secondItem="372" secondAttribute="leading" constant="435" id="MAg-wX-bFX"/>
|
||||
<constraint firstItem="655" firstAttribute="centerX" secondItem="372" secondAttribute="centerX" id="NC3-A7-8xg"/>
|
||||
<constraint firstItem="rqX-FA-o3e" firstAttribute="leading" secondItem="372" secondAttribute="leading" constant="-5" id="NWn-cQ-Ruh"/>
|
||||
<constraint firstItem="8im-ux-tdL" firstAttribute="top" secondItem="372" secondAttribute="top" id="Ne0-XL-geJ"/>
|
||||
<constraint firstAttribute="bottom" secondItem="x7S-Ww-gLm" secondAttribute="bottom" constant="51" id="RRk-Ie-7dD"/>
|
||||
<constraint firstAttribute="trailing" secondItem="LfL-UI-usm" secondAttribute="trailing" constant="4" id="T9o-l2-2vM"/>
|
||||
<constraint firstItem="x7S-Ww-gLm" firstAttribute="leading" secondItem="372" secondAttribute="leading" id="UXl-gU-OLI"/>
|
||||
<constraint firstItem="768" firstAttribute="top" secondItem="372" secondAttribute="top" constant="80" id="VsW-Y7-EJa"/>
|
||||
<constraint firstAttribute="bottom" secondItem="745" secondAttribute="bottom" constant="19" id="c9W-7d-MXn"/>
|
||||
<constraint firstItem="gSG-Nq-plb" firstAttribute="leading" secondItem="372" secondAttribute="leading" constant="15" id="dLQ-s9-Oh2"/>
|
||||
<constraint firstAttribute="bottom" secondItem="rqX-FA-o3e" secondAttribute="bottom" constant="52" id="drt-dw-JrT"/>
|
||||
<constraint firstItem="536" firstAttribute="leading" secondItem="rqX-FA-o3e" secondAttribute="trailing" constant="32" id="gzW-um-0eE"/>
|
||||
<constraint firstAttribute="bottom" secondItem="839" secondAttribute="bottom" constant="10" id="ibd-gt-Ml2"/>
|
||||
<constraint firstItem="rqX-FA-o3e" firstAttribute="top" secondItem="372" secondAttribute="top" constant="151" id="j4C-hj-Nqa"/>
|
||||
<constraint firstAttribute="bottom" secondItem="cnG-6Y-PZr" secondAttribute="bottom" constant="10" id="kpI-CG-cra"/>
|
||||
<constraint firstAttribute="trailing" secondItem="839" secondAttribute="trailing" constant="8" id="oft-kd-JKU"/>
|
||||
<constraint firstAttribute="trailing" secondItem="x7S-Ww-gLm" secondAttribute="trailing" id="sEA-ig-sjM"/>
|
||||
<constraint firstItem="WyP-Ci-amT" firstAttribute="leading" secondItem="372" secondAttribute="leading" constant="3" id="uZ6-IT-4Ce"/>
|
||||
<constraint firstAttribute="bottom" secondItem="HoI-FQ-vTI" secondAttribute="bottom" constant="10" id="xa9-ig-n9U"/>
|
||||
</constraints>
|
||||
</view>
|
||||
<point key="canvasLocation" x="614.5" y="367.5"/>
|
||||
</window>
|
||||
<customObject id="494" customClass="AppDelegate">
|
||||
<connections>
|
||||
<outlet property="categoryTableController" destination="SmD-QP-397" id="PIf-PG-Sg9"/>
|
||||
<outlet property="closeButton" destination="eD8-BN-Z1D" id="pgJ-gh-v2W"/>
|
||||
<outlet property="friends" destination="gD4-T8-B0H" id="bob-rW-SSv"/>
|
||||
<outlet property="itemTableController" destination="8VH-uv-w4O" id="zNb-sJ-msd"/>
|
||||
<outlet property="logoButton" destination="HoI-FQ-vTI" id="bzc-wu-4Hv"/>
|
||||
<outlet property="progressIndicator" destination="839" id="870"/>
|
||||
<outlet property="saveButton" destination="cnG-6Y-PZr" id="UK5-cQ-RCg"/>
|
||||
<outlet property="scanButton" destination="655" id="835"/>
|
||||
<outlet property="scanButtonLabel" destination="768" id="837"/>
|
||||
<outlet property="showPreferencesButton" destination="gSG-Nq-plb" id="9vL-lr-yNV"/>
|
||||
<outlet property="statusText" destination="745" id="871"/>
|
||||
<outlet property="versionString" destination="LfL-UI-usm" id="2nV-AF-olP"/>
|
||||
<outlet property="window" destination="371" id="532"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="420" customClass="NSFontManager"/>
|
||||
<customObject id="SmD-QP-397" customClass="CategoryTableController">
|
||||
<connections>
|
||||
<outlet property="categoryTableView" destination="zYP-0r-U2A" id="gFv-EK-aOj"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<customObject id="8VH-uv-w4O" customClass="ItemTableController">
|
||||
<connections>
|
||||
<outlet property="itemTableView" destination="537" id="0xr-LE-bN9"/>
|
||||
</connections>
|
||||
</customObject>
|
||||
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" restorable="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" frameAutosaveName="" animationBehavior="default" id="gD4-T8-B0H" userLabel="Friends">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES"/>
|
||||
<rect key="contentRect" x="2843" y="305" width="767" height="288"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="3440" height="1415"/>
|
||||
<view key="contentView" id="zIY-EJ-oYy">
|
||||
<rect key="frame" x="0.0" y="0.0" width="767" height="288"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<subviews>
|
||||
<button tag="-1" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="eD8-BN-Z1D">
|
||||
<rect key="frame" x="639" y="13" width="115" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Close" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="1mP-i0-2e4">
|
||||
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||
<font key="font" size="13" name="Menlo-Regular"/>
|
||||
</buttonCell>
|
||||
<connections>
|
||||
<action selector="closeFriendsWindow:" target="494" id="4tu-GP-sAX"/>
|
||||
</connections>
|
||||
</button>
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="G5i-Vw-RGw">
|
||||
<rect key="frame" x="72" y="210" width="623" height="63"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
<textFieldCell key="cell" lineBreakMode="clipping" alignment="center" title="Mahalo to the "Friends of Objective-See"" id="JSF-ba-pCy">
|
||||
<font key="font" size="32" name="AvenirNextCondensed-Regular"/>
|
||||
<color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
|
||||
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" alphaValue="0.69999999999999996" id="Nuu-4N-1Ff">
|
||||
<rect key="frame" x="539" y="97" width="127" height="49"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="FriendsSophos" id="aak-vd-3qA"/>
|
||||
</imageView>
|
||||
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" alphaValue="0.69999999999999996" id="Gfs-Np-1jw">
|
||||
<rect key="frame" x="318" y="162" width="130" height="48"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="FriendsKandji" id="vrN-sB-wcX"/>
|
||||
</imageView>
|
||||
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" id="Kw9-67-ETu">
|
||||
<rect key="frame" x="133" y="97" width="91" height="54"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="FriendsJamf" id="DfP-NZ-UVm"/>
|
||||
</imageView>
|
||||
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" alphaValue="0.69999999999999996" id="0HR-sw-l3w">
|
||||
<rect key="frame" x="118" y="47" width="120" height="39"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="FriendsKolide" id="9LT-26-clZ"/>
|
||||
</imageView>
|
||||
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" alphaValue="0.69999999999999996" id="b17-Nd-hxm">
|
||||
<rect key="frame" x="302" y="108" width="162" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="FriendsPANW" id="e0j-bE-NRv"/>
|
||||
</imageView>
|
||||
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" alphaValue="0.69999999999999996" id="Ocz-QA-3SS">
|
||||
<rect key="frame" x="539" y="30" width="129" height="73"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="FriendsMosyle" id="DRk-DM-Yj9"/>
|
||||
</imageView>
|
||||
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" alphaValue="0.80000000000000004" id="b4B-9H-cT6">
|
||||
<rect key="frame" x="281" y="44" width="204" height="46"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="FriendsMacPaw" id="Alj-pV-sHh"/>
|
||||
</imageView>
|
||||
</subviews>
|
||||
</view>
|
||||
<point key="canvasLocation" x="614.5" y="-749"/>
|
||||
</window>
|
||||
</objects>
|
||||
<resources>
|
||||
<image name="FriendsJamf" width="328" height="114"/>
|
||||
<image name="FriendsKandji" width="1944" height="494"/>
|
||||
<image name="FriendsKolide" width="636" height="216"/>
|
||||
<image name="FriendsMacPaw" width="2034" height="335"/>
|
||||
<image name="FriendsMosyle" width="963" height="265"/>
|
||||
<image name="FriendsPANW" width="1312" height="240"/>
|
||||
<image name="FriendsSophos" width="518" height="137"/>
|
||||
<image name="NSActionTemplate" width="19" height="19"/>
|
||||
<image name="NSColorPanel" width="32" height="32"/>
|
||||
<image name="binaryIcon" width="512" height="512"/>
|
||||
<image name="info" width="256" height="256"/>
|
||||
<image name="infoBG" width="256" height="256"/>
|
||||
<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="save" width="256" height="256"/>
|
||||
<image name="saveBG" width="256" height="256"/>
|
||||
<image name="settings" width="256" height="256"/>
|
||||
<image name="settingsBG" width="256" height="256"/>
|
||||
<image name="show" width="256" height="256"/>
|
||||
<image name="showBG" width="256" height="256"/>
|
||||
<image name="signed" width="256" height="256"/>
|
||||
<image name="startScan" width="256" height="256"/>
|
||||
<image name="startScanBG" width="256" height="256"/>
|
||||
</resources>
|
||||
</document>
|
||||
+1
-7
@@ -106,20 +106,14 @@ NSString * const LAUNCHITEM_SEARCH_DIRECTORIES[] = {@"/System/Library/LaunchDaem
|
||||
// ->save into iVar, 'applications'
|
||||
-(void)enumerateApplications
|
||||
{
|
||||
//installed apps
|
||||
NSMutableArray* installedApplications = nil;
|
||||
|
||||
//output from system profiler task
|
||||
NSData* taskOutput = nil;
|
||||
|
||||
//serialized task output
|
||||
NSArray* serializedOutput = nil;
|
||||
|
||||
//alloc array for installed apps
|
||||
installedApplications = [NSMutableArray array];
|
||||
|
||||
//exec system profiler
|
||||
taskOutput = execTask(SYSTEM_PROFILER, @[@"SPApplicationsDataType", @"-xml", @"-detailLevel", @"mini"]);
|
||||
taskOutput = execTask(SYSTEM_PROFILER, @[@"SPApplicationsDataType", @"-xml", @"-detailLevel", @"mini"]);
|
||||
if( (nil == taskOutput) ||
|
||||
(0 == taskOutput.length) )
|
||||
{
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
archiveVersion = 1;
|
||||
classes = {
|
||||
};
|
||||
objectVersion = 46;
|
||||
objectVersion = 60;
|
||||
objects = {
|
||||
|
||||
/* Begin PBXBuildFile section */
|
||||
@@ -19,25 +19,20 @@
|
||||
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 */; };
|
||||
CD0219501AD34D8B005148A2 /* PrefsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD02194E1AD34D8B005148A2 /* PrefsWindow.xib */; };
|
||||
CD0219531AD34D9A005148A2 /* AboutWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD0219521AD34D9A005148A2 /* AboutWindowController.m */; };
|
||||
CD0219551AD34E4C005148A2 /* kkIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CD0219541AD34E4C005148A2 /* kkIcon.png */; };
|
||||
CD02195E1AD39A74005148A2 /* ResultsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD02195D1AD39A74005148A2 /* ResultsWindow.xib */; };
|
||||
CD0219611AD39A83005148A2 /* ResultsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD0219601AD39A83005148A2 /* ResultsWindowController.m */; };
|
||||
CD24F074219D51210081B0E5 /* whitelistedKexts.json in Resources */ = {isa = PBXBuildFile; fileRef = CD24F073219D51210081B0E5 /* whitelistedKexts.json */; };
|
||||
CD24F077219DF3DB0081B0E5 /* Signing.m in Sources */ = {isa = PBXBuildFile; fileRef = CD24F075219DF3DA0081B0E5 /* Signing.m */; };
|
||||
CD2B613320675EEC00BF72E9 /* EventRules.m in Sources */ = {isa = PBXBuildFile; fileRef = CD2B611220675EEB00BF72E9 /* EventRules.m */; };
|
||||
CD2B61442067656200BF72E9 /* eventRulesIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CD2B61432067656200BF72E9 /* eventRulesIcon.png */; };
|
||||
CD2F219F21A8A73100F67A83 /* Update.m in Sources */ = {isa = PBXBuildFile; fileRef = CD2F219E21A8A73100F67A83 /* Update.m */; };
|
||||
CD2F21A121A8A7D100F67A83 /* UpdateWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD2F21A021A8A7D000F67A83 /* UpdateWindow.xib */; };
|
||||
CD2F21A421A8A7E300F67A83 /* UpdateWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD2F21A321A8A7E300F67A83 /* UpdateWindowController.m */; };
|
||||
CD36CDB8237785180089FC34 /* quicklookIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CD36CDB7237785180089FC34 /* quicklookIcon.png */; };
|
||||
CD3B99B925EC94D60020AF50 /* SystemExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CD3B99B725EC94D60020AF50 /* SystemExtensions.m */; };
|
||||
CD3B99D325EDE9F90020AF50 /* systemExtensionIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CD3B99D225EDE9F90020AF50 /* systemExtensionIcon.png */; };
|
||||
CD585494219FE61D00A438B0 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CD585493219FE61D00A438B0 /* Assets.xcassets */; };
|
||||
CD5854D321A5FADD00A438B0 /* patrons.txt in Resources */ = {isa = PBXBuildFile; fileRef = CD5854D221A5FADD00A438B0 /* patrons.txt */; };
|
||||
CD5854D521A60B1000A438B0 /* PlistWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD5854D421A60B0F00A438B0 /* PlistWindow.xib */; };
|
||||
CD5854D821A60B2100A438B0 /* PlistWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD5854D721A60B2000A438B0 /* PlistWindowController.m */; };
|
||||
CD5854DB21A6103B00A438B0 /* ClickableTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = CD5854DA21A6103A00A438B0 /* ClickableTextField.m */; };
|
||||
CD6095731A87067D00E091CD /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD6095721A87067D00E091CD /* Security.framework */; };
|
||||
@@ -47,6 +42,16 @@
|
||||
CD6BBBEB1B50DF7100506D0D /* signedAppleIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CD6BBBEA1B50DF7100506D0D /* signedAppleIcon.png */; };
|
||||
CD6BBBED1B51C62B00506D0D /* unknown.png in Resources */ = {isa = PBXBuildFile; fileRef = CD6BBBEC1B51C62B00506D0D /* unknown.png */; };
|
||||
CD6BBBF01B52032D00506D0D /* NSApplicationKeyEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = CD6BBBEF1B52032D00506D0D /* NSApplicationKeyEvents.m */; };
|
||||
CD6FD7AC2C7AAD87001C59F2 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD6FD7AB2C7AAD87001C59F2 /* MainMenu.xib */; };
|
||||
CD6FD7AF2C7AAFE6001C59F2 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = CD6FD7AE2C7AAFE6001C59F2 /* Localizable.xcstrings */; };
|
||||
CD6FD7B22C7AB284001C59F2 /* UpdateWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD6FD7B12C7AB284001C59F2 /* UpdateWindow.xib */; };
|
||||
CD6FD7B62C7AB288001C59F2 /* PlistWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD6FD7B52C7AB288001C59F2 /* PlistWindow.xib */; };
|
||||
CD6FD7BA2C7AB28D001C59F2 /* ResultsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD6FD7B92C7AB28D001C59F2 /* ResultsWindow.xib */; };
|
||||
CD6FD7BE2C7AB291001C59F2 /* AboutWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD6FD7BD2C7AB291001C59F2 /* AboutWindow.xib */; };
|
||||
CD6FD7C22C7AB294001C59F2 /* PrefsWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD6FD7C12C7AB294001C59F2 /* PrefsWindow.xib */; };
|
||||
CD6FD7C62C7AB299001C59F2 /* VTInfoWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD6FD7C52C7AB299001C59F2 /* VTInfoWindow.xib */; };
|
||||
CD6FD7CA2C7AB29F001C59F2 /* ExtensionInfoWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD6FD7C92C7AB29F001C59F2 /* ExtensionInfoWindow.xib */; };
|
||||
CD6FD7CE2C7AB2A3001C59F2 /* FileInfoWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD6FD7CD2C7AB2A3001C59F2 /* FileInfoWindow.xib */; };
|
||||
CD7B9F4D1ACB959200DF3C71 /* logoAppleOver.png in Resources */ = {isa = PBXBuildFile; fileRef = CD7B9F4C1ACB959200DF3C71 /* logoAppleOver.png */; };
|
||||
CD7B9F531ACBAE2900DF3C71 /* SpotlightImporters.m in Sources */ = {isa = PBXBuildFile; fileRef = CD7B9F521ACBAE2900DF3C71 /* SpotlightImporters.m */; };
|
||||
CD7B9FA41ACBCFAD00DF3C71 /* spotlightIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CD7B9FA31ACBCFAD00DF3C71 /* spotlightIcon.png */; };
|
||||
@@ -58,8 +63,6 @@
|
||||
CD890F44237790D400029D99 /* directoryServicesIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CD890F43237790D400029D99 /* directoryServicesIcon.png */; };
|
||||
CDA81D4F1A95B492009790E2 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = CDA81D451A95B492009790E2 /* AppDelegate.m */; };
|
||||
CDA81D531A95B492009790E2 /* Utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = CDA81D4E1A95B492009790E2 /* Utilities.m */; };
|
||||
CDA81D5B1A95B4B4009790E2 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = CDA81D541A95B4B4009790E2 /* InfoPlist.strings */; };
|
||||
CDA81D5C1A95B4B4009790E2 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CDA81D561A95B4B4009790E2 /* MainMenu.xib */; };
|
||||
CDA81D5E1A95B4B4009790E2 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = CDA81D5A1A95B4B4009790E2 /* main.m */; };
|
||||
CDA81D691A95B4E9009790E2 /* bug.png in Resources */ = {isa = PBXBuildFile; fileRef = CDA81D5F1A95B4E9009790E2 /* bug.png */; };
|
||||
CDA81D6A1A95B4E9009790E2 /* mainIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CDA81D601A95B4E9009790E2 /* mainIcon.png */; };
|
||||
@@ -93,8 +96,6 @@
|
||||
CDA81E041A9AB89C009790E2 /* LaunchItems.m in Sources */ = {isa = PBXBuildFile; fileRef = CDA81E031A9AB89C009790E2 /* LaunchItems.m */; };
|
||||
CDA81E071A9AFFA7009790E2 /* LoginItems.m in Sources */ = {isa = PBXBuildFile; fileRef = CDA81E061A9AFFA7009790E2 /* LoginItems.m */; };
|
||||
CDA81E0A1A9B0AD8009790E2 /* BrowserExtensions.m in Sources */ = {isa = PBXBuildFile; fileRef = CDA81E091A9B0AD8009790E2 /* BrowserExtensions.m */; };
|
||||
CDA81E651AA020FD009790E2 /* ExtensionInfoWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CDA81E631AA020FD009790E2 /* ExtensionInfoWindow.xib */; };
|
||||
CDA81E661AA020FD009790E2 /* FileInfoWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CDA81E641AA020FD009790E2 /* FileInfoWindow.xib */; };
|
||||
CDAB98991AEAA6CB00C75B4B /* AuthorizationPlugins.m in Sources */ = {isa = PBXBuildFile; fileRef = CDAB98981AEAA6CB00C75B4B /* AuthorizationPlugins.m */; };
|
||||
CDAB989C1AEAC95500C75B4B /* ItemEnumerator.m in Sources */ = {isa = PBXBuildFile; fileRef = CDAB989B1AEAC95500C75B4B /* ItemEnumerator.m */; };
|
||||
CDAB989F1AEADE5A00C75B4B /* DylibInserts.m in Sources */ = {isa = PBXBuildFile; fileRef = CDAB989E1AEADE5A00C75B4B /* DylibInserts.m */; };
|
||||
@@ -103,7 +104,6 @@
|
||||
CDBE491A1B5B25E30031FC22 /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDBE49191B5B25E30031FC22 /* SystemConfiguration.framework */; };
|
||||
CDBE491D1B5B44BB0031FC22 /* LogInOutHooks.m in Sources */ = {isa = PBXBuildFile; fileRef = CDBE491C1B5B44BB0031FC22 /* LogInOutHooks.m */; };
|
||||
CDBE491F1B5B46040031FC22 /* logInOutIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CDBE491E1B5B46040031FC22 /* logInOutIcon.png */; };
|
||||
CDBFE3992A49B8B9005A9819 /* libDumpBTM.a in Frameworks */ = {isa = PBXBuildFile; fileRef = CDBFE3942A49B8B9005A9819 /* libDumpBTM.a */; };
|
||||
CDBFE39A2A49B8BA005A9819 /* MachO.m in Sources */ = {isa = PBXBuildFile; fileRef = CDBFE3972A49B8B9005A9819 /* MachO.m */; };
|
||||
CDBFE39D2A49B9F8005A9819 /* BTM.m in Sources */ = {isa = PBXBuildFile; fileRef = CDBFE39C2A49B9F8005A9819 /* BTM.m */; };
|
||||
CDBFE3A12A4AEC80005A9819 /* btmIcon.png in Resources */ = {isa = PBXBuildFile; fileRef = CDBFE3A02A4AEC80005A9819 /* btmIcon.png */; };
|
||||
@@ -123,7 +123,6 @@
|
||||
CDF08CD01AC4C6E8009B3423 /* settingsBG.png in Resources */ = {isa = PBXBuildFile; fileRef = CDF08CCD1AC4C6E8009B3423 /* settingsBG.png */; };
|
||||
CDF08CD11AC4C6E8009B3423 /* settings.png in Resources */ = {isa = PBXBuildFile; fileRef = CDF08CCE1AC4C6E8009B3423 /* settings.png */; };
|
||||
CDF08CDF1AC886F2009B3423 /* VTInfoWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CDF08CDD1AC886F2009B3423 /* VTInfoWindowController.m */; };
|
||||
CDF08CE21AC88E0F009B3423 /* VTInfoWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CDF08CE11AC88E0F009B3423 /* VTInfoWindow.xib */; };
|
||||
CDF08CE61AC89FE1009B3423 /* HyperlinkTextField.m in Sources */ = {isa = PBXBuildFile; fileRef = CDF08CE51AC89FE1009B3423 /* HyperlinkTextField.m */; };
|
||||
CDF08CE81AC8A35C009B3423 /* vtLogo.png in Resources */ = {isa = PBXBuildFile; fileRef = CDF08CE71AC8A35C009B3423 /* vtLogo.png */; };
|
||||
CDF08CEA1AC8D97B009B3423 /* Quartz.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDF08CE91AC8D97B009B3423 /* Quartz.framework */; };
|
||||
@@ -167,12 +166,9 @@
|
||||
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>"; };
|
||||
CD02194E1AD34D8B005148A2 /* PrefsWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PrefsWindow.xib; path = UI/PrefsWindow.xib; sourceTree = "<group>"; };
|
||||
CD0219511AD34D9A005148A2 /* AboutWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AboutWindowController.h; sourceTree = "<group>"; };
|
||||
CD0219521AD34D9A005148A2 /* AboutWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AboutWindowController.m; sourceTree = "<group>"; };
|
||||
CD0219541AD34E4C005148A2 /* kkIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = kkIcon.png; path = images/kkIcon.png; sourceTree = SOURCE_ROOT; };
|
||||
CD02195D1AD39A74005148A2 /* ResultsWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = ResultsWindow.xib; path = UI/ResultsWindow.xib; sourceTree = "<group>"; };
|
||||
CD02195F1AD39A83005148A2 /* ResultsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ResultsWindowController.h; sourceTree = "<group>"; };
|
||||
CD0219601AD39A83005148A2 /* ResultsWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ResultsWindowController.m; sourceTree = "<group>"; };
|
||||
CD24F072219AAC930081B0E5 /* main.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = main.h; sourceTree = SOURCE_ROOT; };
|
||||
@@ -184,7 +180,6 @@
|
||||
CD2B61432067656200BF72E9 /* eventRulesIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = eventRulesIcon.png; path = images/eventRulesIcon.png; sourceTree = SOURCE_ROOT; };
|
||||
CD2F219D21A8A73000F67A83 /* Update.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Update.h; sourceTree = SOURCE_ROOT; };
|
||||
CD2F219E21A8A73100F67A83 /* Update.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Update.m; sourceTree = SOURCE_ROOT; };
|
||||
CD2F21A021A8A7D000F67A83 /* UpdateWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = UpdateWindow.xib; path = UI/UpdateWindow.xib; sourceTree = "<group>"; };
|
||||
CD2F21A221A8A7E300F67A83 /* UpdateWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UpdateWindowController.h; sourceTree = "<group>"; };
|
||||
CD2F21A321A8A7E300F67A83 /* UpdateWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UpdateWindowController.m; sourceTree = "<group>"; };
|
||||
CD36CDB7237785180089FC34 /* quicklookIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = quicklookIcon.png; path = images/quicklookIcon.png; sourceTree = SOURCE_ROOT; };
|
||||
@@ -193,7 +188,6 @@
|
||||
CD3B99D225EDE9F90020AF50 /* systemExtensionIcon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = systemExtensionIcon.png; path = images/systemExtensionIcon.png; sourceTree = SOURCE_ROOT; };
|
||||
CD585493219FE61D00A438B0 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = SOURCE_ROOT; };
|
||||
CD5854D221A5FADD00A438B0 /* patrons.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = patrons.txt; sourceTree = SOURCE_ROOT; };
|
||||
CD5854D421A60B0F00A438B0 /* PlistWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = PlistWindow.xib; path = UI/PlistWindow.xib; sourceTree = "<group>"; };
|
||||
CD5854D621A60B2000A438B0 /* PlistWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlistWindowController.h; sourceTree = SOURCE_ROOT; };
|
||||
CD5854D721A60B2000A438B0 /* PlistWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PlistWindowController.m; sourceTree = SOURCE_ROOT; };
|
||||
CD5854D921A6103A00A438B0 /* ClickableTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClickableTextField.h; sourceTree = "<group>"; };
|
||||
@@ -208,6 +202,25 @@
|
||||
CD6BBBEC1B51C62B00506D0D /* unknown.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = unknown.png; path = images/unknown.png; sourceTree = SOURCE_ROOT; };
|
||||
CD6BBBEE1B52032D00506D0D /* NSApplicationKeyEvents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSApplicationKeyEvents.h; sourceTree = "<group>"; };
|
||||
CD6BBBEF1B52032D00506D0D /* NSApplicationKeyEvents.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSApplicationKeyEvents.m; sourceTree = "<group>"; };
|
||||
CD6FD7AA2C7AAD87001C59F2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||
CD6FD7AD2C7AAD87001C59F2 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/MainMenu.xcstrings; sourceTree = "<group>"; };
|
||||
CD6FD7AE2C7AAFE6001C59F2 /* Localizable.xcstrings */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; path = Localizable.xcstrings; sourceTree = "<group>"; };
|
||||
CD6FD7B02C7AB284001C59F2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UpdateWindow.xib; sourceTree = "<group>"; };
|
||||
CD6FD7B32C7AB284001C59F2 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/UpdateWindow.xcstrings; sourceTree = "<group>"; };
|
||||
CD6FD7B42C7AB288001C59F2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PlistWindow.xib; sourceTree = "<group>"; };
|
||||
CD6FD7B72C7AB288001C59F2 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/PlistWindow.xcstrings; sourceTree = "<group>"; };
|
||||
CD6FD7B82C7AB28D001C59F2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ResultsWindow.xib; sourceTree = "<group>"; };
|
||||
CD6FD7BB2C7AB28D001C59F2 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/ResultsWindow.xcstrings; sourceTree = "<group>"; };
|
||||
CD6FD7BC2C7AB291001C59F2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AboutWindow.xib; sourceTree = "<group>"; };
|
||||
CD6FD7BF2C7AB291001C59F2 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/AboutWindow.xcstrings; sourceTree = "<group>"; };
|
||||
CD6FD7C02C7AB294001C59F2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/PrefsWindow.xib; sourceTree = "<group>"; };
|
||||
CD6FD7C32C7AB294001C59F2 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/PrefsWindow.xcstrings; sourceTree = "<group>"; };
|
||||
CD6FD7C42C7AB299001C59F2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/VTInfoWindow.xib; sourceTree = "<group>"; };
|
||||
CD6FD7C72C7AB299001C59F2 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/VTInfoWindow.xcstrings; sourceTree = "<group>"; };
|
||||
CD6FD7C82C7AB29F001C59F2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ExtensionInfoWindow.xib; sourceTree = "<group>"; };
|
||||
CD6FD7CB2C7AB29F001C59F2 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/ExtensionInfoWindow.xcstrings; sourceTree = "<group>"; };
|
||||
CD6FD7CC2C7AB2A3001C59F2 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/FileInfoWindow.xib; sourceTree = "<group>"; };
|
||||
CD6FD7CF2C7AB2A3001C59F2 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/FileInfoWindow.xcstrings; sourceTree = "<group>"; };
|
||||
CD7B9F4C1ACB959200DF3C71 /* logoAppleOver.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = logoAppleOver.png; path = images/logoAppleOver.png; sourceTree = SOURCE_ROOT; };
|
||||
CD7B9F511ACBAE2900DF3C71 /* SpotlightImporters.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SpotlightImporters.h; path = Plugins/SpotlightImporters.h; sourceTree = "<group>"; };
|
||||
CD7B9F521ACBAE2900DF3C71 /* SpotlightImporters.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = SpotlightImporters.m; path = Plugins/SpotlightImporters.m; sourceTree = "<group>"; };
|
||||
@@ -226,8 +239,6 @@
|
||||
CDA81D481A95B492009790E2 /* Consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Consts.h; sourceTree = SOURCE_ROOT; };
|
||||
CDA81D4D1A95B492009790E2 /* Utilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Utilities.h; sourceTree = SOURCE_ROOT; };
|
||||
CDA81D4E1A95B492009790E2 /* Utilities.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Utilities.m; sourceTree = SOURCE_ROOT; };
|
||||
CDA81D551A95B4B4009790E2 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = SOURCE_ROOT; };
|
||||
CDA81D571A95B4B4009790E2 /* en */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = en; path = en.lproj/MainMenu.xib; sourceTree = SOURCE_ROOT; };
|
||||
CDA81D581A95B4B4009790E2 /* KnockKnock-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "KnockKnock-Info.plist"; sourceTree = SOURCE_ROOT; };
|
||||
CDA81D591A95B4B4009790E2 /* KnockKnock-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KnockKnock-Prefix.pch"; sourceTree = SOURCE_ROOT; };
|
||||
CDA81D5A1A95B4B4009790E2 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = SOURCE_ROOT; };
|
||||
@@ -276,8 +287,6 @@
|
||||
CDA81E061A9AFFA7009790E2 /* LoginItems.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = LoginItems.m; path = Plugins/LoginItems.m; sourceTree = "<group>"; };
|
||||
CDA81E081A9B0AD8009790E2 /* BrowserExtensions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BrowserExtensions.h; path = Plugins/BrowserExtensions.h; sourceTree = "<group>"; };
|
||||
CDA81E091A9B0AD8009790E2 /* BrowserExtensions.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BrowserExtensions.m; path = Plugins/BrowserExtensions.m; sourceTree = "<group>"; };
|
||||
CDA81E631AA020FD009790E2 /* ExtensionInfoWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = ExtensionInfoWindow.xib; path = UI/ExtensionInfoWindow.xib; sourceTree = "<group>"; };
|
||||
CDA81E641AA020FD009790E2 /* FileInfoWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = FileInfoWindow.xib; path = UI/FileInfoWindow.xib; sourceTree = "<group>"; };
|
||||
CDAB98971AEAA6CB00C75B4B /* AuthorizationPlugins.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AuthorizationPlugins.h; path = Plugins/AuthorizationPlugins.h; sourceTree = "<group>"; };
|
||||
CDAB98981AEAA6CB00C75B4B /* AuthorizationPlugins.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = AuthorizationPlugins.m; path = Plugins/AuthorizationPlugins.m; sourceTree = "<group>"; };
|
||||
CDAB989A1AEAC95500C75B4B /* ItemEnumerator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ItemEnumerator.h; sourceTree = "<group>"; };
|
||||
@@ -319,7 +328,6 @@
|
||||
CDF08CCE1AC4C6E8009B3423 /* settings.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = settings.png; path = images/settings.png; sourceTree = SOURCE_ROOT; };
|
||||
CDF08CDC1AC886F2009B3423 /* VTInfoWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VTInfoWindowController.h; sourceTree = "<group>"; };
|
||||
CDF08CDD1AC886F2009B3423 /* VTInfoWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VTInfoWindowController.m; sourceTree = "<group>"; };
|
||||
CDF08CE11AC88E0F009B3423 /* VTInfoWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; name = VTInfoWindow.xib; path = UI/VTInfoWindow.xib; sourceTree = "<group>"; };
|
||||
CDF08CE41AC89FE1009B3423 /* HyperlinkTextField.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HyperlinkTextField.h; path = 3rdParty/HyperlinkTextField.h; sourceTree = "<group>"; };
|
||||
CDF08CE51AC89FE1009B3423 /* HyperlinkTextField.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = HyperlinkTextField.m; path = 3rdParty/HyperlinkTextField.m; sourceTree = "<group>"; };
|
||||
CDF08CE71AC8A35C009B3423 /* vtLogo.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = vtLogo.png; path = images/vtLogo.png; sourceTree = SOURCE_ROOT; };
|
||||
@@ -337,7 +345,6 @@
|
||||
files = (
|
||||
CDCA2C212A49B71500E8DD57 /* libDumpBTM.a in Frameworks */,
|
||||
CDBE491A1B5B25E30031FC22 /* SystemConfiguration.framework in Frameworks */,
|
||||
CDBFE3992A49B8B9005A9819 /* libDumpBTM.a in Frameworks */,
|
||||
CDDBC2301B04771100B021E0 /* ServiceManagement.framework in Frameworks */,
|
||||
CDF08CEA1AC8D97B009B3423 /* Quartz.framework in Frameworks */,
|
||||
CD6095731A87067D00E091CD /* Security.framework in Frameworks */,
|
||||
@@ -351,6 +358,7 @@
|
||||
1D21BC42172AF43D009D1CFD = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CD6FD7AE2C7AAFE6001C59F2 /* Localizable.xcstrings */,
|
||||
CDBFE3922A49B89A005A9819 /* Libraries */,
|
||||
CDF08CE31AC89FD4009B3423 /* 3rdParty */,
|
||||
CD5854D921A6103A00A438B0 /* ClickableTextField.h */,
|
||||
@@ -416,7 +424,7 @@
|
||||
CD585493219FE61D00A438B0 /* Assets.xcassets */,
|
||||
CDA81D481A95B492009790E2 /* Consts.h */,
|
||||
CD6095501A8329FA00E091CD /* images */,
|
||||
CDA81D561A95B4B4009790E2 /* MainMenu.xib */,
|
||||
CD6FD7AB2C7AAD87001C59F2 /* MainMenu.xib */,
|
||||
CD5854D621A60B2000A438B0 /* PlistWindowController.h */,
|
||||
CD5854D721A60B2000A438B0 /* PlistWindowController.m */,
|
||||
CDF08CC71AC4C678009B3423 /* PrefsWindowController.h */,
|
||||
@@ -438,7 +446,6 @@
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CD5854D221A5FADD00A438B0 /* patrons.txt */,
|
||||
CDA81D541A95B4B4009790E2 /* InfoPlist.strings */,
|
||||
CDA81D581A95B4B4009790E2 /* KnockKnock-Info.plist */,
|
||||
CDA81D591A95B4B4009790E2 /* KnockKnock-Prefix.pch */,
|
||||
CDA81D5A1A95B4B4009790E2 /* main.m */,
|
||||
@@ -545,18 +552,18 @@
|
||||
CDA81D861A96F429009790E2 /* Plugins */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CDE2D3A52AC6E20500261224 /* DockTiles.h */,
|
||||
CDE2D3A62AC6E20500261224 /* DockTiles.m */,
|
||||
CDBFE39B2A49B9F8005A9819 /* BTM.h */,
|
||||
CDBFE39C2A49B9F8005A9819 /* BTM.m */,
|
||||
CDAB98971AEAA6CB00C75B4B /* AuthorizationPlugins.h */,
|
||||
CDAB98981AEAA6CB00C75B4B /* AuthorizationPlugins.m */,
|
||||
CDA81E081A9B0AD8009790E2 /* BrowserExtensions.h */,
|
||||
CDA81E091A9B0AD8009790E2 /* BrowserExtensions.m */,
|
||||
CDBFE39B2A49B9F8005A9819 /* BTM.h */,
|
||||
CDBFE39C2A49B9F8005A9819 /* BTM.m */,
|
||||
CDD83FD21B50C48C0037124E /* Cronjobs.h */,
|
||||
CDD83FD31B50C48C0037124E /* Cronjobs.m */,
|
||||
CD890F4023778F7B00029D99 /* DirectoryServicesPlugins.h */,
|
||||
CD890F4123778F7B00029D99 /* DirectoryServicesPlugins.m */,
|
||||
CDE2D3A52AC6E20500261224 /* DockTiles.h */,
|
||||
CDE2D3A62AC6E20500261224 /* DockTiles.m */,
|
||||
CDAB989D1AEADE5A00C75B4B /* DylibInserts.h */,
|
||||
CDAB989E1AEADE5A00C75B4B /* DylibInserts.m */,
|
||||
7D44F4C31DAAEDE40085859C /* DylibProxies.h */,
|
||||
@@ -603,14 +610,14 @@
|
||||
CDA81E621AA020E8009790E2 /* UI */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
CD2F21A021A8A7D000F67A83 /* UpdateWindow.xib */,
|
||||
CD5854D421A60B0F00A438B0 /* PlistWindow.xib */,
|
||||
CD02195D1AD39A74005148A2 /* ResultsWindow.xib */,
|
||||
CD02194D1AD34D8B005148A2 /* AboutWindow.xib */,
|
||||
CD02194E1AD34D8B005148A2 /* PrefsWindow.xib */,
|
||||
CDF08CE11AC88E0F009B3423 /* VTInfoWindow.xib */,
|
||||
CDA81E631AA020FD009790E2 /* ExtensionInfoWindow.xib */,
|
||||
CDA81E641AA020FD009790E2 /* FileInfoWindow.xib */,
|
||||
CD6FD7B12C7AB284001C59F2 /* UpdateWindow.xib */,
|
||||
CD6FD7B52C7AB288001C59F2 /* PlistWindow.xib */,
|
||||
CD6FD7B92C7AB28D001C59F2 /* ResultsWindow.xib */,
|
||||
CD6FD7BD2C7AB291001C59F2 /* AboutWindow.xib */,
|
||||
CD6FD7C12C7AB294001C59F2 /* PrefsWindow.xib */,
|
||||
CD6FD7C52C7AB299001C59F2 /* VTInfoWindow.xib */,
|
||||
CD6FD7C92C7AB29F001C59F2 /* ExtensionInfoWindow.xib */,
|
||||
CD6FD7CD2C7AB2A3001C59F2 /* FileInfoWindow.xib */,
|
||||
);
|
||||
name = UI;
|
||||
sourceTree = "<group>";
|
||||
@@ -698,10 +705,11 @@
|
||||
};
|
||||
buildConfigurationList = 1D21BC46172AF43D009D1CFD /* Build configuration list for PBXProject "KnockKnock" */;
|
||||
compatibilityVersion = "Xcode 3.2";
|
||||
developmentRegion = English;
|
||||
developmentRegion = en;
|
||||
hasScannedForEncodings = 0;
|
||||
knownRegions = (
|
||||
English,
|
||||
es,
|
||||
Base,
|
||||
en,
|
||||
);
|
||||
mainGroup = 1D21BC42172AF43D009D1CFD;
|
||||
@@ -723,21 +731,21 @@
|
||||
CD890F44237790D400029D99 /* directoryServicesIcon.png in Resources */,
|
||||
CDA81D691A95B4E9009790E2 /* bug.png in Resources */,
|
||||
7D0DAB881CA758790049BAFF /* periodicIcon.png in Resources */,
|
||||
CD02195E1AD39A74005148A2 /* ResultsWindow.xib in Resources */,
|
||||
CDA81D5B1A95B4B4009790E2 /* InfoPlist.strings in Resources */,
|
||||
CD6FD7BA2C7AB28D001C59F2 /* ResultsWindow.xib in Resources */,
|
||||
CDBFE3A12A4AEC80005A9819 /* btmIcon.png in Resources */,
|
||||
CDA81D6B1A95B4E9009790E2 /* show.png in Resources */,
|
||||
CD24F074219D51210081B0E5 /* whitelistedKexts.json in Resources */,
|
||||
CDF08CF31ACA6864009B3423 /* browserIcon.png in Resources */,
|
||||
CD5854D521A60B1000A438B0 /* PlistWindow.xib in Resources */,
|
||||
CD6FD7B62C7AB288001C59F2 /* PlistWindow.xib in Resources */,
|
||||
CDAB98A11AEAFAFA00C75B4B /* authorizationIcon.png in Resources */,
|
||||
CD6BBBEB1B50DF7100506D0D /* signedAppleIcon.png in Resources */,
|
||||
CD001B391AB903040089014A /* logoApple.png in Resources */,
|
||||
CDF08CEF1ACA677B009B3423 /* launchIcon.png in Resources */,
|
||||
CD7B9FA41ACBCFAD00DF3C71 /* spotlightIcon.png in Resources */,
|
||||
CD6BBBED1B51C62B00506D0D /* unknown.png in Resources */,
|
||||
CDA81E651AA020FD009790E2 /* ExtensionInfoWindow.xib in Resources */,
|
||||
CD6FD7CA2C7AB29F001C59F2 /* ExtensionInfoWindow.xib in Resources */,
|
||||
CD7B9FA81ACCAE5E00DF3C71 /* stopScanOver.png in Resources */,
|
||||
CD6FD7AF2C7AAFE6001C59F2 /* Localizable.xcstrings in Resources */,
|
||||
CDE2D3A92AC6E90600261224 /* dockTileIcon.png in Resources */,
|
||||
7DE29CA61CA7C10500DFA6A6 /* startupScriptsIcon.png in Resources */,
|
||||
CDA81D701A95B4E9009790E2 /* stopScan.png in Resources */,
|
||||
@@ -746,7 +754,7 @@
|
||||
CDF08CD01AC4C6E8009B3423 /* settingsBG.png in Resources */,
|
||||
CD5854D321A5FADD00A438B0 /* patrons.txt in Resources */,
|
||||
CD0219551AD34E4C005148A2 /* kkIcon.png in Resources */,
|
||||
CDA81D5C1A95B4B4009790E2 /* MainMenu.xib in Resources */,
|
||||
CD6FD7AC2C7AAD87001C59F2 /* MainMenu.xib in Resources */,
|
||||
CD7B9F4D1ACB959200DF3C71 /* logoAppleOver.png in Resources */,
|
||||
CDA81DCB1A9960A3009790E2 /* virusTotal.png in Resources */,
|
||||
CDA81DF41A99B8C2009790E2 /* whitelistedExtensions.json in Resources */,
|
||||
@@ -764,28 +772,28 @@
|
||||
CDAB98A31AEB413C00C75B4B /* dylibIcon.png in Resources */,
|
||||
CDF08CC31AC3E98D009B3423 /* infoOver.png in Resources */,
|
||||
CDF08CF41ACA6864009B3423 /* loginIcon.png in Resources */,
|
||||
CD0219501AD34D8B005148A2 /* PrefsWindow.xib in Resources */,
|
||||
CD6FD7C22C7AB294001C59F2 /* PrefsWindow.xib in Resources */,
|
||||
CDA81D6C1A95B4E9009790E2 /* showBG.png in Resources */,
|
||||
CDA81D6A1A95B4E9009790E2 /* mainIcon.png in Resources */,
|
||||
CDA81D711A95B4E9009790E2 /* stopScanBG.png in Resources */,
|
||||
CDF08CBF1AC3DE25009B3423 /* logoAppleBG.png in Resources */,
|
||||
CDF08CE21AC88E0F009B3423 /* VTInfoWindow.xib in Resources */,
|
||||
CD6FD7C62C7AB299001C59F2 /* VTInfoWindow.xib in Resources */,
|
||||
CDA81D6F1A95B4E9009790E2 /* startScanBG.png in Resources */,
|
||||
CDA81DF31A99B8C2009790E2 /* whitelistedCommands.json in Resources */,
|
||||
7D44F4C71DAAEF3E0085859C /* proxyIcon.png in Resources */,
|
||||
CDBE491F1B5B46040031FC22 /* logInOutIcon.png in Resources */,
|
||||
CDA81D721A95B4E9009790E2 /* virus.png in Resources */,
|
||||
CDA81DC91A9960A3009790E2 /* info.png in Resources */,
|
||||
CD2F21A121A8A7D100F67A83 /* UpdateWindow.xib in Resources */,
|
||||
CD6FD7B22C7AB284001C59F2 /* UpdateWindow.xib in Resources */,
|
||||
CDA81D6E1A95B4E9009790E2 /* startScan.png in Resources */,
|
||||
CD02194F1AD34D8B005148A2 /* AboutWindow.xib in Resources */,
|
||||
CD6FD7BE2C7AB291001C59F2 /* AboutWindow.xib in Resources */,
|
||||
CDA81DCA1A9960A3009790E2 /* infoBG.png in Resources */,
|
||||
CDF08CD11AC4C6E8009B3423 /* settings.png in Resources */,
|
||||
7DE2FE301D3F3228006C1438 /* extensionIcon.png in Resources */,
|
||||
CD3B99D325EDE9F90020AF50 /* systemExtensionIcon.png in Resources */,
|
||||
CDA81DD31A9970A0009790E2 /* signed.png in Resources */,
|
||||
CDD83FD61B50C76F0037124E /* cronIcon.png in Resources */,
|
||||
CDA81E661AA020FD009790E2 /* FileInfoWindow.xib in Resources */,
|
||||
CD6FD7CE2C7AB2A3001C59F2 /* FileInfoWindow.xib in Resources */,
|
||||
CD36CDB8237785180089FC34 /* quicklookIcon.png in Resources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
@@ -852,22 +860,95 @@
|
||||
/* End PBXSourcesBuildPhase section */
|
||||
|
||||
/* Begin PBXVariantGroup section */
|
||||
CDA81D541A95B4B4009790E2 /* InfoPlist.strings */ = {
|
||||
CD6FD7AB2C7AAD87001C59F2 /* MainMenu.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CDA81D551A95B4B4009790E2 /* en */,
|
||||
);
|
||||
name = InfoPlist.strings;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CDA81D561A95B4B4009790E2 /* MainMenu.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CDA81D571A95B4B4009790E2 /* en */,
|
||||
CD6FD7AA2C7AAD87001C59F2 /* Base */,
|
||||
CD6FD7AD2C7AAD87001C59F2 /* mul */,
|
||||
);
|
||||
name = MainMenu.xib;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CD6FD7B12C7AB284001C59F2 /* UpdateWindow.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CD6FD7B02C7AB284001C59F2 /* Base */,
|
||||
CD6FD7B32C7AB284001C59F2 /* mul */,
|
||||
);
|
||||
name = UpdateWindow.xib;
|
||||
path = UI;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CD6FD7B52C7AB288001C59F2 /* PlistWindow.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CD6FD7B42C7AB288001C59F2 /* Base */,
|
||||
CD6FD7B72C7AB288001C59F2 /* mul */,
|
||||
);
|
||||
name = PlistWindow.xib;
|
||||
path = UI;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CD6FD7B92C7AB28D001C59F2 /* ResultsWindow.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CD6FD7B82C7AB28D001C59F2 /* Base */,
|
||||
CD6FD7BB2C7AB28D001C59F2 /* mul */,
|
||||
);
|
||||
name = ResultsWindow.xib;
|
||||
path = UI;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CD6FD7BD2C7AB291001C59F2 /* AboutWindow.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CD6FD7BC2C7AB291001C59F2 /* Base */,
|
||||
CD6FD7BF2C7AB291001C59F2 /* mul */,
|
||||
);
|
||||
name = AboutWindow.xib;
|
||||
path = UI;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CD6FD7C12C7AB294001C59F2 /* PrefsWindow.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CD6FD7C02C7AB294001C59F2 /* Base */,
|
||||
CD6FD7C32C7AB294001C59F2 /* mul */,
|
||||
);
|
||||
name = PrefsWindow.xib;
|
||||
path = UI;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CD6FD7C52C7AB299001C59F2 /* VTInfoWindow.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CD6FD7C42C7AB299001C59F2 /* Base */,
|
||||
CD6FD7C72C7AB299001C59F2 /* mul */,
|
||||
);
|
||||
name = VTInfoWindow.xib;
|
||||
path = UI;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CD6FD7C92C7AB29F001C59F2 /* ExtensionInfoWindow.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CD6FD7C82C7AB29F001C59F2 /* Base */,
|
||||
CD6FD7CB2C7AB29F001C59F2 /* mul */,
|
||||
);
|
||||
name = ExtensionInfoWindow.xib;
|
||||
path = UI;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
CD6FD7CD2C7AB2A3001C59F2 /* FileInfoWindow.xib */ = {
|
||||
isa = PBXVariantGroup;
|
||||
children = (
|
||||
CD6FD7CC2C7AB2A3001C59F2 /* Base */,
|
||||
CD6FD7CF2C7AB2A3001C59F2 /* mul */,
|
||||
);
|
||||
name = FileInfoWindow.xib;
|
||||
path = UI;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXVariantGroup section */
|
||||
|
||||
/* Begin XCBuildConfiguration section */
|
||||
@@ -975,10 +1056,6 @@
|
||||
CURRENT_PROJECT_VERSION = 2.5.0;
|
||||
DEVELOPMENT_TEAM = VBG97UB4TA;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Carthage/Build/Mac",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "KnockKnock-Prefix.pch";
|
||||
HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/Libraries/**";
|
||||
@@ -988,7 +1065,7 @@
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Libraries/BTM",
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||
MARKETING_VERSION = 2.5.0;
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.objective-see.${PRODUCT_NAME:rfc1034identifier}";
|
||||
@@ -1009,10 +1086,6 @@
|
||||
CURRENT_PROJECT_VERSION = 2.5.0;
|
||||
DEVELOPMENT_TEAM = VBG97UB4TA;
|
||||
ENABLE_HARDENED_RUNTIME = YES;
|
||||
FRAMEWORK_SEARCH_PATHS = (
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Carthage/Build/Mac",
|
||||
);
|
||||
GCC_PRECOMPILE_PREFIX_HEADER = YES;
|
||||
GCC_PREFIX_HEADER = "KnockKnock-Prefix.pch";
|
||||
HEADER_SEARCH_PATHS = "$(PROJECT_DIR)/Libraries/**";
|
||||
@@ -1022,7 +1095,7 @@
|
||||
"$(inherited)",
|
||||
"$(PROJECT_DIR)/Libraries/BTM",
|
||||
);
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.11;
|
||||
MACOSX_DEPLOYMENT_TARGET = 10.15;
|
||||
MARKETING_VERSION = 2.5.0;
|
||||
ONLY_ACTIVE_ARCH = NO;
|
||||
PRODUCT_BUNDLE_IDENTIFIER = "com.objective-see.${PRODUCT_NAME:rfc1034identifier}";
|
||||
|
||||
@@ -0,0 +1,126 @@
|
||||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
" \r\n■ %lu item(s) flagged by VirusTotal" : {
|
||||
"comment" : " \r\n■ %lu item(s) flagged by VirusTotal"
|
||||
},
|
||||
" \r\n■ Unable to query VirusTotal (network)" : {
|
||||
"comment" : " \r\n■ Unable to query VirusTotal (network)"
|
||||
},
|
||||
"■ Found %lu items" : {
|
||||
"comment" : "■ Found %lu items"
|
||||
},
|
||||
"■ Found %lu non-OS items" : {
|
||||
"comment" : "■ Found %lu non-OS items"
|
||||
},
|
||||
"a new version (%@) is available!" : {
|
||||
"comment" : "a new version (%@) is available!"
|
||||
},
|
||||
"actions executed by emond" : {
|
||||
"comment" : "actions executed by emond"
|
||||
},
|
||||
"Awaiting VirusTotal results" : {
|
||||
"comment" : "Awaiting VirusTotal results"
|
||||
},
|
||||
"background agents, daemons, & login items" : {
|
||||
"comment" : "background agents, daemons, & login items"
|
||||
},
|
||||
"bundles hosted by a Dock XPC service" : {
|
||||
"comment" : "bundles hosted by a Dock XPC service"
|
||||
},
|
||||
"bundles loaded by Spotlight (mdworker)" : {
|
||||
"comment" : "bundles loaded by Spotlight (mdworker)"
|
||||
},
|
||||
"Cancel" : {
|
||||
"comment" : "Cancel"
|
||||
},
|
||||
"Close" : {
|
||||
"comment" : "Close"
|
||||
},
|
||||
"current user's cron jobs" : {
|
||||
"comment" : "current user's cron jobs"
|
||||
},
|
||||
"daemons and agents loaded by launchd" : {
|
||||
"comment" : "daemons and agents loaded by launchd"
|
||||
},
|
||||
"details: %@" : {
|
||||
"comment" : "details: %@"
|
||||
},
|
||||
"dylibs that proxy other libraries" : {
|
||||
"comment" : "dylibs that proxy other libraries"
|
||||
},
|
||||
"error, failed to check for an update." : {
|
||||
"comment" : "error, failed to check for an update."
|
||||
},
|
||||
"ERROR: failed to save output" : {
|
||||
"comment" : "ERROR: failed to save output"
|
||||
},
|
||||
"extensions hosted in the browser" : {
|
||||
"comment" : "extensions hosted in the browser"
|
||||
},
|
||||
"failed to load contents of %@" : {
|
||||
"comment" : "failed to load contents of %@"
|
||||
},
|
||||
"installed kexts, likely kernel loaded" : {
|
||||
"comment" : "installed kexts, likely kernel loaded"
|
||||
},
|
||||
"items executed upon login or logout" : {
|
||||
"comment" : "items executed upon login or logout"
|
||||
},
|
||||
"items started when the user logs in" : {
|
||||
"comment" : "items started when the user logs in"
|
||||
},
|
||||
"libs inserted by DYLD_INSERT_LIBRARIES" : {
|
||||
"comment" : "libs inserted by DYLD_INSERT_LIBRARIES"
|
||||
},
|
||||
"Ok" : {
|
||||
"comment" : "Ok"
|
||||
},
|
||||
"OK" : {
|
||||
"comment" : "OK"
|
||||
},
|
||||
"Open 'System Preferences' to give KnockKnock Full Disk Access?" : {
|
||||
"comment" : "Open 'System Preferences' to give KnockKnock Full Disk Access?"
|
||||
},
|
||||
"plugins that extend/customize the OS" : {
|
||||
"comment" : "plugins that extend/customize the OS"
|
||||
},
|
||||
"registered authorization bundles" : {
|
||||
"comment" : "registered authorization bundles"
|
||||
},
|
||||
"registered directory services bundles" : {
|
||||
"comment" : "registered directory services bundles"
|
||||
},
|
||||
"registered quicklook bundles" : {
|
||||
"comment" : "registered quicklook bundles"
|
||||
},
|
||||
"Scanning: %@" : {
|
||||
"comment" : "Scanning: %@"
|
||||
},
|
||||
"scripts executed during OS startup" : {
|
||||
"comment" : "scripts executed during OS startup"
|
||||
},
|
||||
"scripts that are executed periodically" : {
|
||||
"comment" : "scripts that are executed periodically"
|
||||
},
|
||||
"Stop Scan" : {
|
||||
"comment" : "Stop Scan"
|
||||
},
|
||||
"This allows the app to perform a comprehensive scan.\n\nIn System Preferences:\r ▪ Click the 🔒 to authenticate\r ▪ Click the ➕ to add KnockKnock.app\n" : {
|
||||
"comment" : "This allows the app to perform a comprehensive scan.\n\nIn System Preferences:\r ▪ Click the 🔒 to authenticate\r ▪ Click the ➕ to add KnockKnock.app\n"
|
||||
},
|
||||
"Update" : {
|
||||
"comment" : "Update"
|
||||
},
|
||||
"user-mode 'drivers' extending OS functionality" : {
|
||||
"comment" : "user-mode 'drivers' extending OS functionality"
|
||||
},
|
||||
"version: %@" : {
|
||||
"comment" : "version: %@"
|
||||
},
|
||||
"you're all up to date! (v. %@)" : {
|
||||
"comment" : "you're all up to date! (v. %@)"
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
}
|
||||
@@ -35,7 +35,7 @@
|
||||
if(0 == self.contents.string.length)
|
||||
{
|
||||
//display error
|
||||
self.contents.string = [NSString stringWithFormat:@"failed to load contents of %@", self.plist];
|
||||
self.contents.string = [NSString stringWithFormat:NSLocalizedString(@"failed to load contents of %@", @"failed to load contents of %@"), self.plist];
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#define PLUGIN_NAME @"Authorization Plugins"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"registered authorization bundles"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"registered authorization bundles","registered authorization bundles")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"authorizationIcon"
|
||||
|
||||
+1
-1
@@ -14,7 +14,7 @@
|
||||
#define PLUGIN_NAME @"Background Managed Tasks"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"agents, daemons, & login items managed by BTM"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"background agents, daemons, & login items", @"background agents, daemons, & login items")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"btmIcon"
|
||||
|
||||
+40
-25
@@ -14,7 +14,7 @@
|
||||
#define PLUGIN_NAME @"Browser Extensions"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"extensions hosted in the browser"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"extensions hosted in the browser", "extensions hosted in the browser")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"browserIcon"
|
||||
@@ -117,8 +117,7 @@
|
||||
return;
|
||||
}
|
||||
|
||||
//get all disabled launch items
|
||||
// ->specified in various overrides.plist files
|
||||
//get list of install browsers
|
||||
-(NSArray*)getInstalledBrowsers
|
||||
{
|
||||
//installed browser
|
||||
@@ -133,31 +132,47 @@
|
||||
//alloc browsers array
|
||||
browsers = [NSMutableArray array];
|
||||
|
||||
//get IDs of all installed browsers
|
||||
// ->or things that can handle HTTPS
|
||||
browserIDs = LSCopyAllHandlersForURLScheme(CFSTR("https"));
|
||||
|
||||
//iterate of all browser IDs
|
||||
// ->resolve ID to browser path
|
||||
for(NSString* browserID in (__bridge NSArray *)browserIDs)
|
||||
{
|
||||
//resolve browser URL
|
||||
if(STATUS_SUCCESS != LSFindApplicationForInfo(kLSUnknownCreator, (__bridge CFStringRef)(browserID), NULL, NULL, &browserURL))
|
||||
{
|
||||
//skip
|
||||
continue;
|
||||
}
|
||||
//get list of browers
|
||||
// macOS 12+ can use 'URLsForApplicationsToOpenURL'
|
||||
if (@available(macOS 12.0, *)) {
|
||||
|
||||
//save browser URL
|
||||
[browsers addObject:[(__bridge NSURL *)browserURL path]];
|
||||
//add each browser
|
||||
for(NSURL* browser in [NSWorkspace.sharedWorkspace URLsForApplicationsToOpenURL:[NSURL URLWithString:PRODUCT_URL]])
|
||||
{
|
||||
//add
|
||||
[browsers addObject:browser.path];
|
||||
}
|
||||
}
|
||||
|
||||
//release browser IDs
|
||||
if(nil != browserIDs)
|
||||
{
|
||||
//release
|
||||
CFRelease(browserIDs);
|
||||
browserIDs = nil;
|
||||
//get list of browers
|
||||
// pre-macOS 12, use 'LSCopyAllHandlersForURLScheme' & 'LSFindApplicationForInfo'
|
||||
else {
|
||||
|
||||
//get IDs of all installed browsers
|
||||
// (or, well, things that can handle HTTPS)
|
||||
browserIDs = LSCopyAllHandlersForURLScheme(CFSTR("https"));
|
||||
|
||||
//resolve browser ID to browser path
|
||||
for(NSString* browserID in (__bridge NSArray *)browserIDs)
|
||||
{
|
||||
//resolve browser URL
|
||||
if(STATUS_SUCCESS != LSFindApplicationForInfo(kLSUnknownCreator, (__bridge CFStringRef)(browserID), NULL, NULL, &browserURL))
|
||||
{
|
||||
//skip
|
||||
continue;
|
||||
}
|
||||
|
||||
//save browser URL
|
||||
[browsers addObject:[(__bridge NSURL *)browserURL path]];
|
||||
}
|
||||
|
||||
//release browser IDs
|
||||
if(nil != browserIDs)
|
||||
{
|
||||
//release
|
||||
CFRelease(browserIDs);
|
||||
browserIDs = nil;
|
||||
}
|
||||
}
|
||||
|
||||
return browsers;
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
#define PLUGIN_NAME @"Cron Jobs"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"current user's cron jobs"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"current user's cron jobs", @"current user's cron jobs")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"cronIcon"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#define PLUGIN_NAME @"Dir. Services Plugins"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"registered directory services bundles"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"registered directory services bundles", @"registered directory services bundles")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"directoryServicesIcon"
|
||||
|
||||
+1
-1
@@ -13,7 +13,7 @@
|
||||
#define PLUGIN_NAME @"Dock Tiles Plugins"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"bundles hosted by a Dock XPC service"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"bundles hosted by a Dock XPC service", @"bundles hosted by a Dock XPC service")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"dockTileIcon"
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
#define PLUGIN_NAME @"Library Inserts"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"libs inserted by DYLD_INSERT_LIBRARIES"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"libs inserted by DYLD_INSERT_LIBRARIES", @"libs inserted by DYLD_INSERT_LIBRARIES")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"dylibIcon"
|
||||
|
||||
+5
-13
@@ -12,7 +12,7 @@
|
||||
#define PLUGIN_NAME @"Library Proxies"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"dylibs that proxy other libraries"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"dylibs that proxy other libraries", @"dylibs that proxy other libraries")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"proxyIcon"
|
||||
@@ -161,7 +161,7 @@ NSString * const PROTECTED_DIRECTORIES[] = {@"~/Library/Application Support/Addr
|
||||
|
||||
//skip 'non files' / non-executable files
|
||||
if( (YES != [[NSFileManager defaultManager] fileExistsAtPath:filePath]) ||
|
||||
(YES != isExecutable(filePath)) )
|
||||
(YES != isBinary(filePath)) )
|
||||
{
|
||||
//skip
|
||||
continue;
|
||||
@@ -190,7 +190,7 @@ bail:
|
||||
}
|
||||
|
||||
//enum dylibs statically referenced by all running procs
|
||||
-(NSMutableArray*)enumLinkedDylibs:(NSArray*)runningProcs
|
||||
-(NSArray*)enumLinkedDylibs:(NSArray*)runningProcs
|
||||
{
|
||||
//dylibs
|
||||
NSMutableArray* dylibs = nil;
|
||||
@@ -198,10 +198,6 @@ bail:
|
||||
//macho parser
|
||||
MachO* machoParser = nil;
|
||||
|
||||
//pool
|
||||
@autoreleasepool
|
||||
{
|
||||
|
||||
//alloc array
|
||||
dylibs = [NSMutableArray array];
|
||||
|
||||
@@ -226,12 +222,8 @@ bail:
|
||||
[dylibs addObjectsFromArray:machoParser.binaryInfo[KEY_LC_LOAD_WEAK_DYLIBS]];
|
||||
}
|
||||
|
||||
//remove duplicates
|
||||
dylibs = [[[NSSet setWithArray:dylibs] allObjects] mutableCopy];
|
||||
|
||||
} //pool
|
||||
|
||||
return dylibs;
|
||||
//remove dups and return
|
||||
return [[NSSet setWithArray:dylibs] allObjects];
|
||||
}
|
||||
|
||||
//process dylibs
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#define PLUGIN_NAME @"Event Rules"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"actions executed by emond"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"actions executed by emond", @"actions executed by emond")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"eventRulesIcon"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#define PLUGIN_NAME @"Extensions and Widgets"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"plugins that extend/customize the OS"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"plugins that extend/customize the OS", @"plugins that extend/customize the OS")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"extensionIcon"
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@
|
||||
#define PLUGIN_NAME @"Kernel Extensions"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"installed kexts, likely kernel loaded"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"installed kexts, likely kernel loaded", @"installed kexts, likely kernel loaded")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"kernelIcon"
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
#define PLUGIN_NAME @"Launch Items"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"daemons and agents loaded by launchd"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"daemons and agents loaded by launchd", @"daemons and agents loaded by launchd")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"launchIcon"
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#define PLUGIN_NAME @"Login/Logout Hooks"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"items executed upon login or logout"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"items executed upon login or logout", @"items executed upon login or logout")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"logInOutIcon"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#define PLUGIN_NAME @"Login Items"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"items started when the user logs in"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"items started when the user logs in", @"items started when the user logs in")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"loginIcon"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#define PLUGIN_NAME @"Periodic Scripts"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"scripts that are executed periodically"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"scripts that are executed periodically", @"scripts that are executed periodically")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"periodicIcon"
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
#define PLUGIN_NAME @"Quicklook Plugins"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"registered quicklook bundles"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"registered quicklook bundles", @"registered quicklook bundles")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"quicklookIcon"
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
#define PLUGIN_NAME @"Spotlight Importers"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"bundles loaded by Spotlight (mdworker)"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"bundles loaded by Spotlight (mdworker)", @"bundles loaded by Spotlight (mdworker)")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"spotlightIcon"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#define PLUGIN_NAME @"Startup Scripts"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"scripts executed during OS startup"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"scripts executed during OS startup", @"scripts executed during OS startup")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"startupScriptsIcon"
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
#define PLUGIN_NAME @"System Extensions"
|
||||
|
||||
//plugin description
|
||||
#define PLUGIN_DESCRIPTION @"plugins that extend OS functionality"
|
||||
#define PLUGIN_DESCRIPTION NSLocalizedString(@"user-mode 'drivers' extending OS functionality", @"user-mode 'drivers' extending OS functionality")
|
||||
|
||||
//plugin icon
|
||||
#define PLUGIN_ICON @"systemExtensionIcon"
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="32700.99.1234" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||
<dependencies>
|
||||
<deployment identifier="macosx"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
|
||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22690"/>
|
||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||
</dependencies>
|
||||
<objects>
|
||||
@@ -19,7 +19,7 @@
|
||||
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
|
||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" texturedBackground="YES"/>
|
||||
<rect key="contentRect" x="196" y="240" width="532" height="400"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="1512" height="944"/>
|
||||
<rect key="screenRect" x="0.0" y="0.0" width="3440" height="1415"/>
|
||||
<view key="contentView" id="se5-gp-TjO">
|
||||
<rect key="frame" x="0.0" y="0.0" width="532" height="400"/>
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
@@ -70,7 +70,7 @@
|
||||
<autoresizingMask key="autoresizingMask"/>
|
||||
</scroller>
|
||||
</scrollView>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fZJ-sG-ZuJ">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fZJ-sG-ZuJ">
|
||||
<rect key="frame" x="20" y="250" width="138" height="19"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Patrons & Friends" id="fJg-qw-wDf">
|
||||
@@ -79,7 +79,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="OSm-xS-Dmd">
|
||||
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="OSm-xS-Dmd">
|
||||
<rect key="frame" x="153" y="334" width="182" height="19"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Version:" id="bBK-v0-ypq">
|
||||
@@ -88,7 +88,7 @@
|
||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||
</textFieldCell>
|
||||
</textField>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" tag="101" translatesAutoresizingMaskIntoConstraints="NO" id="HZZ-Es-mpy">
|
||||
<button tag="101" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="HZZ-Es-mpy">
|
||||
<rect key="frame" x="390" y="13" width="128" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="More Info" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="J9x-sM-h9S">
|
||||
@@ -99,7 +99,7 @@
|
||||
<action selector="buttonHandler:" target="-2" id="Cgx-f4-Thr"/>
|
||||
</connections>
|
||||
</button>
|
||||
<button verticalHuggingPriority="750" fixedFrame="YES" tag="100" translatesAutoresizingMaskIntoConstraints="NO" id="xnd-Gw-0o8">
|
||||
<button tag="100" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="xnd-Gw-0o8">
|
||||
<rect key="frame" x="247" y="13" width="128" height="32"/>
|
||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||
<buttonCell key="cell" type="push" title="Support Us!" bezelStyle="rounded" alignment="center" borderStyle="border" imageScaling="proportionallyDown" inset="2" id="6g3-Pg-x3P">
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
"6g3-Pg-x3P.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"Support Us!\"; ObjectID = \"6g3-Pg-x3P\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Support Us!"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"bBK-v0-ypq.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Version:\"; ObjectID = \"bBK-v0-ypq\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Version:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"fJg-qw-wDf.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Patrons & Friends\"; ObjectID = \"fJg-qw-wDf\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Patrons & Friends"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"J9x-sM-h9S.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"More Info\"; ObjectID = \"J9x-sM-h9S\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "More Info"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
}
|
||||
@@ -0,0 +1,126 @@
|
||||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
"F0z-JX-Cv5.title" : {
|
||||
"comment" : "Class = \"NSWindow\"; title = \"Extension Information\"; ObjectID = \"F0z-JX-Cv5\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Extension Information"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"fYa-Av-reX.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Details:\"; ObjectID = \"fYa-Av-reX\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Details:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"hR8-Wz-esN.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"item creation/modified\"; ObjectID = \"hR8-Wz-esN\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "item creation/modified"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iBS-9J-ok9.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"ID:\"; ObjectID = \"iBS-9J-ok9\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "ID:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"MfU-Jb-agl.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Item Path\"; ObjectID = \"MfU-Jb-agl\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Item Path"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"pYD-IR-Vtv.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Item Name\"; ObjectID = \"pYD-IR-Vtv\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Item Name"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"RwO-yA-Xwk.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"Close\"; ObjectID = \"RwO-yA-Xwk\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Close"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"U3V-A7-jO8.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Time:\"; ObjectID = \"U3V-A7-jO8\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Time:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"XJ7-Go-bkG.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"item id\"; ObjectID = \"XJ7-Go-bkG\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "item id"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"yYo-KQ-DMm.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"none provided\"; ObjectID = \"yYo-KQ-DMm\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "none provided"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
}
|
||||
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
"00d-h4-SPW.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"signing status\"; ObjectID = \"00d-h4-SPW\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "signing status"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"23w-N2-C5Z.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"plist\"; ObjectID = \"23w-N2-C5Z\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "plist"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"ezp-TW-Xky.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Sign:\"; ObjectID = \"ezp-TW-Xky\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Sign:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"F0z-JX-Cv5.title" : {
|
||||
"comment" : "Class = \"NSWindow\"; title = \"File Information\"; ObjectID = \"F0z-JX-Cv5\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "File Information"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"fYa-Av-reX.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Hash:\"; ObjectID = \"fYa-Av-reX\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Hash:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"hR8-Wz-esN.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"item creation/modified\"; ObjectID = \"hR8-Wz-esN\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "item creation/modified"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iBS-9J-ok9.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Size:\"; ObjectID = \"iBS-9J-ok9\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Size:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"MfU-Jb-agl.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Item Path\"; ObjectID = \"MfU-Jb-agl\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Item Path"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"oqF-UL-ydq.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"List:\"; ObjectID = \"oqF-UL-ydq\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "List:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"pYD-IR-Vtv.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Item Name\"; ObjectID = \"pYD-IR-Vtv\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Item Name"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"RwO-yA-Xwk.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"Close\"; ObjectID = \"RwO-yA-Xwk\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Close"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"U3V-A7-jO8.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Time:\"; ObjectID = \"U3V-A7-jO8\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Time:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"XJ7-Go-bkG.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"item size\"; ObjectID = \"XJ7-Go-bkG\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "item size"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"yYo-KQ-DMm.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"item hash\"; ObjectID = \"yYo-KQ-DMm\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "item hash"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
"1Dc-km-Bwx.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"Close\"; ObjectID = \"1Dc-km-Bwx\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Close"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"F0z-JX-Cv5.title" : {
|
||||
"comment" : "Class = \"NSWindow\"; title = \"Window\"; ObjectID = \"F0z-JX-Cv5\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Window"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iny-wp-VI1.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"plist\"; ObjectID = \"iny-wp-VI1\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "plist"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
}
|
||||
@@ -0,0 +1,66 @@
|
||||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
"F0z-JX-Cv5.title" : {
|
||||
"comment" : "Class = \"NSWindow\"; title = \"Preferences\"; ObjectID = \"F0z-JX-Cv5\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Preferences"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"gXW-vY-Aj1.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"Disable VirusTotal integration.\"; ObjectID = \"gXW-vY-Aj1\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Disable VirusTotal integration."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"idJ-pd-k6U.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"Disable automatic update check.\"; ObjectID = \"idJ-pd-k6U\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Disable automatic update check."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"J9x-sM-h9S.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"OK\"; ObjectID = \"J9x-sM-h9S\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "OK"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"WN8-cQ-8xh.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"Include macOS/known items.\"; ObjectID = \"WN8-cQ-8xh\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Include macOS/known items."
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
"bBK-v0-ypq.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"results...\"; ObjectID = \"bBK-v0-ypq\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "results..."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"J9x-sM-h9S.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"OK\"; ObjectID = \"J9x-sM-h9S\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "OK"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"viG-9e-1Nj.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Scan Complete\"; ObjectID = \"viG-9e-1Nj\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Scan Complete"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
|
||||
},
|
||||
"version" : "1.0"
|
||||
}
|
||||
@@ -0,0 +1,138 @@
|
||||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
"2nj-QY-6ot.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"unknown file\"; ObjectID = \"2nj-QY-6ot\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "unknown file"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"3TS-NZ-XYE.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"file name\"; ObjectID = \"3TS-NZ-XYE\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "file name"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"F0z-JX-Cv5.title" : {
|
||||
"comment" : "Class = \"NSWindow\"; title = \"VirusTotal Information\"; ObjectID = \"F0z-JX-Cv5\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "VirusTotal Information"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"HO9-t1-yCi.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"File Name:\"; ObjectID = \"HO9-t1-yCi\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "File Name:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"hR8-Wz-esN.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"report url\"; ObjectID = \"hR8-Wz-esN\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "report url"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"iBS-9J-ok9.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Detection:\"; ObjectID = \"iBS-9J-ok9\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Detection:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"JAW-nH-eRf.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"Submit?\"; ObjectID = \"JAW-nH-eRf\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Submit?"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"lxM-ES-i7K.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"status msg\"; ObjectID = \"lxM-ES-i7K\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "status msg"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"RwO-yA-Xwk.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"Close\"; ObjectID = \"RwO-yA-Xwk\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Close"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"U3V-A7-jO8.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"More Info:\"; ObjectID = \"U3V-A7-jO8\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "More Info:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"XJ7-Go-bkG.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"ratio\"; ObjectID = \"XJ7-Go-bkG\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "ratio"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
}
|
||||
+2
-6
@@ -68,10 +68,6 @@ NSString* escapeString(NSString* unescapedString);
|
||||
//find a constraint (by name) of a view
|
||||
NSLayoutConstraint* findConstraint(NSView* view, NSString* constraintName);
|
||||
|
||||
//check if app is pristine
|
||||
// ->that is to say, nobody modified on-disk image/resources (white lists!, etc)
|
||||
OSStatus verifySelf(void);
|
||||
|
||||
//given a 'short' path or process name
|
||||
// ->find the full path by scanning $PATH
|
||||
NSString* which(NSString* processName);
|
||||
@@ -80,8 +76,8 @@ NSString* which(NSString* processName);
|
||||
// ->returns an array of process paths
|
||||
NSMutableArray* runningProcesses(void);
|
||||
|
||||
//check if a file is an executable
|
||||
BOOL isExecutable(NSString* file);
|
||||
//check if a file is a binary
|
||||
BOOL isBinary(NSString* file);
|
||||
|
||||
//lookup object in dictionary
|
||||
// note: key can be case-insensitive
|
||||
|
||||
+42
-58
@@ -405,7 +405,7 @@ bail:
|
||||
|
||||
//get app's version
|
||||
// ->extracted from Info.plist
|
||||
NSString* getAppVersion()
|
||||
NSString* getAppVersion(void)
|
||||
{
|
||||
//read and return 'CFBundleVersion' from bundle
|
||||
return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];
|
||||
@@ -568,7 +568,7 @@ void makeModal(NSWindowController* windowController)
|
||||
|
||||
|
||||
//check if computer has network connection
|
||||
BOOL isNetworkConnected()
|
||||
BOOL isNetworkConnected(void)
|
||||
{
|
||||
//flag
|
||||
BOOL isConnected = NO;
|
||||
@@ -697,45 +697,6 @@ NSLayoutConstraint* findConstraint(NSView* view, NSString* constraintName)
|
||||
return constraint;
|
||||
}
|
||||
|
||||
//check if app is pristine
|
||||
// ->that is to say, nobody modified on-disk image/resources (white lists!, etc)
|
||||
OSStatus verifySelf(void)
|
||||
{
|
||||
//status
|
||||
OSStatus status = !noErr;
|
||||
|
||||
//sec ref (for self)
|
||||
SecCodeRef secRef = NULL;
|
||||
|
||||
//get sec ref to self
|
||||
status = SecCodeCopySelf(kSecCSDefaultFlags, &secRef);
|
||||
if(noErr != status)
|
||||
{
|
||||
//bail
|
||||
goto bail;
|
||||
}
|
||||
|
||||
//validate
|
||||
status = SecStaticCodeCheckValidity(secRef, kSecCSDefaultFlags, NULL);
|
||||
if(noErr != status)
|
||||
{
|
||||
//bail
|
||||
goto bail;
|
||||
}
|
||||
|
||||
//bail
|
||||
bail:
|
||||
|
||||
//release sec ref
|
||||
if(NULL != secRef)
|
||||
{
|
||||
//release
|
||||
CFRelease(secRef);
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
||||
//given a 'short' path or process name
|
||||
// ->find the full path by scanning $PATH
|
||||
NSString* which(NSString* processName)
|
||||
@@ -900,7 +861,7 @@ bail:
|
||||
|
||||
//get array of running procs
|
||||
// ->returns an array of process paths
|
||||
NSMutableArray* runningProcesses()
|
||||
NSMutableArray* runningProcesses(void)
|
||||
{
|
||||
//running procs
|
||||
NSMutableArray* processes = nil;
|
||||
@@ -970,33 +931,56 @@ bail:
|
||||
return processes;
|
||||
}
|
||||
|
||||
//check if a file is an executable
|
||||
BOOL isExecutable(NSString* file)
|
||||
//check if a file is a binary
|
||||
BOOL isBinary(NSString* file)
|
||||
{
|
||||
//return
|
||||
BOOL isExecutable = NO;
|
||||
|
||||
//architecture ref
|
||||
CFArrayRef archArrayRef = NULL;
|
||||
CFArrayRef architectures = NULL;
|
||||
|
||||
//once
|
||||
static dispatch_once_t once;
|
||||
|
||||
//architectures
|
||||
static NSMutableArray* supportedArchitectures = nil;
|
||||
|
||||
//match
|
||||
NSNumber* matchedArchitecture = nil;
|
||||
|
||||
//init architecture array
|
||||
dispatch_once(&once, ^ {
|
||||
|
||||
//init with i386 & x6_64
|
||||
supportedArchitectures = [@[[NSNumber numberWithInt:kCFBundleExecutableArchitectureI386], [NSNumber numberWithInt:kCFBundleExecutableArchitectureX86_64]] mutableCopy];
|
||||
|
||||
//add arm on newer
|
||||
if(@available(macOS 11, *))
|
||||
{
|
||||
[supportedArchitectures addObject:[NSNumber numberWithInt:kCFBundleExecutableArchitectureARM64]];
|
||||
}
|
||||
});
|
||||
|
||||
//get executable arch's
|
||||
archArrayRef = CFBundleCopyExecutableArchitecturesForURL((__bridge CFURLRef)[NSURL fileURLWithPath:file]);
|
||||
|
||||
//check arch for i386/x6_64
|
||||
if(NULL != archArrayRef)
|
||||
architectures = CFBundleCopyExecutableArchitecturesForURL((__bridge CFURLRef)[NSURL fileURLWithPath:file]);
|
||||
if( (NULL == architectures) ||
|
||||
(CFArrayGetCount(architectures) == 0) )
|
||||
{
|
||||
//set flag
|
||||
isExecutable = [(__bridge NSArray*)archArrayRef containsObject:[NSNumber numberWithInt:kCFBundleExecutableArchitectureX86_64]] || [(__bridge NSArray*)archArrayRef containsObject:[NSNumber numberWithInt:kCFBundleExecutableArchitectureI386]];
|
||||
//bail
|
||||
goto bail;
|
||||
}
|
||||
|
||||
//check for match
|
||||
matchedArchitecture = [(__bridge NSArray*)architectures firstObjectCommonWithArray:supportedArchitectures];
|
||||
|
||||
bail:
|
||||
|
||||
//free arch ref
|
||||
if(NULL != archArrayRef)
|
||||
if(NULL != architectures)
|
||||
{
|
||||
//free
|
||||
CFRelease(archArrayRef);
|
||||
CFRelease(architectures);
|
||||
}
|
||||
|
||||
return isExecutable;
|
||||
return nil != matchedArchitecture;
|
||||
}
|
||||
|
||||
//lookup object in dictionary
|
||||
@@ -1024,7 +1008,7 @@ id extractFromDictionary(NSDictionary* dictionary, NSString* sensitiveKey)
|
||||
|
||||
//check if (full) dark mode
|
||||
// meaning, Mojave+ and dark mode enabled
|
||||
BOOL isDarkMode()
|
||||
BOOL isDarkMode(void)
|
||||
{
|
||||
//flag
|
||||
BOOL darkMode = NO;
|
||||
|
||||
@@ -0,0 +1,450 @@
|
||||
{
|
||||
"sourceLanguage" : "en",
|
||||
"strings" : {
|
||||
"1D0-FU-7Yz.ibShadowedToolTip" : {
|
||||
"comment" : "Class = \"NSButton\"; ibShadowedToolTip = \"show file info\"; ObjectID = \"1D0-FU-7Yz\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "show file info"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"1mP-i0-2e4.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"Close\"; ObjectID = \"1mP-i0-2e4\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Close"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"1za-Bx-vuB.title" : {
|
||||
"comment" : "Class = \"NSButtonCell\"; title = \"▪ ▪ ▪\"; ObjectID = \"1za-Bx-vuB\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "▪ ▪ ▪"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"3n6-7o-mGC.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"show\"; ObjectID = \"3n6-7o-mGC\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "show"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"5m9-ob-we9.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Item Category Description\"; ObjectID = \"5m9-ob-we9\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Item Category Description"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"8lb-2h-A37.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Categories:\"; ObjectID = \"8lb-2h-A37\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Categories:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"29.title" : {
|
||||
"comment" : "Class = \"NSMenu\"; title = \"AMainMenu\"; ObjectID = \"29\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "AMainMenu"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"50R-D6-zAq.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"virustotal\"; ObjectID = \"50R-D6-zAq\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "virustotal"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"56.title" : {
|
||||
"comment" : "Class = \"NSMenuItem\"; title = \"KnockKnock\"; ObjectID = \"56\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "KnockKnock"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"57.title" : {
|
||||
"comment" : "Class = \"NSMenu\"; title = \"KnockKnock\"; ObjectID = \"57\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "KnockKnock"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"66D-SU-ADH.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Command\"; ObjectID = \"66D-SU-ADH\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Command"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"134.title" : {
|
||||
"comment" : "Class = \"NSMenuItem\"; title = \"About\"; ObjectID = \"134\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "About"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"136.title" : {
|
||||
"comment" : "Class = \"NSMenuItem\"; title = \"Quit\"; ObjectID = \"136\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Quit"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"371.title" : {
|
||||
"comment" : "Class = \"NSWindow\"; title = \"KnockKnock\"; ObjectID = \"371\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "KnockKnock"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"544.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Text Cell\"; ObjectID = \"544\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Text Cell"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"579.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Item Name\"; ObjectID = \"579\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Item Name"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"602.ibShadowedToolTip" : {
|
||||
"comment" : "Class = \"NSButton\"; ibShadowedToolTip = \"show in finder\"; ObjectID = \"602\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "show in finder"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"748.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"status...\"; ObjectID = \"748\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "status..."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"769.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Start Scan\"; ObjectID = \"769\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Start Scan"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"akD-jt-Y0L.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Items:\"; ObjectID = \"akD-jt-Y0L\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Items:"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Cd7-Xq-jnw.title" : {
|
||||
"comment" : "Class = \"NSMenuItem\"; title = \"Preferences\"; ObjectID = \"Cd7-Xq-jnw\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Preferences"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"DUA-BI-gth.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Item Category\"; ObjectID = \"DUA-BI-gth\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Item Category"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"FJa-D6-BXh.ibShadowedToolTip" : {
|
||||
"comment" : "Class = \"NSButton\"; ibShadowedToolTip = \"show in finder\"; ObjectID = \"FJa-D6-BXh\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "show in finder"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"jB9-4g-VcD.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"000\"; ObjectID = \"jB9-4g-VcD\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "000"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"jMK-Qd-DDP.ibShadowedToolTip" : {
|
||||
"comment" : "Class = \"NSButton\"; ibShadowedToolTip = \"show virustotal info\"; ObjectID = \"jMK-Qd-DDP\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "show virustotal info"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"JSF-ba-pCy.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Mahalo to the \\\"Friends of Objective-See\\\"\"; ObjectID = \"JSF-ba-pCy\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Mahalo to the \"Friends of Objective-See\""
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"KxO-Jf-gyu.title" : {
|
||||
"comment" : "Class = \"NSBox\"; title = \"Box\"; ObjectID = \"KxO-Jf-gyu\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Box"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"m5h-Zp-Y8c.title" : {
|
||||
"comment" : "Class = \"NSMenuItem\"; title = \"Check For Update...\"; ObjectID = \"m5h-Zp-Y8c\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Check For Update..."
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"mds-5g-doD.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"item path\"; ObjectID = \"mds-5g-doD\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "item path"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"NHF-GA-lDe.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"info\"; ObjectID = \"NHF-GA-lDe\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "info"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"RsS-lJ-vVj.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"show\"; ObjectID = \"RsS-lJ-vVj\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "show"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"TTQ-yd-uVn.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"version x.x.x\"; ObjectID = \"TTQ-yd-uVn\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "version x.x.x"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"W7z-UG-RS9.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"item path\"; ObjectID = \"W7z-UG-RS9\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "item path"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"WyP-Ci-amT.title" : {
|
||||
"comment" : "Class = \"NSBox\"; title = \"Box\"; ObjectID = \"WyP-Ci-amT\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Box"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Xud-mK-lFp.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"item plist\"; ObjectID = \"Xud-mK-lFp\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "item plist"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Ybp-gD-hTK.title" : {
|
||||
"comment" : "Class = \"NSTextFieldCell\"; title = \"Text Cell\"; ObjectID = \"Ybp-gD-hTK\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "Text Cell"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"YxG-Lg-xla.headerCell.title" : {
|
||||
"comment" : "Class = \"NSTableColumn\"; headerCell.title = \"categories\"; ObjectID = \"YxG-Lg-xla\";",
|
||||
"extractionState" : "extracted_with_value",
|
||||
"localizations" : {
|
||||
"en" : {
|
||||
"stringUnit" : {
|
||||
"state" : "new",
|
||||
"value" : "categories"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"version" : "1.0"
|
||||
}
|
||||
Reference in New Issue
Block a user