Browse Source

add parameter

Marino Faggiana 8 years ago
parent
commit
2e615c80fe

+ 9 - 0
Nextcloud.xcodeproj/project.pbxproj

@@ -4440,6 +4440,11 @@
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				DEBUG_INFORMATION_FORMAT = dwarf;
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"EXTENSION=1",
+					"NC=1",
+				);
 				INFOPLIST_FILE = PickerFileProvider/Info.plist;
 				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";
@@ -4465,6 +4470,10 @@
 				"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
 				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
 				DEVELOPMENT_TEAM = 6JLRKY9ZV7;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"NC=1",
+					"EXTENSION=1",
+				);
 				INFOPLIST_FILE = PickerFileProvider/Info.plist;
 				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
 				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @executable_path/../../Frameworks";

+ 22 - 10
Picker/DocumentPickerViewController.swift

@@ -36,7 +36,9 @@ class DocumentPickerViewController: UIDocumentPickerExtensionViewController, CCN
         return fileCoordinator
         
     }()
-    var mode : UIDocumentPickerMode?
+    
+    var parameterMode : UIDocumentPickerMode?
+    var parameterOriginalURL: URL?
 
     var metadata : CCMetadata?
     var recordsTableMetadata : [TableMetadata]?
@@ -123,10 +125,8 @@ class DocumentPickerViewController: UIDocumentPickerExtensionViewController, CCN
         self.tableView.separatorColor = UIColor(colorLiteralRed: 153.0/255.0, green: 153.0/255.0, blue: 153.0/255.0, alpha: 0.2)
         
         // (save) mode of presentation -> pass variable for pushViewController
-        if mode == nil {
-            mode = documentPickerMode
-        } else {
-            prepareForPresentation(in: mode!)
+        if parameterMode != nil {
+            prepareForPresentation(in: parameterMode!)
         }
         
         readFolder()
@@ -136,6 +136,14 @@ class DocumentPickerViewController: UIDocumentPickerExtensionViewController, CCN
     
     override func prepareForPresentation(in mode: UIDocumentPickerMode) {
         
+        if parameterMode == nil {
+            parameterMode = mode
+        }
+        
+        if parameterOriginalURL == nil && originalURL != nil {
+            parameterOriginalURL = originalURL
+        }
+        
         switch mode {
             
         case .exportToService:
@@ -204,7 +212,7 @@ class DocumentPickerViewController: UIDocumentPickerExtensionViewController, CCN
             }
             
             // Only Directory ?
-            if (mode == .moveToService || mode == .exportToService) && metadata.directory == false {
+            if (parameterMode == .moveToService || parameterMode == .exportToService) && metadata.directory == false {
                 
                 continue
             }
@@ -348,7 +356,7 @@ class DocumentPickerViewController: UIDocumentPickerExtensionViewController, CCN
         
         hud.hideHud()
         
-        dismissGrantingAccess(to: originalURL)
+        dismissGrantingAccess(to: parameterOriginalURL)
     }
     
     //  MARK: - Download Thumbnail
@@ -398,11 +406,11 @@ extension DocumentPickerViewController {
     
     @IBAction func saveButtonTapped(_ sender: AnyObject) {
         
-        guard let sourceURL = originalURL else {
+        guard let sourceURL = parameterOriginalURL else {
             return
         }
         
-        switch mode! {
+        switch parameterMode! {
             
         case .moveToService, .exportToService:
             
@@ -444,6 +452,9 @@ extension DocumentPickerViewController {
                     let ocNetworking : OCnetworking = OCnetworking.init(delegate: self!, metadataNet: metadataNet, withUser: self!.activeUser, withPassword: self!.activePassword, withUrl: self!.activeUrl, withTypeCloud: self!.typeCloud, activityIndicator: false)
                     self!.networkingOperationQueue.addOperation(ocNetworking)
                     
+                    self!.hud.visibleHudTitle(NSLocalizedString("_uploading_", comment: ""), mode: MBProgressHUDMode.determinateHorizontalBar, color: self!.navigationController?.view.tintColor)
+                    self!.hud.addButtonCancel(withTarget: self, selector: "cancelTransfer")
+                    
                 } catch _ {
                     
                     print("error copying file")
@@ -561,7 +572,8 @@ extension DocumentPickerViewController: UITableViewDataSource {
                 dir = CCUtility.trasformedFileNamePlist(inCrypto: recordTableMetadata!.fileName)
             }
         
-            nextViewController.mode = self.mode
+            nextViewController.parameterMode = parameterMode
+            nextViewController.parameterOriginalURL = parameterOriginalURL
             nextViewController.localServerUrl = CCUtility.stringAppendServerUrl(localServerUrl!, addServerUrl: dir)
             nextViewController.titleFolder = recordTableMetadata?.fileNamePrint
         

+ 5 - 2
iOSClient/Networking/CCNetworking.m

@@ -1065,9 +1065,10 @@
                     CCMetadata *metadataDelete = [CCCoreData getMetadataWithPreficate:[NSPredicate predicateWithFormat:@"(account == %@) AND (fileName == %@) AND (directoryID == %@)", _activeAccount, [fileNameCrypto stringByAppendingString:@".plist"], directoryID] context:nil];
                     [CCCoreData deleteFile:metadataDelete serverUrl:serverUrl directoryUser:_directoryUser typeCloud:_typeCloud activeAccount:_activeAccount];
                     
-                    
+#ifndef EXTENSION
                     [CCGraphics createNewImageFrom:fileName directoryUser:_directoryUser fileNameTo:uploadID fileNamePrint:fileName size:@"m" imageForUpload:YES typeFile:metadata.typeFile writePreview:YES optimizedFileName:NO];
-                    
+#endif
+
                     if ([metadata.typeFile isEqualToString:metadataTypeFile_image] || [metadata.typeFile isEqualToString:metadataTypeFile_video])
                         [crypto addPlistImage:[NSString stringWithFormat:@"%@/%@", _directoryUser, [fileNameCrypto stringByAppendingString:@".plist"]] fileNamePathImage:[NSTemporaryDirectory() stringByAppendingString:uploadID]];
                     
@@ -1093,7 +1094,9 @@
                 
             } else {
                 
+#ifndef EXTENSION
                 [CCGraphics createNewImageFrom:fileName directoryUser:_directoryUser fileNameTo:uploadID fileNamePrint:fileName size:@"m" imageForUpload:YES typeFile:metadata.typeFile writePreview:YES optimizedFileName:NO];
+#endif
                 
                 if ([metadata.typeFile isEqualToString:metadataTypeFile_image] || [metadata.typeFile isEqualToString:metadataTypeFile_video])
                     [crypto addPlistImage:[NSString stringWithFormat:@"%@/%@", _directoryUser, [fileNameCrypto stringByAppendingString:@".plist"]] fileNamePathImage:[NSTemporaryDirectory() stringByAppendingString:uploadID]];

+ 1 - 0
iOSClient/Utility/CCGraphics.m

@@ -159,6 +159,7 @@
             [self saveIcoWithFileID:fileNameTo image:scaleImage writeToFile:[NSTemporaryDirectory() stringByAppendingString:fileNameTo] copy:NO move:NO fromPath:nil toPath:nil];
             
             // if it is preview for Upload then trasform it in gray scale
+            //TODO: Crash with swift
             scaleImage = [scaleImage grayscale];
             [self saveIcoWithFileID:fileNameTo image:scaleImage writeToFile:[NSString stringWithFormat:@"%@/%@.ico", directoryUser, fileNameTo] copy:NO move:NO fromPath:nil toPath:nil];