Browse Source

added Favorite video

marinofaggiana 4 years ago
parent
commit
91883f4178

+ 15 - 0
iOSClient/Images.xcassets/videoFavoriteOff.imageset/Contents.json

@@ -0,0 +1,15 @@
+{
+  "images" : [
+    {
+      "filename" : "videoFavoriteOff.pdf",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  },
+  "properties" : {
+    "preserves-vector-representation" : true
+  }
+}

BIN
iOSClient/Images.xcassets/videoFavoriteOff.imageset/videoFavoriteOff.pdf


+ 15 - 0
iOSClient/Images.xcassets/videoFavoriteOn.imageset/Contents.json

@@ -0,0 +1,15 @@
+{
+  "images" : [
+    {
+      "filename" : "videoFavoriteOn.pdf",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  },
+  "properties" : {
+    "preserves-vector-representation" : true
+  }
+}

BIN
iOSClient/Images.xcassets/videoFavoriteOn.imageset/videoFavoriteOn.pdf


+ 4 - 1
iOSClient/Networking/NCNetworking.swift

@@ -1005,6 +1005,7 @@ import Queuer
         
         let fileName = CCUtility.returnFileNamePath(fromFileName: metadata.fileName, serverUrl: metadata.serverUrl, urlBase: urlBase, account: metadata.account)!
         let favorite = !metadata.favorite
+        let ocId = metadata.ocId
         
         NCCommunication.shared.setFavorite(fileName: fileName, favorite: favorite) { (account, errorCode, errorDescription) in
     
@@ -1022,7 +1023,9 @@ import Queuer
                 }
                 #endif
                 
-                NotificationCenter.default.postOnMainThread(name: k_notificationCenter_favoriteFile, userInfo: ["metadata": metadata])
+                if let metadata = NCManageDatabase.sharedInstance.getMetadataFromOcId(ocId) {
+                    NotificationCenter.default.postOnMainThread(name: k_notificationCenter_favoriteFile, userInfo: ["metadata": metadata])
+                }
             }
             
             completion(errorCode, errorDescription)

+ 2 - 0
iOSClient/Viewer/NCViewerImage/NCViewerImage.storyboard

@@ -38,6 +38,7 @@
                                 <items>
                                     <barButtonItem systemItem="play" id="hHF-Q3-tyB"/>
                                     <barButtonItem style="plain" systemItem="flexibleSpace" id="tYH-bL-I0G"/>
+                                    <barButtonItem image="videoFavoriteOn" id="tuw-Qa-JgR"/>
                                     <barButtonItem image="audioOn" id="6mg-K7-nwa"/>
                                 </items>
                             </toolbar>
@@ -197,6 +198,7 @@
     <resources>
         <image name="audioOn" width="28" height="28"/>
         <image name="downloadImageFullRes" width="283" height="283"/>
+        <image name="videoFavoriteOn" width="28" height="28"/>
         <systemColor name="systemBackgroundColor">
             <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
         </systemColor>

+ 31 - 2
iOSClient/Viewer/NCViewerImage/NCViewerImage.swift

@@ -98,6 +98,7 @@ class NCViewerImage: UIViewController {
         NotificationCenter.default.addObserver(self, selector: #selector(deleteFile(_:)), name: NSNotification.Name(rawValue: k_notificationCenter_deleteFile), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(renameFile(_:)), name: NSNotification.Name(rawValue: k_notificationCenter_renameFile), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(moveFile(_:)), name: NSNotification.Name(rawValue: k_notificationCenter_moveFile), object: nil)
+        NotificationCenter.default.addObserver(self, selector: #selector(favoriteFile(_:)), name: NSNotification.Name(rawValue: k_notificationCenter_favoriteFile), object: nil)
         NotificationCenter.default.addObserver(self, selector: #selector(saveLivePhoto(_:)), name: NSNotification.Name(rawValue: k_notificationCenter_menuSaveLivePhoto), object: nil)
         
         NotificationCenter.default.addObserver(self, selector: #selector(viewUnload), name: NSNotification.Name(rawValue: k_notificationCenter_menuDetailClose), object: nil)
@@ -202,6 +203,7 @@ class NCViewerImage: UIViewController {
                     if index == currentIndex {
                         navigationItem.title = metadata.fileNameView
                         currentViewerImageZoom?.metadata = metadata
+                        self.currentMetadata = metadata
                     }
                 }
             }
@@ -220,6 +222,23 @@ class NCViewerImage: UIViewController {
         }
     }
     
+    @objc func favoriteFile(_ notification: NSNotification) {
+        if self.view?.window == nil { return }
+        
+        if let userInfo = notification.userInfo as NSDictionary? {
+            if let metadata = userInfo["metadata"] as? tableMetadata {
+                if let index = metadatas.firstIndex(where: {$0.ocId == metadata.ocId}) {
+                    metadatas[index] = metadata
+                    if index == currentIndex {
+                        currentViewerImageZoom?.metadata = metadata
+                        self.currentMetadata = metadata
+                        self.setToolBar()
+                    }
+                }
+            }
+        }
+    }
+    
     @objc func saveLivePhoto(_ notification: NSNotification) {
         if self.view?.window == nil { return }
         
@@ -474,19 +493,26 @@ class NCViewerImage: UIViewController {
         
         var itemPlay = toolBar.items![0]
         let itemFlexibleSpace = toolBar.items![1]
-        var itemMute = toolBar.items![2]
+        var itemFavorite = toolBar.items![2]
+        var itemMute = toolBar.items![3]
         
         if player?.rate == 1 {
             itemPlay = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.pause, target: self, action: #selector(playerPause))
         } else {
             itemPlay = UIBarButtonItem(barButtonSystemItem: UIBarButtonItem.SystemItem.play, target: self, action: #selector(playerPlay))
         }
+        if currentMetadata.favorite {
+            itemFavorite = UIBarButtonItem(image: UIImage(named: "videoFavoriteOn"), style: UIBarButtonItem.Style.plain, target: self, action: #selector(SetFavorite))
+        } else {
+            itemFavorite = UIBarButtonItem(image: UIImage(named: "videoFavoriteOff"), style: UIBarButtonItem.Style.plain, target: self, action: #selector(SetFavorite))
+        }
         if mute {
             itemMute = UIBarButtonItem(image: UIImage(named: "audioOff"), style: UIBarButtonItem.Style.plain, target: self, action: #selector(SetMute))
         } else {
             itemMute = UIBarButtonItem(image: UIImage(named: "audioOn"), style: UIBarButtonItem.Style.plain, target: self, action: #selector(SetMute))
         }
-        toolBar.setItems([itemPlay, itemFlexibleSpace, itemMute], animated: true)
+        
+        toolBar.setItems([itemPlay, itemFlexibleSpace, itemFavorite, itemMute], animated: true)
         toolBar.tintColor = NCBrandColor.sharedInstance.brandElement
     }
 
@@ -498,6 +524,9 @@ class NCViewerImage: UIViewController {
         player?.isMuted = !mute
         setToolBar()
     }
+    @objc func SetFavorite() {
+        NCNetworking.shared.favoriteMetadata(currentMetadata, urlBase: self.appDelegate.urlBase) { (errorCode, errorDescription) in }
+    }
 }