Moving file preview code to a separate file
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
3437407C1C6E8D7F0090FD6A /* pdf@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 3437407B1C6E8D7F0090FD6A /* pdf@2x.png */; };
|
||||
3439AB681C6F203A0058AF04 /* FileParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3439AB671C6F203A0058AF04 /* FileParser.swift */; };
|
||||
3439AB6A1C6FC6D90058AF04 /* QuickLook.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3439AB691C6FC6D90058AF04 /* QuickLook.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
|
||||
3439AB6C1C6FD6650058AF04 /* FilePreview.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3439AB6B1C6FD6650058AF04 /* FilePreview.swift */; };
|
||||
344169581C67812400B93D28 /* FileBrowser.h in Headers */ = {isa = PBXBuildFile; fileRef = 344169571C67812400B93D28 /* FileBrowser.h */; settings = {ATTRIBUTES = (Public, ); }; };
|
||||
3441695F1C67812400B93D28 /* FileBrowser.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 344169541C67812400B93D28 /* FileBrowser.framework */; };
|
||||
344169641C67812400B93D28 /* FileBrowserTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 344169631C67812400B93D28 /* FileBrowserTests.swift */; };
|
||||
@@ -43,6 +44,7 @@
|
||||
3437407B1C6E8D7F0090FD6A /* pdf@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "pdf@2x.png"; sourceTree = "<group>"; };
|
||||
3439AB671C6F203A0058AF04 /* FileParser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileParser.swift; sourceTree = "<group>"; };
|
||||
3439AB691C6FC6D90058AF04 /* QuickLook.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuickLook.framework; path = System/Library/Frameworks/QuickLook.framework; sourceTree = SDKROOT; };
|
||||
3439AB6B1C6FD6650058AF04 /* FilePreview.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilePreview.swift; sourceTree = "<group>"; };
|
||||
344169541C67812400B93D28 /* FileBrowser.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FileBrowser.framework; sourceTree = BUILT_PRODUCTS_DIR; };
|
||||
344169571C67812400B93D28 /* FileBrowser.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FileBrowser.h; sourceTree = "<group>"; };
|
||||
344169591C67812400B93D28 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
|
||||
@@ -108,6 +110,7 @@
|
||||
children = (
|
||||
344169571C67812400B93D28 /* FileBrowser.h */,
|
||||
3437405A1C6E7DA50090FD6A /* FileBrowser.swift */,
|
||||
3439AB6B1C6FD6650058AF04 /* FilePreview.swift */,
|
||||
3439AB671C6F203A0058AF04 /* FileParser.swift */,
|
||||
3439AB691C6FC6D90058AF04 /* QuickLook.framework */,
|
||||
3437406E1C6E888F0090FD6A /* Resources */,
|
||||
@@ -242,6 +245,7 @@
|
||||
files = (
|
||||
3439AB681C6F203A0058AF04 /* FileParser.swift in Sources */,
|
||||
3437405B1C6E7DA50090FD6A /* FileBrowser.swift in Sources */,
|
||||
3439AB6C1C6FD6650058AF04 /* FilePreview.swift in Sources */,
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
};
|
||||
|
||||
@@ -18,7 +18,7 @@ public class FileBrowser: UIViewController, UITableViewDataSource, UITableViewDe
|
||||
|
||||
let parser = FileParser()
|
||||
|
||||
let quickLookManager = QuickLookManager()
|
||||
let previewManager = PreviewManager()
|
||||
|
||||
let bundle = NSBundle(forClass: FileBrowser.self)
|
||||
|
||||
@@ -194,8 +194,8 @@ public class FileBrowser: UIViewController, UITableViewDataSource, UITableViewDe
|
||||
}
|
||||
else {
|
||||
let quickLook = QLPreviewController()
|
||||
quickLookManager.filePath = file.filePath
|
||||
quickLook.dataSource = quickLookManager
|
||||
previewManager.filePath = file.filePath
|
||||
quickLook.dataSource = previewManager
|
||||
self.navigationController?.pushViewController(quickLook, animated: true)
|
||||
}
|
||||
updateSelection()
|
||||
@@ -211,41 +211,6 @@ public class FileBrowser: UIViewController, UITableViewDataSource, UITableViewDe
|
||||
})
|
||||
tableView.reloadData()
|
||||
}
|
||||
|
||||
|
||||
//MARK: Search bar delegate
|
||||
}
|
||||
|
||||
class QuickLookManager: NSObject, QLPreviewControllerDataSource {
|
||||
|
||||
var filePath: NSURL?
|
||||
|
||||
func numberOfPreviewItemsInPreviewController(controller: QLPreviewController) -> Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
func previewController(controller: QLPreviewController, previewItemAtIndex index: Int) -> QLPreviewItem {
|
||||
let item = PreviewItem()
|
||||
if let filePath = filePath {
|
||||
item.filePath = filePath
|
||||
}
|
||||
return item
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class PreviewItem: NSObject, QLPreviewItem {
|
||||
|
||||
var filePath: NSURL?
|
||||
|
||||
internal var previewItemURL: NSURL {
|
||||
if let filePath = filePath {
|
||||
return filePath
|
||||
}
|
||||
return NSURL()
|
||||
}
|
||||
|
||||
internal var previewItemTitle: String?
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -12,6 +12,10 @@ public class FileParser {
|
||||
|
||||
let fileManager = NSFileManager.defaultManager()
|
||||
|
||||
func applicationURL() -> NSURL {
|
||||
return fileManager.URLsForDirectory(.LibraryDirectory, inDomains: .UserDomainMask)[0] as NSURL
|
||||
}
|
||||
|
||||
func documentsURL() -> NSURL {
|
||||
return fileManager.URLsForDirectory(.DocumentDirectory, inDomains: .UserDomainMask)[0] as NSURL
|
||||
}
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
//
|
||||
// FilePreview.swift
|
||||
// FileBrowser
|
||||
//
|
||||
// Created by Roy Marmelstein on 13/02/2016.
|
||||
// Copyright © 2016 Roy Marmelstein. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import QuickLook
|
||||
|
||||
class PreviewManager: NSObject, QLPreviewControllerDataSource {
|
||||
|
||||
var filePath: NSURL?
|
||||
|
||||
func numberOfPreviewItemsInPreviewController(controller: QLPreviewController) -> Int {
|
||||
return 1
|
||||
}
|
||||
|
||||
func previewController(controller: QLPreviewController, previewItemAtIndex index: Int) -> QLPreviewItem {
|
||||
let item = PreviewItem()
|
||||
if let filePath = filePath {
|
||||
item.filePath = filePath
|
||||
}
|
||||
return item
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class PreviewItem: NSObject, QLPreviewItem {
|
||||
|
||||
var filePath: NSURL?
|
||||
|
||||
internal var previewItemURL: NSURL {
|
||||
if let filePath = filePath {
|
||||
return filePath
|
||||
}
|
||||
return NSURL()
|
||||
}
|
||||
|
||||
internal var previewItemTitle: String?
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user