فهرست منبع

prepare to clean failt attempts - backup

nayooti 5 سال پیش
والد
کامیت
5752fd0316

+ 2 - 2
Pods/InputBarAccessoryView/Sources/InputBarAccessoryView.swift

@@ -655,7 +655,7 @@ open class InputBarAccessoryView: UIView {
     }
     
     /// Activates the NSLayoutConstraintSet's
-    private func activateConstraints() {
+	public func activateConstraints() {
         backgroundViewLayoutSet?.activate()
         contentViewLayoutSet?.activate()
         middleContentViewLayoutSet?.activate()
@@ -666,7 +666,7 @@ open class InputBarAccessoryView: UIView {
     }
     
     /// Deactivates the NSLayoutConstraintSet's
-    private func deactivateConstraints() {
+	public func deactivateConstraints() {
         backgroundViewLayoutSet?.deactivate()
         contentViewLayoutSet?.deactivate()
         middleContentViewLayoutSet?.deactivate()

+ 16 - 1
deltachat-ios/Controller/ChatViewController.swift

@@ -42,6 +42,17 @@ class ChatViewController: MessagesViewController {
     var dcContext: DcContext
     weak var coordinator: ChatViewCoordinator?
 
+    var previewContorller: BetterPreviewController? {
+        didSet {
+            previewContorller?.onDismiss = {
+                [unowned self] in
+                DispatchQueue.main.asyncAfter(deadline: .now() + 0.3) {
+
+                }
+            }
+        }
+    }
+
     let outgoingAvatarOverlap: CGFloat = 17.5
     let loadCount = 30
 
@@ -1153,7 +1164,11 @@ extension ChatViewController: MessageCellDelegate {
 
                 // these are the files user will be able to swipe trough
                 let mediaUrls: [URL] = previousUrls + [url] + nextUrls
-                coordinator?.showMediaGallery(currentIndex: previousUrls.count, mediaUrls: mediaUrls)
+
+
+                previewContorller = BetterPreviewController(currentIndex: previousUrls.count, urls: mediaUrls)
+               // present(previewContorller!, animated: true, completion: nil)
+             coordinator?.showMediaGallery(currentIndex: previousUrls.count, mediaUrls: mediaUrls)
             }
         }
     }

+ 22 - 1
deltachat-ios/Controller/PreviewController.swift

@@ -2,6 +2,9 @@ import QuickLook
 import UIKit
 
 class PreviewController: QLPreviewControllerDataSource {
+
+    var onDismiss: VoidFunction?
+
     var urls: [URL]
     var qlController: QLPreviewController
 
@@ -21,8 +24,9 @@ class PreviewController: QLPreviewControllerDataSource {
     }
 }
 
-class BetterPreviewController: QLPreviewController {
 
+class BetterPreviewController: QLPreviewController {
+    var onDismiss: VoidFunction?
     var urls: [URL]
 
     private lazy var doneButtonItem: UIBarButtonItem = {
@@ -34,6 +38,7 @@ class BetterPreviewController: QLPreviewController {
         self.urls = urls
         super.init(nibName: nil, bundle: nil)
         dataSource = self
+        delegate = self
         currentPreviewItemIndex = currentIndex
     }
 
@@ -44,6 +49,7 @@ class BetterPreviewController: QLPreviewController {
     override func viewDidLoad() {
         super.viewDidLoad()
         navigationItem.leftBarButtonItem = doneButtonItem
+        navigationController?.presentationController?.delegate = self
     }
 
     // MARK: - actions
@@ -52,6 +58,14 @@ class BetterPreviewController: QLPreviewController {
     }
 }
 
+extension BetterPreviewController: QLPreviewControllerDelegate {
+    func previewControllerDidDismiss(_ controller: QLPreviewController) {
+        print("Preview dismissed")
+        onDismiss?()
+    }
+}
+
+
 extension BetterPreviewController: QLPreviewControllerDataSource {
 
     func numberOfPreviewItems(in _: QLPreviewController) -> Int {
@@ -62,3 +76,10 @@ extension BetterPreviewController: QLPreviewControllerDataSource {
         return urls[index] as QLPreviewItem
     }
 }
+
+extension BetterPreviewController: UIAdaptivePresentationControllerDelegate {
+
+    func presentationControllerWillDismiss(_ presentationController: UIPresentationController) {
+
+    }
+}

+ 1 - 0
deltachat-ios/Coordinator/AppCoordinator.swift

@@ -527,6 +527,7 @@ class ChatViewCoordinator: NSObject, Coordinator {
     func showMediaGallery(currentIndex: Int, mediaUrls urls: [URL]) {
         let betterPreviewController = BetterPreviewController(currentIndex: currentIndex, urls: urls)
         let nav = UINavigationController(rootViewController: betterPreviewController)
+        let previewController = PreviewController.init(currentIndex: currentIndex, urls: urls)
 
         navigationController.present(nav, animated: true)
     }