// !$*UTF8*$! { archiveVersion = 1; classes = { }; objectVersion = 46; objects = { /* Begin PBXBuildFile section */ 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 */; }; 3F55BA221947978F00E9EDFB /* DocHubController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3F55BA211947978F00E9EDFB /* DocHubController.swift */; }; 6AB7658519468AD000014C23 /* P4ClientApi.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6AB7658219468AD000014C23 /* P4ClientApi.mm */; }; 6AB7658619468AD000014C23 /* P4ClientApiPriv.mm in Sources */ = {isa = PBXBuildFile; fileRef = 6AB7658419468AD000014C23 /* P4ClientApiPriv.mm */; }; 6AFFA9CA1946877D00A2F61B /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AFFA9C91946877D00A2F61B /* main.swift */; }; 6AFFA9DD1946877D00A2F61B /* DocHubTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6AFFA9DC1946877D00A2F61B /* DocHubTests.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 */ 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>"; }; 3F55BA211947978F00E9EDFB /* DocHubController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DocHubController.swift; sourceTree = "<group>"; }; 6AB7658119468AD000014C23 /* P4ClientApi.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = P4ClientApi.h; sourceTree = "<group>"; }; 6AB7658219468AD000014C23 /* P4ClientApi.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = P4ClientApi.mm; sourceTree = "<group>"; }; 6AB7658319468AD000014C23 /* P4ClientApiPriv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = P4ClientApiPriv.h; sourceTree = "<group>"; }; 6AB7658419468AD000014C23 /* P4ClientApiPriv.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = P4ClientApiPriv.mm; 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>"; }; 6AFFA9DC1946877D00A2F61B /* DocHubTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DocHubTests.swift; 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>"; }; 6AB7657E194689A200014C23 /* Controllers */ = { isa = PBXGroup; children = ( 3F55BA211947978F00E9EDFB /* DocHubController.swift */, ); name = Controllers; sourceTree = "<group>"; }; 6AB7657F194689A900014C23 /* Models */ = { isa = PBXGroup; children = ( ); name = Models; sourceTree = "<group>"; }; 6AB76580194689AE00014C23 /* Views */ = { isa = PBXGroup; children = ( ); name = Views; sourceTree = "<group>"; }; 6AB7658719468AD900014C23 /* p4api */ = { isa = PBXGroup; children = ( 6AB7658119468AD000014C23 /* P4ClientApi.h */, 6AB7658219468AD000014C23 /* P4ClientApi.mm */, 6AB7658319468AD000014C23 /* P4ClientApiPriv.h */, 6AB7658419468AD000014C23 /* P4ClientApiPriv.mm */, ); 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 = ( 6AB76580194689AE00014C23 /* Views */, 6AB7657F194689A900014C23 /* Models */, 6AB7657E194689A200014C23 /* Controllers */, 6AB7658719468AD900014C23 /* p4api */, 6AFFA9C71946877D00A2F61B /* Supporting Files */, ); path = DocHub; sourceTree = "<group>"; }; 6AFFA9C71946877D00A2F61B /* Supporting Files */ = { isa = PBXGroup; children = ( 6AFFA9C81946877D00A2F61B /* Info.plist */, 6AFFA9C91946877D00A2F61B /* main.swift */, ); name = "Supporting Files"; sourceTree = "<group>"; }; 6AFFA9D91946877D00A2F61B /* DocHubTests */ = { isa = PBXGroup; children = ( 6AFFA9DC1946877D00A2F61B /* DocHubTests.swift */, 6AFFA9DA1946877D00A2F61B /* Supporting Files */, ); 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; }; 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 = ( ); 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 */, 6AB7658619468AD000014C23 /* P4ClientApiPriv.mm in Sources */, 6AFFA9CA1946877D00A2F61B /* main.swift in Sources */, 6AB7658519468AD000014C23 /* P4ClientApi.mm in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; 6AFFA9D21946877D00A2F61B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( 6AFFA9DD1946877D00A2F61B /* DocHubTests.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; COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = DocHub/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", /usr/local/p4api/lib, ); OTHER_LDFLAGS = ""; PRODUCT_NAME = "$(TARGET_NAME)"; USER_HEADER_SEARCH_PATHS = /usr/local/p4api/include/p4; }; name = Debug; }; 6AFFA9E21946877D00A2F61B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = DocHub/Info.plist; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/../Frameworks"; LIBRARY_SEARCH_PATHS = ( "$(inherited)", /usr/local/p4api/lib, ); OTHER_LDFLAGS = ""; PRODUCT_NAME = "$(TARGET_NAME)"; 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 |