Preview and Quicklook stubs

This commit is contained in:
michael starke
2014-03-18 21:42:56 +01:00
parent 6a28d03801
commit 34ba9f0575
8 changed files with 182 additions and 0 deletions

View File

@@ -72,6 +72,10 @@
4C245BF1176E1E3D0086100E /* DispatchQueueLogFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C245B72176E1E3D0086100E /* DispatchQueueLogFormatter.m */; };
4C25D58716CF0FAA00F6806C /* EntryView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C25D58616CF0FAA00F6806C /* EntryView.xib */; };
4C2671AD17A7D8FC00F3A645 /* HNHColorWell.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2671AC17A7D8FC00F3A645 /* HNHColorWell.m */; };
4C26C33F18D8C92100CF1A1C /* MPTemporaryFileStorage.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C26C33E18D8C92100CF1A1C /* MPTemporaryFileStorage.m */; };
4C26C34718D8C9C400CF1A1C /* KPKBinary+Quickook.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C26C34618D8C9C400CF1A1C /* KPKBinary+Quickook.m */; };
4C26C34B18D8D5A300CF1A1C /* MPPreviewViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C26C34918D8D5A300CF1A1C /* MPPreviewViewController.m */; };
4C26C34C18D8D5A300CF1A1C /* PreviewView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C26C34A18D8D5A300CF1A1C /* PreviewView.xib */; };
4C2724D71778FF1A00FD8456 /* NSUUID+KeePassKit.m in Sources */ = {isa = PBXBuildFile; fileRef = 4C2724D61778FF1A00FD8456 /* NSUUID+KeePassKit.m */; };
4C2C8B341787500E009649F3 /* UnprotectedWarningView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 4C2C8B331787500E009649F3 /* UnprotectedWarningView.xib */; };
4C2E381D16D11FF900037A9D /* 03_ServerTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4C2E381A16D11FF900037A9D /* 03_ServerTemplate.pdf */; };
@@ -480,6 +484,13 @@
4C25D58616CF0FAA00F6806C /* EntryView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = EntryView.xib; sourceTree = "<group>"; };
4C2671AB17A7D8FC00F3A645 /* HNHColorWell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = HNHColorWell.h; sourceTree = "<group>"; };
4C2671AC17A7D8FC00F3A645 /* HNHColorWell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HNHColorWell.m; sourceTree = "<group>"; };
4C26C33D18D8C92100CF1A1C /* MPTemporaryFileStorage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPTemporaryFileStorage.h; sourceTree = "<group>"; };
4C26C33E18D8C92100CF1A1C /* MPTemporaryFileStorage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTemporaryFileStorage.m; sourceTree = "<group>"; };
4C26C34518D8C9C400CF1A1C /* KPKBinary+Quickook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "KPKBinary+Quickook.h"; sourceTree = "<group>"; };
4C26C34618D8C9C400CF1A1C /* KPKBinary+Quickook.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "KPKBinary+Quickook.m"; sourceTree = "<group>"; };
4C26C34818D8D5A300CF1A1C /* MPPreviewViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPPreviewViewController.h; sourceTree = "<group>"; };
4C26C34918D8D5A300CF1A1C /* MPPreviewViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPreviewViewController.m; sourceTree = "<group>"; };
4C26C34A18D8D5A300CF1A1C /* PreviewView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = PreviewView.xib; sourceTree = "<group>"; };
4C2724D51778FF1A00FD8456 /* NSUUID+KeePassKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSUUID+KeePassKit.h"; sourceTree = "<group>"; };
4C2724D61778FF1A00FD8456 /* NSUUID+KeePassKit.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSUUID+KeePassKit.m"; sourceTree = "<group>"; };
4C2C8B331787500E009649F3 /* UnprotectedWarningView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = UnprotectedWarningView.xib; sourceTree = "<group>"; };
@@ -951,6 +962,7 @@
4C2C8B331787500E009649F3 /* UnprotectedWarningView.xib */,
4C4B7EE817A45EC5000234C7 /* DatePickingView.xib */,
4C0728BE17B68ED0005A7DD9 /* SavePanelAccessoryView.xib */,
4C26C34A18D8D5A300CF1A1C /* PreviewView.xib */,
4C74DD05177BD1640034A9DB /* MPCustomFieldView.h */,
4C74DD06177BD1640034A9DB /* MPCustomFieldView.m */,
4CE8247316E2F2B900573141 /* MPOverlayView.h */,
@@ -982,6 +994,8 @@
4CC6DB7917D23719002C6091 /* KPKNode+IconImage.m */,
4CEED1C417D7BD0E007180F1 /* NSError+Messages.h */,
4CEED1C517D7BD0E007180F1 /* NSError+Messages.m */,
4C26C34518D8C9C400CF1A1C /* KPKBinary+Quickook.h */,
4C26C34618D8C9C400CF1A1C /* KPKBinary+Quickook.m */,
);
name = Categories;
sourceTree = "<group>";
@@ -1191,6 +1205,8 @@
4CB63A6018986530002DEC4C /* MPFlagsHelper.h */,
4C3C4EAD18D7039300153127 /* MPValueTransformerHelper.h */,
4C3C4EAE18D7039300153127 /* MPValueTransformerHelper.m */,
4C26C33D18D8C92100CF1A1C /* MPTemporaryFileStorage.h */,
4C26C33E18D8C92100CF1A1C /* MPTemporaryFileStorage.m */,
);
name = Helper;
sourceTree = "<group>";
@@ -1532,6 +1548,8 @@
4C0F647A17B6BC9C00D9522A /* MPSavePanelAccessoryViewController.m */,
4C1E9883185F71A800943563 /* MPContextBarViewController.h */,
4C1E9884185F71A800943563 /* MPContextBarViewController.m */,
4C26C34818D8D5A300CF1A1C /* MPPreviewViewController.h */,
4C26C34918D8D5A300CF1A1C /* MPPreviewViewController.m */,
);
name = "View Controller";
sourceTree = "<group>";
@@ -2028,6 +2046,7 @@
4C7615681764C0C40015A1A6 /* PasswordInputView.xib in Resources */,
4C25D58716CF0FAA00F6806C /* EntryView.xib in Resources */,
4C586F9E16D07ABD00E7DB57 /* 00_PasswordTemplate.pdf in Resources */,
4C26C34C18D8D5A300CF1A1C /* PreviewView.xib in Resources */,
4C586FA016D07D7200E7DB57 /* 01_PackageNetworkTemplate.pdf in Resources */,
4C586FA216D07F6A00E7DB57 /* 02_MessageBoxWarningTemplate.pdf in Resources */,
4C2E381D16D11FF900037A9D /* 03_ServerTemplate.pdf in Resources */,
@@ -2232,6 +2251,7 @@
4CD5D705177A5F3300100649 /* MPDatabaseSettingsWindowController.m in Sources */,
4C74DD07177BD1640034A9DB /* MPCustomFieldView.m in Sources */,
4C4FCE15177CFE6B00BBF7AE /* MPCustomFieldTableCellView.m in Sources */,
4C26C34B18D8D5A300CF1A1C /* MPPreviewViewController.m in Sources */,
4C52A244177D7B9F0000D88F /* HNHScrollView.m in Sources */,
4CC7EA1B17807E7E0089D4F3 /* HNHRoundedTextFieldCellHelper.m in Sources */,
4C5FE9AE17843CE20001D5A8 /* MPSelectedAttachmentTableCellView.m in Sources */,
@@ -2241,6 +2261,7 @@
4C10412C178CDD44001B5239 /* NSDate+Humanized.m in Sources */,
4CD3ABBA178F71B50073F5C5 /* KPKTree.m in Sources */,
4CD3ABBF178F72610073F5C5 /* KPKEntry.m in Sources */,
4C26C34718D8C9C400CF1A1C /* KPKBinary+Quickook.m in Sources */,
4CD3ABC2178F72720073F5C5 /* KPKGroup.m in Sources */,
4C591B57178F897A0080B16B /* KPKBinary.m in Sources */,
4C0C59F118B17F10009C7B76 /* DDHotKeyUtilities.m in Sources */,
@@ -2270,6 +2291,7 @@
4C1842BC179B434C00E2F5BC /* KPKXmlHeaderReader.m in Sources */,
4C1842C0179B5BFD00E2F5BC /* NSData+CommonCrypto.m in Sources */,
4C1842C3179B69E700E2F5BC /* NSData+HashedData.m in Sources */,
4C26C33F18D8C92100CF1A1C /* MPTemporaryFileStorage.m in Sources */,
4C1842C6179BF52100E2F5BC /* KPKLegacyHeaderReader.m in Sources */,
4C1842D0179C64DD00E2F5BC /* KPKLegacyTreeCryptor.m in Sources */,
4CD2B9061849424B0051B395 /* MPAutotypeContext.m in Sources */,

View File

@@ -0,0 +1,15 @@
//
// KPKBinary+Quickook.h
// MacPass
//
// Created by Michael Starke on 18/03/14.
// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved.
//
#import "KPKBinary.h"
@interface KPKBinary (Quickook)
- (void)quicklock;
@end

View File

@@ -0,0 +1,17 @@
//
// KPKBinary+Quickook.m
// MacPass
//
// Created by Michael Starke on 18/03/14.
// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved.
//
#import "KPKBinary+Quickook.h"
#import "MPTemporaryFileStorage.h"
@implementation KPKBinary (Quickook)
- (void)quicklock {
}
@end

View File

@@ -0,0 +1,13 @@
//
// MPPreviewViewController.h
// MacPass
//
// Created by Michael Starke on 18/03/14.
// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved.
//
#import "MPViewController.h"
@interface MPPreviewViewController : MPViewController
@end

View File

@@ -0,0 +1,22 @@
//
// MPPreviewViewController.m
// MacPass
//
// Created by Michael Starke on 18/03/14.
// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved.
//
#import "MPPreviewViewController.h"
@interface MPPreviewViewController ()
@end
@implementation MPPreviewViewController
- (instancetype)init {
self = [self initWithNibName:@"PreviewView" bundle:nil];
return self;
}
@end

View File

@@ -0,0 +1,23 @@
//
// MPTemporaryFileStorage.h
// MacPass
//
// Created by Michael Starke on 18/03/14.
// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved.
//
#import <Foundation/Foundation.h>
/**
* Instance to handle a temporary file storage. Quicklook support uses this as a means to vent attachments to the system
* After using the file, the storage is removed.
*/
@class KPKBinary;
@interface MPTemporaryFileStorage : NSObject
- (instancetype)initWithBinary:(KPKBinary *)binary;
- (void)quicklook;
@end

View File

@@ -0,0 +1,50 @@
;//
// MPTemporaryFileStorage.m
// MacPass
//
// Created by Michael Starke on 18/03/14.
// Copyright (c) 2014 HicknHack Software GmbH. All rights reserved.
//
#import "MPTemporaryFileStorage.h"
#import "KPKBinary.h"
#import <QuickLook/QuickLook.h>
@interface MPTemporaryFileStorage ()
@property (strong) KPKBinary *binary;
@end
@implementation MPTemporaryFileStorage
- (instancetype)initWithBinary:(KPKBinary *)binary {
self = [super init];
if(self) {
_binary = binary;
}
return self;
}
- (void)quicklook {
NSString *fileName = [NSString stringWithFormat:@"%@_%@", [[NSProcessInfo processInfo] globallyUniqueString], self.binary.name];
NSURL *fileURL = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:fileName]];
NSError *error;
BOOL success = [self.binary.data writeToURL:fileURL options:0 error:&error];
if(!success) {
if(error) {
[NSApp presentError:error];
}
return;
}
NSTask *task = [[NSTask alloc] init];
[task setLaunchPath:@"srm"];
[task setArguments:@[@"-m", fileName]];
}
@end

20
MacPass/PreviewView.xib Normal file
View File

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="5053" systemVersion="13C64" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES">
<dependencies>
<deployment defaultVersion="1080" identifier="macosx"/>
<plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="5053"/>
</dependencies>
<objects>
<customObject id="-2" userLabel="File's Owner" customClass="MPPreviewViewController">
<connections>
<outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
</connections>
</customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application"/>
<customView translatesAutoresizingMaskIntoConstraints="NO" id="Hz6-mo-xeY">
<rect key="frame" x="0.0" y="0.0" width="401" height="368"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
</customView>
</objects>
</document>