// !$*UTF8*$! { 089C1669FE841209C02AAC07 /* Project object */ = { activeBuildConfigurationName = Debug; activeExecutable = 7F1E2D6D113EEB05003C2D53 /* System Preferences */; activeTarget = 8D202CE80486D31800D8A456 /* Perforce Server */; addToTargets = ( 8D202CE80486D31800D8A456 /* Perforce Server */, ); breakpoints = ( ); codeSenseManager = 7F108647113EE12C00A978AA /* Code sense */; executables = ( 7F1E2D6D113EEB05003C2D53 /* System Preferences */, ); perUserDictionary = { PBXConfiguration.PBXFileTableDataSource3.PBXExecutablesDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXExecutablesDataSource_NameID; PBXFileTableDataSourceColumnWidthsKey = ( 22, 300, 1229.58349609375, ); PBXFileTableDataSourceColumnsKey = ( PBXExecutablesDataSource_ActiveFlagID, PBXExecutablesDataSource_NameID, PBXExecutablesDataSource_CommentsID, ); }; PBXConfiguration.PBXFileTableDataSource3.PBXFileTableDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, 1342, 20, 48, 43, 43, 20, ); PBXFileTableDataSourceColumnsKey = ( PBXFileDataSource_FiletypeID, PBXFileDataSource_Filename_ColumnID, PBXFileDataSource_Built_ColumnID, PBXFileDataSource_ObjectSize_ColumnID, PBXFileDataSource_Errors_ColumnID, PBXFileDataSource_Warnings_ColumnID, PBXFileDataSource_Target_ColumnID, ); }; PBXConfiguration.PBXFileTableDataSource3.XCSCMDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, 20, 1392, 20, 48.16259765625, 43, 43, 20, ); PBXFileTableDataSourceColumnsKey = ( PBXFileDataSource_SCM_ColumnID, PBXFileDataSource_FiletypeID, PBXFileDataSource_Filename_ColumnID, PBXFileDataSource_Built_ColumnID, PBXFileDataSource_ObjectSize_ColumnID, PBXFileDataSource_Errors_ColumnID, PBXFileDataSource_Warnings_ColumnID, PBXFileDataSource_Target_ColumnID, ); }; PBXConfiguration.PBXTargetDataSource.PBXTargetDataSource = { PBXFileTableDataSourceColumnSortingDirectionKey = "-1"; PBXFileTableDataSourceColumnSortingKey = PBXFileDataSource_Filename_ColumnID; PBXFileTableDataSourceColumnWidthsKey = ( 20, 1302, 60, 20, 48, 43, 43, ); PBXFileTableDataSourceColumnsKey = ( PBXFileDataSource_FiletypeID, PBXFileDataSource_Filename_ColumnID, PBXTargetDataSource_PrimaryAttribute, PBXFileDataSource_Built_ColumnID, PBXFileDataSource_ObjectSize_ColumnID, PBXFileDataSource_Errors_ColumnID, PBXFileDataSource_Warnings_ColumnID, ); }; PBXPerProjectTemplateStateSaveDate = 290045089; PBXWorkspaceStateSaveDate = 290045089; }; perUserProjectItems = { 7F108660113EEA5D00A978AA /* PlistBookmark */ = 7F108660113EEA5D00A978AA /* PlistBookmark */; 7F1E2E2B113F32AF003C2D53 /* PBXBookmark */ = 7F1E2E2B113F32AF003C2D53 /* PBXBookmark */; 7FB5E53B1149ABA40069CF88 /* PBXTextBookmark */ = 7FB5E53B1149ABA40069CF88 /* PBXTextBookmark */; 7FB5E5BD1149B8DE0069CF88 /* PBXTextBookmark */ = 7FB5E5BD1149B8DE0069CF88 /* PBXTextBookmark */; 7FB5E5BE1149B8DE0069CF88 /* PBXTextBookmark */ = 7FB5E5BE1149B8DE0069CF88 /* PBXTextBookmark */; 7FB5E5BF1149B8DE0069CF88 /* PBXTextBookmark */ = 7FB5E5BF1149B8DE0069CF88 /* PBXTextBookmark */; 7FBDC5781149BE3C00F8F427 /* XCBuildMessageTextBookmark */ = 7FBDC5781149BE3C00F8F427 /* XCBuildMessageTextBookmark */; 7FBDC5971149BED300F8F427 /* PBXTextBookmark */ = 7FBDC5971149BED300F8F427 /* PBXTextBookmark */; }; sourceControlManager = 7F108646113EE12C00A978AA /* Source Control */; userBuildSettings = { }; }; 089C167EFE841241C02AAC07 /* English */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1594, 860}}"; sepNavSelRange = "{0, 0}"; sepNavVisRange = "{0, 114}"; sepNavWindowFrame = "{{84, 381}, {959, 729}}"; }; }; 32DBCFA20370C41700C91783 /* Perforce Server_Prefix.pch */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1594, 864}}"; sepNavSelRange = "{0, 0}"; sepNavVisRange = "{0, 202}"; }; }; 7F108646113EE12C00A978AA /* Source Control */ = { isa = PBXSourceControlManager; fallbackIsa = XCSourceControlManager; isSCMEnabled = 0; scmConfiguration = { repositoryNamesForRoots = { "" = ""; }; }; }; 7F108647113EE12C00A978AA /* Code sense */ = { isa = PBXCodeSenseManager; indexTemplatePath = ""; }; 7F108660113EEA5D00A978AA /* PlistBookmark */ = { isa = PlistBookmark; fRef = 7F108661113EEA5D00A978AA /* Perforce_ServerPref.nib */; fallbackIsa = PBXBookmark; isK = 0; kPath = ( ); name = "/Users/mashmore/Documents/Perforce Server/build/Debug/Perforce Server.prefPane/Contents/Resources/English.lproj/Perforce_ServerPref.nib"; rLen = 0; rLoc = 9223372036854775808; }; 7F108661113EEA5D00A978AA /* Perforce_ServerPref.nib */ = { isa = PBXFileReference; lastKnownFileType = file.bplist; name = Perforce_ServerPref.nib; path = "/Users/mashmore/Documents/Perforce Server/build/Debug/Perforce Server.prefPane/Contents/Resources/English.lproj/Perforce_ServerPref.nib"; sourceTree = "<absolute>"; }; 7F1E2D6D113EEB05003C2D53 /* System Preferences */ = { isa = PBXExecutable; activeArgIndices = ( ); argumentStrings = ( ); autoAttachOnCrash = 1; breakpointsEnabled = 1; configStateDict = { "PBXLSLaunchAction-0" = { PBXLSLaunchAction = 0; PBXLSLaunchStartAction = 1; PBXLSLaunchStdioStyle = 2; PBXLSLaunchStyle = 0; class = PBXLSRunLaunchConfig; commandLineArgs = ( ); displayName = "Executable Runner"; environment = { }; identifier = com.apple.Xcode.launch.runConfig; remoteHostInfo = ""; startActionInfo = ""; }; }; customDataFormattersEnabled = 1; dataTipCustomDataFormattersEnabled = 1; dataTipShowTypeColumn = 1; dataTipSortType = 0; debuggerPlugin = GDBDebugging; disassemblyDisplayState = 0; dylibVariantSuffix = ""; enableDebugStr = 1; environmentEntries = ( ); executableSystemSymbolLevel = 0; executableUserSymbolLevel = 0; launchableReference = 7F1E2D6E113EEB05003C2D53 /* System Preferences.app */; libgmallocEnabled = 0; name = "System Preferences"; savedGlobals = { }; showTypeColumn = 0; sourceDirectories = ( ); variableFormatDictionary = { }; }; 7F1E2D6E113EEB05003C2D53 /* System Preferences.app */ = { isa = PBXFileReference; lastKnownFileType = wrapper.application; name = "System Preferences.app"; path = "/Applications/System Preferences.app"; sourceTree = "<absolute>"; }; 7F1E2D9A113EEC94003C2D53 /* perforce.icns */ = { uiCtxt = { sepNavWindowFrame = "{{15, 444}, {959, 729}}"; }; }; 7F1E2E2B113F32AF003C2D53 /* PBXBookmark */ = { isa = PBXBookmark; fRef = 7F1E2D9A113EEC94003C2D53 /* perforce.icns */; }; 7F1E2EAB113F417F003C2D53 /* Perforce_ServerConfig.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1520, 795}}"; sepNavSelRange = "{613, 0}"; sepNavVisRange = "{0, 620}"; sepNavWindowFrame = "{{199, 276}, {959, 729}}"; }; }; 7F1E2EAC113F417F003C2D53 /* Perforce_ServerConfig.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1520, 1729}}"; sepNavSelRange = "{2295, 0}"; sepNavVisRange = "{1114, 2473}"; sepNavWindowFrame = "{{199, 276}, {959, 729}}"; }; }; 7FB5E53B1149ABA40069CF88 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 7FB5E53C1149ABA40069CF88 /* wait.h */; name = "wait.h: 159"; rLen = 40; rLoc = 6481; rType = 0; vrLen = 2413; vrLoc = 5233; }; 7FB5E53C1149ABA40069CF88 /* wait.h */ = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = wait.h; path = /Developer/SDKs/MacOSX10.6.sdk/usr/include/sys/wait.h; sourceTree = "<absolute>"; }; 7FB5E5BD1149B8DE0069CF88 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F506C03C013D9D7901CA16C8 /* Perforce_ServerPref.h */; name = "Perforce_ServerPref.h: 28"; rLen = 0; rLoc = 733; rType = 0; vrLen = 809; vrLoc = 0; }; 7FB5E5BE1149B8DE0069CF88 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = F506C03D013D9D7901CA16C8 /* Perforce_ServerPref.m */; name = "Perforce_ServerPref.m: 19"; rLen = 0; rLoc = 666; rType = 0; vrLen = 1198; vrLoc = 0; }; 7FB5E5BF1149B8DE0069CF88 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 7F1E2EAB113F417F003C2D53 /* Perforce_ServerConfig.h */; name = "Perforce_ServerConfig.h: 26"; rLen = 0; rLoc = 613; rType = 0; vrLen = 620; vrLoc = 0; }; 7FBDC5781149BE3C00F8F427 /* XCBuildMessageTextBookmark */ = { isa = PBXTextBookmark; comments = "'createDirectoryAtPath:attributes:' is deprecated (declared at /Developer/SDKs/MacOSX10.6.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSFileManager.h:168)"; fRef = 7F1E2EAC113F417F003C2D53 /* Perforce_ServerConfig.m */; fallbackIsa = XCBuildMessageTextBookmark; rLen = 1; rLoc = 77; rType = 1; }; 7FBDC5971149BED300F8F427 /* PBXTextBookmark */ = { isa = PBXTextBookmark; fRef = 7F1E2EAC113F417F003C2D53 /* Perforce_ServerConfig.m */; name = "Perforce_ServerConfig.m: 75"; rLen = 0; rLoc = 2295; rType = 0; vrLen = 2473; vrLoc = 1114; }; 8D202CE80486D31800D8A456 /* Perforce Server */ = { activeExec = 0; }; 8D202CF70486D31800D8A456 /* Info.plist */ = { uiCtxt = { sepNavWindowFrame = "{{300, 263}, {959, 729}}"; }; }; F506C03C013D9D7901CA16C8 /* Perforce_ServerPref.h */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {900, 601}}"; sepNavSelRange = "{451, 0}"; sepNavVisRange = "{0, 875}"; sepNavWindowFrame = "{{153, 318}, {959, 729}}"; }; }; F506C03D013D9D7901CA16C8 /* Perforce_ServerPref.m */ = { uiCtxt = { sepNavIntBoundsRect = "{{0, 0}, {1802, 572}}"; sepNavSelRange = "{650, 0}"; sepNavVisRange = "{0, 721}"; sepNavWindowFrame = "{{176, 297}, {959, 729}}"; }; }; }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#5 | 7597 | Mike Ashmore |
Bit of a bugfix - if p4root didn't exist as a directory (i.e. if this is the first time we're enabling p4d via this prefpane) we now create the p4root directory automatically, rather than failing abysmally. |
||
#4 | 7596 | Mike Ashmore | Added README, removed unnecessary references to p4 binary | ||
#3 | 7595 | Mike Ashmore |
Now displays the values we're setting for P4ROOT, P4LOG, and P4PORT. These values are not, as yet, configurable. If I worked for Perforce, I would have a substantial incentive to improve this state of affairs. |
||
#2 | 7594 | Mike Ashmore |
Now correctly reflect status of server: running vs. not running. Note: OS X's authorization services make it really really hard to handle the installation of launchd services in a genuinely secure manner. You have to create a helper app to run with elevated privileges, then send commands to it via IPC and ... well, it's all just a bit much for me to figure out for a tool that was intended to be a quick one-off. Perhaps if I were employed by Perforce I could be troubled to do it the "right" way. Supposedly the ServiceManagement framework makes this all less painful, but it's an API that's brand-new in OS X 10.6 and not terribly well documented yet. And in any case, 10.6 still has not seen widespread enough adoption to justify using a 10.6-only framework. |
||
#1 | 7588 | Mike Ashmore |
This preference pane will make installation of p4d on OS X much simpler. Perhaps after some refinement it'll be worthy of packaging and letting Perforce Inc. distribute directly. |