Browse Source

coding

Signed-off-by: Marino Faggiana <marino@marinofaggiana.com>
Marino Faggiana 2 years ago
parent
commit
9ed7e87c2f
1 changed files with 34 additions and 30 deletions
  1. 34 30
      iOSClient/Main/Create cloud/NCUploadAssets.swift

+ 34 - 30
iOSClient/Main/Create cloud/NCUploadAssets.swift

@@ -27,6 +27,8 @@ class NCUploadAssets: ObservableObject {
     internal var userBaseUrl: NCUserBaseUrl
 
     @Published var serverUrl: String
+    @Published var isMaintainOriginalFilename: Bool = CCUtility.getOriginalFileName(NCGlobal.shared.keyFileNameOriginal)
+    @Published var isAddFilenametype: Bool = CCUtility.getFileNameType(NCGlobal.shared.keyFileNameType)
 
     init(assets: [PHAsset], cryptated: Bool, session: String, userBaseUrl: NCUserBaseUrl, serverUrl: String) {
         self.assets = assets
@@ -38,15 +40,11 @@ class NCUploadAssets: ObservableObject {
 
     func previewFileName(fileName: String?) -> String {
 
-        var returnString: String = ""
-        let asset = assets[0]
+        guard let asset = assets.first else { return "" }
+        var preview: String = ""
         let creationDate = asset.creationDate ?? Date()
 
-        if CCUtility.getOriginalFileName(NCGlobal.shared.keyFileNameOriginal), let asset = assets.first, let name = (asset.value(forKey: "filename") as? String) {
-
-            return NSLocalizedString("_filename_", comment: "") + ": \(name)"
-
-        } else if let fileName = fileName {
+        if let fileName = fileName {
 
             let fileName = fileName.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines)
 
@@ -54,7 +52,7 @@ class NCUploadAssets: ObservableObject {
 
                 CCUtility.setFileNameMask(fileName, key: NCGlobal.shared.keyFileNameMask)
 
-                returnString = CCUtility.createFileName(asset.value(forKey: "filename") as? String,
+                preview = CCUtility.createFileName(asset.value(forKey: "filename") as? String,
                                                         fileDate: creationDate, fileType: asset.mediaType,
                                                         keyFileName: NCGlobal.shared.keyFileNameMask,
                                                         keyFileNameType: NCGlobal.shared.keyFileNameType,
@@ -64,7 +62,7 @@ class NCUploadAssets: ObservableObject {
             } else {
 
                 CCUtility.setFileNameMask("", key: NCGlobal.shared.keyFileNameMask)
-                returnString = CCUtility.createFileName(asset.value(forKey: "filename") as? String,
+                preview = CCUtility.createFileName(asset.value(forKey: "filename") as? String,
                                                         fileDate: creationDate,
                                                         fileType: asset.mediaType,
                                                         keyFileName: nil,
@@ -76,7 +74,7 @@ class NCUploadAssets: ObservableObject {
         } else {
 
             CCUtility.setFileNameMask("", key: NCGlobal.shared.keyFileNameMask)
-            returnString = CCUtility.createFileName(asset.value(forKey: "filename") as? String,
+            preview = CCUtility.createFileName(asset.value(forKey: "filename") as? String,
                                                     fileDate: creationDate,
                                                     fileType: asset.mediaType,
                                                     keyFileName: nil,
@@ -85,7 +83,16 @@ class NCUploadAssets: ObservableObject {
                                                     forcedNewFileName: false)
         }
 
-        return String(format: NSLocalizedString("_preview_filename_", comment: ""), "MM, MMM, DD, YY, YYYY, HH, hh, mm, ss, ampm") + ":" + "\n\n" + returnString
+        return String(format: NSLocalizedString("_preview_filename_", comment: ""), "MM, MMM, DD, YY, YYYY, HH, hh, mm, ss, ampm") + ":" + "\n\n" + preview
+    }
+
+    func getOriginalFilename() -> String {
+
+        if let asset = assets.first, let name = (asset.value(forKey: "filename") as? String) {
+            return name
+        } else {
+            return ""
+        }
     }
 
     func save() {
@@ -110,9 +117,6 @@ struct UploadAssetsView: View {
 
     @State var fileName: String = CCUtility.getFileNameMask(NCGlobal.shared.keyFileNameMask)
     @State var isPresentedSelect = false
-    @State var isMaintainOriginalFilename: Bool = false
-    @State var isAddFilenametype: Bool = false
-    @State var fileNameonChange: Bool = true
     @State var example: String = ""
 
     @ObservedObject var uploadAssets: NCUploadAssets
@@ -146,25 +150,20 @@ struct UploadAssetsView: View {
                     .onTapGesture {
                         isPresentedSelect = true
                     }
-                    .complexModifier { view in
-                        if #available(iOS 16, *) {
-                            view.alignmentGuide(.listRowSeparatorLeading) { _ in
-                                return 0
-                            }
-                        }
-                    }
                 }
 
                 Section(header: Text(NSLocalizedString("_mode_filename_", comment: ""))) {
 
-                    Toggle(NSLocalizedString("_maintain_original_filename_", comment: ""), isOn: $isMaintainOriginalFilename)
+                    Toggle(NSLocalizedString("_maintain_original_filename_", comment: ""), isOn: $uploadAssets.isMaintainOriginalFilename)
                         .toggleStyle(SwitchToggleStyle(tint: Color(NCBrandColor.shared.brand)))
-                        .onChange(of: isMaintainOriginalFilename) { newValue in
+                        .onChange(of: uploadAssets.isMaintainOriginalFilename) { newValue in
+                            CCUtility.setOriginalFileName(newValue, key: NCGlobal.shared.keyFileNameOriginal)
                         }
 
-                    Toggle(NSLocalizedString("_add_filenametype_", comment: ""), isOn: $isAddFilenametype)
+                    Toggle(NSLocalizedString("_add_filenametype_", comment: ""), isOn: $uploadAssets.isAddFilenametype)
                         .toggleStyle(SwitchToggleStyle(tint: Color(NCBrandColor.shared.brand)))
-                        .onChange(of: isAddFilenametype) { newValue in
+                        .onChange(of: uploadAssets.isAddFilenametype) { newValue in
+                            CCUtility.setFileNameType(newValue, key: NCGlobal.shared.keyFileNameType)
                         }
                 }
 
@@ -172,11 +171,16 @@ struct UploadAssetsView: View {
 
                     HStack {
                         Text(NSLocalizedString("_filename_", comment: ""))
-                        TextField(NSLocalizedString("_enter_filename_", comment: ""), text: $fileName)
-                            .modifier(TextFieldClearButton(text: $fileName))
-                            .multilineTextAlignment(.trailing)
+                        if uploadAssets.isMaintainOriginalFilename {
+                            Text(uploadAssets.getOriginalFilename())
+                                .frame(maxWidth: .infinity, alignment: .trailing)
+                        } else {
+                            TextField(NSLocalizedString("_enter_filename_", comment: ""), text: $fileName)
+                                .modifier(TextFieldClearButton(text: $fileName))
+                                .multilineTextAlignment(.trailing)
+                        }
                     }
-                    if !uploadAssets.assets.isEmpty {
+                    if !uploadAssets.isMaintainOriginalFilename {
                         Text(uploadAssets.previewFileName(fileName: fileName))
                     }
                 }
@@ -189,7 +193,7 @@ struct UploadAssetsView: View {
                 Button(NSLocalizedString("_save_", comment: "")) {
                 }
                 .frame(maxWidth: .infinity)
-                .buttonStyle(ButtonUploadScanDocumenStyle(disabled: fileName.isEmpty))
+                .buttonStyle(ButtonUploadScanDocumenStyle(disabled: false))
                 .listRowBackground(Color(UIColor.systemGroupedBackground))
             }
             .navigationTitle(NSLocalizedString("_upload_photos_videos_", comment: ""))