Browse Source

add imi file ext.

marinofaggiana 6 years ago
parent
commit
a95da153c9

+ 1 - 0
iOSClient/CCGlobal.h

@@ -216,6 +216,7 @@
 #define k_metadataTypeFile_image                        @"image"
 #define k_metadataTypeFile_unknown                      @"unknow"
 #define k_metadataTypeFile_video                        @"video"
+#define k_metadataTypeFile_imagemeter                   @"imagemeter"
 
 // TabBar button
 #define k_tabBarApplicationIndexFile                    0

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

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

BIN
iOSClient/Images.xcassets/imagemeter.imageset/imagemeter.png


+ 18 - 0
iOSClient/Main/NCMainCommon.swift

@@ -23,6 +23,7 @@
 
 import Foundation
 import TLPhotoPicker
+import Zip
 
 //MARK: - Main Common
 
@@ -1224,6 +1225,23 @@ class NCNetworkingMain: NSObject, CCNetworkingDelegate {
 
                     NCMainCommon.sharedInstance.openIn(metadata: metadata)
                     
+                } else if metadata.typeFile == k_metadataTypeFile_imagemeter {
+                    
+                    do {
+                        Zip.addCustomFileExtension("imi")
+
+                        let source = URL(fileURLWithPath: CCUtility.getDirectoryProviderStorageFileID(metadata.fileID, fileNameView: metadata.fileNameView))
+                        let destination =  URL(fileURLWithPath: CCUtility.getDirectoryProviderStorageFileID(metadata.fileID))
+                        
+                        try Zip.unzipFile(source, destination: destination, overwrite: true, password: nil, progress: { (progress) in
+                            // progress
+                        }, fileOutputHandler: { (url) in
+                            // end
+                        })
+                    } catch {
+                        appDelegate.messageNotification("_error_", description: "_error_decompressing_", visible: true, delay: TimeInterval(k_dismissAfterSecond), type: TWMessageBarMessageType.error, errorCode: errorCode)
+                    }
+                    
                 } else {
                     
                     if appDelegate.activeMain.view.window != nil {

+ 2 - 2
iOSClient/Supporting Files/en.lproj/Localizable.strings

@@ -570,8 +570,7 @@
 "_e2e_error_create_encrypted_"      = "Could not create encrypted file";
 "_e2e_error_update_metadata_"       = "Update metadata error";
 "_e2e_error_store_metadata_"        = "Could not save metadata";
-"_e2e_error_send_metadata_"         = "Could not send metadata";
-"_e2e_error_delete_metadata_"       = "Could not delete metadata";
+"_e2e_error_send_metadata_"         = "Could not send metadata";"_e2e_error_delete_metadata_"       = "Could not delete metadata";
 "_e2e_error_get_metadata_"          = "Could not fetch metadata";
 "_e2e_error_not_enabled_"           = "Serious internal error. End-to-end encryption not enabled";
 "_e2e_error_record_not_found_"      = "Serious internal error. Records not found";
@@ -678,6 +677,7 @@
 "_error_user_not_available_"            = "The user is no longer available";
 "_server_response_error_"               = "Server response content error";
 "_no_nextcloud_found_"                  = "Nextcloud server not found";
+"_error_decompressing_"                 = "Error decompressing unknown compression method or the file is corrupt";
 
 // BKPasscode
 

+ 5 - 0
iOSClient/Utility/CCUtility.m

@@ -1292,6 +1292,11 @@
                 
                 metadata.iconName = @"utorrent";
                 
+            } else if ([ext isEqualToString:@"IMI"]) {
+                
+                metadata.typeFile = k_metadataTypeFile_imagemeter;
+                metadata.iconName = @"imagemeter";
+            
             } else {
             
                 metadata.iconName = @"file";