Skip to content

Commit 0863ba3

Browse files
author
Denis Stanishevskiy
committed
Support for opening a bunch of files
1 parent e9d585a commit 0863ba3

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

QuickLookPreview/AppDelegate.swift

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,32 @@ class AppDelegate: NSObject, NSApplicationDelegate {
1515
}
1616

1717
func application(_ sender: NSApplication, openFile filename: String) -> Bool {
18-
showPreview(uri: NSURL(fileURLWithPath: filename))
18+
showPreview(uris: [NSURL(fileURLWithPath: filename)])
1919
return true
2020
}
2121

22-
private var previewUri: NSURL?
22+
func application(_ sender: NSApplication, openFiles filenames: [String]) {
23+
showPreview(uris: filenames.map { NSURL(fileURLWithPath: $0) })
24+
}
25+
26+
private var previewUris = [NSURL]()
2327
}
2428

2529
extension AppDelegate {
26-
func showPreview(uri: NSURL) {
30+
func showPreview(uris: [NSURL]) {
2731
guard let panel = QLPreviewPanel.shared() else { return }
28-
self.previewUri = uri
32+
self.previewUris = uris
2933
panel.makeKeyAndOrderFront(self)
3034
}
3135
}
3236

3337
extension AppDelegate: QLPreviewPanelDataSource {
3438
func numberOfPreviewItems(in panel: QLPreviewPanel!) -> Int {
35-
return 1
39+
return previewUris.count
3640
}
3741

3842
func previewPanel(_ panel: QLPreviewPanel!, previewItemAt index: Int) -> QLPreviewItem! {
39-
return previewUri
43+
return previewUris[index]
4044
}
4145

4246
override func acceptsPreviewPanelControl(_ panel: QLPreviewPanel!) -> Bool {
@@ -51,6 +55,7 @@ extension AppDelegate: QLPreviewPanelDataSource {
5155
override func endPreviewPanelControl(_ panel: QLPreviewPanel!) {
5256
panel.delegate = nil
5357
panel.dataSource = nil
58+
previewUris = []
5459

5560
NSApplication.shared.terminate(nil)
5661
}

0 commit comments

Comments
 (0)