Browse Source

Improved code

marinofaggiana 4 years ago
parent
commit
5e2430465d

+ 0 - 1
Cartfile

@@ -1,7 +1,6 @@
 github "tilltue/TLPhotoPicker" "2.1.3"
 github "kishikawakatsumi/UICKeyChainStore"
 github "malcommac/SwiftRichString"
-github "yannickl/QRCodeReader.swift" "10.1.1"
 github "WenchaoD/FSCalendar" "2.8.0"
 github "huri000/SwiftEntryKit" "1.2.3"
 github "scenee/FloatingPanel" "v1.7.6"

+ 19 - 5
Nextcloud.xcodeproj/project.pbxproj

@@ -119,7 +119,6 @@
 		F7434B3420E23FD700417916 /* NCDatabase.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7BAADB41ED5A87C00B7EAD4 /* NCDatabase.swift */; };
 		F7434B3620E23FE000417916 /* NCManageDatabase.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7BAADB51ED5A87C00B7EAD4 /* NCManageDatabase.swift */; };
 		F7434B3820E2400600417916 /* NCBrand.swift in Sources */ = {isa = PBXBuildFile; fileRef = F76B3CCD1EAE01BD00921AC9 /* NCBrand.swift */; };
-		F745B251222D871800346520 /* QRCodeReader.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F745B250222D871800346520 /* QRCodeReader.framework */; };
 		F745B253222D88AE00346520 /* NCLoginQRCode.swift in Sources */ = {isa = PBXBuildFile; fileRef = F745B252222D88AE00346520 /* NCLoginQRCode.swift */; };
 		F747BA1F22354D2000971601 /* NCCreateFormUploadVoiceNote.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F747BA1E22354D2000971601 /* NCCreateFormUploadVoiceNote.storyboard */; };
 		F749C10B23C4A5340027D966 /* NCIntroCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F749C10723C4A5330027D966 /* NCIntroCollectionViewCell.swift */; };
@@ -301,6 +300,7 @@
 		F7DFB7F4219C5CA800680748 /* NCCreateFormUploadScanDocument.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7DFB7F3219C5CA800680748 /* NCCreateFormUploadScanDocument.swift */; };
 		F7E4D9C422ED929B003675FD /* NCShareComments.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7E4D9C322ED929B003675FD /* NCShareComments.swift */; };
 		F7ED546425EE852500956C55 /* FSCalendar.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F74AFCE822E8B024003DE61F /* FSCalendar.framework */; };
+		F7ED547C25EEA65400956C55 /* QRCodeReader in Frameworks */ = {isa = PBXBuildFile; productRef = F7ED547B25EEA65400956C55 /* QRCodeReader */; };
 		F7EFA47825ADBA500083159A /* NCViewerProviderContextMenu.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7EFA47725ADBA500083159A /* NCViewerProviderContextMenu.swift */; };
 		F7EFC0C6256BC77700461AAD /* NCMoreUserCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = F7EFC0C5256BC77700461AAD /* NCMoreUserCell.xib */; };
 		F7EFC0CD256BF8DD00461AAD /* NCUserStatus.swift in Sources */ = {isa = PBXBuildFile; fileRef = F7EFC0CC256BF8DD00461AAD /* NCUserStatus.swift */; };
@@ -750,9 +750,9 @@
 				F7ED546425EE852500956C55 /* FSCalendar.framework in Frameworks */,
 				F733B65221997CC2001C1FFA /* TLPhotoPicker.framework in Frameworks */,
 				F7176DC2256672650017E83C /* PromisesObjC.framework in Frameworks */,
+				F7ED547C25EEA65400956C55 /* QRCodeReader in Frameworks */,
 				F7AF7633246BEDFE00B86E3C /* TOPasscodeViewController.framework in Frameworks */,
 				F7176DCA256672650017E83C /* FirebaseCore.framework in Frameworks */,
-				F745B251222D871800346520 /* QRCodeReader.framework in Frameworks */,
 				F765608723BF806D00765969 /* QuickLayout.framework in Frameworks */,
 				F7176DC0256672650017E83C /* FirebaseInstallations.framework in Frameworks */,
 				F7176DC6256672650017E83C /* nanopb.framework in Frameworks */,
@@ -796,12 +796,12 @@
 			children = (
 				3781B9AF23DB2B7E006B4B1D /* AppDelegate+Menu.swift */,
 				F77A697C250A0FBC00FF1708 /* NCCollectionViewCommon+Menu.swift */,
-				F7CBC31B24F78E79004D3812 /* NCSortMenu.swift */,
-				F710D2012405826100A6033D /* NCViewer+Menu.swift */,
 				371B5A2D23D0B04500FAFAE9 /* NCMainMenuTableViewController.swift */,
 				3704EB2923D5A58400455C5B /* NCMenu.storyboard */,
 				37ECC83A23D0C7400082EFA2 /* NCMenuAction.swift */,
 				3757A35423D9D76300EC369E /* NCMenuPanelController.swift */,
+				F7CBC31B24F78E79004D3812 /* NCSortMenu.swift */,
+				F710D2012405826100A6033D /* NCViewer+Menu.swift */,
 			);
 			path = Menu;
 			sourceTree = "<group>";
@@ -1660,6 +1660,7 @@
 				F786D58C253454BF00E3DD7B /* NCCommunication */,
 				F7C4D88C2534887E00C142DA /* Parchment */,
 				F75E57BC25BF0EC1002B72C2 /* SVGKit */,
+				F7ED547B25EEA65400956C55 /* QRCodeReader */,
 			);
 			productName = "Crypto Cloud";
 			productReference = F7CE8AFA1DC1F8D8009CAE48 /* Nextcloud.app */;
@@ -1769,6 +1770,7 @@
 				F786D58B253454BF00E3DD7B /* XCRemoteSwiftPackageReference "ios-communication-library" */,
 				F7C4D88B2534887E00C142DA /* XCRemoteSwiftPackageReference "Parchment" */,
 				F75E57A725BF0D61002B72C2 /* XCRemoteSwiftPackageReference "SVGKit" */,
+				F7ED547A25EEA65400956C55 /* XCRemoteSwiftPackageReference "QRCodeReader" */,
 			);
 			productRefGroup = F7F67B9F1A24D27800EE80DA;
 			projectDirPath = "";
@@ -1898,7 +1900,6 @@
 				"$(SRCROOT)/Carthage/Build/iOS/KTVHTTPCache.framework",
 				"$(SRCROOT)/Carthage/Build/iOS/KTVCocoaHTTPServer.framework",
 				"$(SRCROOT)/Carthage/Build/iOS/SwiftRichString.framework",
-				"$(SRCROOT)/Carthage/Build/iOS/QRCodeReader.framework",
 				"$(SRCROOT)/Carthage/Build/iOS/FSCalendar.framework",
 				"$(SRCROOT)/Carthage/Build/iOS/DropDown.framework",
 				"$(SRCROOT)/Carthage/Build/iOS/OpenSSL.framework",
@@ -2814,6 +2815,14 @@
 				version = 2.4.0;
 			};
 		};
+		F7ED547A25EEA65400956C55 /* XCRemoteSwiftPackageReference "QRCodeReader" */ = {
+			isa = XCRemoteSwiftPackageReference;
+			repositoryURL = "https://github.com/yannickl/QRCodeReader.swift";
+			requirement = {
+				kind = upToNextMajorVersion;
+				minimumVersion = 10.1.1;
+			};
+		};
 /* End XCRemoteSwiftPackageReference section */
 
 /* Begin XCSwiftPackageProductDependency section */
@@ -2902,6 +2911,11 @@
 			package = F7C4D88B2534887E00C142DA /* XCRemoteSwiftPackageReference "Parchment" */;
 			productName = Parchment;
 		};
+		F7ED547B25EEA65400956C55 /* QRCodeReader */ = {
+			isa = XCSwiftPackageProductDependency;
+			package = F7ED547A25EEA65400956C55 /* XCRemoteSwiftPackageReference "QRCodeReader" */;
+			productName = QRCodeReader;
+		};
 /* End XCSwiftPackageProductDependency section */
 	};
 	rootObject = F7F67BA01A24D27800EE80DA /* Project object */;

+ 9 - 0
Nextcloud.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved

@@ -37,6 +37,15 @@
           "version": "2.4.0"
         }
       },
+      {
+        "package": "QRCodeReader",
+        "repositoryURL": "https://github.com/yannickl/QRCodeReader.swift",
+        "state": {
+          "branch": null,
+          "revision": "5020b5a47199d8ba80c83a4b4fafd70e9dc9dc7f",
+          "version": "10.1.1"
+        }
+      },
       {
         "package": "Realm",
         "repositoryURL": "https://github.com/realm/realm-cocoa",

+ 4 - 4
iOSClient/Main/Colleaction Common/NCCollectionViewCommon.swift

@@ -654,9 +654,9 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
     
     func tapMoreHeader(sender: Any) { }
     
-    func tapMoreListItem(with objectId: String, namedButtonMore: String, sender: Any) {
+    func tapMoreListItem(with objectId: String, namedButtonMore: String, image: UIImage?, sender: Any) {
         
-        tapMoreGridItem(with: objectId, namedButtonMore: namedButtonMore, sender: sender)
+        tapMoreGridItem(with: objectId, namedButtonMore: namedButtonMore, image: image, sender: sender)
     }
     
     func tapShareListItem(with objectId: String, sender: Any) {
@@ -667,14 +667,14 @@ class NCCollectionViewCommon: UIViewController, UIGestureRecognizerDelegate, UIS
         NCNetworkingNotificationCenter.shared.openShare(ViewController: self, metadata: metadata, indexPage: 2)
     }
         
-    func tapMoreGridItem(with objectId: String, namedButtonMore: String, sender: Any) {
+    func tapMoreGridItem(with objectId: String, namedButtonMore: String, image: UIImage?, sender: Any) {
         
         if isEditMode { return }
 
         guard let metadata = NCManageDatabase.shared.getMetadataFromOcId(objectId) else { return }
 
         if namedButtonMore == NCGlobal.shared.buttonMoreMore {
-            toggleMoreMenu(viewController: self, metadata: metadata)
+            toggleMoreMenu(viewController: self, metadata: metadata, image: image)
         } else if namedButtonMore == NCGlobal.shared.buttonMoreStop {
             NCNetworking.shared.cancelTransferMetadata(metadata) { }
         }

+ 2 - 2
iOSClient/Main/Colleaction Common/NCGridCell.swift

@@ -82,7 +82,7 @@ class NCGridCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCImageCell
     }
     
     @IBAction func touchUpInsideMore(_ sender: Any) {
-        delegate?.tapMoreGridItem(with: objectId, namedButtonMore: namedButtonMore, sender: sender)
+        delegate?.tapMoreGridItem(with: objectId, namedButtonMore: namedButtonMore, image: imageItem.image, sender: sender)
     }
     
     @objc func longPressInsideMore(gestureRecognizer: UILongPressGestureRecognizer) {
@@ -124,7 +124,7 @@ class NCGridCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCImageCell
 }
 
 protocol NCGridCellDelegate {
-    func tapMoreGridItem(with objectId: String, namedButtonMore: String, sender: Any)
+    func tapMoreGridItem(with objectId: String, namedButtonMore: String, image: UIImage?, sender: Any)
     func longPressMoreGridItem(with objectId: String, namedButtonMore: String, gestureRecognizer: UILongPressGestureRecognizer)
     func longPressGridItem(with objectId: String, gestureRecognizer: UILongPressGestureRecognizer)
 }

+ 2 - 2
iOSClient/Main/Colleaction Common/NCListCell.swift

@@ -92,7 +92,7 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCImageCell
     }
     
     @IBAction func touchUpInsideMore(_ sender: Any) {
-        delegate?.tapMoreListItem(with: objectId, namedButtonMore: namedButtonMore, sender: sender)
+        delegate?.tapMoreListItem(with: objectId, namedButtonMore: namedButtonMore, image: imageItem.image, sender: sender)
     }
     
     @objc func longPressInsideMore(gestureRecognizer: UILongPressGestureRecognizer) {
@@ -151,7 +151,7 @@ class NCListCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCImageCell
 
 protocol NCListCellDelegate {
     func tapShareListItem(with objectId: String, sender: Any)
-    func tapMoreListItem(with objectId: String, namedButtonMore: String, sender: Any)
+    func tapMoreListItem(with objectId: String, namedButtonMore: String, image: UIImage?, sender: Any)
     func longPressMoreListItem(with objectId: String, namedButtonMore: String, gestureRecognizer: UILongPressGestureRecognizer)
     func longPressListItem(with objectId: String, gestureRecognizer: UILongPressGestureRecognizer)
 }

+ 18 - 12
iOSClient/Main/Menu/NCCollectionViewCommon+Menu.swift

@@ -28,12 +28,12 @@ import NCCommunication
 
 extension NCCollectionViewCommon {
 
-    func toggleMoreMenu(viewController: UIViewController, metadata: tableMetadata) {
+    func toggleMoreMenu(viewController: UIViewController, metadata: tableMetadata, image: UIImage?) {
         
         if let metadata = NCManageDatabase.shared.getMetadataFromOcId(metadata.ocId) {
             
             let mainMenuViewController = UIStoryboard.init(name: "NCMenu", bundle: nil).instantiateViewController(withIdentifier: "NCMainMenuTableViewController") as! NCMainMenuTableViewController
-            mainMenuViewController.actions = self.initMenuMore(viewController: viewController, metadata: metadata)
+            mainMenuViewController.actions = self.initMenuMore(viewController: viewController, metadata: metadata, image: image)
 
             let menuPanelController = NCMenuPanelController()
             menuPanelController.parentPresenter = viewController
@@ -45,7 +45,7 @@ extension NCCollectionViewCommon {
         }
     }
     
-    private func initMenuMore(viewController: UIViewController, metadata: tableMetadata) -> [NCMenuAction] {
+    private func initMenuMore(viewController: UIViewController, metadata: tableMetadata, image: UIImage?) -> [NCMenuAction] {
         
         var actions = [NCMenuAction]()
         let appDelegate = UIApplication.shared.delegate as! AppDelegate
@@ -82,20 +82,25 @@ extension NCCollectionViewCommon {
         }
             
         var iconHeader: UIImage!
-        if let icon = UIImage(contentsOfFile: CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag)) {
-            iconHeader = icon
+        
+        if image != nil {
+            iconHeader = image!
         } else {
-            if metadata.directory {
-                if metadata.e2eEncrypted {
-                    iconHeader = NCCollectionCommon.images.cellFolderEncryptedImage
+            if let icon = UIImage(contentsOfFile: CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag)) {
+                iconHeader = icon
+            } else {
+                if metadata.directory {
+                    if metadata.e2eEncrypted {
+                        iconHeader = NCCollectionCommon.images.cellFolderEncryptedImage
+                    } else {
+                        iconHeader = NCCollectionCommon.images.cellFolderImage
+                    }
                 } else {
-                    iconHeader = NCCollectionCommon.images.cellFolderImage
+                    iconHeader = UIImage(named: metadata.iconName)
                 }
-            } else {
-                iconHeader = UIImage(named: metadata.iconName)
             }
         }
-
+        
         actions.append(
             NCMenuAction(
                 title: metadata.fileNameView,
@@ -227,6 +232,7 @@ extension NCCollectionViewCommon {
                         if let vcRename = UIStoryboard(name: "NCRenameFile", bundle: nil).instantiateInitialViewController() as? NCRenameFile {
                             
                             vcRename.metadata = metadata
+                            vcRename.imagePreview = image
 
                             let popup = NCPopupViewController(contentController: vcRename, popupWidth: 300, popupHeight: 360)
                                                         

+ 18 - 11
iOSClient/Rename file/NCRenameFile.swift

@@ -37,6 +37,7 @@ class NCRenameFile: UIViewController, UITextFieldDelegate {
     @IBOutlet weak var renameButton: UIButton!
 
     var metadata: tableMetadata?
+    var imagePreview: UIImage?
     var disableChangeExt: Bool = false
     
     // MARK: - Life Cycle
@@ -63,10 +64,16 @@ class NCRenameFile: UIViewController, UITextFieldDelegate {
                 ext.isEnabled = false
                 ext.textColor = .lightGray
             }
+            
+            previewFile.image = imagePreview
+            previewFile.layer.cornerRadius = 10
+            previewFile.layer.masksToBounds = true
 
             if metadata.directory {
                 
-                previewFile.image = NCCollectionCommon.images.cellFolderImage
+                if imagePreview == nil {
+                    previewFile.image = NCCollectionCommon.images.cellFolderImage
+                }
                 
                 ext.isHidden = true
                 point.isHidden = true
@@ -74,22 +81,22 @@ class NCRenameFile: UIViewController, UITextFieldDelegate {
                 
             } else {
                 
-                if FileManager().fileExists(atPath: CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag)) {
-                    previewFile.image =  UIImage(contentsOfFile: CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag))
-                } else {
-                    if metadata.iconName.count > 0 {
-                        previewFile.image = UIImage.init(named: metadata.iconName)
+                if imagePreview == nil {
+                    if FileManager().fileExists(atPath: CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag)) {
+                        previewFile.image =  UIImage(contentsOfFile: CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag))
                     } else {
-                        previewFile.image = NCCollectionCommon.images.cellFileImage
+                        if metadata.iconName.count > 0 {
+                            previewFile.image = UIImage.init(named: metadata.iconName)
+                        } else {
+                            previewFile.image = NCCollectionCommon.images.cellFileImage
+                        }
                     }
                 }
-                                
+                
                 fileNameWithoutExtTrailingContraint.constant = 90
             }
         }
-        previewFile.layer.cornerRadius = 10
-        previewFile.layer.masksToBounds = true
-                
+        
         cancelButton.setTitle(NSLocalizedString("_cancel_", comment: ""), for: .normal)
         cancelButton.setTitleColor(.gray, for: .normal)
         cancelButton.layer.cornerRadius = 15

+ 2 - 2
iOSClient/Select/NCSelect.swift

@@ -324,10 +324,10 @@ class NCSelect: UIViewController, UIGestureRecognizerDelegate, UIAdaptivePresent
     func tapMoreHeader(sender: Any) {
     }
     
-    func tapMoreListItem(with objectId: String, namedButtonMore: String, sender: Any) {
+    func tapMoreListItem(with objectId: String, namedButtonMore: String, image: UIImage?, sender: Any) {
     }
     
-    func tapMoreGridItem(with objectId: String, namedButtonMore: String, sender: Any) {
+    func tapMoreGridItem(with objectId: String, namedButtonMore: String, image: UIImage?, sender: Any) {
     }
     
     func tapShareListItem(with objectId: String, sender: Any) {

+ 2 - 2
iOSClient/Transfers/NCTransferCell.swift

@@ -84,7 +84,7 @@ class NCTransferCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCImage
     }
     
     @IBAction func touchUpInsideMore(_ sender: Any) {
-        delegate?.tapMoreListItem(with: objectId, namedButtonMore: namedButtonMore, sender: sender)
+        delegate?.tapMoreListItem(with: objectId, namedButtonMore: namedButtonMore, image: imageItem.image, sender: sender)
     }
     
     @objc func longPressInsideMore(gestureRecognizer: UILongPressGestureRecognizer) {
@@ -103,7 +103,7 @@ class NCTransferCell: UICollectionViewCell, UIGestureRecognizerDelegate, NCImage
 
 protocol NCTransferCellDelegate {
     func tapShareListItem(with objectId: String, sender: Any)
-    func tapMoreListItem(with objectId: String, namedButtonMore: String, sender: Any)
+    func tapMoreListItem(with objectId: String, namedButtonMore: String, image: UIImage?, sender: Any)
     func longPressMoreListItem(with objectId: String, namedButtonMore: String, gestureRecognizer: UILongPressGestureRecognizer)
     func longPressListItem(with objectId: String, gestureRecognizer: UILongPressGestureRecognizer)
 }

+ 4 - 4
iOSClient/Trash/Cell/NCTrashListCell.swift

@@ -59,11 +59,11 @@ class NCTrashListCell: UICollectionViewCell {
     }
     
     @IBAction func touchUpInsideMore(_ sender: Any) {
-        delegate?.tapMoreListItem(with: objectId, sender: sender)
+        delegate?.tapMoreListItem(with: objectId, image: imageItem.image, sender: sender)
     }
     
     @IBAction func touchUpInsideRestore(_ sender: Any) {
-        delegate?.tapRestoreListItem(with: objectId, sender: sender)
+        delegate?.tapRestoreListItem(with: objectId, image: imageItem.image, sender: sender)
     }
     
     func selectMode(_ status: Bool) {
@@ -96,6 +96,6 @@ class NCTrashListCell: UICollectionViewCell {
 }
 
 protocol NCTrashListCellDelegate {
-    func tapRestoreListItem(with objectId: String, sender: Any)
-    func tapMoreListItem(with objectId: String, sender: Any)
+    func tapRestoreListItem(with objectId: String, image: UIImage?, sender: Any)
+    func tapMoreListItem(with objectId: String, image: UIImage?, sender: Any)
 }

+ 3 - 3
iOSClient/Trash/NCTrash.swift

@@ -231,7 +231,7 @@ class NCTrash: UIViewController, UIGestureRecognizerDelegate, NCTrashListCellDel
         self.present(menuPanelController, animated: true, completion: nil)
     }
     
-    func tapRestoreListItem(with ocId: String, sender: Any) {
+    func tapRestoreListItem(with ocId: String, image: UIImage?, sender: Any) {
         
         if !isEditMode {
             restoreItem(with: ocId)
@@ -242,7 +242,7 @@ class NCTrash: UIViewController, UIGestureRecognizerDelegate, NCTrashListCellDel
         }
     }
     
-    func tapMoreListItem(with objectId: String, sender: Any) {
+    func tapMoreListItem(with objectId: String, image: UIImage?, sender: Any) {
         if !isEditMode {
             let mainMenuViewController = UIStoryboard.init(name: "NCMenu", bundle: nil).instantiateViewController(withIdentifier: "NCMainMenuTableViewController") as! NCMainMenuTableViewController
 
@@ -297,7 +297,7 @@ class NCTrash: UIViewController, UIGestureRecognizerDelegate, NCTrashListCellDel
         }
     }
     
-    func tapMoreGridItem(with objectId: String, namedButtonMore: String, sender: Any) {
+    func tapMoreGridItem(with objectId: String, namedButtonMore: String, image: UIImage?, sender: Any) {
         if !isEditMode {
             let mainMenuViewController = UIStoryboard.init(name: "NCMenu", bundle: nil).instantiateViewController(withIdentifier: "NCMainMenuTableViewController") as! NCMainMenuTableViewController