Sfoglia il codice sorgente

previewcontroller now takes single url or array of msgids

nayooti 4 anni fa
parent
commit
dd4d11dfd8
1 ha cambiato i file con 21 aggiunte e 6 eliminazioni
  1. 21 6
      deltachat-ios/Controller/PreviewController.swift

+ 21 - 6
deltachat-ios/Controller/PreviewController.swift

@@ -1,9 +1,11 @@
 import QuickLook
 import QuickLook
 import UIKit
 import UIKit
+import DcCore
 
 
 class PreviewController: QLPreviewController {
 class PreviewController: QLPreviewController {
 
 
-    var urls: [URL]
+    var msgIds: [Int] = []
+    var url: URL?
 
 
     var customTitle: String?
     var customTitle: String?
 
 
@@ -12,8 +14,13 @@ class PreviewController: QLPreviewController {
         return button
         return button
     }()
     }()
 
 
-    init(currentIndex: Int, urls: [URL]) {
-        self.urls = urls
+    convenience init(url: URL) {
+        self.init(currentIndex: 0, msgIds: [])
+        self.url = url
+    }
+
+    init(currentIndex: Int, msgIds: [Int]) {
+        self.msgIds = msgIds
         super.init(nibName: nil, bundle: nil)
         super.init(nibName: nil, bundle: nil)
         dataSource = self
         dataSource = self
         currentPreviewItemIndex = currentIndex
         currentPreviewItemIndex = currentIndex
@@ -41,11 +48,19 @@ class PreviewController: QLPreviewController {
 extension PreviewController: QLPreviewControllerDataSource {
 extension PreviewController: QLPreviewControllerDataSource {
 
 
     func numberOfPreviewItems(in _: QLPreviewController) -> Int {
     func numberOfPreviewItems(in _: QLPreviewController) -> Int {
-        return urls.count
+        if url != nil {
+            return 1
+        }
+        return msgIds.count
     }
     }
 
 
     func previewController(_: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
     func previewController(_: QLPreviewController, previewItemAt index: Int) -> QLPreviewItem {
-        return PreviewItem(url: urls[index], title: self.customTitle)
+        if let url = self.url {
+            return PreviewItem(url: url, title: self.customTitle)
+        } else {
+            let msg = DcMsg(id: msgIds[index])
+            return PreviewItem(url: url ?? msg.fileURL, title: self.customTitle)
+        }
     }
     }
 }
 }
 
 
@@ -54,7 +69,7 @@ class PreviewItem: NSObject, QLPreviewItem {
     var previewItemURL: URL?
     var previewItemURL: URL?
     var previewItemTitle: String?
     var previewItemTitle: String?
 
 
-    init(url: URL, title: String?) {
+    init(url: URL?, title: String?) {
         self.previewItemURL = url
         self.previewItemURL = url
         self.previewItemTitle = title ?? ""
         self.previewItemTitle = title ?? ""
     }
     }