NCRenameFile.swift 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. //
  2. // NCRenameFile.swift
  3. // Nextcloud
  4. //
  5. // Created by Marino Faggiana on 26/02/21.
  6. // Copyright © 2021 Marino Faggiana. All rights reserved.
  7. //
  8. import Foundation
  9. import NCCommunication
  10. class NCRenameFile: UIViewController {
  11. @IBOutlet weak var previewFile: UIImageView!
  12. @IBOutlet weak var fileNameWithoutExt: UITextField!
  13. @IBOutlet weak var ext: UITextField!
  14. var metadata: tableMetadata?
  15. // MARK: - Life Cycle
  16. override func viewDidLoad() {
  17. super.viewDidLoad()
  18. if let metadata = self.metadata {
  19. fileNameWithoutExt.text = metadata.fileNameWithoutExt
  20. ext.text = metadata.ext
  21. if metadata.directory {
  22. previewFile.image = NCCollectionCommon.images.cellFolderImage
  23. } else {
  24. if FileManager().fileExists(atPath: CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag)) {
  25. previewFile.image = UIImage(contentsOfFile: CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag))
  26. } else {
  27. if metadata.iconName.count > 0 {
  28. previewFile.image = UIImage.init(named: metadata.iconName)
  29. } else {
  30. previewFile.image = NCCollectionCommon.images.cellFileImage
  31. }
  32. }
  33. }
  34. }
  35. title = NSLocalizedString("_rename_file_", comment: "")
  36. navigationItem.leftBarButtonItem = UIBarButtonItem(title: NSLocalizedString("_cancel_", comment: ""), style: UIBarButtonItem.Style.plain, target: self, action: #selector(cancel))
  37. navigationItem.rightBarButtonItem = UIBarButtonItem(title: NSLocalizedString("_rename_", comment: ""), style: UIBarButtonItem.Style.plain, target: self, action: #selector(rename))
  38. }
  39. override func viewDidAppear(_ animated: Bool) {
  40. super.viewDidAppear(animated)
  41. if metadata == nil {
  42. dismiss(animated: true)
  43. }
  44. }
  45. // MARK: - Action
  46. @objc func cancel() {
  47. dismiss(animated: true)
  48. }
  49. @objc func rename() {
  50. guard let metadata = metadata else { return }
  51. var newFileNameWithoutExt = ""
  52. var newExt = ""
  53. if fileNameWithoutExt.text == nil || fileNameWithoutExt.text?.count == 0 {
  54. self.fileNameWithoutExt.text = metadata.fileNameWithoutExt
  55. return
  56. } else {
  57. newFileNameWithoutExt = fileNameWithoutExt.text!
  58. }
  59. if ext.text == nil || ext.text?.count == 0 {
  60. self.ext.text = metadata.ext
  61. return
  62. } else {
  63. newExt = ext.text!
  64. }
  65. let fileNameNew = newFileNameWithoutExt + "." + newExt
  66. NCNetworking.shared.renameMetadata(metadata, fileNameNew: fileNameNew, urlBase: metadata.urlBase, viewController: self) { (errorCode, errorDescription) in
  67. if errorCode == 0 {
  68. self.dismiss(animated: true)
  69. } else {
  70. NCContentPresenter.shared.messageNotification("_error_", description: errorDescription, delay: NCGlobal.shared.dismissAfterSecond, type: NCContentPresenter.messageType.error, errorCode: errorCode)
  71. }
  72. }
  73. }
  74. }