// !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 46; objects = { /* Begin PBXBuildFile section */ 3F1CC92E194F846F00A3C10E /* LibraryListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1CC92D194F846F00A3C10E /* LibraryListView.swift */; }; 3F1F1F381958A7F600B6178D /* LibrarySourceListController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F1F1F371958A7F600B6178D /* LibrarySourceListController.swift */; }; 3F2223081949062F004E0668 /* P4LibraryTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F2223071949062F004E0668 /* P4LibraryTests.swift */; }; 3F22230C19490960004E0668 /* P4CachingDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F22230B19490960004E0668 /* P4CachingDelegate.swift */; }; 3F222312194A129B004E0668 /* P4Dir.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F222311194A129B004E0668 /* P4Dir.swift */; }; 3F222314194A201F004E0668 /* P4File.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F222313194A201F004E0668 /* P4File.swift */; }; 3F222316194A205E004E0668 /* P4ClientApiExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F222315194A205E004E0668 /* P4ClientApiExtensions.swift */; }; 3F222318194A21A4004E0668 /* HasDepotPath.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F222317194A21A4004E0668 /* HasDepotPath.swift */; }; 3F222347194A41CF004E0668 /* DocHubMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F222346194A41CF004E0668 /* DocHubMenu.swift */; }; 3F26B97A195B48C8002B7D2E /* Directory.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F26B979195B48C8002B7D2E /* Directory.swift */; }; 3F26B97C195B4960002B7D2E /* File.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F26B97B195B4960002B7D2E /* File.swift */; }; 3F26B97E195B498A002B7D2E /* P4DepotFile.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F26B97D195B498A002B7D2E /* P4DepotFile.swift */; }; 3F26B980195B49A6002B7D2E /* P4DepotDir.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F26B97F195B49A6002B7D2E /* P4DepotDir.swift */; }; 3F26B982195B5A58002B7D2E /* DirectoryLike.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F26B981195B5A58002B7D2E /* DirectoryLike.swift */; }; 3F26B984195B6EDF002B7D2E /* Namable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F26B983195B6EDF002B7D2E /* Namable.swift */; }; 3F2BBB4C1947A39300E5E317 /* libclient.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F2BBB481947A39300E5E317 /* libclient.a */; }; 3F2BBB4D1947A39300E5E317 /* libp4sslstub.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F2BBB491947A39300E5E317 /* libp4sslstub.a */; }; 3F2BBB4E1947A39300E5E317 /* librpc.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F2BBB4A1947A39300E5E317 /* librpc.a */; }; 3F2BBB4F1947A39300E5E317 /* libsupp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 3F2BBB4B1947A39300E5E317 /* libsupp.a */; }; 3F2BBB771947BEA700E5E317 /* WorkspaceModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F2BBB761947BEA700E5E317 /* WorkspaceModel.swift */; }; 3F2BBB791947BEB800E5E317 /* Library.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F2BBB781947BEB800E5E317 /* Library.swift */; }; 3F2BBB7B1947C19900E5E317 /* Area.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F2BBB7A1947C19900E5E317 /* Area.swift */; }; 3F2BBB7D1948CF1D00E5E317 /* P4Depot.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F2BBB7C1948CF1D00E5E317 /* P4Depot.swift */; }; 3F4498CF194F709400783F29 /* icon-library.png in Resources */ = {isa = PBXBuildFile; fileRef = 3F4498CE194F709400783F29 /* icon-library.png */; }; 3F4A74E7195A268E0005C4D4 /* NavigatorView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3F4A74E6195A268E0005C4D4 /* NavigatorView.xib */; }; 3F4A74E9195A27160005C4D4 /* NavigatorController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F4A74E8195A27160005C4D4 /* NavigatorController.swift */; }; 3F4A74EB195A2BCB0005C4D4 /* DocHubLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F4A74EA195A2BCB0005C4D4 /* DocHubLocation.swift */; }; 3F4A74ED195A3BAC0005C4D4 /* PropertyObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F4A74EC195A3BAC0005C4D4 /* PropertyObserver.swift */; }; 3F55BA221947978F00E9EDFB /* DocHubController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F55BA211947978F00E9EDFB /* DocHubController.swift */; }; 3F7BFCEF1952379600271B4B /* AddPerforceSheet.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3F7BFCEE1952379600271B4B /* AddPerforceSheet.xib */; }; 3F91AECE194A438A007F561A /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 3F91AECD194A438A007F561A /* Localizable.strings */; }; 3F91AED0194A4B7E007F561A /* LibraryView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F91AECF194A4B7E007F561A /* LibraryView.swift */; }; 3FA1837D1953A5B8006D9B9D /* LibrarySourceListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 3FA1837C1953A5B8006D9B9D /* LibrarySourceListView.xib */; }; 3FA1837F1953A89C006D9B9D /* LibraryDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FA1837E1953A89C006D9B9D /* LibraryDataSource.swift */; }; 3FA4528419537BF100BA6771 /* FileHandling.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FA4528319537BF100BA6771 /* FileHandling.swift */; }; 3FE42EFD1948D7780001DA66 /* P4Library.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FE42EFC1948D7780001DA66 /* P4Library.swift */; }; 3FE42EFF1948D8530001DA66 /* P4ConnectionSettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FE42EFE1948D8530001DA66 /* P4ConnectionSettings.swift */; }; 3FE42F081948F6820001DA66 /* Array.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FE42F071948F6820001DA66 /* Array.swift */; }; 3FE42F1A1948FBF80001DA66 /* P4ClientApi.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3FE42F171948FBF80001DA66 /* P4ClientApi.mm */; }; 3FE42F1B1948FBF80001DA66 /* P4ClientApiPriv.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3FE42F191948FBF80001DA66 /* P4ClientApiPriv.mm */; }; 3FF95F601958F5BD0062DB04 /* P4Info.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3FF95F5F1958F5BD0062DB04 /* P4Info.swift */; }; 3FFA938F1959FE10007E0DFB /* icon-library24-blue.png in Resources */ = {isa = PBXBuildFile; fileRef = 3FFA938E1959FE10007E0DFB /* icon-library24-blue.png */; }; 3FFA9391195A0447007E0DFB /* icon-library-blue.png in Resources */ = {isa = PBXBuildFile; fileRef = 3FFA9390195A0447007E0DFB /* icon-library-blue.png */; }; 3FFEA6D7194FACCF00F7A41B /* icon-add-library.png in Resources */ = {isa = PBXBuildFile; fileRef = 3FFEA6D6194FACCF00F7A41B /* icon-add-library.png */; }; 3FFEA6D9194FB7CC00F7A41B /* icon-library24.png in Resources */ = {isa = PBXBuildFile; fileRef = 3FFEA6D8194FB7CC00F7A41B /* icon-library24.png */; }; 6A13E44D195100F400BB68B2 /* AddPerforceController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A13E44C195100F400BB68B2 /* AddPerforceController.swift */; }; 6A7BA80D194BB14E00729976 /* DocHubControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6A7BA80C194BB14E00729976 /* DocHubControllerTests.swift */; }; 6AE5BAFF194B778A0029B2B1 /* DocHubToolbarDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE5BAFE194B778A0029B2B1 /* DocHubToolbarDelegate.swift */; }; 6AE6822B194CF42C008CD10D /* LibraryViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE6822A194CF42C008CD10D /* LibraryViewDelegate.swift */; }; 6AE6822D194D21E4008CD10D /* LibraryToolbarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AE6822C194D21E4008CD10D /* LibraryToolbarView.swift */; }; 6AF0823D195A657000953F5A /* P4DepotArea.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AF0823C195A657000953F5A /* P4DepotArea.swift */; }; 6AFFA9CA1946877D00A2F61B /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AFFA9C91946877D00A2F61B /* main.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ 6AFFA9D71946877D00A2F61B /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 6AFFA9BC1946877D00A2F61B /* Project object */; proxyType = 1; remoteGlobalIDString = 6AFFA9C31946877D00A2F61B; remoteInfo = DocHub; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 3F1CC92D194F846F00A3C10E /* LibraryListView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LibraryListView.swift; sourceTree = "<group>"; }; 3F1F1F371958A7F600B6178D /* LibrarySourceListController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LibrarySourceListController.swift; sourceTree = "<group>"; }; 3F2223071949062F004E0668 /* P4LibraryTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = P4LibraryTests.swift; sourceTree = "<group>"; }; 3F22230B19490960004E0668 /* P4CachingDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = P4CachingDelegate.swift; sourceTree = "<group>"; }; 3F222311194A129B004E0668 /* P4Dir.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = P4Dir.swift; sourceTree = "<group>"; }; 3F222313194A201F004E0668 /* P4File.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = P4File.swift; sourceTree = "<group>"; }; 3F222315194A205E004E0668 /* P4ClientApiExtensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = P4ClientApiExtensions.swift; sourceTree = "<group>"; }; 3F222317194A21A4004E0668 /* HasDepotPath.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HasDepotPath.swift; sourceTree = "<group>"; }; 3F222346194A41CF004E0668 /* DocHubMenu.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DocHubMenu.swift; sourceTree = "<group>"; }; 3F26B979195B48C8002B7D2E /* Directory.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Directory.swift; sourceTree = "<group>"; }; 3F26B97B195B4960002B7D2E /* File.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = File.swift; sourceTree = "<group>"; }; 3F26B97D195B498A002B7D2E /* P4DepotFile.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = P4DepotFile.swift; sourceTree = "<group>"; }; 3F26B97F195B49A6002B7D2E /* P4DepotDir.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = P4DepotDir.swift; sourceTree = "<group>"; }; 3F26B981195B5A58002B7D2E /* DirectoryLike.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DirectoryLike.swift; sourceTree = "<group>"; }; 3F26B983195B6EDF002B7D2E /* Namable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Namable.swift; sourceTree = "<group>"; }; 3F2BBB481947A39300E5E317 /* libclient.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libclient.a; path = "/usr/local/p4api-2014.1.821990/lib/libclient.a"; sourceTree = "<absolute>"; }; 3F2BBB491947A39300E5E317 /* libp4sslstub.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libp4sslstub.a; path = "/usr/local/p4api-2014.1.821990/lib/libp4sslstub.a"; sourceTree = "<absolute>"; }; 3F2BBB4A1947A39300E5E317 /* librpc.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librpc.a; path = "/usr/local/p4api-2014.1.821990/lib/librpc.a"; sourceTree = "<absolute>"; }; 3F2BBB4B1947A39300E5E317 /* libsupp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libsupp.a; path = "/usr/local/p4api-2014.1.821990/lib/libsupp.a"; sourceTree = "<absolute>"; }; 3F2BBB761947BEA700E5E317 /* WorkspaceModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WorkspaceModel.swift; sourceTree = "<group>"; }; 3F2BBB781947BEB800E5E317 /* Library.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Library.swift; sourceTree = "<group>"; }; 3F2BBB7A1947C19900E5E317 /* Area.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Area.swift; sourceTree = "<group>"; }; 3F2BBB7C1948CF1D00E5E317 /* P4Depot.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = P4Depot.swift; sourceTree = "<group>"; }; 3F4498CE194F709400783F29 /* icon-library.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-library.png"; sourceTree = "<group>"; }; 3F4A74E6195A268E0005C4D4 /* NavigatorView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = NavigatorView.xib; sourceTree = "<group>"; }; 3F4A74E8195A27160005C4D4 /* NavigatorController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NavigatorController.swift; sourceTree = "<group>"; }; 3F4A74EA195A2BCB0005C4D4 /* DocHubLocation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DocHubLocation.swift; sourceTree = "<group>"; }; 3F4A74EC195A3BAC0005C4D4 /* PropertyObserver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PropertyObserver.swift; sourceTree = "<group>"; }; 3F55BA211947978F00E9EDFB /* DocHubController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DocHubController.swift; sourceTree = "<group>"; }; 3F7BFCEE1952379600271B4B /* AddPerforceSheet.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = AddPerforceSheet.xib; sourceTree = "<group>"; }; 3F91AECD194A438A007F561A /* Localizable.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = Localizable.strings; sourceTree = "<group>"; }; 3F91AECF194A4B7E007F561A /* LibraryView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LibraryView.swift; sourceTree = "<group>"; }; 3FA1837C1953A5B8006D9B9D /* LibrarySourceListView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = LibrarySourceListView.xib; sourceTree = "<group>"; }; 3FA1837E1953A89C006D9B9D /* LibraryDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LibraryDataSource.swift; sourceTree = "<group>"; }; 3FA45282195369BB00BA6771 /* DocHub.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.xml; path = DocHub.entitlements; sourceTree = "<group>"; }; 3FA4528319537BF100BA6771 /* FileHandling.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileHandling.swift; sourceTree = "<group>"; }; 3FE42EFC1948D7780001DA66 /* P4Library.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = P4Library.swift; sourceTree = "<group>"; }; 3FE42EFE1948D8530001DA66 /* P4ConnectionSettings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = P4ConnectionSettings.swift; sourceTree = "<group>"; }; 3FE42F071948F6820001DA66 /* Array.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Array.swift; sourceTree = "<group>"; }; 3FE42F151948FBF70001DA66 /* DocHub-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "DocHub-Bridging-Header.h"; sourceTree = "<group>"; }; 3FE42F161948FBF80001DA66 /* P4ClientApi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = P4ClientApi.h; sourceTree = "<group>"; }; 3FE42F171948FBF80001DA66 /* P4ClientApi.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = P4ClientApi.mm; sourceTree = "<group>"; }; 3FE42F181948FBF80001DA66 /* P4ClientApiPriv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = P4ClientApiPriv.h; sourceTree = "<group>"; }; 3FE42F191948FBF80001DA66 /* P4ClientApiPriv.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = P4ClientApiPriv.mm; sourceTree = "<group>"; }; 3FF95F5F1958F5BD0062DB04 /* P4Info.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = P4Info.swift; sourceTree = "<group>"; }; 3FFA938E1959FE10007E0DFB /* icon-library24-blue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-library24-blue.png"; sourceTree = "<group>"; }; 3FFA9390195A0447007E0DFB /* icon-library-blue.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-library-blue.png"; sourceTree = "<group>"; }; 3FFEA6D6194FACCF00F7A41B /* icon-add-library.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-add-library.png"; sourceTree = "<group>"; }; 3FFEA6D8194FB7CC00F7A41B /* icon-library24.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-library24.png"; sourceTree = "<group>"; }; 6A13E44C195100F400BB68B2 /* AddPerforceController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AddPerforceController.swift; sourceTree = "<group>"; }; 6A7BA80C194BB14E00729976 /* DocHubControllerTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DocHubControllerTests.swift; sourceTree = "<group>"; }; 6AE5BAFE194B778A0029B2B1 /* DocHubToolbarDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DocHubToolbarDelegate.swift; sourceTree = "<group>"; }; 6AE6822A194CF42C008CD10D /* LibraryViewDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LibraryViewDelegate.swift; sourceTree = "<group>"; }; 6AE6822C194D21E4008CD10D /* LibraryToolbarView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LibraryToolbarView.swift; sourceTree = "<group>"; }; 6AF0823C195A657000953F5A /* P4DepotArea.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = P4DepotArea.swift; sourceTree = "<group>"; }; 6AFFA9C41946877D00A2F61B /* DocHub.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DocHub.app; sourceTree = BUILT_PRODUCTS_DIR; }; 6AFFA9C81946877D00A2F61B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 6AFFA9C91946877D00A2F61B /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = "<group>"; }; 6AFFA9D61946877D00A2F61B /* DocHubTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = DocHubTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 6AFFA9DB1946877D00A2F61B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ 6AFFA9C11946877D00A2F61B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( 3F2BBB4C1947A39300E5E317 /* libclient.a in Frameworks */, 3F2BBB4E1947A39300E5E317 /* librpc.a in Frameworks */, 3F2BBB4F1947A39300E5E317 /* libsupp.a in Frameworks */, 3F2BBB4D1947A39300E5E317 /* libp4sslstub.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; 6AFFA9D31946877D00A2F61B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ 3F2BBB731947A73700E5E317 /* p4api libs */ = { isa = PBXGroup; children = ( 3F2BBB481947A39300E5E317 /* libclient.a */, 3F2BBB491947A39300E5E317 /* libp4sslstub.a */, 3F2BBB4A1947A39300E5E317 /* librpc.a */, 3F2BBB4B1947A39300E5E317 /* libsupp.a */, ); name = "p4api libs"; sourceTree = "<group>"; }; 3FE42F021948DEE10001DA66 /* Util */ = { isa = PBXGroup; children = ( 3FE42F071948F6820001DA66 /* Array.swift */, 3F4A74EC195A3BAC0005C4D4 /* PropertyObserver.swift */, ); name = Util; sourceTree = "<group>"; }; 6AB7657E194689A200014C23 /* Controllers */ = { isa = PBXGroup; children = ( 6A13E44C195100F400BB68B2 /* AddPerforceController.swift */, 3F55BA211947978F00E9EDFB /* DocHubController.swift */, 3F222346194A41CF004E0668 /* DocHubMenu.swift */, 3F1F1F371958A7F600B6178D /* LibrarySourceListController.swift */, 3F4A74E8195A27160005C4D4 /* NavigatorController.swift */, ); name = Controllers; sourceTree = "<group>"; }; 6AB7657F194689A900014C23 /* Models */ = { isa = PBXGroup; children = ( 3F2BBB7A1947C19900E5E317 /* Area.swift */, 3F26B979195B48C8002B7D2E /* Directory.swift */, 3F26B981195B5A58002B7D2E /* DirectoryLike.swift */, 3F4A74EA195A2BCB0005C4D4 /* DocHubLocation.swift */, 3F26B97B195B4960002B7D2E /* File.swift */, 3FA4528319537BF100BA6771 /* FileHandling.swift */, 3F2BBB781947BEB800E5E317 /* Library.swift */, 3FA1837E1953A89C006D9B9D /* LibraryDataSource.swift */, 3F26B983195B6EDF002B7D2E /* Namable.swift */, 3FE42EFE1948D8530001DA66 /* P4ConnectionSettings.swift */, 6AF0823C195A657000953F5A /* P4DepotArea.swift */, 3F26B97F195B49A6002B7D2E /* P4DepotDir.swift */, 3F26B97D195B498A002B7D2E /* P4DepotFile.swift */, 3FE42EFC1948D7780001DA66 /* P4Library.swift */, 3F2BBB761947BEA700E5E317 /* WorkspaceModel.swift */, ); name = Models; sourceTree = "<group>"; }; 6AB76580194689AE00014C23 /* Views */ = { isa = PBXGroup; children = ( 3F7BFCEE1952379600271B4B /* AddPerforceSheet.xib */, 6AE5BAFE194B778A0029B2B1 /* DocHubToolbarDelegate.swift */, 3F1CC92D194F846F00A3C10E /* LibraryListView.swift */, 3FA1837C1953A5B8006D9B9D /* LibrarySourceListView.xib */, 6AE6822C194D21E4008CD10D /* LibraryToolbarView.swift */, 3F91AECF194A4B7E007F561A /* LibraryView.swift */, 6AE6822A194CF42C008CD10D /* LibraryViewDelegate.swift */, 3F4A74E6195A268E0005C4D4 /* NavigatorView.xib */, ); name = Views; sourceTree = "<group>"; }; 6AB7658719468AD900014C23 /* p4api */ = { isa = PBXGroup; children = ( 3FE42F151948FBF70001DA66 /* DocHub-Bridging-Header.h */, 3F22230B19490960004E0668 /* P4CachingDelegate.swift */, 3FE42F161948FBF80001DA66 /* P4ClientApi.h */, 3FE42F171948FBF80001DA66 /* P4ClientApi.mm */, 3FE42F181948FBF80001DA66 /* P4ClientApiPriv.h */, 3FE42F191948FBF80001DA66 /* P4ClientApiPriv.mm */, 3F2BBB7C1948CF1D00E5E317 /* P4Depot.swift */, 3F222311194A129B004E0668 /* P4Dir.swift */, 3F222313194A201F004E0668 /* P4File.swift */, 3F222315194A205E004E0668 /* P4ClientApiExtensions.swift */, 3F222317194A21A4004E0668 /* HasDepotPath.swift */, 3FF95F5F1958F5BD0062DB04 /* P4Info.swift */, ); name = p4api; sourceTree = "<group>"; }; 6AFFA9BB1946877D00A2F61B = { isa = PBXGroup; children = ( 6AFFA9C61946877D00A2F61B /* DocHub */, 6AFFA9D91946877D00A2F61B /* DocHubTests */, 6AFFA9C51946877D00A2F61B /* Products */, 3F2BBB731947A73700E5E317 /* p4api libs */, ); sourceTree = "<group>"; }; 6AFFA9C51946877D00A2F61B /* Products */ = { isa = PBXGroup; children = ( 6AFFA9C41946877D00A2F61B /* DocHub.app */, 6AFFA9D61946877D00A2F61B /* DocHubTests.xctest */, ); name = Products; sourceTree = "<group>"; }; 6AFFA9C61946877D00A2F61B /* DocHub */ = { isa = PBXGroup; children = ( 6AB7657E194689A200014C23 /* Controllers */, 3FA45282195369BB00BA6771 /* DocHub.entitlements */, 6AB7657F194689A900014C23 /* Models */, 6AB7658719468AD900014C23 /* p4api */, 6AFFA9C71946877D00A2F61B /* Supporting Files */, 3FE42F021948DEE10001DA66 /* Util */, 6AB76580194689AE00014C23 /* Views */, ); path = DocHub; sourceTree = "<group>"; }; 6AFFA9C71946877D00A2F61B /* Supporting Files */ = { isa = PBXGroup; children = ( 3FFA9390195A0447007E0DFB /* icon-library-blue.png */, 3FFA938E1959FE10007E0DFB /* icon-library24-blue.png */, 3FFEA6D8194FB7CC00F7A41B /* icon-library24.png */, 3FFEA6D6194FACCF00F7A41B /* icon-add-library.png */, 3F4498CE194F709400783F29 /* icon-library.png */, 6AFFA9C81946877D00A2F61B /* Info.plist */, 6AFFA9C91946877D00A2F61B /* main.swift */, 3F91AECD194A438A007F561A /* Localizable.strings */, ); name = "Supporting Files"; sourceTree = "<group>"; }; 6AFFA9D91946877D00A2F61B /* DocHubTests */ = { isa = PBXGroup; children = ( 6AFFA9DA1946877D00A2F61B /* Supporting Files */, 3F2223071949062F004E0668 /* P4LibraryTests.swift */, 6A7BA80C194BB14E00729976 /* DocHubControllerTests.swift */, ); path = DocHubTests; sourceTree = "<group>"; }; 6AFFA9DA1946877D00A2F61B /* Supporting Files */ = { isa = PBXGroup; children = ( 6AFFA9DB1946877D00A2F61B /* Info.plist */, ); name = "Supporting Files"; sourceTree = "<group>"; }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ 6AFFA9C31946877D00A2F61B /* DocHub */ = { isa = PBXNativeTarget; buildConfigurationList = 6AFFA9E01946877D00A2F61B /* Build configuration list for PBXNativeTarget "DocHub" */; buildPhases = ( 6AFFA9C01946877D00A2F61B /* Sources */, 6AFFA9C11946877D00A2F61B /* Frameworks */, 6AFFA9C21946877D00A2F61B /* Resources */, ); buildRules = ( ); dependencies = ( ); name = DocHub; productName = DocHub; productReference = 6AFFA9C41946877D00A2F61B /* DocHub.app */; productType = "com.apple.product-type.application"; }; 6AFFA9D51946877D00A2F61B /* DocHubTests */ = { isa = PBXNativeTarget; buildConfigurationList = 6AFFA9E31946877D00A2F61B /* Build configuration list for PBXNativeTarget "DocHubTests" */; buildPhases = ( 6AFFA9D21946877D00A2F61B /* Sources */, 6AFFA9D31946877D00A2F61B /* Frameworks */, 6AFFA9D41946877D00A2F61B /* Resources */, ); buildRules = ( ); dependencies = ( 6AFFA9D81946877D00A2F61B /* PBXTargetDependency */, ); name = DocHubTests; productName = DocHubTests; productReference = 6AFFA9D61946877D00A2F61B /* DocHubTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 6AFFA9BC1946877D00A2F61B /* Project object */ = { isa = PBXProject; attributes = { LastUpgradeCheck = 0600; ORGANIZATIONNAME = Perforce; TargetAttributes = { 6AFFA9C31946877D00A2F61B = { CreatedOnToolsVersion = 6.0; SystemCapabilities = { com.apple.Sandbox = { enabled = 1; }; }; }; 6AFFA9D51946877D00A2F61B = { CreatedOnToolsVersion = 6.0; TestTargetID = 6AFFA9C31946877D00A2F61B; }; }; }; buildConfigurationList = 6AFFA9BF1946877D00A2F61B /* Build configuration list for PBXProject "DocHub" */; compatibilityVersion = "Xcode 3.2"; developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( en, Base, ); mainGroup = 6AFFA9BB1946877D00A2F61B; productRefGroup = 6AFFA9C51946877D00A2F61B /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( 6AFFA9C31946877D00A2F61B /* DocHub */, 6AFFA9D51946877D00A2F61B /* DocHubTests */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ 6AFFA9C21946877D00A2F61B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( 3FFA9391195A0447007E0DFB /* icon-library-blue.png in Resources */, 3F4498CF194F709400783F29 /* icon-library.png in Resources */, 3FFA938F1959FE10007E0DFB /* icon-library24-blue.png in Resources */, 3F91AECE194A438A007F561A /* Localizable.strings in Resources */, 3FFEA6D9194FB7CC00F7A41B /* icon-library24.png in Resources */, 3FFEA6D7194FACCF00F7A41B /* icon-add-library.png in Resources */, 3FA1837D1953A5B8006D9B9D /* LibrarySourceListView.xib in Resources */, 3F4A74E7195A268E0005C4D4 /* NavigatorView.xib in Resources */, 3F7BFCEF1952379600271B4B /* AddPerforceSheet.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; }; 6AFFA9D41946877D00A2F61B /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ 6AFFA9C01946877D00A2F61B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 3F55BA221947978F00E9EDFB /* DocHubController.swift in Sources */, 3F2BBB791947BEB800E5E317 /* Library.swift in Sources */, 3F2BBB7D1948CF1D00E5E317 /* P4Depot.swift in Sources */, 3F22230C19490960004E0668 /* P4CachingDelegate.swift in Sources */, 3F222312194A129B004E0668 /* P4Dir.swift in Sources */, 3FA4528419537BF100BA6771 /* FileHandling.swift in Sources */, 3FE42F081948F6820001DA66 /* Array.swift in Sources */, 6AE6822D194D21E4008CD10D /* LibraryToolbarView.swift in Sources */, 3F26B982195B5A58002B7D2E /* DirectoryLike.swift in Sources */, 3F26B97E195B498A002B7D2E /* P4DepotFile.swift in Sources */, 3F4A74ED195A3BAC0005C4D4 /* PropertyObserver.swift in Sources */, 3FA1837F1953A89C006D9B9D /* LibraryDataSource.swift in Sources */, 6AE5BAFF194B778A0029B2B1 /* DocHubToolbarDelegate.swift in Sources */, 6AFFA9CA1946877D00A2F61B /* main.swift in Sources */, 3F4A74EB195A2BCB0005C4D4 /* DocHubLocation.swift in Sources */, 3F1F1F381958A7F600B6178D /* LibrarySourceListController.swift in Sources */, 3F91AED0194A4B7E007F561A /* LibraryView.swift in Sources */, 3F2BBB7B1947C19900E5E317 /* Area.swift in Sources */, 3F4A74E9195A27160005C4D4 /* NavigatorController.swift in Sources */, 3F222316194A205E004E0668 /* P4ClientApiExtensions.swift in Sources */, 3F222347194A41CF004E0668 /* DocHubMenu.swift in Sources */, 3FE42F1B1948FBF80001DA66 /* P4ClientApiPriv.mm in Sources */, 6AF0823D195A657000953F5A /* P4DepotArea.swift in Sources */, 3F26B984195B6EDF002B7D2E /* Namable.swift in Sources */, 3F222314194A201F004E0668 /* P4File.swift in Sources */, 6A13E44D195100F400BB68B2 /* AddPerforceController.swift in Sources */, 3F222318194A21A4004E0668 /* HasDepotPath.swift in Sources */, 3F2BBB771947BEA700E5E317 /* WorkspaceModel.swift in Sources */, 3FE42EFD1948D7780001DA66 /* P4Library.swift in Sources */, 3FE42EFF1948D8530001DA66 /* P4ConnectionSettings.swift in Sources */, 3F26B980195B49A6002B7D2E /* P4DepotDir.swift in Sources */, 6AE6822B194CF42C008CD10D /* LibraryViewDelegate.swift in Sources */, 3FE42F1A1948FBF80001DA66 /* P4ClientApi.mm in Sources */, 3F1CC92E194F846F00A3C10E /* LibraryListView.swift in Sources */, 3FF95F601958F5BD0062DB04 /* P4Info.swift in Sources */, 3F26B97C195B4960002B7D2E /* File.swift in Sources */, 3F26B97A195B48C8002B7D2E /* Directory.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; 6AFFA9D21946877D00A2F61B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 3F2223081949062F004E0668 /* P4LibraryTests.swift in Sources */, 6A7BA80D194BB14E00729976 /* DocHubControllerTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ 6AFFA9D81946877D00A2F61B /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 6AFFA9C31946877D00A2F61B /* DocHub */; targetProxy = 6AFFA9D71946877D00A2F61B /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ 6AFFA9DE1946877D00A2F61B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.9; METAL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = macosx; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; }; name = Debug; }; 6AFFA9DF1946877D00A2F61B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; CODE_SIGN_IDENTITY = "-"; COPY_PHASE_STRIP = YES; DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; MACOSX_DEPLOYMENT_TARGET = 10.9; METAL_ENABLE_DEBUG_INFO = NO; SDKROOT = macosx; }; name = Release; }; 6AFFA9E11946877D00A2F61B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = DocHub/DocHub.entitlements; COMBINE_HIDPI_IMAGES = YES; DEFINES_MODULE = YES; INFOPLIST_FILE = DocHub/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", /usr/local/p4api/lib, ); MACOSX_DEPLOYMENT_TARGET = 10.7; MODULE_NAME = DocHub; OTHER_LDFLAGS = ""; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "DocHub/DocHub-Bridging-Header.h"; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; USER_HEADER_SEARCH_PATHS = /usr/local/p4api/include/p4; }; name = Debug; }; 6AFFA9E21946877D00A2F61B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_ENABLE_MODULES = YES; CODE_SIGN_ENTITLEMENTS = DocHub/DocHub.entitlements; COMBINE_HIDPI_IMAGES = YES; DEFINES_MODULE = YES; INFOPLIST_FILE = DocHub/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", /usr/local/p4api/lib, ); MACOSX_DEPLOYMENT_TARGET = 10.7; MODULE_NAME = DocHub; OTHER_LDFLAGS = ""; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "DocHub/DocHub-Bridging-Header.h"; USER_HEADER_SEARCH_PATHS = /usr/local/p4api/include/p4; }; name = Release; }; 6AFFA9E41946877D00A2F61B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/DocHub.app/Contents/MacOS/DocHub"; COMBINE_HIDPI_IMAGES = YES; FRAMEWORK_SEARCH_PATHS = ( "$(DEVELOPER_FRAMEWORKS_DIR)", "$(inherited)", ); GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", "$(inherited)", ); INFOPLIST_FILE = DocHubTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; METAL_ENABLE_DEBUG_INFO = YES; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUNDLE_LOADER)"; }; name = Debug; }; 6AFFA9E51946877D00A2F61B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { BUNDLE_LOADER = "$(BUILT_PRODUCTS_DIR)/DocHub.app/Contents/MacOS/DocHub"; COMBINE_HIDPI_IMAGES = YES; FRAMEWORK_SEARCH_PATHS = ( "$(DEVELOPER_FRAMEWORKS_DIR)", "$(inherited)", ); INFOPLIST_FILE = DocHubTests/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks @loader_path/../Frameworks"; METAL_ENABLE_DEBUG_INFO = NO; PRODUCT_NAME = "$(TARGET_NAME)"; TEST_HOST = "$(BUNDLE_LOADER)"; }; name = Release; }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ 6AFFA9BF1946877D00A2F61B /* Build configuration list for PBXProject "DocHub" */ = { isa = XCConfigurationList; buildConfigurations = ( 6AFFA9DE1946877D00A2F61B /* Debug */, 6AFFA9DF1946877D00A2F61B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 6AFFA9E01946877D00A2F61B /* Build configuration list for PBXNativeTarget "DocHub" */ = { isa = XCConfigurationList; buildConfigurations = ( 6AFFA9E11946877D00A2F61B /* Debug */, 6AFFA9E21946877D00A2F61B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; 6AFFA9E31946877D00A2F61B /* Build configuration list for PBXNativeTarget "DocHubTests" */ = { isa = XCConfigurationList; buildConfigurations = ( 6AFFA9E41946877D00A2F61B /* Debug */, 6AFFA9E51946877D00A2F61B /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; rootObject = 6AFFA9BC1946877D00A2F61B /* Project object */; }
# | Change | User | Description | Committed | |
---|---|---|---|---|---|
#20 | 9583 | tjuricek | Set up basic directory browsing. | ||
#19 | 9581 | tjuricek | Basic listing backend for Perforce models | ||
#18 | 9560 | tjuricek |
Setup parent reference to Library protocol, and handle using a separate model class. Adds a "library" ID to the title bar, which may make sense. |
||
#17 | 9556 | tjuricek | Add an informal "PropertyObserver" class to set up a typed bindings system, which in turn updates the window title at the moment. | ||
#16 | 9555 | tjuricek | Changing how the main splitter is toggled | ||
#15 | 9553 | tjuricek |
Adjust the library toolbar icon to act like a toggle switch, similar to XCode 6's toolbar buttons. I'm not 100% sure about the placement of the left 3 buttons, so this may end up requiring a lot of custom views to be more consistent with the inconsistency that is 10.10. |
||
#14 | 9547 | tjuricek |
Use p4 info to grab the clientAddress which is then used to restrict the hostname token correctly from p4d. (Idea via dscheirer) |
||
#13 | 9545 | tjuricek |
Use the left column to navigate p4 servers as "libraries" with their depots as "areas". I've had to stop using the output of login -p at the moment, since it doesn't quite work with the Objective-C API in lieu of a password. |
||
#12 | 9483 | tjuricek | Basic connection settings serialization in the sandboxed Application Settings directory. | ||
#11 | 9469 | tjuricek | Add sheet view for collecting Perforce connection information. | ||
#10 | 9440 | tjuricek | Tightened up the display of the toolbar icon by subclassing and specifying a 24px render instead of letting the 32px scale down | ||
#9 | 9439 | tjuricek | Correcting layout and color issues with the library view, and added a simple "add" pop-up menu with anticipated library types. | ||
#8 | 9438 | tjuricek |
Updated style of the library toolbar icon to match more of the Yosemite look and feel. Removed the "back/next" buttons. We should probably use a single view for them, and bring them back when they'll actually be used. |
||
#7 | 9435 | tjuricek | Split up the library view with a scroll pane and a "toolbar" that will sit on the bottom of the view | ||
#6 | 9433 | tjuricek | Setup the library toggle mechanism to the toolbar. | ||
#5 | 9432 | tjuricek | Added framework for a standard toolbar. | ||
#4 | 9420 | tjuricek |
Minimal UI framework. Lesson learned: if you're not using nibs, thou shalt access thy application as NSApplication.sharedApplication, or thy will encounter strange resizing exceptions. |
||
#3 | 9397 | tjuricek | Basic p4d interaction with p4 using Swift | ||
#2 | 9249 | tjuricek |
Added test p4d setup, and reorganized some core code. I've decided to not use InterfaceBuilder in this project, because I don't like that the .xib files are not very easy to merge, and the object lifetimes are a bit more difficult to trace. The DocHubController will operate as the app delegate, and will create views manually. Using the gradle toolchain to setup p4d. To use, execute: ./gradlew startPerforce ./gradlew initPerforce # only needed the first time This creates the p4d that uses build/perforce/work |
||
#1 | 9229 | tjuricek |
Basic project code for a prototype Assumes p4api library is available at /usr/local/p4api |