NCRenameFile.swift 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  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. if metadata.directory {
  20. previewFile.image = NCCollectionCommon.images.cellFolderImage
  21. fileNameWithoutExt.text = metadata.fileName
  22. ext.isHidden = true
  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. fileNameWithoutExt.text = metadata.fileNameWithoutExt
  34. ext.text = metadata.ext
  35. }
  36. }
  37. title = NSLocalizedString("_rename_file_", comment: "")
  38. navigationItem.leftBarButtonItem = UIBarButtonItem(title: NSLocalizedString("_cancel_", comment: ""), style: UIBarButtonItem.Style.plain, target: self, action: #selector(cancel))
  39. navigationItem.rightBarButtonItem = UIBarButtonItem(title: NSLocalizedString("_rename_", comment: ""), style: UIBarButtonItem.Style.plain, target: self, action: #selector(rename))
  40. }
  41. override func viewDidAppear(_ animated: Bool) {
  42. super.viewDidAppear(animated)
  43. if metadata == nil {
  44. dismiss(animated: true)
  45. }
  46. }
  47. // MARK: - Action
  48. @objc func cancel() {
  49. dismiss(animated: true)
  50. }
  51. @objc func rename() {
  52. guard let metadata = metadata else { return }
  53. var newFileNameWithoutExt = ""
  54. var newExt = ""
  55. var fileNameNew = ""
  56. if fileNameWithoutExt.text == nil || fileNameWithoutExt.text?.count == 0 {
  57. self.fileNameWithoutExt.text = metadata.fileNameWithoutExt
  58. return
  59. } else {
  60. newFileNameWithoutExt = fileNameWithoutExt.text!
  61. }
  62. if metadata.directory {
  63. fileNameNew = newFileNameWithoutExt
  64. } else {
  65. if ext.text == nil || ext.text?.count == 0 {
  66. self.ext.text = metadata.ext
  67. return
  68. } else {
  69. newExt = ext.text!
  70. }
  71. if newExt != metadata.ext {
  72. }
  73. fileNameNew = newFileNameWithoutExt + "." + newExt
  74. }
  75. NCNetworking.shared.renameMetadata(metadata, fileNameNew: fileNameNew, urlBase: metadata.urlBase, viewController: self) { (errorCode, errorDescription) in
  76. if errorCode == 0 {
  77. self.dismiss(animated: true)
  78. } else {
  79. NCContentPresenter.shared.messageNotification("_error_", description: errorDescription, delay: NCGlobal.shared.dismissAfterSecond, type: NCContentPresenter.messageType.error, errorCode: errorCode)
  80. }
  81. }
  82. }
  83. }