NCRenameFile.swift 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  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 image: 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. }
  22. title = NSLocalizedString("_rename_file_", comment: "")
  23. navigationItem.leftBarButtonItem = UIBarButtonItem(title: NSLocalizedString("_cancel_", comment: ""), style: UIBarButtonItem.Style.plain, target: self, action: #selector(cancel))
  24. navigationItem.rightBarButtonItem = UIBarButtonItem(title: NSLocalizedString("_rename_", comment: ""), style: UIBarButtonItem.Style.plain, target: self, action: #selector(rename))
  25. }
  26. override func viewDidAppear(_ animated: Bool) {
  27. super.viewDidAppear(animated)
  28. if metadata == nil {
  29. dismiss(animated: true)
  30. }
  31. }
  32. // MARK: - Action
  33. @objc func cancel() {
  34. dismiss(animated: true)
  35. }
  36. @objc func rename() {
  37. guard let metadata = metadata else { return }
  38. var newFileNameWithoutExt = ""
  39. var newExt = ""
  40. if fileNameWithoutExt.text == nil || fileNameWithoutExt.text?.count == 0 {
  41. self.fileNameWithoutExt.text = metadata.fileNameWithoutExt
  42. return
  43. } else {
  44. newFileNameWithoutExt = fileNameWithoutExt.text!
  45. }
  46. if ext.text == nil || ext.text?.count == 0 {
  47. self.ext.text = metadata.ext
  48. return
  49. } else {
  50. newExt = ext.text!
  51. }
  52. let fileNameNew = newFileNameWithoutExt + "." + newExt
  53. NCNetworking.shared.renameMetadata(metadata, fileNameNew: fileNameNew, urlBase: metadata.urlBase, viewController: self) { (errorCode, errorDescription) in
  54. if errorCode == 0 {
  55. self.dismiss(animated: true)
  56. } else {
  57. NCContentPresenter.shared.messageNotification("_error_", description: errorDescription, delay: NCGlobal.shared.dismissAfterSecond, type: NCContentPresenter.messageType.error, errorCode: errorCode)
  58. }
  59. }
  60. }
  61. }