Skip to content

Commit

Permalink
Support for opening a bunch of files
Browse files Browse the repository at this point in the history
  • Loading branch information
Denis Stanishevskiy committed Sep 9, 2023
1 parent e9d585a commit 0863ba3
Showing 1 changed file with 11 additions and 6 deletions.
17 changes: 11 additions & 6 deletions QuickLookPreview/AppDelegate.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,28 +15,32 @@ class AppDelegate: NSObject, NSApplicationDelegate {
}

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

private var previewUri: NSURL?
func application(_ sender: NSApplication, openFiles filenames: [String]) {
showPreview(uris: filenames.map { NSURL(fileURLWithPath: $0) })
}

private var previewUris = [NSURL]()
}

extension AppDelegate {
func showPreview(uri: NSURL) {
func showPreview(uris: [NSURL]) {
guard let panel = QLPreviewPanel.shared() else { return }
self.previewUri = uri
self.previewUris = uris
panel.makeKeyAndOrderFront(self)
}
}

extension AppDelegate: QLPreviewPanelDataSource {
func numberOfPreviewItems(in panel: QLPreviewPanel!) -> Int {
return 1
return previewUris.count
}

func previewPanel(_ panel: QLPreviewPanel!, previewItemAt index: Int) -> QLPreviewItem! {
return previewUri
return previewUris[index]
}

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

NSApplication.shared.terminate(nil)
}
Expand Down

0 comments on commit 0863ba3

Please sign in to comment.