preparations for localizations
This commit is contained in:
parent
289a6add52
commit
77ea0c5821
|
@ -3,37 +3,37 @@
|
||||||
archiveVersion = 1;
|
archiveVersion = 1;
|
||||||
classes = {
|
classes = {
|
||||||
};
|
};
|
||||||
objectVersion = 48;
|
objectVersion = 60;
|
||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
7D16D6941F64E43300DB3161 /* Update.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D16D6901F64E43300DB3161 /* Update.m */; };
|
7D16D6941F64E43300DB3161 /* Update.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D16D6901F64E43300DB3161 /* Update.m */; };
|
||||||
7D16D6951F64E43300DB3161 /* UpdateWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D16D6911F64E43300DB3161 /* UpdateWindow.xib */; };
|
|
||||||
7D16D6961F64E43300DB3161 /* UpdateWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D16D6931F64E43300DB3161 /* UpdateWindowController.m */; };
|
7D16D6961F64E43300DB3161 /* UpdateWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D16D6931F64E43300DB3161 /* UpdateWindowController.m */; };
|
||||||
7D3B75141F13354900568828 /* StatusBarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D3B74FD1F13354900568828 /* StatusBarItem.m */; };
|
7D3B75141F13354900568828 /* StatusBarItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D3B74FD1F13354900568828 /* StatusBarItem.m */; };
|
||||||
7D5C5F521F200B9200C0E94A /* utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D5C5F511F200B9200C0E94A /* utilities.m */; };
|
7D5C5F521F200B9200C0E94A /* utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D5C5F511F200B9200C0E94A /* utilities.m */; };
|
||||||
7D7755E81F02E05B00D0017D /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D7755E71F02E05B00D0017D /* AppDelegate.m */; };
|
7D7755E81F02E05B00D0017D /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D7755E71F02E05B00D0017D /* AppDelegate.m */; };
|
||||||
7D7755EB1F02E05B00D0017D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D7755EA1F02E05B00D0017D /* main.m */; };
|
7D7755EB1F02E05B00D0017D /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 7D7755EA1F02E05B00D0017D /* main.m */; };
|
||||||
7D7755F01F02E05B00D0017D /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = 7D7755EE1F02E05B00D0017D /* MainMenu.xib */; };
|
|
||||||
7DD25FF01F23B73C00277EC4 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7DD25FEF1F23B73C00277EC4 /* Assets.xcassets */; };
|
7DD25FF01F23B73C00277EC4 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7DD25FEF1F23B73C00277EC4 /* Assets.xcassets */; };
|
||||||
CD22785E20434CAC00C72C76 /* StatusBarPopover.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD22785B20434CAB00C72C76 /* StatusBarPopover.xib */; };
|
|
||||||
CD22785F20434CAC00C72C76 /* StatusBarPopoverController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD22785D20434CAB00C72C76 /* StatusBarPopoverController.m */; };
|
CD22785F20434CAC00C72C76 /* StatusBarPopoverController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD22785D20434CAB00C72C76 /* StatusBarPopoverController.m */; };
|
||||||
CD2F8008244551AC009C3D77 /* NSApplicationKeyEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = CD2F8007244551AC009C3D77 /* NSApplicationKeyEvents.m */; };
|
CD2F8008244551AC009C3D77 /* NSApplicationKeyEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = CD2F8007244551AC009C3D77 /* NSApplicationKeyEvents.m */; };
|
||||||
CD2F800C24455333009C3D77 /* AboutWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD2F800924455333009C3D77 /* AboutWindow.xib */; };
|
|
||||||
CD2F800D24455333009C3D77 /* AboutWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD2F800B24455333009C3D77 /* AboutWindowController.m */; };
|
CD2F800D24455333009C3D77 /* AboutWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD2F800B24455333009C3D77 /* AboutWindowController.m */; };
|
||||||
CD2F801724468A8C009C3D77 /* patrons.txt in Resources */ = {isa = PBXBuildFile; fileRef = CD2F801624468A8C009C3D77 /* patrons.txt */; };
|
CD2F801724468A8C009C3D77 /* patrons.txt in Resources */ = {isa = PBXBuildFile; fileRef = CD2F801624468A8C009C3D77 /* patrons.txt */; };
|
||||||
CD6836682391DB6F00CF19C1 /* security.plist in Resources */ = {isa = PBXBuildFile; fileRef = CD6836672391DB6F00CF19C1 /* security.plist */; };
|
CD6836682391DB6F00CF19C1 /* security.plist in Resources */ = {isa = PBXBuildFile; fileRef = CD6836672391DB6F00CF19C1 /* security.plist */; };
|
||||||
CD7E47D42B5227B600B63153 /* OverSight Installer.app in Resources */ = {isa = PBXBuildFile; fileRef = CD7E47D32B5227B600B63153 /* OverSight Installer.app */; };
|
CD86413C2CA1617A00803551 /* AboutWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD86413B2CA1617A00803551 /* AboutWindow.xib */; };
|
||||||
CD8FD5D523BAE2D200EFE0FB /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD8FD5D323BAE2D100EFE0FB /* Preferences.xib */; };
|
CD8641442CA161AA00803551 /* Preferences.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD8641432CA161AA00803551 /* Preferences.xib */; };
|
||||||
|
CD86414D2CA161CF00803551 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD86414C2CA161CF00803551 /* MainMenu.xib */; };
|
||||||
|
CD8641512CA161D500803551 /* Rules.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD8641502CA161D500803551 /* Rules.xib */; };
|
||||||
|
CD8641552CA161DA00803551 /* StatusBarPopover.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD8641542CA161DA00803551 /* StatusBarPopover.xib */; };
|
||||||
|
CD8641592CA161DF00803551 /* UpdateWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD8641582CA161DF00803551 /* UpdateWindow.xib */; };
|
||||||
CD8FD5D623BAE2D200EFE0FB /* PrefsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD8FD5D423BAE2D200EFE0FB /* PrefsWindowController.m */; };
|
CD8FD5D623BAE2D200EFE0FB /* PrefsWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD8FD5D423BAE2D200EFE0FB /* PrefsWindowController.m */; };
|
||||||
CD8FD5F623C05AD900EFE0FB /* RuleRow.m in Sources */ = {isa = PBXBuildFile; fileRef = CD8FD5F023C05AD800EFE0FB /* RuleRow.m */; };
|
CD8FD5F623C05AD900EFE0FB /* RuleRow.m in Sources */ = {isa = PBXBuildFile; fileRef = CD8FD5F023C05AD800EFE0FB /* RuleRow.m */; };
|
||||||
CD8FD5F723C05AD900EFE0FB /* RuleRowCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CD8FD5F223C05AD800EFE0FB /* RuleRowCell.m */; };
|
CD8FD5F723C05AD900EFE0FB /* RuleRowCell.m in Sources */ = {isa = PBXBuildFile; fileRef = CD8FD5F223C05AD800EFE0FB /* RuleRowCell.m */; };
|
||||||
CD8FD5F823C05AD900EFE0FB /* RulesWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD8FD5F323C05AD800EFE0FB /* RulesWindowController.m */; };
|
CD8FD5F823C05AD900EFE0FB /* RulesWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD8FD5F323C05AD800EFE0FB /* RulesWindowController.m */; };
|
||||||
CD8FD5FA23C05AD900EFE0FB /* Rules.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD8FD5F523C05AD900EFE0FB /* Rules.xib */; };
|
|
||||||
CDC6098E263CB7EB006D1332 /* LogMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = CDC6098D263CB7EB006D1332 /* LogMonitor.m */; };
|
CDC6098E263CB7EB006D1332 /* LogMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = CDC6098D263CB7EB006D1332 /* LogMonitor.m */; };
|
||||||
CDC60991263CBD36006D1332 /* AVMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = CDC60990263CBD36006D1332 /* AVMonitor.m */; };
|
CDC60991263CBD36006D1332 /* AVMonitor.m in Sources */ = {isa = PBXBuildFile; fileRef = CDC60990263CBD36006D1332 /* AVMonitor.m */; };
|
||||||
CDC60994263CBEE7006D1332 /* Client.m in Sources */ = {isa = PBXBuildFile; fileRef = CDC60993263CBEE7006D1332 /* Client.m */; };
|
CDC60994263CBEE7006D1332 /* Client.m in Sources */ = {isa = PBXBuildFile; fileRef = CDC60993263CBEE7006D1332 /* Client.m */; };
|
||||||
CDCBF0DE26499DFF001D9F9A /* Event.m in Sources */ = {isa = PBXBuildFile; fileRef = CDCBF0DD26499DFF001D9F9A /* Event.m */; };
|
CDCBF0DE26499DFF001D9F9A /* Event.m in Sources */ = {isa = PBXBuildFile; fileRef = CDCBF0DD26499DFF001D9F9A /* Event.m */; };
|
||||||
|
CDF660612B58639E00A238A2 /* OverSight Installer.app in Resources */ = {isa = PBXBuildFile; fileRef = CDF660602B58639E00A238A2 /* OverSight Installer.app */; };
|
||||||
/* End PBXBuildFile section */
|
/* End PBXBuildFile section */
|
||||||
|
|
||||||
/* Begin PBXCopyFilesBuildPhase section */
|
/* Begin PBXCopyFilesBuildPhase section */
|
||||||
|
@ -51,7 +51,6 @@
|
||||||
/* Begin PBXFileReference section */
|
/* Begin PBXFileReference section */
|
||||||
7D16D68F1F64E43300DB3161 /* Update.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Update.h; sourceTree = "<group>"; };
|
7D16D68F1F64E43300DB3161 /* Update.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Update.h; sourceTree = "<group>"; };
|
||||||
7D16D6901F64E43300DB3161 /* Update.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Update.m; sourceTree = "<group>"; };
|
7D16D6901F64E43300DB3161 /* Update.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Update.m; sourceTree = "<group>"; };
|
||||||
7D16D6911F64E43300DB3161 /* UpdateWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UpdateWindow.xib; sourceTree = "<group>"; };
|
|
||||||
7D16D6921F64E43300DB3161 /* UpdateWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UpdateWindowController.h; sourceTree = "<group>"; };
|
7D16D6921F64E43300DB3161 /* UpdateWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UpdateWindowController.h; sourceTree = "<group>"; };
|
||||||
7D16D6931F64E43300DB3161 /* UpdateWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UpdateWindowController.m; sourceTree = "<group>"; };
|
7D16D6931F64E43300DB3161 /* UpdateWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = UpdateWindowController.m; sourceTree = "<group>"; };
|
||||||
7D3B74FD1F13354900568828 /* StatusBarItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StatusBarItem.m; sourceTree = "<group>"; };
|
7D3B74FD1F13354900568828 /* StatusBarItem.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StatusBarItem.m; sourceTree = "<group>"; };
|
||||||
|
@ -64,22 +63,29 @@
|
||||||
7D7755E61F02E05B00D0017D /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
7D7755E61F02E05B00D0017D /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||||
7D7755E71F02E05B00D0017D /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
7D7755E71F02E05B00D0017D /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||||
7D7755EA1F02E05B00D0017D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
7D7755EA1F02E05B00D0017D /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
|
||||||
7D7755EF1F02E05B00D0017D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
|
||||||
7D7755F11F02E05B00D0017D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
7D7755F11F02E05B00D0017D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||||
7DD25FEF1F23B73C00277EC4 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
7DD25FEF1F23B73C00277EC4 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
|
||||||
CD22785B20434CAB00C72C76 /* StatusBarPopover.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = StatusBarPopover.xib; sourceTree = "<group>"; };
|
|
||||||
CD22785C20434CAB00C72C76 /* StatusBarPopoverController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StatusBarPopoverController.h; sourceTree = "<group>"; };
|
CD22785C20434CAB00C72C76 /* StatusBarPopoverController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StatusBarPopoverController.h; sourceTree = "<group>"; };
|
||||||
CD22785D20434CAB00C72C76 /* StatusBarPopoverController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StatusBarPopoverController.m; sourceTree = "<group>"; };
|
CD22785D20434CAB00C72C76 /* StatusBarPopoverController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StatusBarPopoverController.m; sourceTree = "<group>"; };
|
||||||
CD2F8006244551AB009C3D77 /* NSApplicationKeyEvents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSApplicationKeyEvents.h; sourceTree = "<group>"; };
|
CD2F8006244551AB009C3D77 /* NSApplicationKeyEvents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NSApplicationKeyEvents.h; sourceTree = "<group>"; };
|
||||||
CD2F8007244551AC009C3D77 /* NSApplicationKeyEvents.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSApplicationKeyEvents.m; sourceTree = "<group>"; };
|
CD2F8007244551AC009C3D77 /* NSApplicationKeyEvents.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NSApplicationKeyEvents.m; sourceTree = "<group>"; };
|
||||||
CD2F800924455333009C3D77 /* AboutWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AboutWindow.xib; sourceTree = "<group>"; };
|
|
||||||
CD2F800A24455333009C3D77 /* AboutWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AboutWindowController.h; sourceTree = "<group>"; };
|
CD2F800A24455333009C3D77 /* AboutWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AboutWindowController.h; sourceTree = "<group>"; };
|
||||||
CD2F800B24455333009C3D77 /* AboutWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AboutWindowController.m; sourceTree = "<group>"; };
|
CD2F800B24455333009C3D77 /* AboutWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AboutWindowController.m; sourceTree = "<group>"; };
|
||||||
CD2F801624468A8C009C3D77 /* patrons.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = patrons.txt; path = ../Shared/patrons.txt; sourceTree = "<group>"; };
|
CD2F801624468A8C009C3D77 /* patrons.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = patrons.txt; path = ../Shared/patrons.txt; sourceTree = "<group>"; };
|
||||||
CD6836672391DB6F00CF19C1 /* security.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = security.plist; sourceTree = "<group>"; };
|
CD6836672391DB6F00CF19C1 /* security.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = security.plist; sourceTree = "<group>"; };
|
||||||
CD7E47D32B5227B600B63153 /* OverSight Installer.app */ = {isa = PBXFileReference; lastKnownFileType = wrapper.application; path = "OverSight Installer.app"; sourceTree = "<group>"; };
|
CD86413A2CA1617A00803551 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AboutWindow.xib; sourceTree = "<group>"; };
|
||||||
|
CD86413D2CA1617A00803551 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/AboutWindow.xcstrings; sourceTree = "<group>"; };
|
||||||
|
CD8641422CA161AA00803551 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/Preferences.xib; sourceTree = "<group>"; };
|
||||||
|
CD8641452CA161AA00803551 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/Preferences.xcstrings; sourceTree = "<group>"; };
|
||||||
|
CD86414B2CA161CF00803551 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||||
|
CD86414E2CA161CF00803551 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/MainMenu.xcstrings; sourceTree = "<group>"; };
|
||||||
|
CD86414F2CA161D500803551 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/Rules.xib; sourceTree = "<group>"; };
|
||||||
|
CD8641522CA161D500803551 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/Rules.xcstrings; sourceTree = "<group>"; };
|
||||||
|
CD8641532CA161DA00803551 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/StatusBarPopover.xib; sourceTree = "<group>"; };
|
||||||
|
CD8641562CA161DA00803551 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/StatusBarPopover.xcstrings; sourceTree = "<group>"; };
|
||||||
|
CD8641572CA161DF00803551 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/UpdateWindow.xib; sourceTree = "<group>"; };
|
||||||
|
CD86415A2CA161DF00803551 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/UpdateWindow.xcstrings; sourceTree = "<group>"; };
|
||||||
CD8FD5D223BAE2D100EFE0FB /* PrefsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrefsWindowController.h; sourceTree = "<group>"; };
|
CD8FD5D223BAE2D100EFE0FB /* PrefsWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PrefsWindowController.h; sourceTree = "<group>"; };
|
||||||
CD8FD5D323BAE2D100EFE0FB /* Preferences.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = Preferences.xib; sourceTree = "<group>"; };
|
|
||||||
CD8FD5D423BAE2D200EFE0FB /* PrefsWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PrefsWindowController.m; sourceTree = "<group>"; };
|
CD8FD5D423BAE2D200EFE0FB /* PrefsWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PrefsWindowController.m; sourceTree = "<group>"; };
|
||||||
CD8FD5ED23C05AD800EFE0FB /* RuleRowCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RuleRowCell.h; sourceTree = "<group>"; };
|
CD8FD5ED23C05AD800EFE0FB /* RuleRowCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RuleRowCell.h; sourceTree = "<group>"; };
|
||||||
CD8FD5EE23C05AD800EFE0FB /* RulesWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RulesWindowController.h; sourceTree = "<group>"; };
|
CD8FD5EE23C05AD800EFE0FB /* RulesWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RulesWindowController.h; sourceTree = "<group>"; };
|
||||||
|
@ -87,7 +93,6 @@
|
||||||
CD8FD5F123C05AD800EFE0FB /* RuleRow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RuleRow.h; sourceTree = "<group>"; };
|
CD8FD5F123C05AD800EFE0FB /* RuleRow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RuleRow.h; sourceTree = "<group>"; };
|
||||||
CD8FD5F223C05AD800EFE0FB /* RuleRowCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RuleRowCell.m; sourceTree = "<group>"; };
|
CD8FD5F223C05AD800EFE0FB /* RuleRowCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RuleRowCell.m; sourceTree = "<group>"; };
|
||||||
CD8FD5F323C05AD800EFE0FB /* RulesWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RulesWindowController.m; sourceTree = "<group>"; };
|
CD8FD5F323C05AD800EFE0FB /* RulesWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RulesWindowController.m; sourceTree = "<group>"; };
|
||||||
CD8FD5F523C05AD900EFE0FB /* Rules.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = Rules.xib; sourceTree = "<group>"; };
|
|
||||||
CDC6098C263CB7EB006D1332 /* LogMonitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogMonitor.h; sourceTree = "<group>"; };
|
CDC6098C263CB7EB006D1332 /* LogMonitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LogMonitor.h; sourceTree = "<group>"; };
|
||||||
CDC6098D263CB7EB006D1332 /* LogMonitor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LogMonitor.m; sourceTree = "<group>"; };
|
CDC6098D263CB7EB006D1332 /* LogMonitor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LogMonitor.m; sourceTree = "<group>"; };
|
||||||
CDC6098F263CBD36006D1332 /* AVMonitor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AVMonitor.h; sourceTree = "<group>"; };
|
CDC6098F263CBD36006D1332 /* AVMonitor.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AVMonitor.h; sourceTree = "<group>"; };
|
||||||
|
@ -96,6 +101,7 @@
|
||||||
CDC60993263CBEE7006D1332 /* Client.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Client.m; sourceTree = "<group>"; };
|
CDC60993263CBEE7006D1332 /* Client.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Client.m; sourceTree = "<group>"; };
|
||||||
CDCBF0DC26499DFF001D9F9A /* Event.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Event.h; sourceTree = "<group>"; };
|
CDCBF0DC26499DFF001D9F9A /* Event.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Event.h; sourceTree = "<group>"; };
|
||||||
CDCBF0DD26499DFF001D9F9A /* Event.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Event.m; sourceTree = "<group>"; };
|
CDCBF0DD26499DFF001D9F9A /* Event.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Event.m; sourceTree = "<group>"; };
|
||||||
|
CDF660602B58639E00A238A2 /* OverSight Installer.app */ = {isa = PBXFileReference; lastKnownFileType = wrapper.application; path = "OverSight Installer.app"; sourceTree = "<group>"; };
|
||||||
/* End PBXFileReference section */
|
/* End PBXFileReference section */
|
||||||
|
|
||||||
/* Begin PBXFrameworksBuildPhase section */
|
/* Begin PBXFrameworksBuildPhase section */
|
||||||
|
@ -150,7 +156,7 @@
|
||||||
7D7755E51F02E05B00D0017D /* Source */ = {
|
7D7755E51F02E05B00D0017D /* Source */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
CD2F800924455333009C3D77 /* AboutWindow.xib */,
|
CD86413B2CA1617A00803551 /* AboutWindow.xib */,
|
||||||
CD2F800A24455333009C3D77 /* AboutWindowController.h */,
|
CD2F800A24455333009C3D77 /* AboutWindowController.h */,
|
||||||
CD2F800B24455333009C3D77 /* AboutWindowController.m */,
|
CD2F800B24455333009C3D77 /* AboutWindowController.m */,
|
||||||
7D7755E61F02E05B00D0017D /* AppDelegate.h */,
|
7D7755E61F02E05B00D0017D /* AppDelegate.h */,
|
||||||
|
@ -166,28 +172,28 @@
|
||||||
7D7755F11F02E05B00D0017D /* Info.plist */,
|
7D7755F11F02E05B00D0017D /* Info.plist */,
|
||||||
CDC6098C263CB7EB006D1332 /* LogMonitor.h */,
|
CDC6098C263CB7EB006D1332 /* LogMonitor.h */,
|
||||||
CDC6098D263CB7EB006D1332 /* LogMonitor.m */,
|
CDC6098D263CB7EB006D1332 /* LogMonitor.m */,
|
||||||
7D7755EE1F02E05B00D0017D /* MainMenu.xib */,
|
CD86414C2CA161CF00803551 /* MainMenu.xib */,
|
||||||
CD2F8006244551AB009C3D77 /* NSApplicationKeyEvents.h */,
|
CD2F8006244551AB009C3D77 /* NSApplicationKeyEvents.h */,
|
||||||
CD2F8007244551AC009C3D77 /* NSApplicationKeyEvents.m */,
|
CD2F8007244551AC009C3D77 /* NSApplicationKeyEvents.m */,
|
||||||
CD8FD5D323BAE2D100EFE0FB /* Preferences.xib */,
|
CD8641432CA161AA00803551 /* Preferences.xib */,
|
||||||
CD8FD5D223BAE2D100EFE0FB /* PrefsWindowController.h */,
|
CD8FD5D223BAE2D100EFE0FB /* PrefsWindowController.h */,
|
||||||
CD8FD5D423BAE2D200EFE0FB /* PrefsWindowController.m */,
|
CD8FD5D423BAE2D200EFE0FB /* PrefsWindowController.m */,
|
||||||
CD8FD5F123C05AD800EFE0FB /* RuleRow.h */,
|
CD8FD5F123C05AD800EFE0FB /* RuleRow.h */,
|
||||||
CD8FD5F023C05AD800EFE0FB /* RuleRow.m */,
|
CD8FD5F023C05AD800EFE0FB /* RuleRow.m */,
|
||||||
CD8FD5ED23C05AD800EFE0FB /* RuleRowCell.h */,
|
CD8FD5ED23C05AD800EFE0FB /* RuleRowCell.h */,
|
||||||
CD8FD5F223C05AD800EFE0FB /* RuleRowCell.m */,
|
CD8FD5F223C05AD800EFE0FB /* RuleRowCell.m */,
|
||||||
CD8FD5F523C05AD900EFE0FB /* Rules.xib */,
|
CD8641502CA161D500803551 /* Rules.xib */,
|
||||||
CD8FD5EE23C05AD800EFE0FB /* RulesWindowController.h */,
|
CD8FD5EE23C05AD800EFE0FB /* RulesWindowController.h */,
|
||||||
CD8FD5F323C05AD800EFE0FB /* RulesWindowController.m */,
|
CD8FD5F323C05AD800EFE0FB /* RulesWindowController.m */,
|
||||||
7D3B74FF1F13354900568828 /* StatusBarItem.h */,
|
7D3B74FF1F13354900568828 /* StatusBarItem.h */,
|
||||||
7D3B74FD1F13354900568828 /* StatusBarItem.m */,
|
7D3B74FD1F13354900568828 /* StatusBarItem.m */,
|
||||||
CD22785B20434CAB00C72C76 /* StatusBarPopover.xib */,
|
CD8641542CA161DA00803551 /* StatusBarPopover.xib */,
|
||||||
CD22785C20434CAB00C72C76 /* StatusBarPopoverController.h */,
|
CD22785C20434CAB00C72C76 /* StatusBarPopoverController.h */,
|
||||||
CD22785D20434CAB00C72C76 /* StatusBarPopoverController.m */,
|
CD22785D20434CAB00C72C76 /* StatusBarPopoverController.m */,
|
||||||
7D7755E91F02E05B00D0017D /* Supporting Files */,
|
7D7755E91F02E05B00D0017D /* Supporting Files */,
|
||||||
7D16D68F1F64E43300DB3161 /* Update.h */,
|
7D16D68F1F64E43300DB3161 /* Update.h */,
|
||||||
7D16D6901F64E43300DB3161 /* Update.m */,
|
7D16D6901F64E43300DB3161 /* Update.m */,
|
||||||
7D16D6911F64E43300DB3161 /* UpdateWindow.xib */,
|
CD8641582CA161DF00803551 /* UpdateWindow.xib */,
|
||||||
7D16D6921F64E43300DB3161 /* UpdateWindowController.h */,
|
7D16D6921F64E43300DB3161 /* UpdateWindowController.h */,
|
||||||
7D16D6931F64E43300DB3161 /* UpdateWindowController.m */,
|
7D16D6931F64E43300DB3161 /* UpdateWindowController.m */,
|
||||||
);
|
);
|
||||||
|
@ -214,7 +220,7 @@
|
||||||
CDE09AF12919829000561CFF /* Uninstaller */ = {
|
CDE09AF12919829000561CFF /* Uninstaller */ = {
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
CD7E47D32B5227B600B63153 /* OverSight Installer.app */,
|
CDF660602B58639E00A238A2 /* OverSight Installer.app */,
|
||||||
);
|
);
|
||||||
path = Uninstaller;
|
path = Uninstaller;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
|
@ -291,15 +297,15 @@
|
||||||
isa = PBXResourcesBuildPhase;
|
isa = PBXResourcesBuildPhase;
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
CD8FD5D523BAE2D200EFE0FB /* Preferences.xib in Resources */,
|
CD8641442CA161AA00803551 /* Preferences.xib in Resources */,
|
||||||
CD7E47D42B5227B600B63153 /* OverSight Installer.app in Resources */,
|
CDF660612B58639E00A238A2 /* OverSight Installer.app in Resources */,
|
||||||
CD6836682391DB6F00CF19C1 /* security.plist in Resources */,
|
CD6836682391DB6F00CF19C1 /* security.plist in Resources */,
|
||||||
CD2F800C24455333009C3D77 /* AboutWindow.xib in Resources */,
|
CD86413C2CA1617A00803551 /* AboutWindow.xib in Resources */,
|
||||||
7D16D6951F64E43300DB3161 /* UpdateWindow.xib in Resources */,
|
CD8641592CA161DF00803551 /* UpdateWindow.xib in Resources */,
|
||||||
CD22785E20434CAC00C72C76 /* StatusBarPopover.xib in Resources */,
|
CD8641552CA161DA00803551 /* StatusBarPopover.xib in Resources */,
|
||||||
CD2F801724468A8C009C3D77 /* patrons.txt in Resources */,
|
CD2F801724468A8C009C3D77 /* patrons.txt in Resources */,
|
||||||
CD8FD5FA23C05AD900EFE0FB /* Rules.xib in Resources */,
|
CD8641512CA161D500803551 /* Rules.xib in Resources */,
|
||||||
7D7755F01F02E05B00D0017D /* MainMenu.xib in Resources */,
|
CD86414D2CA161CF00803551 /* MainMenu.xib in Resources */,
|
||||||
7DD25FF01F23B73C00277EC4 /* Assets.xcassets in Resources */,
|
7DD25FF01F23B73C00277EC4 /* Assets.xcassets in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
|
@ -342,14 +348,60 @@
|
||||||
name = MainMenu.xib;
|
name = MainMenu.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
7D7755EE1F02E05B00D0017D /* MainMenu.xib */ = {
|
CD86413B2CA1617A00803551 /* AboutWindow.xib */ = {
|
||||||
isa = PBXVariantGroup;
|
isa = PBXVariantGroup;
|
||||||
children = (
|
children = (
|
||||||
7D7755EF1F02E05B00D0017D /* Base */,
|
CD86413A2CA1617A00803551 /* Base */,
|
||||||
|
CD86413D2CA1617A00803551 /* mul */,
|
||||||
|
);
|
||||||
|
name = AboutWindow.xib;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
CD8641432CA161AA00803551 /* Preferences.xib */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
CD8641422CA161AA00803551 /* Base */,
|
||||||
|
CD8641452CA161AA00803551 /* mul */,
|
||||||
|
);
|
||||||
|
name = Preferences.xib;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
CD86414C2CA161CF00803551 /* MainMenu.xib */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
CD86414B2CA161CF00803551 /* Base */,
|
||||||
|
CD86414E2CA161CF00803551 /* mul */,
|
||||||
);
|
);
|
||||||
name = MainMenu.xib;
|
name = MainMenu.xib;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
};
|
};
|
||||||
|
CD8641502CA161D500803551 /* Rules.xib */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
CD86414F2CA161D500803551 /* Base */,
|
||||||
|
CD8641522CA161D500803551 /* mul */,
|
||||||
|
);
|
||||||
|
name = Rules.xib;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
CD8641542CA161DA00803551 /* StatusBarPopover.xib */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
CD8641532CA161DA00803551 /* Base */,
|
||||||
|
CD8641562CA161DA00803551 /* mul */,
|
||||||
|
);
|
||||||
|
name = StatusBarPopover.xib;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
CD8641582CA161DF00803551 /* UpdateWindow.xib */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
CD8641572CA161DF00803551 /* Base */,
|
||||||
|
CD86415A2CA161DF00803551 /* mul */,
|
||||||
|
);
|
||||||
|
name = UpdateWindow.xib;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
/* End PBXVariantGroup section */
|
/* End PBXVariantGroup section */
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
/* Begin XCBuildConfiguration section */
|
||||||
|
@ -473,7 +525,10 @@
|
||||||
INFOPLIST_FILE = Application/Info.plist;
|
INFOPLIST_FILE = Application/Info.plist;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = OverSight;
|
INFOPLIST_KEY_CFBundleDisplayName = OverSight;
|
||||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";
|
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(LD_RUNPATH_SEARCH_PATHS_$(IS_MACCATALYST)) @executable_path/../Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(LD_RUNPATH_SEARCH_PATHS_$(IS_MACCATALYST))",
|
||||||
|
"@executable_path/../Frameworks",
|
||||||
|
);
|
||||||
LIBRARY_SEARCH_PATHS = "";
|
LIBRARY_SEARCH_PATHS = "";
|
||||||
MACOSX_DEPLOYMENT_TARGET = 12.0;
|
MACOSX_DEPLOYMENT_TARGET = 12.0;
|
||||||
MARKETING_VERSION = 2.3.0;
|
MARKETING_VERSION = 2.3.0;
|
||||||
|
@ -499,7 +554,10 @@
|
||||||
INFOPLIST_FILE = Application/Info.plist;
|
INFOPLIST_FILE = Application/Info.plist;
|
||||||
INFOPLIST_KEY_CFBundleDisplayName = OverSight;
|
INFOPLIST_KEY_CFBundleDisplayName = OverSight;
|
||||||
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";
|
INFOPLIST_KEY_LSApplicationCategoryType = "public.app-category.utilities";
|
||||||
LD_RUNPATH_SEARCH_PATHS = "$(LD_RUNPATH_SEARCH_PATHS_$(IS_MACCATALYST)) @executable_path/../Frameworks";
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
|
"$(LD_RUNPATH_SEARCH_PATHS_$(IS_MACCATALYST))",
|
||||||
|
"@executable_path/../Frameworks",
|
||||||
|
);
|
||||||
LIBRARY_SEARCH_PATHS = "";
|
LIBRARY_SEARCH_PATHS = "";
|
||||||
MACOSX_DEPLOYMENT_TARGET = 12.0;
|
MACOSX_DEPLOYMENT_TARGET = 12.0;
|
||||||
MARKETING_VERSION = 2.3.0;
|
MARKETING_VERSION = 2.3.0;
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
</Testables>
|
</Testables>
|
||||||
</TestAction>
|
</TestAction>
|
||||||
<LaunchAction
|
<LaunchAction
|
||||||
buildConfiguration = "Debug"
|
buildConfiguration = "Release"
|
||||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||||
enableAddressSanitizer = "YES"
|
enableAddressSanitizer = "YES"
|
||||||
|
|
|
@ -75,13 +75,13 @@ extern os_log_t logHandle;
|
||||||
closeCategory = [UNNotificationCategory categoryWithIdentifier:CATEGORY_CLOSE actions:@[ok] intentIdentifiers:@[] options:0];
|
closeCategory = [UNNotificationCategory categoryWithIdentifier:CATEGORY_CLOSE actions:@[ok] intentIdentifiers:@[] options:0];
|
||||||
|
|
||||||
//init allow action
|
//init allow action
|
||||||
allow = [UNNotificationAction actionWithIdentifier:@"Allow" title:@"Allow (Once)" options:UNNotificationActionOptionNone];
|
allow = [UNNotificationAction actionWithIdentifier:@"Allow" title:NSLocalizedString(@"Allow (Once)", @"Allow (Once)") options:UNNotificationActionOptionNone];
|
||||||
|
|
||||||
//init allow action
|
//init allow action
|
||||||
allowAlways = [UNNotificationAction actionWithIdentifier:@"AllowAlways" title:@"Allow (Always)" options:UNNotificationActionOptionNone];
|
allowAlways = [UNNotificationAction actionWithIdentifier:@"AllowAlways" title:NSLocalizedString(@"Allow (Always)", @"Allow (Always)") options:UNNotificationActionOptionNone];
|
||||||
|
|
||||||
//init block action
|
//init block action
|
||||||
block = [UNNotificationAction actionWithIdentifier:@"Block" title:@"Block" options:UNNotificationActionOptionNone];
|
block = [UNNotificationAction actionWithIdentifier:@"Block" title:NSLocalizedString(@"Block",@"Block") options:UNNotificationActionOptionNone];
|
||||||
|
|
||||||
//init category
|
//init category
|
||||||
actionCategory = [UNNotificationCategory categoryWithIdentifier:CATEGORY_ACTION actions:@[allow, allowAlways, block] intentIdentifiers:@[] options:UNNotificationCategoryOptionCustomDismissAction];
|
actionCategory = [UNNotificationCategory categoryWithIdentifier:CATEGORY_ACTION actions:@[allow, allowAlways, block] intentIdentifiers:@[] options:UNNotificationCategoryOptionCustomDismissAction];
|
||||||
|
@ -1551,7 +1551,7 @@ bail:
|
||||||
(Device_Camera == event.deviceType) ? [title appendString:@"📸"] : [title appendFormat:@"🎙️"];
|
(Device_Camera == event.deviceType) ? [title appendString:@"📸"] : [title appendFormat:@"🎙️"];
|
||||||
|
|
||||||
//set status
|
//set status
|
||||||
(NSControlStateValueOn == event.state) ? [title appendString:@" Became Active!"] : [title appendString:@" Became Inactive."];
|
(NSControlStateValueOn == event.state) ? [title appendString:NSLocalizedString(@" Became Active!",@" Became Active!")] : [title appendString:NSLocalizedString(@" Became Inactive.", @" Became Inactive.")];
|
||||||
|
|
||||||
//set title
|
//set title
|
||||||
content.title = title;
|
content.title = title;
|
||||||
|
@ -1569,7 +1569,7 @@ bail:
|
||||||
if(nil != event.client)
|
if(nil != event.client)
|
||||||
{
|
{
|
||||||
//set body
|
//set body
|
||||||
content.body = [NSString stringWithFormat:@"Process: %@ (%@)", event.client.name, (0 != event.client.pid.intValue) ? event.client.pid : @"pid: unknown"];
|
content.body = [NSString stringWithFormat:NSLocalizedString(@"Process: %@ (%@)", @"Process: %@ (%@)"), event.client.name, (0 != event.client.pid.intValue) ? event.client.pid : NSLocalizedString(@"pid: unknown", @"pid: unknown")];
|
||||||
|
|
||||||
//set category
|
//set category
|
||||||
content.categoryIdentifier = CATEGORY_ACTION;
|
content.categoryIdentifier = CATEGORY_ACTION;
|
||||||
|
@ -1580,7 +1580,7 @@ bail:
|
||||||
else if(nil != event.device)
|
else if(nil != event.device)
|
||||||
{
|
{
|
||||||
//set body
|
//set body
|
||||||
content.body = [NSString stringWithFormat:@"Device: %@", event.device.localizedName];
|
content.body = [NSString stringWithFormat:NSLocalizedString(@"Device: %@", @"Device: %@"), event.device.localizedName];
|
||||||
}
|
}
|
||||||
|
|
||||||
//init request
|
//init request
|
||||||
|
@ -1959,7 +1959,7 @@ bail:
|
||||||
os_log_error(logHandle, "ERROR: failed to kill %@ (%@)", processName, processID);
|
os_log_error(logHandle, "ERROR: failed to kill %@ (%@)", processName, processID);
|
||||||
|
|
||||||
//show an alert
|
//show an alert
|
||||||
showAlert([NSString stringWithFormat:@"ERROR: failed to terminate %@ (%@)", processName, processID], [NSString stringWithFormat:@"system error code: %d", error], @"OK");
|
showAlert([NSString stringWithFormat:NSLocalizedString(@"ERROR: failed to terminate %@ (%@)", @"ERROR: failed to terminate %@ (%@)"), processName, processID], [NSString stringWithFormat:NSLocalizedString(@"system error code: %d", @"system error code: %d"), error], @"OK");
|
||||||
|
|
||||||
//bail
|
//bail
|
||||||
goto bail;
|
goto bail;
|
||||||
|
|
|
@ -47,7 +47,7 @@
|
||||||
if(nil == version)
|
if(nil == version)
|
||||||
{
|
{
|
||||||
//default
|
//default
|
||||||
version = @"unknown";
|
version = NSLocalizedString(@"unknown",@"unknown");
|
||||||
}
|
}
|
||||||
|
|
||||||
//set version sting
|
//set version sting
|
||||||
|
@ -59,7 +59,7 @@
|
||||||
if(nil == self.patrons.string)
|
if(nil == self.patrons.string)
|
||||||
{
|
{
|
||||||
//default
|
//default
|
||||||
self.patrons.string = @"error: failed to load patrons :/";
|
self.patrons.string = NSLocalizedString(@"error: failed to load patrons :/", @"error: failed to load patrons :/");
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -126,7 +126,7 @@ bail:
|
||||||
dispatch_async(dispatch_get_main_queue(), ^{
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
|
|
||||||
//show alert
|
//show alert
|
||||||
showAlert(@"ERROR: OverSight is not authorized to display notifications.", @"Please authorize (style: \"Alerts\") via the Notifications pane in System Preferences.", @"Open System Preferences...");
|
showAlert(NSLocalizedString(@"ERROR: OverSight is not authorized to display notifications.", @"ERROR: OverSight is not authorized to display notifications."), NSLocalizedString(@"Please authorize (style: \"Alerts\") via the Notifications pane in System Preferences.", @"Please authorize (style: \"Alerts\") via the Notifications pane in System Preferences."), NSLocalizedString(@"Open System Preferences...", @"Open System Preferences..."));
|
||||||
|
|
||||||
//open `System Preferences` notifications pane
|
//open `System Preferences` notifications pane
|
||||||
[NSWorkspace.sharedWorkspace openURL:[NSURL URLWithString:@"x-apple.systempreferences:com.apple.preference.notifications?com.objective-see.oversight"]];
|
[NSWorkspace.sharedWorkspace openURL:[NSURL URLWithString:@"x-apple.systempreferences:com.apple.preference.notifications?com.objective-see.oversight"]];
|
||||||
|
@ -164,7 +164,7 @@ bail:
|
||||||
dispatch_async(dispatch_get_main_queue(), ^{
|
dispatch_async(dispatch_get_main_queue(), ^{
|
||||||
|
|
||||||
//show alert
|
//show alert
|
||||||
showAlert([NSString stringWithFormat:@"OverSight notification mode set to %@.", style], @"Please change to \"Alerts\" via the Notifications pane in System Preferences.", @"Open System Preferences...");
|
showAlert([NSString stringWithFormat:NSLocalizedString(@"OverSight notification mode set to %@.", @"OverSight notification mode set to %@."), style], NSLocalizedString(@"Please change to \"Alerts\" via the Notifications pane in System Preferences.", @"Please change to \"Alerts\" via the Notifications pane in System Preferences."), NSLocalizedString(@"Open System Preferences...",@"Open System Preferences..."));
|
||||||
|
|
||||||
//open `System Preferences` notifications pane
|
//open `System Preferences` notifications pane
|
||||||
[NSWorkspace.sharedWorkspace openURL:[NSURL URLWithString:@"x-apple.systempreferences:com.apple.preference.notifications?com.objective-see.oversight"]];
|
[NSWorkspace.sharedWorkspace openURL:[NSURL URLWithString:@"x-apple.systempreferences:com.apple.preference.notifications?com.objective-see.oversight"]];
|
||||||
|
@ -494,7 +494,7 @@ bail:
|
||||||
updateWindowController = [[UpdateWindowController alloc] initWithWindowNibName:@"UpdateWindow"];
|
updateWindowController = [[UpdateWindowController alloc] initWithWindowNibName:@"UpdateWindow"];
|
||||||
|
|
||||||
//configure
|
//configure
|
||||||
[self.updateWindowController configure:[NSString stringWithFormat:@"a new version (%@) is available!", newVersion] buttonTitle:@"Update"];
|
[self.updateWindowController configure:[NSString stringWithFormat:NSLocalizedString(@"a new version (%@) is available!", @"a new version (%@) is available!"), newVersion] buttonTitle:NSLocalizedString(@"Update",@"Update")];
|
||||||
|
|
||||||
//center window
|
//center window
|
||||||
[[self.updateWindowController window] center];
|
[[self.updateWindowController window] center];
|
||||||
|
|
|
@ -0,0 +1,124 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23094" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
|
<dependencies>
|
||||||
|
<deployment identifier="macosx"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23094"/>
|
||||||
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
|
</dependencies>
|
||||||
|
<objects>
|
||||||
|
<customObject id="-2" userLabel="File's Owner" customClass="AboutWindowController">
|
||||||
|
<connections>
|
||||||
|
<outlet property="patrons" destination="j2X-Ub-niY" id="gfG-o9-RbL"/>
|
||||||
|
<outlet property="versionLabel" destination="OSm-xS-Dmd" id="luW-4O-fYe"/>
|
||||||
|
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
|
||||||
|
</connections>
|
||||||
|
</customObject>
|
||||||
|
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
|
||||||
|
<customObject id="-3" userLabel="Application" customClass="NSObject"/>
|
||||||
|
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
|
||||||
|
<windowStyleMask key="styleMask" titled="YES" closable="YES"/>
|
||||||
|
<rect key="contentRect" x="196" y="240" width="486" height="301"/>
|
||||||
|
<rect key="screenRect" x="0.0" y="0.0" width="1512" height="944"/>
|
||||||
|
<view key="contentView" id="se5-gp-TjO">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="486" height="301"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
<subviews>
|
||||||
|
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Eaf-yA-bbe">
|
||||||
|
<rect key="frame" x="158" y="235" width="268" height="50"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="OverSight" id="Ws8-bD-j2R"/>
|
||||||
|
</imageView>
|
||||||
|
<button tag="101" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="HZZ-Es-mpy">
|
||||||
|
<rect key="frame" x="344" 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">
|
||||||
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" size="13" name="Menlo-Regular"/>
|
||||||
|
</buttonCell>
|
||||||
|
<connections>
|
||||||
|
<action selector="buttonHandler:" target="-2" id="Cgx-f4-Thr"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
|
<button tag="100" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="xnd-Gw-0o8">
|
||||||
|
<rect key="frame" x="201" 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">
|
||||||
|
<behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
|
||||||
|
<font key="font" size="13" name="Menlo-Regular"/>
|
||||||
|
</buttonCell>
|
||||||
|
<connections>
|
||||||
|
<action selector="buttonHandler:" target="-2" id="gP0-s7-o6h"/>
|
||||||
|
</connections>
|
||||||
|
</button>
|
||||||
|
<scrollView fixedFrame="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5if-J7-OZf">
|
||||||
|
<rect key="frame" x="20" y="68" width="446" height="97"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
<clipView key="contentView" drawsBackground="NO" id="WiG-CC-JV3">
|
||||||
|
<rect key="frame" x="1" y="1" width="444" height="95"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<subviews>
|
||||||
|
<textView editable="NO" importsGraphics="NO" verticallyResizable="YES" usesFontPanel="YES" findStyle="panel" continuousSpellChecking="YES" allowsUndo="YES" usesRuler="YES" allowsNonContiguousLayout="YES" quoteSubstitution="YES" dashSubstitution="YES" spellingCorrection="YES" smartInsertDelete="YES" id="j2X-Ub-niY">
|
||||||
|
<rect key="frame" x="0.0" y="0.0" width="444" height="95"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
<color key="textColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<size key="minSize" width="444" height="95"/>
|
||||||
|
<size key="maxSize" width="463" height="10000000"/>
|
||||||
|
<attributedString key="textStorage">
|
||||||
|
<fragment content="list here...">
|
||||||
|
<attributes>
|
||||||
|
<color key="NSColor" name="textColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
<font key="NSFont" size="13" name="Menlo-Regular"/>
|
||||||
|
<paragraphStyle key="NSParagraphStyle" alignment="natural" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0"/>
|
||||||
|
</attributes>
|
||||||
|
</fragment>
|
||||||
|
</attributedString>
|
||||||
|
<color key="insertionPointColor" name="controlTextColor" catalog="System" colorSpace="catalog"/>
|
||||||
|
</textView>
|
||||||
|
</subviews>
|
||||||
|
</clipView>
|
||||||
|
<scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="YES" id="iNL-vM-cLm">
|
||||||
|
<rect key="frame" x="-100" y="-100" width="87" height="18"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
</scroller>
|
||||||
|
<scroller key="verticalScroller" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="6bw-3O-hPc">
|
||||||
|
<rect key="frame" x="429" y="1" width="16" height="95"/>
|
||||||
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
</scroller>
|
||||||
|
</scrollView>
|
||||||
|
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="fZJ-sG-ZuJ">
|
||||||
|
<rect key="frame" x="20" y="166" width="153" height="19"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Supporters/Patrons:" id="fJg-qw-wDf">
|
||||||
|
<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>
|
||||||
|
<textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="OSm-xS-Dmd">
|
||||||
|
<rect key="frame" x="158" y="217" 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">
|
||||||
|
<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>
|
||||||
|
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lEv-Wj-6S5">
|
||||||
|
<rect key="frame" x="22" y="193" width="96" height="92"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="Icon" id="xKf-GK-m0k"/>
|
||||||
|
</imageView>
|
||||||
|
</subviews>
|
||||||
|
</view>
|
||||||
|
<connections>
|
||||||
|
<outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
|
||||||
|
</connections>
|
||||||
|
<point key="canvasLocation" x="350" y="335.5"/>
|
||||||
|
</window>
|
||||||
|
</objects>
|
||||||
|
<resources>
|
||||||
|
<image name="Icon" width="512" height="512"/>
|
||||||
|
<image name="OverSight" width="1301" height="227"/>
|
||||||
|
</resources>
|
||||||
|
</document>
|
|
@ -1,7 +1,8 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23094" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
|
<deployment identifier="macosx"/>
|
||||||
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23094"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
|
<customObject id="-2" userLabel="File's Owner" customClass="NSApplication">
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="UTF-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" customObjectInstantitationMethod="direct">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23094" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23094"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
|
@ -27,7 +27,7 @@
|
||||||
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
|
<window title="Window" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="F0z-JX-Cv5">
|
||||||
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
|
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES"/>
|
||||||
<rect key="contentRect" x="196" y="240" width="600" height="426"/>
|
<rect key="contentRect" x="196" y="240" width="600" height="426"/>
|
||||||
<rect key="screenRect" x="0.0" y="0.0" width="3440" height="1415"/>
|
<rect key="screenRect" x="0.0" y="0.0" width="1512" height="944"/>
|
||||||
<view key="contentView" wantsLayer="YES" id="se5-gp-TjO">
|
<view key="contentView" wantsLayer="YES" id="se5-gp-TjO">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="600" height="426"/>
|
<rect key="frame" x="0.0" y="0.0" width="600" height="426"/>
|
||||||
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
|
||||||
|
@ -39,7 +39,7 @@
|
||||||
</imageView>
|
</imageView>
|
||||||
</subviews>
|
</subviews>
|
||||||
</view>
|
</view>
|
||||||
<toolbar key="toolbar" implicitIdentifier="C2AC49E3-FD8B-4919-9001-868355500E38" autosavesConfiguration="NO" displayMode="iconAndLabel" sizeMode="regular" id="V8g-Ya-LK4">
|
<toolbar key="toolbar" implicitIdentifier="C2AC49E3-FD8B-4919-9001-868355500E38" autosavesConfiguration="NO" showsBaselineSeparator="NO" displayMode="iconAndLabel" sizeMode="regular" id="V8g-Ya-LK4">
|
||||||
<allowedToolbarItems>
|
<allowedToolbarItems>
|
||||||
<toolbarItem implicitItemIdentifier="NSToolbarSpaceItem" id="J66-tT-qAf"/>
|
<toolbarItem implicitItemIdentifier="NSToolbarSpaceItem" id="J66-tT-qAf"/>
|
||||||
<toolbarItem implicitItemIdentifier="NSToolbarFlexibleSpaceItem" id="6nW-4K-zf4"/>
|
<toolbarItem implicitItemIdentifier="NSToolbarFlexibleSpaceItem" id="6nW-4K-zf4"/>
|
|
@ -348,7 +348,7 @@ bail:
|
||||||
case Update_Error:
|
case Update_Error:
|
||||||
|
|
||||||
//set label
|
//set label
|
||||||
self.updateLabel.stringValue = @"Error: update check failed";
|
self.updateLabel.stringValue = NSLocalizedString(@"Error: update check failed", @"Error: update check failed");
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -359,7 +359,7 @@ bail:
|
||||||
os_log_debug(logHandle, "no updates available");
|
os_log_debug(logHandle, "no updates available");
|
||||||
|
|
||||||
//set label
|
//set label
|
||||||
self.updateLabel.stringValue = [NSString stringWithFormat:@"Installed version (%@),\r\nis the latest.", getAppVersion()];
|
self.updateLabel.stringValue = [NSString stringWithFormat:NSLocalizedString(@"Installed version (%@),\r\nis the latest.",@"Installed version (%@),\r\nis the latest."), getAppVersion()];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -370,7 +370,7 @@ bail:
|
||||||
os_log_debug(logHandle, "update available, but not for this version of macOS.");
|
os_log_debug(logHandle, "update available, but not for this version of macOS.");
|
||||||
|
|
||||||
//set label
|
//set label
|
||||||
self.updateLabel.stringValue = [NSString stringWithFormat:@"Update available, but isn't supported on macOS %ld.%ld", NSProcessInfo.processInfo.operatingSystemVersion.majorVersion, NSProcessInfo.processInfo.operatingSystemVersion.minorVersion];
|
self.updateLabel.stringValue = [NSString stringWithFormat:NSLocalizedString(@"Update available, but isn't supported on macOS %ld.%ld", @"Update available, but isn't supported on macOS %ld.%ld"), NSProcessInfo.processInfo.operatingSystemVersion.majorVersion, NSProcessInfo.processInfo.operatingSystemVersion.minorVersion];
|
||||||
|
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -384,7 +384,7 @@ bail:
|
||||||
updateWindowController = [[UpdateWindowController alloc] initWithWindowNibName:@"UpdateWindow"];
|
updateWindowController = [[UpdateWindowController alloc] initWithWindowNibName:@"UpdateWindow"];
|
||||||
|
|
||||||
//configure
|
//configure
|
||||||
[self.updateWindowController configure:[NSString stringWithFormat:@"a new version (%@) is available!", newVersion] buttonTitle:@"Update"];
|
[self.updateWindowController configure:[NSString stringWithFormat:NSLocalizedString(@"a new version (%@) is available!",@"a new version (%@) is available!"), newVersion] buttonTitle:@"Update"];
|
||||||
|
|
||||||
//center window
|
//center window
|
||||||
[[self.updateWindowController window] center];
|
[[self.updateWindowController window] center];
|
||||||
|
|
|
@ -143,14 +143,14 @@ enum menuItems
|
||||||
if(0 == activeDevices.count)
|
if(0 == activeDevices.count)
|
||||||
{
|
{
|
||||||
//set title
|
//set title
|
||||||
activeDeviceMenuItem.title = @"No Active Devices";
|
activeDeviceMenuItem.title = NSLocalizedString(@"No Active Devices", @"No Active Devices");
|
||||||
|
|
||||||
//gone
|
//gone
|
||||||
goto bail;
|
goto bail;
|
||||||
}
|
}
|
||||||
|
|
||||||
//set title
|
//set title
|
||||||
activeDeviceMenuItem.title = @"Active Devices:";
|
activeDeviceMenuItem.title = NSLocalizedString(@"Active Devices:", @"Active Devices:");
|
||||||
|
|
||||||
//inc
|
//inc
|
||||||
menuIndex++;
|
menuIndex++;
|
||||||
|
@ -421,28 +421,28 @@ bail:
|
||||||
if(YES == self.isDisabled)
|
if(YES == self.isDisabled)
|
||||||
{
|
{
|
||||||
//update status
|
//update status
|
||||||
[self.statusItem.menu itemWithTag:status].title = [NSString stringWithFormat:@"%@: disabled", PRODUCT_NAME];
|
[self.statusItem.menu itemWithTag:status].title = [NSString stringWithFormat:NSLocalizedString(@"%@: disabled", @"%@: disabled"), PRODUCT_NAME];
|
||||||
|
|
||||||
//set icon
|
//set icon
|
||||||
self.statusItem.button.image = [NSImage imageNamed:@"StatusInactive"];
|
self.statusItem.button.image = [NSImage imageNamed:@"StatusInactive"];
|
||||||
self.statusItem.button.image.template = YES;
|
self.statusItem.button.image.template = YES;
|
||||||
|
|
||||||
//change toggle text
|
//change toggle text
|
||||||
[self.statusItem.menu itemWithTag:toggle].title = @"Enable";
|
[self.statusItem.menu itemWithTag:toggle].title = NSLocalizedString(@"Enable", @"Enable");
|
||||||
}
|
}
|
||||||
|
|
||||||
//set to enabled
|
//set to enabled
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//update status
|
//update status
|
||||||
[self.statusItem.menu itemWithTag:status].title = [NSString stringWithFormat:@"%@: enabled", PRODUCT_NAME];
|
[self.statusItem.menu itemWithTag:status].title = [NSString stringWithFormat:NSLocalizedString(@"%@: enabled", @"%@: enabled"), PRODUCT_NAME];
|
||||||
|
|
||||||
//set icon
|
//set icon
|
||||||
self.statusItem.button.image = [NSImage imageNamed:@"StatusActive"];
|
self.statusItem.button.image = [NSImage imageNamed:@"StatusActive"];
|
||||||
self.statusItem.button.image.template = YES;
|
self.statusItem.button.image.template = YES;
|
||||||
|
|
||||||
//change toggle text
|
//change toggle text
|
||||||
[self.statusItem.menu itemWithTag:toggle].title = @"Disable";
|
[self.statusItem.menu itemWithTag:toggle].title = NSLocalizedString(@"Disable", @"Disable");
|
||||||
}
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -59,7 +59,7 @@
|
||||||
|
|
||||||
//hide 1st button on 'update'
|
//hide 1st button on 'update'
|
||||||
// ...don't need update check button
|
// ...don't need update check button
|
||||||
if(YES == [self.actionButton.title isEqualToString:@"Update"])
|
if(YES == [self.actionButton.title isEqualToString:NSLocalizedString(@"Update", @"Update")])
|
||||||
{
|
{
|
||||||
//hide
|
//hide
|
||||||
self.firstButton.hidden = YES;
|
self.firstButton.hidden = YES;
|
||||||
|
@ -106,7 +106,7 @@
|
||||||
{
|
{
|
||||||
//handle 'update' / 'more info', etc
|
//handle 'update' / 'more info', etc
|
||||||
// ->open OverSight's webpage, if they *didn't* click 'close'
|
// ->open OverSight's webpage, if they *didn't* click 'close'
|
||||||
if(YES != [((NSButton*)sender).title isEqualToString:@"close"])
|
if(YES != [((NSButton*)sender).title isEqualToString:NSLocalizedString(@"Close", @"Close")])
|
||||||
{
|
{
|
||||||
//open URL
|
//open URL
|
||||||
// ->invokes user's default browser
|
// ->invokes user's default browser
|
||||||
|
|
|
@ -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 = \"Supporters/Patrons:\"; ObjectID = \"fJg-qw-wDf\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Supporters/Patrons:"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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,174 @@
|
||||||
|
{
|
||||||
|
"sourceLanguage" : "en",
|
||||||
|
"strings" : {
|
||||||
|
"1Xt-HY-uBw.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"OverSight\"; ObjectID = \"1Xt-HY-uBw\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "OverSight"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"amL-48-7OW.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"Uninstall OverSight...\"; ObjectID = \"amL-48-7OW\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Uninstall OverSight..."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"AYu-sK-qS6.title" : {
|
||||||
|
"comment" : "Class = \"NSMenu\"; title = \"Main Menu\"; ObjectID = \"AYu-sK-qS6\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Main Menu"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"FkZ-L3-H8o.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"Quit OverSight\"; ObjectID = \"FkZ-L3-H8o\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Quit OverSight"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"fTQ-KS-1uk.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"OverSight: enabled\"; ObjectID = \"fTQ-KS-1uk\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "OverSight: enabled"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"HRl-aW-6nn.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"Active Devices\"; ObjectID = \"HRl-aW-6nn\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Active Devices"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"i2A-ax-9ff.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"Allowed Items...\"; ObjectID = \"i2A-ax-9ff\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Allowed Items..."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"l0V-ZX-X8S.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"Allowed Items...\"; ObjectID = \"l0V-ZX-X8S\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Allowed Items..."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"p8u-9L-hFY.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"Disable\"; ObjectID = \"p8u-9L-hFY\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Disable"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rfE-3I-qPr.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"Close Window\"; ObjectID = \"rfE-3I-qPr\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Close Window"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"RPu-ap-wNj.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"About OverSight\"; ObjectID = \"RPu-ap-wNj\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "About OverSight"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"uQy-DD-JDr.title" : {
|
||||||
|
"comment" : "Class = \"NSMenu\"; title = \"OverSight\"; ObjectID = \"uQy-DD-JDr\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "OverSight"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"yfe-lu-f3I.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"Preferences...\"; ObjectID = \"yfe-lu-f3I\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Preferences..."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Zao-2v-WyJ.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"Preferences...\"; ObjectID = \"Zao-2v-WyJ\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Preferences..."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"version" : "1.0"
|
||||||
|
}
|
|
@ -0,0 +1,294 @@
|
||||||
|
{
|
||||||
|
"sourceLanguage" : "en",
|
||||||
|
"strings" : {
|
||||||
|
"1A2-j2-kqG.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Do not show an alert when the camera/microphone is deactivated. \"; ObjectID = \"1A2-j2-kqG\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Do not show an alert when the camera/microphone is deactivated. "
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"2qr-2x-A3U.title" : {
|
||||||
|
"comment" : "Class = \"NSButtonCell\"; title = \"Check Now\"; ObjectID = \"2qr-2x-A3U\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Check Now"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"4EN-j2-enV.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"No Icon Mode\"; ObjectID = \"4EN-j2-enV\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "No Icon Mode"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"7Ah-kZ-gGe.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"OverSight will pass in the following arguments:
-device <camera|microphone> -event <on|off> -process <pid> -activeCount <0..n>
Notes:\\n-process is only specified on activation events.\\n-activeCount is the number of devices still active.\"; ObjectID = \"7Ah-kZ-gGe\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "OverSight will pass in the following arguments:
-device <camera|microphone> -event <on|off> -process <pid> -activeCount <0..n>
Notes:\n-process is only specified on activation events.\n-activeCount is the number of devices still active."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"a5n-tt-65v.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Ignore External Device\"; ObjectID = \"a5n-tt-65v\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Ignore External Device"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bky-MW-yBn.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Execute a script or binary when an event is detected.\"; ObjectID = \"bky-MW-yBn\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Execute a script or binary when an event is detected."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"BTl-QV-9GT.title" : {
|
||||||
|
"comment" : "Class = \"NSButtonCell\"; title = \"Browse\"; ObjectID = \"BTl-QV-9GT\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Browse"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"E0T-Ug-P8f.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Automatically (re)start each time you login.\"; ObjectID = \"E0T-Ug-P8f\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Automatically (re)start each time you login."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gji-hP-t04.label" : {
|
||||||
|
"comment" : "Class = \"NSToolbarItem\"; label = \"Action\"; ObjectID = \"gji-hP-t04\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Action"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"gji-hP-t04.paletteLabel" : {
|
||||||
|
"comment" : "Class = \"NSToolbarItem\"; paletteLabel = \"Action\"; ObjectID = \"gji-hP-t04\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Action"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Gsa-fn-iag.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Disable 'Inactive' Alerts\"; ObjectID = \"Gsa-fn-iag\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Disable 'Inactive' Alerts"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"JV5-cY-ff4.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Do not automatically check for new versions.\"; ObjectID = \"JV5-cY-ff4\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Do not automatically check for new versions."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"JVI-Or-h0u.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Start at Login\"; ObjectID = \"JVI-Or-h0u\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Start at Login"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"k0w-Oi-kwd.label" : {
|
||||||
|
"comment" : "Class = \"NSToolbarItem\"; label = \"Mode\"; ObjectID = \"k0w-Oi-kwd\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Mode"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"k0w-Oi-kwd.paletteLabel" : {
|
||||||
|
"comment" : "Class = \"NSToolbarItem\"; paletteLabel = \"Mode\"; ObjectID = \"k0w-Oi-kwd\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Mode"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"KsW-is-XrR.title" : {
|
||||||
|
"comment" : "Class = \"NSButtonCell\"; title = \"View Allowed Items\"; ObjectID = \"KsW-is-XrR\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "View Allowed Items"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ncJ-bF-dAA.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Execute\"; ObjectID = \"ncJ-bF-dAA\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Execute"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Oe0-3Y-Srk.placeholderString" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; placeholderString = \"Path...\"; ObjectID = \"Oe0-3Y-Srk\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Path..."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rrF-xj-cXp.label" : {
|
||||||
|
"comment" : "Class = \"NSToolbarItem\"; label = \"Update\"; ObjectID = \"rrF-xj-cXp\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Update"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"rrF-xj-cXp.paletteLabel" : {
|
||||||
|
"comment" : "Class = \"NSToolbarItem\"; paletteLabel = \"Update\"; ObjectID = \"rrF-xj-cXp\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Update"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"SG5-YM-BoV.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Run without showing an icon in the status menu bar.\"; ObjectID = \"SG5-YM-BoV\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Run without showing an icon in the status menu bar."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"SYJ-Qv-cRq.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Do not show an alert when external devices trigger an event.\"; ObjectID = \"SYJ-Qv-cRq\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Do not show an alert when external devices trigger an event."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"WL4-fV-4Wq.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Pass Arguments\"; ObjectID = \"WL4-fV-4Wq\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Pass Arguments"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"z5b-fA-WCk.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Disable Update Checks\"; ObjectID = \"z5b-fA-WCk\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Disable Update Checks"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"version" : "1.0"
|
||||||
|
}
|
|
@ -0,0 +1,78 @@
|
||||||
|
{
|
||||||
|
"sourceLanguage" : "en",
|
||||||
|
"strings" : {
|
||||||
|
"2GD-5k-sEf.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Process\"; ObjectID = \"2GD-5k-sEf\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Process"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"EZN-NC-GXx.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"file:\"; ObjectID = \"EZN-NC-GXx\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "file:"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"ocl-vV-SZu.headerCell.title" : {
|
||||||
|
"comment" : "Class = \"NSTableColumn\"; headerCell.title = \" Process\"; ObjectID = \"ocl-vV-SZu\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : " Process"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"QUv-cU-tQS.headerCell.title" : {
|
||||||
|
"comment" : "Class = \"NSTableColumn\"; headerCell.title = \"Allowed Device\"; ObjectID = \"QUv-cU-tQS\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Allowed Device"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"UoV-OW-a04.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"action\"; ObjectID = \"UoV-OW-a04\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "action"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Wjb-RO-P6A.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Currently, there are no allowed items...\"; ObjectID = \"Wjb-RO-P6A\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Currently, there are no allowed items..."
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"version" : "1.0"
|
||||||
|
}
|
|
@ -0,0 +1,42 @@
|
||||||
|
{
|
||||||
|
"sourceLanguage" : "en",
|
||||||
|
"strings" : {
|
||||||
|
"2jG-uf-4XV.title" : {
|
||||||
|
"comment" : "Class = \"NSButtonCell\"; title = \"⌃\"; ObjectID = \"2jG-uf-4XV\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "⌃"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"17.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"OverSight up & running!\"; ObjectID = \"17\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "OverSight up & running!"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"22.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"...access it from here anytime\"; ObjectID = \"22\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "...access it from here anytime"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"version" : "1.0"
|
||||||
|
}
|
|
@ -0,0 +1,7 @@
|
||||||
|
{
|
||||||
|
"sourceLanguage" : "en",
|
||||||
|
"strings" : {
|
||||||
|
|
||||||
|
},
|
||||||
|
"version" : "1.0"
|
||||||
|
}
|
|
@ -2,6 +2,8 @@
|
||||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
|
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
<string>com.objective-see.oversight.uninstallHelper</string>
|
<string>com.objective-see.oversight.uninstallHelper</string>
|
||||||
<key>CFBundleInfoDictionaryVersion</key>
|
<key>CFBundleInfoDictionaryVersion</key>
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
archiveVersion = 1;
|
archiveVersion = 1;
|
||||||
classes = {
|
classes = {
|
||||||
};
|
};
|
||||||
objectVersion = 54;
|
objectVersion = 60;
|
||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
|
@ -13,11 +13,8 @@
|
||||||
4BE49092104463A0006BE471 /* com.objective-see.oversight.uninstallHelper in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4BE4905D10445E0A006BE471 /* com.objective-see.oversight.uninstallHelper */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
4BE49092104463A0006BE471 /* com.objective-see.oversight.uninstallHelper in CopyFiles */ = {isa = PBXBuildFile; fileRef = 4BE4905D10445E0A006BE471 /* com.objective-see.oversight.uninstallHelper */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
|
||||||
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
8D11072F0486CEB800E47090 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1058C7A1FEA54F0111CA2CBB /* Cocoa.framework */; };
|
||||||
BF04235611C0531400431286 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = BF04235511C0531400431286 /* AppDelegate.m */; };
|
BF04235611C0531400431286 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = BF04235511C0531400431286 /* AppDelegate.m */; };
|
||||||
BF65C19111B985C0007C20AB /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = BF65C19011B985C0007C20AB /* MainMenu.xib */; };
|
|
||||||
CD17D54E20104EE700F798D7 /* AboutWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD17D54420104EE700F798D7 /* AboutWindow.xib */; };
|
|
||||||
CD17D54F20104EE700F798D7 /* Configure.m in Sources */ = {isa = PBXBuildFile; fileRef = CD17D54720104EE700F798D7 /* Configure.m */; };
|
CD17D54F20104EE700F798D7 /* Configure.m in Sources */ = {isa = PBXBuildFile; fileRef = CD17D54720104EE700F798D7 /* Configure.m */; };
|
||||||
CD17D55020104EE700F798D7 /* ConfigureWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD17D54820104EE700F798D7 /* ConfigureWindowController.m */; };
|
CD17D55020104EE700F798D7 /* ConfigureWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD17D54820104EE700F798D7 /* ConfigureWindowController.m */; };
|
||||||
CD17D55120104EE700F798D7 /* ConfigureWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD17D54920104EE700F798D7 /* ConfigureWindowController.xib */; };
|
|
||||||
CD17D55320104EE700F798D7 /* AboutWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD17D54B20104EE700F798D7 /* AboutWindowController.m */; };
|
CD17D55320104EE700F798D7 /* AboutWindowController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD17D54B20104EE700F798D7 /* AboutWindowController.m */; };
|
||||||
CD2F801124465F68009C3D77 /* patrons.txt in Resources */ = {isa = PBXBuildFile; fileRef = CD2F801024465F68009C3D77 /* patrons.txt */; };
|
CD2F801124465F68009C3D77 /* patrons.txt in Resources */ = {isa = PBXBuildFile; fileRef = CD2F801024465F68009C3D77 /* patrons.txt */; };
|
||||||
CD3307AE203567D500F10D71 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CD3307AD203567D400F10D71 /* Assets.xcassets */; };
|
CD3307AE203567D500F10D71 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CD3307AD203567D400F10D71 /* Assets.xcassets */; };
|
||||||
|
@ -26,6 +23,9 @@
|
||||||
CD73DA9520046548001FFC84 /* HelperInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = CD73DA902004629D001FFC84 /* HelperInterface.m */; };
|
CD73DA9520046548001FFC84 /* HelperInterface.m in Sources */ = {isa = PBXBuildFile; fileRef = CD73DA902004629D001FFC84 /* HelperInterface.m */; };
|
||||||
CD73DA9620046548001FFC84 /* HelperListener.m in Sources */ = {isa = PBXBuildFile; fileRef = CD73DA9220046339001FFC84 /* HelperListener.m */; };
|
CD73DA9620046548001FFC84 /* HelperListener.m in Sources */ = {isa = PBXBuildFile; fileRef = CD73DA9220046339001FFC84 /* HelperListener.m */; };
|
||||||
CD73DA99200490B4001FFC84 /* HelperComms.m in Sources */ = {isa = PBXBuildFile; fileRef = CD73DA97200490B4001FFC84 /* HelperComms.m */; };
|
CD73DA99200490B4001FFC84 /* HelperComms.m in Sources */ = {isa = PBXBuildFile; fileRef = CD73DA97200490B4001FFC84 /* HelperComms.m */; };
|
||||||
|
CD8641302CA15DCD00803551 /* AboutWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD86412F2CA15DCD00803551 /* AboutWindow.xib */; };
|
||||||
|
CD8641342CA15DDA00803551 /* ConfigureWindowController.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD8641332CA15DDA00803551 /* ConfigureWindowController.xib */; };
|
||||||
|
CD8641382CA15DE200803551 /* MainMenu.xib in Resources */ = {isa = PBXBuildFile; fileRef = CD8641372CA15DE200803551 /* MainMenu.xib */; };
|
||||||
CD86B6EA23A5BBE7003F6BA4 /* configure.sh in Resources */ = {isa = PBXBuildFile; fileRef = CD86B6E923A5BBE7003F6BA4 /* configure.sh */; };
|
CD86B6EA23A5BBE7003F6BA4 /* configure.sh in Resources */ = {isa = PBXBuildFile; fileRef = CD86B6E923A5BBE7003F6BA4 /* configure.sh */; };
|
||||||
CDAAC241202255580032F2E6 /* utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = CDAAC23F202255580032F2E6 /* utilities.m */; };
|
CDAAC241202255580032F2E6 /* utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = CDAAC23F202255580032F2E6 /* utilities.m */; };
|
||||||
CDAAC243202257D70032F2E6 /* utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = CDAAC23F202255580032F2E6 /* utilities.m */; };
|
CDAAC243202257D70032F2E6 /* utilities.m in Sources */ = {isa = PBXBuildFile; fileRef = CDAAC23F202255580032F2E6 /* utilities.m */; };
|
||||||
|
@ -76,14 +76,11 @@
|
||||||
8D1107320486CEB800E47090 /* OverSight Installer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "OverSight Installer.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
8D1107320486CEB800E47090 /* OverSight Installer.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "OverSight Installer.app"; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||||
BF04235411C0531400431286 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
BF04235411C0531400431286 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
|
||||||
BF04235511C0531400431286 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
BF04235511C0531400431286 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
|
||||||
BF65C19011B985C0007C20AB /* MainMenu.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainMenu.xib; sourceTree = "<group>"; };
|
|
||||||
CD17D54220104EE600F798D7 /* AboutWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AboutWindowController.h; sourceTree = "<group>"; };
|
CD17D54220104EE600F798D7 /* AboutWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AboutWindowController.h; sourceTree = "<group>"; };
|
||||||
CD17D54420104EE700F798D7 /* AboutWindow.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AboutWindow.xib; sourceTree = "<group>"; };
|
|
||||||
CD17D54520104EE700F798D7 /* Configure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Configure.h; sourceTree = "<group>"; };
|
CD17D54520104EE700F798D7 /* Configure.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Configure.h; sourceTree = "<group>"; };
|
||||||
CD17D54620104EE700F798D7 /* ConfigureWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfigureWindowController.h; sourceTree = "<group>"; };
|
CD17D54620104EE700F798D7 /* ConfigureWindowController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConfigureWindowController.h; sourceTree = "<group>"; };
|
||||||
CD17D54720104EE700F798D7 /* Configure.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Configure.m; sourceTree = "<group>"; };
|
CD17D54720104EE700F798D7 /* Configure.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Configure.m; sourceTree = "<group>"; };
|
||||||
CD17D54820104EE700F798D7 /* ConfigureWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConfigureWindowController.m; sourceTree = "<group>"; };
|
CD17D54820104EE700F798D7 /* ConfigureWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ConfigureWindowController.m; sourceTree = "<group>"; };
|
||||||
CD17D54920104EE700F798D7 /* ConfigureWindowController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ConfigureWindowController.xib; sourceTree = "<group>"; };
|
|
||||||
CD17D54B20104EE700F798D7 /* AboutWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AboutWindowController.m; sourceTree = "<group>"; };
|
CD17D54B20104EE700F798D7 /* AboutWindowController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AboutWindowController.m; sourceTree = "<group>"; };
|
||||||
CD18D64C200DA301005609F9 /* XPCProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XPCProtocol.h; path = Shared/XPCProtocol.h; sourceTree = SOURCE_ROOT; };
|
CD18D64C200DA301005609F9 /* XPCProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XPCProtocol.h; path = Shared/XPCProtocol.h; sourceTree = SOURCE_ROOT; };
|
||||||
CD2F801024465F68009C3D77 /* patrons.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = patrons.txt; path = ../../Shared/patrons.txt; sourceTree = "<group>"; };
|
CD2F801024465F68009C3D77 /* patrons.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = patrons.txt; path = ../../Shared/patrons.txt; sourceTree = "<group>"; };
|
||||||
|
@ -96,6 +93,12 @@
|
||||||
CD73DA932004633A001FFC84 /* HelperListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelperListener.h; sourceTree = "<group>"; };
|
CD73DA932004633A001FFC84 /* HelperListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelperListener.h; sourceTree = "<group>"; };
|
||||||
CD73DA97200490B4001FFC84 /* HelperComms.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HelperComms.m; sourceTree = "<group>"; };
|
CD73DA97200490B4001FFC84 /* HelperComms.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HelperComms.m; sourceTree = "<group>"; };
|
||||||
CD73DA98200490B4001FFC84 /* HelperComms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelperComms.h; sourceTree = "<group>"; };
|
CD73DA98200490B4001FFC84 /* HelperComms.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HelperComms.h; sourceTree = "<group>"; };
|
||||||
|
CD86412E2CA15DCD00803551 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/AboutWindow.xib; sourceTree = "<group>"; };
|
||||||
|
CD8641312CA15DCD00803551 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/AboutWindow.xcstrings; sourceTree = "<group>"; };
|
||||||
|
CD8641322CA15DDA00803551 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/ConfigureWindowController.xib; sourceTree = "<group>"; };
|
||||||
|
CD8641352CA15DDA00803551 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/ConfigureWindowController.xcstrings; sourceTree = "<group>"; };
|
||||||
|
CD8641362CA15DE200803551 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
|
||||||
|
CD8641392CA15DE200803551 /* mul */ = {isa = PBXFileReference; lastKnownFileType = text.json.xcstrings; name = mul; path = mul.lproj/MainMenu.xcstrings; sourceTree = "<group>"; };
|
||||||
CD86B6E923A5BBE7003F6BA4 /* configure.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = configure.sh; path = Source/Script/configure.sh; sourceTree = SOURCE_ROOT; };
|
CD86B6E923A5BBE7003F6BA4 /* configure.sh */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.script.sh; name = configure.sh; path = Source/Script/configure.sh; sourceTree = SOURCE_ROOT; };
|
||||||
CDA6E62E203B67A100C78F91 /* consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = consts.h; path = ../../Shared/consts.h; sourceTree = "<group>"; };
|
CDA6E62E203B67A100C78F91 /* consts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = consts.h; path = ../../Shared/consts.h; sourceTree = "<group>"; };
|
||||||
CDA6E632203B6B7800C78F91 /* objectiveSeeText.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = objectiveSeeText.png; path = ../../shared/images/objectiveSeeText.png; sourceTree = "<group>"; };
|
CDA6E632203B6B7800C78F91 /* objectiveSeeText.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = objectiveSeeText.png; path = ../../shared/images/objectiveSeeText.png; sourceTree = "<group>"; };
|
||||||
|
@ -154,18 +157,18 @@
|
||||||
isa = PBXGroup;
|
isa = PBXGroup;
|
||||||
children = (
|
children = (
|
||||||
CD3307AD203567D400F10D71 /* Assets.xcassets */,
|
CD3307AD203567D400F10D71 /* Assets.xcassets */,
|
||||||
CD17D54420104EE700F798D7 /* AboutWindow.xib */,
|
CD86412F2CA15DCD00803551 /* AboutWindow.xib */,
|
||||||
CD17D54220104EE600F798D7 /* AboutWindowController.h */,
|
CD17D54220104EE600F798D7 /* AboutWindowController.h */,
|
||||||
CD17D54B20104EE700F798D7 /* AboutWindowController.m */,
|
CD17D54B20104EE700F798D7 /* AboutWindowController.m */,
|
||||||
CD17D54520104EE700F798D7 /* Configure.h */,
|
CD17D54520104EE700F798D7 /* Configure.h */,
|
||||||
CD17D54720104EE700F798D7 /* Configure.m */,
|
CD17D54720104EE700F798D7 /* Configure.m */,
|
||||||
CD17D54620104EE700F798D7 /* ConfigureWindowController.h */,
|
CD17D54620104EE700F798D7 /* ConfigureWindowController.h */,
|
||||||
CD17D54820104EE700F798D7 /* ConfigureWindowController.m */,
|
CD17D54820104EE700F798D7 /* ConfigureWindowController.m */,
|
||||||
CD17D54920104EE700F798D7 /* ConfigureWindowController.xib */,
|
CD8641332CA15DDA00803551 /* ConfigureWindowController.xib */,
|
||||||
CD73DA98200490B4001FFC84 /* HelperComms.h */,
|
CD73DA98200490B4001FFC84 /* HelperComms.h */,
|
||||||
CD73DA97200490B4001FFC84 /* HelperComms.m */,
|
CD73DA97200490B4001FFC84 /* HelperComms.m */,
|
||||||
4BE4904C10445D49006BE471 /* Info.plist */,
|
4BE4904C10445D49006BE471 /* Info.plist */,
|
||||||
BF65C19011B985C0007C20AB /* MainMenu.xib */,
|
CD8641372CA15DE200803551 /* MainMenu.xib */,
|
||||||
CD6CAC9120A42D5000188B0A /* main.h */,
|
CD6CAC9120A42D5000188B0A /* main.h */,
|
||||||
4BE4904D10445D49006BE471 /* main.m */,
|
4BE4904D10445D49006BE471 /* main.m */,
|
||||||
BF04235411C0531400431286 /* AppDelegate.h */,
|
BF04235411C0531400431286 /* AppDelegate.h */,
|
||||||
|
@ -284,11 +287,12 @@
|
||||||
};
|
};
|
||||||
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Installer" */;
|
buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "Installer" */;
|
||||||
compatibilityVersion = "Xcode 3.2";
|
compatibilityVersion = "Xcode 3.2";
|
||||||
developmentRegion = English;
|
developmentRegion = en;
|
||||||
hasScannedForEncodings = 1;
|
hasScannedForEncodings = 1;
|
||||||
knownRegions = (
|
knownRegions = (
|
||||||
English,
|
|
||||||
en,
|
en,
|
||||||
|
Base,
|
||||||
|
es,
|
||||||
);
|
);
|
||||||
mainGroup = 29B97314FDCFA39411CA2CEA /* SMJobBless */;
|
mainGroup = 29B97314FDCFA39411CA2CEA /* SMJobBless */;
|
||||||
projectDirPath = "";
|
projectDirPath = "";
|
||||||
|
@ -306,11 +310,11 @@
|
||||||
buildActionMask = 2147483647;
|
buildActionMask = 2147483647;
|
||||||
files = (
|
files = (
|
||||||
CD86B6EA23A5BBE7003F6BA4 /* configure.sh in Resources */,
|
CD86B6EA23A5BBE7003F6BA4 /* configure.sh in Resources */,
|
||||||
BF65C19111B985C0007C20AB /* MainMenu.xib in Resources */,
|
CD8641382CA15DE200803551 /* MainMenu.xib in Resources */,
|
||||||
CD17D54E20104EE700F798D7 /* AboutWindow.xib in Resources */,
|
CD8641302CA15DCD00803551 /* AboutWindow.xib in Resources */,
|
||||||
CD2F801124465F68009C3D77 /* patrons.txt in Resources */,
|
CD2F801124465F68009C3D77 /* patrons.txt in Resources */,
|
||||||
CD3307AE203567D500F10D71 /* Assets.xcassets in Resources */,
|
CD3307AE203567D500F10D71 /* Assets.xcassets in Resources */,
|
||||||
CD17D55120104EE700F798D7 /* ConfigureWindowController.xib in Resources */,
|
CD8641342CA15DDA00803551 /* ConfigureWindowController.xib in Resources */,
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
};
|
};
|
||||||
|
@ -371,6 +375,36 @@
|
||||||
};
|
};
|
||||||
/* End PBXTargetDependency section */
|
/* End PBXTargetDependency section */
|
||||||
|
|
||||||
|
/* Begin PBXVariantGroup section */
|
||||||
|
CD86412F2CA15DCD00803551 /* AboutWindow.xib */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
CD86412E2CA15DCD00803551 /* Base */,
|
||||||
|
CD8641312CA15DCD00803551 /* mul */,
|
||||||
|
);
|
||||||
|
name = AboutWindow.xib;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
CD8641332CA15DDA00803551 /* ConfigureWindowController.xib */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
CD8641322CA15DDA00803551 /* Base */,
|
||||||
|
CD8641352CA15DDA00803551 /* mul */,
|
||||||
|
);
|
||||||
|
name = ConfigureWindowController.xib;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
CD8641372CA15DE200803551 /* MainMenu.xib */ = {
|
||||||
|
isa = PBXVariantGroup;
|
||||||
|
children = (
|
||||||
|
CD8641362CA15DE200803551 /* Base */,
|
||||||
|
CD8641392CA15DE200803551 /* mul */,
|
||||||
|
);
|
||||||
|
name = MainMenu.xib;
|
||||||
|
sourceTree = "<group>";
|
||||||
|
};
|
||||||
|
/* End PBXVariantGroup section */
|
||||||
|
|
||||||
/* Begin XCBuildConfiguration section */
|
/* Begin XCBuildConfiguration section */
|
||||||
4BE4905F10445E0B006BE471 /* Debug */ = {
|
4BE4905F10445E0B006BE471 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
|
|
|
@ -41,7 +41,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
//set version sting
|
//set version sting
|
||||||
self.versionLabel.stringValue = [NSString stringWithFormat:@"Version: %@", getAppVersion()];
|
self.versionLabel.stringValue = [NSString stringWithFormat:NSLocalizedString(@"Version: %@",@"Version: %@"), getAppVersion()];
|
||||||
|
|
||||||
//load patrons
|
//load patrons
|
||||||
self.patrons.string = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"patrons" ofType:@"txt"] encoding:NSUTF8StringEncoding error:NULL];
|
self.patrons.string = [NSString stringWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"patrons" ofType:@"txt"] encoding:NSUTF8StringEncoding error:NULL];
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="23094" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<deployment identifier="macosx"/>
|
<deployment identifier="macosx"/>
|
||||||
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
|
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="23094"/>
|
||||||
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
<objects>
|
<objects>
|
||||||
|
@ -28,7 +28,7 @@
|
||||||
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="F0z-JX-Cv5">
|
<window allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" visibleAtLaunch="NO" animationBehavior="default" id="F0z-JX-Cv5">
|
||||||
<windowStyleMask key="styleMask" titled="YES" closable="YES"/>
|
<windowStyleMask key="styleMask" titled="YES" closable="YES"/>
|
||||||
<rect key="contentRect" x="196" y="240" width="523" height="244"/>
|
<rect key="contentRect" x="196" y="240" width="523" height="244"/>
|
||||||
<rect key="screenRect" x="0.0" y="0.0" width="3440" height="1415"/>
|
<rect key="screenRect" x="0.0" y="0.0" width="1512" height="944"/>
|
||||||
<view key="contentView" id="se5-gp-TjO">
|
<view key="contentView" id="se5-gp-TjO">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="523" height="244"/>
|
<rect key="frame" x="0.0" y="0.0" width="523" height="244"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
|
@ -72,10 +72,10 @@ extern os_log_t logHandle;
|
||||||
isInstalled = [self.configureObj isInstalled];
|
isInstalled = [self.configureObj isInstalled];
|
||||||
|
|
||||||
//set window title
|
//set window title
|
||||||
[self window].title = [NSString stringWithFormat:@"version %@", getAppVersion()];
|
[self window].title = [NSString stringWithFormat:NSLocalizedString(@"version %@", @"version %@"), getAppVersion()];
|
||||||
|
|
||||||
//init status msg
|
//init status msg
|
||||||
[self.statusMsg setStringValue:@"...protects your webcam & microphone!"];
|
[self.statusMsg setStringValue:NSLocalizedString(@"...protects your webcam & microphone!", @"...protects your webcam & microphone!")];
|
||||||
|
|
||||||
//uninstall via app?
|
//uninstall via app?
|
||||||
// just enable uinstall button
|
// just enable uinstall button
|
||||||
|
@ -426,13 +426,13 @@ extern os_log_t logHandle;
|
||||||
if(ACTION_INSTALL_FLAG == event)
|
if(ACTION_INSTALL_FLAG == event)
|
||||||
{
|
{
|
||||||
//update status msg
|
//update status msg
|
||||||
[self.statusMsg setStringValue:@"Installing..."];
|
[self.statusMsg setStringValue:NSLocalizedString(@"Installing...", @"Installing...")];
|
||||||
}
|
}
|
||||||
//uninstall msg
|
//uninstall msg
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//update status msg
|
//update status msg
|
||||||
[self.statusMsg setStringValue:@"Uninstalling..."];
|
[self.statusMsg setStringValue:NSLocalizedString(@"Uninstalling...", @"Uninstalling...")];
|
||||||
}
|
}
|
||||||
|
|
||||||
//disable action button
|
//disable action button
|
||||||
|
@ -476,33 +476,35 @@ extern os_log_t logHandle;
|
||||||
self.appActivationObserver = nil;
|
self.appActivationObserver = nil;
|
||||||
}
|
}
|
||||||
|
|
||||||
//set action msg for install
|
//action was install
|
||||||
if(ACTION_INSTALL_FLAG == event)
|
if(ACTION_INSTALL_FLAG == event)
|
||||||
{
|
{
|
||||||
//set msg
|
//set msg
|
||||||
action = @"install";
|
action = NSLocalizedString(@"install", @"install");
|
||||||
|
if(YES == success)
|
||||||
|
{
|
||||||
|
resultMsg = [NSMutableString stringWithFormat:NSLocalizedString(@"☑️ %@: installed!\n", @"☑️ %@: installed!\n"), PRODUCT_NAME];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//set action msg for uninstall
|
//action was uninstall
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//set msg
|
//set msg
|
||||||
action = @"uninstall";
|
action = NSLocalizedString(@"uninstall", @"uninstall");
|
||||||
|
if(YES == success)
|
||||||
|
{
|
||||||
|
resultMsg = [NSMutableString stringWithFormat:NSLocalizedString(@"☑️ %@: uninstalled!\n", @"☑️ %@: uninstalled!\n"), PRODUCT_NAME];
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//success
|
//failure?
|
||||||
if(YES == success)
|
if(YES != success)
|
||||||
{
|
{
|
||||||
//set result msg
|
//set result msg
|
||||||
resultMsg = [NSMutableString stringWithFormat:@"☑️ %@: %@ed!\n", PRODUCT_NAME, action];
|
resultMsg = [NSMutableString stringWithFormat:NSLocalizedString(@"⚠️ Error: %@ failed", @"⚠️ Error: %@ failed"), action];
|
||||||
}
|
|
||||||
//failure
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//set result msg
|
|
||||||
resultMsg = [NSMutableString stringWithFormat:@"⚠️ Error: %@ failed", action];
|
|
||||||
|
|
||||||
//set debug msg
|
//set debug msg
|
||||||
self.debugMsg.stringValue = @"For more info, from the terminal run:\r\nlog show --predicate=\"subsystem='com.objective-see.oversight'\"";
|
self.debugMsg.stringValue = NSLocalizedString(@"For more info, from the terminal run:\r\nlog show --predicate=\"subsystem='com.objective-see.oversight'\"", @"For more info, from the terminal run:\r\nlog show --predicate=\"subsystem='com.objective-see.oversight'\"");
|
||||||
|
|
||||||
//show 'get more info' button
|
//show 'get more info' button
|
||||||
self.moreInfoButton.hidden = NO;
|
self.moreInfoButton.hidden = NO;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
<plist version="1.0">
|
<plist version="1.0">
|
||||||
<dict>
|
<dict>
|
||||||
<key>CFBundleDevelopmentRegion</key>
|
<key>CFBundleDevelopmentRegion</key>
|
||||||
<string>English</string>
|
<string>$(DEVELOPMENT_LANGUAGE)</string>
|
||||||
<key>CFBundleExecutable</key>
|
<key>CFBundleExecutable</key>
|
||||||
<string>${EXECUTABLE_NAME}</string>
|
<string>${EXECUTABLE_NAME}</string>
|
||||||
<key>CFBundleIdentifier</key>
|
<key>CFBundleIdentifier</key>
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
<customObject id="-2" userLabel="File's Owner" customClass="AboutWindowController">
|
<customObject id="-2" userLabel="File's Owner" customClass="AboutWindowController">
|
||||||
<connections>
|
<connections>
|
||||||
<outlet property="patrons" destination="j2X-Ub-niY" id="gfG-o9-RbL"/>
|
<outlet property="patrons" destination="j2X-Ub-niY" id="gfG-o9-RbL"/>
|
||||||
|
<outlet property="supportUs" destination="xnd-Gw-0o8" id="hvk-V1-xwn"/>
|
||||||
<outlet property="versionLabel" destination="OSm-xS-Dmd" id="luW-4O-fYe"/>
|
<outlet property="versionLabel" destination="OSm-xS-Dmd" id="luW-4O-fYe"/>
|
||||||
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
|
<outlet property="window" destination="F0z-JX-Cv5" id="gIp-Ho-8D9"/>
|
||||||
</connections>
|
</connections>
|
||||||
|
@ -22,11 +23,19 @@
|
||||||
<view key="contentView" id="se5-gp-TjO">
|
<view key="contentView" id="se5-gp-TjO">
|
||||||
<rect key="frame" x="0.0" y="0.0" width="486" height="301"/>
|
<rect key="frame" x="0.0" y="0.0" width="486" height="301"/>
|
||||||
<autoresizingMask key="autoresizingMask"/>
|
<autoresizingMask key="autoresizingMask"/>
|
||||||
|
<userGuides>
|
||||||
|
<userLayoutGuide location="62" affinity="maxY"/>
|
||||||
|
</userGuides>
|
||||||
<subviews>
|
<subviews>
|
||||||
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Eaf-yA-bbe">
|
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lEv-Wj-6S5">
|
||||||
<rect key="frame" x="158" y="235" width="268" height="50"/>
|
<rect key="frame" x="20" y="211" width="77" height="70"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="OverSight" id="Ws8-bD-j2R"/>
|
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="Icon" id="xKf-GK-m0k"/>
|
||||||
|
</imageView>
|
||||||
|
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="Eaf-yA-bbe">
|
||||||
|
<rect key="frame" x="127" y="231" width="349" height="50"/>
|
||||||
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
|
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageAlignment="left" imageScaling="proportionallyDown" image="OverSight" id="Ws8-bD-j2R"/>
|
||||||
</imageView>
|
</imageView>
|
||||||
<button verticalHuggingPriority="750" fixedFrame="YES" tag="101" translatesAutoresizingMaskIntoConstraints="NO" id="HZZ-Es-mpy">
|
<button verticalHuggingPriority="750" fixedFrame="YES" tag="101" translatesAutoresizingMaskIntoConstraints="NO" id="HZZ-Es-mpy">
|
||||||
<rect key="frame" x="344" y="13" width="128" height="32"/>
|
<rect key="frame" x="344" y="13" width="128" height="32"/>
|
||||||
|
@ -96,7 +105,7 @@
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="OSm-xS-Dmd">
|
<textField horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" allowsCharacterPickerTouchBarItem="YES" translatesAutoresizingMaskIntoConstraints="NO" id="OSm-xS-Dmd">
|
||||||
<rect key="frame" x="158" y="217" width="182" height="19"/>
|
<rect key="frame" x="129" y="206" width="182" height="19"/>
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
||||||
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Version:" id="bBK-v0-ypq">
|
<textFieldCell key="cell" scrollable="YES" lineBreakMode="clipping" sendsActionOnEndEditing="YES" title="Version:" id="bBK-v0-ypq">
|
||||||
<font key="font" size="13" name="Menlo-Regular"/>
|
<font key="font" size="13" name="Menlo-Regular"/>
|
||||||
|
@ -104,11 +113,6 @@
|
||||||
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
<color key="backgroundColor" name="controlColor" catalog="System" colorSpace="catalog"/>
|
||||||
</textFieldCell>
|
</textFieldCell>
|
||||||
</textField>
|
</textField>
|
||||||
<imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="lEv-Wj-6S5">
|
|
||||||
<rect key="frame" x="22" y="193" width="96" height="92"/>
|
|
||||||
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
|
|
||||||
<imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="Icon" id="xKf-GK-m0k"/>
|
|
||||||
</imageView>
|
|
||||||
</subviews>
|
</subviews>
|
||||||
</view>
|
</view>
|
||||||
<connections>
|
<connections>
|
|
@ -33,7 +33,7 @@ int main(int argc, char *argv[])
|
||||||
if(YES != hasAdminPrivileges())
|
if(YES != hasAdminPrivileges())
|
||||||
{
|
{
|
||||||
//show alert
|
//show alert
|
||||||
showAlert(@"ERROR: Insuffient Privileges.", @"OverSight can only be installed / run on accounts with administrative privileges", @"Exit");
|
showAlert(NSLocalizedString(@"ERROR: Insuffient Privileges.", @"ERROR: Insuffient Privileges."), NSLocalizedString(@"OverSight can only be installed / run on accounts with administrative privileges", @"OverSight can only be installed / run on accounts with administrative privileges"), NSLocalizedString(@"Exit", @"Exit"));
|
||||||
|
|
||||||
//bail
|
//bail
|
||||||
goto bail;
|
goto bail;
|
||||||
|
|
|
@ -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 = \"Supporters/Patrons:\"; ObjectID = \"fJg-qw-wDf\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Supporters/Patrons:"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"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,150 @@
|
||||||
|
{
|
||||||
|
"sourceLanguage" : "en",
|
||||||
|
"strings" : {
|
||||||
|
"0wd-cy-xEw.title" : {
|
||||||
|
"comment" : "Class = \"NSButtonCell\"; title = \"Next »\"; ObjectID = \"0wd-cy-xEw\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Next »"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"1hy-8F-qxt.title" : {
|
||||||
|
"comment" : "Class = \"NSButtonCell\"; title = \"Install\"; ObjectID = \"1hy-8F-qxt\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Install"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"8dX-bb-vf1.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"If prompted, please allow OverSight to show notifications, setting the style to \\\"Alerts\\\"\"; ObjectID = \"8dX-bb-vf1\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "If prompted, please allow OverSight to show notifications, setting the style to \"Alerts\""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"DHG-bQ-JvA.title" : {
|
||||||
|
"comment" : "Class = \"NSButtonCell\"; title = \"Next »\"; ObjectID = \"DHG-bQ-JvA\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Next »"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"E5X-AO-6V1.title" : {
|
||||||
|
"comment" : "Class = \"NSButtonCell\"; title = \"Yes!\"; ObjectID = \"E5X-AO-6V1\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Yes!"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"G7H-Q1-04P.title" : {
|
||||||
|
"comment" : "Class = \"NSButtonCell\"; title = \"Uninstall\"; ObjectID = \"G7H-Q1-04P\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Uninstall"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"hLy-Nm-ajB.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Support OverSight?\"; ObjectID = \"hLy-Nm-ajB\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Support OverSight?"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Hvk-zS-1VC.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Show some love? \"; ObjectID = \"Hvk-zS-1VC\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Show some love? "
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"IEz-R9-W5R.title" : {
|
||||||
|
"comment" : "Class = \"NSButtonCell\"; title = \"No\"; ObjectID = \"IEz-R9-W5R\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "No"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"OYn-6J-Cfb.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"Mahalo to the \\\"Friends Objective-See\\\"\"; ObjectID = \"OYn-6J-Cfb\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Mahalo to the \"Friends Objective-See\""
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"WLJ-8f-ExO.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"It's free, open-source, and written by a single (mac-loving) coder!\"; ObjectID = \"WLJ-8f-ExO\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "It's free, open-source, and written by a single (mac-loving) coder!"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"zdX-7L-hfX.title" : {
|
||||||
|
"comment" : "Class = \"NSTextFieldCell\"; title = \"If \\\"Do Not Disturb\\\" mode is activated, OverSight's alerts won't be shown\"; ObjectID = \"zdX-7L-hfX\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "If \"Do Not Disturb\" mode is activated, OverSight's alerts won't be shown"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"version" : "1.0"
|
||||||
|
}
|
|
@ -0,0 +1,54 @@
|
||||||
|
{
|
||||||
|
"sourceLanguage" : "en",
|
||||||
|
"strings" : {
|
||||||
|
"Cgo-Jp-sNo.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"About OverSight\"; ObjectID = \"Cgo-Jp-sNo\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "About OverSight"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"Ihj-A9-cAO.title" : {
|
||||||
|
"comment" : "Class = \"NSMenuItem\"; title = \"OverSight\"; ObjectID = \"Ihj-A9-cAO\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "OverSight"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sPv-lJ-f9j.title" : {
|
||||||
|
"comment" : "Class = \"NSMenu\"; title = \"Main Menu\"; ObjectID = \"sPv-lJ-f9j\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "Main Menu"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"VQ8-yZ-1ga.title" : {
|
||||||
|
"comment" : "Class = \"NSMenu\"; title = \"OverSight\"; ObjectID = \"VQ8-yZ-1ga\";",
|
||||||
|
"extractionState" : "extracted_with_value",
|
||||||
|
"localizations" : {
|
||||||
|
"en" : {
|
||||||
|
"stringUnit" : {
|
||||||
|
"state" : "new",
|
||||||
|
"value" : "OverSight"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"version" : "1.0"
|
||||||
|
}
|
|
@ -187,13 +187,13 @@
|
||||||
#define ACTION_INSTALL_FLAG 1
|
#define ACTION_INSTALL_FLAG 1
|
||||||
|
|
||||||
//button title: upgrade
|
//button title: upgrade
|
||||||
#define ACTION_UPGRADE @"Upgrade"
|
#define ACTION_UPGRADE NSLocalizedString(@"Upgrade", @"Upgrade")
|
||||||
|
|
||||||
//button title: close
|
//button title: close
|
||||||
#define ACTION_CLOSE @"Close"
|
#define ACTION_CLOSE NSLocalizedString(@"Close", @"Close")
|
||||||
|
|
||||||
//button title: next
|
//button title: next
|
||||||
#define ACTION_NEXT @"Next »"
|
#define ACTION_NEXT NSLocalizedString(@"Next »", @"Next »")
|
||||||
|
|
||||||
//show info about notifications
|
//show info about notifications
|
||||||
#define ACTION_SHOW_NOTIFICATION_VIEW 2
|
#define ACTION_SHOW_NOTIFICATION_VIEW 2
|
||||||
|
|
|
@ -221,81 +221,6 @@ bail:
|
||||||
|
|
||||||
#pragma GCC diagnostic pop
|
#pragma GCC diagnostic pop
|
||||||
|
|
||||||
/*
|
|
||||||
|
|
||||||
//build an array of processes ancestry
|
|
||||||
// uses `GetProcessForPID` to try get (real) parent
|
|
||||||
NSMutableArray* generateProcessHierarchy(pid_t pid, NSString* name)
|
|
||||||
{
|
|
||||||
//process hierarchy
|
|
||||||
NSMutableArray* processHierarchy = nil;
|
|
||||||
|
|
||||||
//current process id
|
|
||||||
pid_t currentPID = -1;
|
|
||||||
|
|
||||||
//parent pid
|
|
||||||
pid_t parentPID = -1;
|
|
||||||
|
|
||||||
//process name
|
|
||||||
NSString* parentName = nil;
|
|
||||||
|
|
||||||
//alloc
|
|
||||||
processHierarchy = [NSMutableArray array];
|
|
||||||
|
|
||||||
//parent
|
|
||||||
NSDictionary* parent = nil;
|
|
||||||
|
|
||||||
//add current process (leaf)
|
|
||||||
// parent(s) will then be added at front...
|
|
||||||
[processHierarchy addObject:[@{@"pid":[NSNumber numberWithInt:pid], @"name":valueForStringItem(name)} mutableCopy]];
|
|
||||||
|
|
||||||
//init current to self
|
|
||||||
currentPID = pid;
|
|
||||||
|
|
||||||
//scan back
|
|
||||||
while(YES)
|
|
||||||
{
|
|
||||||
//get (real) parent
|
|
||||||
parent = getRealParent(currentPID);
|
|
||||||
if(nil == parent)
|
|
||||||
{
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
//get parent pid
|
|
||||||
parentPID = [parent[@"pid"] intValue];
|
|
||||||
|
|
||||||
//end of heirarchy?
|
|
||||||
if( (0 == parentPID) ||
|
|
||||||
(-1 == parentPID) ||
|
|
||||||
(currentPID == parentPID) )
|
|
||||||
{
|
|
||||||
//bail
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
//get name
|
|
||||||
// first from bundle, then from executable
|
|
||||||
name = parent[@"CFBundleName"];
|
|
||||||
if(0 == name.length)
|
|
||||||
{
|
|
||||||
//via executable
|
|
||||||
name = [parent[@"CFBundleExecutable"] lastPathComponent];
|
|
||||||
}
|
|
||||||
|
|
||||||
//add parent
|
|
||||||
// always at front
|
|
||||||
[processHierarchy insertObject:[@{@"pid":[NSNumber numberWithInt:parentPID], @"name":valueForStringItem(parentName)} mutableCopy] atIndex:0];
|
|
||||||
|
|
||||||
//update
|
|
||||||
currentPID = parentPID;
|
|
||||||
}
|
|
||||||
|
|
||||||
return processHierarchy;
|
|
||||||
}
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
//check if something is nil
|
//check if something is nil
|
||||||
// if so, return a default ('unknown') value
|
// if so, return a default ('unknown') value
|
||||||
NSString* valueForStringItem(NSString* item)
|
NSString* valueForStringItem(NSString* item)
|
||||||
|
|
Loading…
Reference in New Issue