Browse Source

Add filenametype on view create

Marino Faggiana 7 years ago
parent
commit
545261828d

+ 1 - 1
iOSClient/AutoUpload/NCAutoUpload.m

@@ -380,7 +380,7 @@
         NSDate *assetDate = asset.creationDate;
         PHAssetMediaType assetMediaType = asset.mediaType;
         NSString *session;
-        NSString *fileName = [CCUtility createFileNameFromAsset:asset key:nil];
+        NSString *fileName = [CCUtility createFileNameFromAsset:asset keyFileName:nil keyFileNameType:nil];
         
         // Select type of session
         

+ 1 - 0
iOSClient/CCGlobal.h

@@ -253,6 +253,7 @@ extern NSString *const urlBaseUploadDB;
 #define k_tabBarApplicationIndexMore                    4
 
 #define k_keyFileNameMask                               @"fileNameMask"
+#define k_keyFileNameType                               @"fileNameType"
 
 // Type of page Offline
 #define k_pageOfflineFavorites                          @"Favorites"

+ 19 - 4
iOSClient/Create/CCCreateCloud.swift

@@ -285,6 +285,15 @@ class CreateFormUploadAssets: XLFormViewController, CCMoveDelegate {
         }
         section.addFormRow(row)
 
+        // Section: Add File Name Type
+
+        section = XLFormSectionDescriptor.formSection()
+        form.addFormSection(section)
+
+        row = XLFormRowDescriptor(tag: "addFileNameType", rowType: XLFormRowDescriptorTypeBooleanSwitch, title: NSLocalizedString("_filenametype_photo_video_", comment: ""))
+        row.value = CCUtility.getFileNameType(k_keyFileNameType)
+        section.addFormRow(row)
+        
         // Section: Rename File Name
         
         section = XLFormSectionDescriptor.formSection()
@@ -339,6 +348,10 @@ class CreateFormUploadAssets: XLFormViewController, CCMoveDelegate {
                 
             }
         }
+        else if formRow.tag == "addFileNameType" {
+            CCUtility.setFileNameType((formRow.value! as AnyObject).boolValue, key: k_keyFileNameType)
+            self.reloadForm()
+        }
         else if formRow.tag == "maskFileName" {
             
             let fileName = formRow.value as? String
@@ -432,8 +445,10 @@ class CreateFormUploadAssets: XLFormViewController, CCMoveDelegate {
         case 1:
             return "    " + NSLocalizedString("_use_folder_photos_", comment: "")
         case 2:
-            return "    " + NSLocalizedString("_rename_filename_", comment: "")
+            return "    " + NSLocalizedString("_add_filenametype_", comment: "")
         case 3:
+            return "    " + NSLocalizedString("_rename_filename_", comment: "")
+        case 4:
             return NSLocalizedString("_preview_filename_", comment: "")
         default:
             return ""
@@ -513,18 +528,18 @@ class CreateFormUploadAssets: XLFormViewController, CCMoveDelegate {
                 CCUtility.setFileNameMask(valueRenameTrimming, key: k_keyFileNameMask)
                 self.form.delegate = self
                 
-                returnString = CCUtility.createFileName(from: assets[0] as! PHAsset, key: k_keyFileNameMask)
+                returnString = CCUtility.createFileName(from: assets[0] as! PHAsset, keyFileName: k_keyFileNameMask, keyFileNameType: k_keyFileNameType)
                 
             } else {
                 
                 CCUtility.setFileNameMask("", key: k_keyFileNameMask)
-                returnString = CCUtility.createFileName(from: assets[0] as! PHAsset, key: nil)
+                returnString = CCUtility.createFileName(from: assets[0] as! PHAsset, keyFileName: nil, keyFileNameType: k_keyFileNameType)
             }
             
         } else {
             
             CCUtility.setFileNameMask("", key: k_keyFileNameMask)
-            returnString = CCUtility.createFileName(from: assets[0] as! PHAsset, key: nil)
+            returnString = CCUtility.createFileName(from: assets[0] as! PHAsset, keyFileName: nil, keyFileNameType: k_keyFileNameType)
         }
         
         return NSLocalizedString("_preview_filename_", comment: "") + ":" + "\n\n" + returnString

+ 1 - 1
iOSClient/Main/CCMain.m

@@ -1699,7 +1699,7 @@
     
     for (PHAsset *asset in assets) {
         
-        NSString *fileName = [CCUtility createFileNameFromAsset:asset key: k_keyFileNameMask];
+        NSString *fileName = [CCUtility createFileNameFromAsset:asset keyFileName: k_keyFileNameMask keyFileNameType:k_keyFileNameType];
         
         NSDate *assetDate = asset.creationDate;
         NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

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

@@ -539,6 +539,8 @@
 "_filename_"                        = "File name";
 "_preview_filename_"                = "Example preview of filename, you can use the mask MM,DD,YY for the date";
 "_forbidden_characters_"            = "Invalid character in the filename";
+"_add_filenametype_"                = "Add type in filename";
+"_filenametype_photo_video_"        = "Photo/Video";
 
 // Notification
 

+ 3 - 1
iOSClient/Utility/CCUtility.h

@@ -82,6 +82,7 @@
 + (void)setDirectoryOnTop:(BOOL)directoryOnTop;
 
 + (void)setFileNameMask:(NSString *)mask key:(NSString *)key;
++ (void)setFileNameType:(BOOL)prefix key:(NSString *)key;
 
 + (void)setCreateMenuEncrypted:(BOOL)encrypted;
 
@@ -124,6 +125,7 @@
 + (BOOL)getDirectoryOnTop;
 
 + (NSString *)getFileNameMask:(NSString *)key;
++ (BOOL)getFileNameType:(NSString *)key;
 
 + (BOOL)getCreateMenuEncrypted;
 
@@ -145,7 +147,7 @@
 + (NSString *)stringAppendServerUrl:(NSString *)serverUrl addFileName:(NSString *)addFileName;
 
 + (NSString *)createRandomString:(int)numChars;
-+ (NSString *)createFileNameFromAsset:(PHAsset *)asset key:(NSString *)key;
++ (NSString *)createFileNameFromAsset:(PHAsset *)asset keyFileName:(NSString *)keyFileName keyFileNameType:(NSString *)keyFileNameType;
 
 + (NSString *)getHomeServerUrlActiveUrl:(NSString *)activeUrl;
 + (NSString *)getDirectoryActiveUser:(NSString *)activeUser activeUrl:(NSString *)activeUrl;

+ 32 - 6
iOSClient/Utility/CCUtility.m

@@ -192,6 +192,12 @@
     [UICKeyChainStore setString:mask forKey:key service:k_serviceShareKeyChain];
 }
 
++ (void)setFileNameType:(BOOL)prefix key:(NSString *)key
+{
+    NSString *sPrefix = (prefix) ? @"true" : @"false";
+    [UICKeyChainStore setString:sPrefix forKey:key service:k_serviceShareKeyChain];
+}
+
 + (void)setCreateMenuEncrypted:(BOOL)encrypted
 {
     NSString *sEncrypted = (encrypted) ? @"true" : @"false";
@@ -384,6 +390,11 @@
     return mask;
 }
 
++ (BOOL)getFileNameType:(NSString *)key
+{
+    return [[UICKeyChainStore stringForKey:key service:k_serviceShareKeyChain] boolValue];
+}
+
 + (BOOL)getCreateMenuEncrypted
 {
     return [[UICKeyChainStore stringForKey:@"createMenuEncrypted" service:k_serviceShareKeyChain] boolValue];
@@ -515,10 +526,11 @@
     return [NSString stringWithFormat:@"%@", randomString];
 }
 
-+ (NSString *)createFileNameFromAsset:(PHAsset *)asset key:(NSString *)key
++ (NSString *)createFileNameFromAsset:(PHAsset *)asset keyFileName:(NSString *)keyFileName keyFileNameType:(NSString *)keyFileNameType
 {
     NSDate *assetDate = asset.creationDate;
     NSString *fileName;
+    BOOL addFileNameType = NO;
     
     NSString *assetFileName = [asset valueForKey:@"filename"];
     
@@ -541,11 +553,15 @@
     if (assetMediaType == PHAssetMediaTypeUnknown)
         fileNameType = NSLocalizedString(@"_unknown_", nil);
 
+    // Use File Name Type
+    if (keyFileNameType)
+        addFileNameType = [CCUtility getFileNameType:keyFileNameType];
+    
     NSString *fileNameExt = [[assetFileName pathExtension] lowercaseString];
     
-    if (key) {
+    if (keyFileName) {
         
-        fileName = [CCUtility getFileNameMask:key];
+        fileName = [CCUtility getFileNameMask:keyFileName];
         
         if ([fileName length] > 0) {
             
@@ -562,16 +578,26 @@
             fileName = [fileName stringByReplacingOccurrencesOfString:@"MM" withString:month];
             fileName = [fileName stringByReplacingOccurrencesOfString:@"YY" withString:year];
 
-            fileName = [NSString stringWithFormat:@"%@-%@.%@", fileName, numberFileName, fileNameExt];
+            if (addFileNameType)
+                fileName = [NSString stringWithFormat:@"%@ %@-%@.%@", fileNameType, fileName, numberFileName, fileNameExt];
+            else
+                fileName = [NSString stringWithFormat:@"%@-%@.%@", fileName, numberFileName, fileNameExt];
             
         } else {
             
-            fileName = [NSString stringWithFormat:@"%@ %@ %@.%@", fileNameType, fileNameDate, numberFileName, fileNameExt];
+            if (addFileNameType)
+                fileName = [NSString stringWithFormat:@"%@ %@ %@.%@", fileNameType, fileNameDate, numberFileName, fileNameExt];
+            else
+                fileName = [NSString stringWithFormat:@"%@ %@.%@", fileNameDate, numberFileName, fileNameExt];
         }
         
     } else {
         
-        fileName = [NSString stringWithFormat:@"%@ %@ %@.%@", fileNameType, fileNameDate, numberFileName, fileNameExt];
+        if (addFileNameType)
+            fileName = [NSString stringWithFormat:@"%@ %@ %@.%@", fileNameType, fileNameDate, numberFileName, fileNameExt];
+        else
+            fileName = [NSString stringWithFormat:@"%@ %@.%@", fileNameDate, numberFileName, fileNameExt];
+
     }
     
     return fileName;