NCRenameFile.swift 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  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 point: UILabel!
  14. @IBOutlet weak var ext: UITextField!
  15. @IBOutlet weak var fileNameWithoutExtTrailingContraint: NSLayoutConstraint!
  16. var metadata: tableMetadata?
  17. // MARK: - Life Cycle
  18. override func viewDidLoad() {
  19. super.viewDidLoad()
  20. if let metadata = self.metadata {
  21. if metadata.directory {
  22. previewFile.image = NCCollectionCommon.images.cellFolderImage
  23. fileNameWithoutExt.text = metadata.fileName
  24. ext.isHidden = true
  25. point.isHidden = true
  26. fileNameWithoutExtTrailingContraint.constant = 20
  27. } else {
  28. if FileManager().fileExists(atPath: CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag)) {
  29. previewFile.image = UIImage(contentsOfFile: CCUtility.getDirectoryProviderStorageIconOcId(metadata.ocId, etag: metadata.etag))
  30. } else {
  31. if metadata.iconName.count > 0 {
  32. previewFile.image = UIImage.init(named: metadata.iconName)
  33. } else {
  34. previewFile.image = NCCollectionCommon.images.cellFileImage
  35. }
  36. }
  37. fileNameWithoutExt.text = metadata.fileNameWithoutExt
  38. ext.text = metadata.ext
  39. fileNameWithoutExtTrailingContraint.constant = 90
  40. }
  41. }
  42. title = NSLocalizedString("_rename_file_", comment: "")
  43. navigationItem.leftBarButtonItem = UIBarButtonItem(title: NSLocalizedString("_cancel_", comment: ""), style: UIBarButtonItem.Style.plain, target: self, action: #selector(cancel))
  44. navigationItem.rightBarButtonItem = UIBarButtonItem(title: NSLocalizedString("_rename_", comment: ""), style: UIBarButtonItem.Style.plain, target: self, action: #selector(rename))
  45. }
  46. override func viewDidAppear(_ animated: Bool) {
  47. super.viewDidAppear(animated)
  48. if metadata == nil {
  49. dismiss(animated: true)
  50. }
  51. }
  52. // MARK: - Action
  53. @objc func cancel() {
  54. dismiss(animated: true)
  55. }
  56. @objc func rename() {
  57. guard let metadata = metadata else { return }
  58. var newFileNameWithoutExt = ""
  59. var newExt = ""
  60. var fileNameNew = ""
  61. if fileNameWithoutExt.text == nil || fileNameWithoutExt.text?.count == 0 {
  62. self.fileNameWithoutExt.text = metadata.fileNameWithoutExt
  63. return
  64. } else {
  65. newFileNameWithoutExt = fileNameWithoutExt.text!
  66. }
  67. if metadata.directory {
  68. fileNameNew = newFileNameWithoutExt
  69. } else {
  70. if ext.text == nil || ext.text?.count == 0 {
  71. self.ext.text = metadata.ext
  72. return
  73. } else {
  74. newExt = ext.text!
  75. }
  76. if newExt != metadata.ext {
  77. }
  78. fileNameNew = newFileNameWithoutExt + "." + newExt
  79. }
  80. NCNetworking.shared.renameMetadata(metadata, fileNameNew: fileNameNew, urlBase: metadata.urlBase, viewController: self) { (errorCode, errorDescription) in
  81. if errorCode == 0 {
  82. self.dismiss(animated: true)
  83. } else {
  84. NCContentPresenter.shared.messageNotification("_error_", description: errorDescription, delay: NCGlobal.shared.dismissAfterSecond, type: NCContentPresenter.messageType.error, errorCode: errorCode)
  85. }
  86. }
  87. }
  88. }