DocumentActionViewController.swift 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //
  2. // DocumentActionViewController.swift
  3. // File Provider Extension UI
  4. //
  5. // Created by Marino Faggiana on 30/01/23.
  6. // Copyright © 2023 Marino Faggiana. All rights reserved.
  7. //
  8. // Author Marino Faggiana <marino.faggiana@nextcloud.com>
  9. //
  10. // This program is free software: you can redistribute it and/or modify
  11. // it under the terms of the GNU General Public License as published by
  12. // the Free Software Foundation, either version 3 of the License, or
  13. // (at your option) any later version.
  14. //
  15. // This program is distributed in the hope that it will be useful,
  16. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. // GNU General Public License for more details.
  19. //
  20. // You should have received a copy of the GNU General Public License
  21. // along with this program. If not, see <http://www.gnu.org/licenses/>.
  22. //
  23. import UIKit
  24. import FileProviderUI
  25. class DocumentActionViewController: FPUIActionExtensionViewController {
  26. @IBOutlet weak var cancelButton: UIButton!
  27. @IBOutlet weak var titleError: UILabel!
  28. override func loadView() {
  29. super.loadView()
  30. view.backgroundColor = NCBrandColor.shared.customer
  31. titleError.textColor = NCBrandColor.shared.customerText
  32. cancelButton.setTitleColor(NCBrandColor.shared.customerText, for: .normal)
  33. titleError.text = ""
  34. }
  35. override func prepare(forAction actionIdentifier: String, itemIdentifiers: [NSFileProviderItemIdentifier]) {
  36. }
  37. override func prepare(forError error: Error) {
  38. if let userInfo = (error as NSError).userInfo as NSDictionary?,
  39. let code = userInfo["code"] as? Int {
  40. if code == NCGlobal.shared.errorUnauthorizedFilesPasscode {
  41. titleError?.text = NSLocalizedString("_unauthorizedFilesPasscode_", comment: "")
  42. } else if code == NCGlobal.shared.errorDisableFilesApp {
  43. titleError?.text = NSLocalizedString("_disableFilesApp_", comment: "")
  44. }
  45. } else {
  46. titleError?.text = error.localizedDescription
  47. }
  48. }
  49. @IBAction func doneButtonTapped(_ sender: Any) {
  50. // Perform the action and call the completion block. If an unrecoverable error occurs you must still call the completion block with an error. Use the error code FPUIExtensionErrorCode.failed to signal the failure.
  51. extensionContext.completeRequest()
  52. }
  53. @IBAction func cancelButtonTapped(_ sender: Any) {
  54. extensionContext.cancelRequest(withError: NSError(domain: FPUIErrorDomain, code: Int(FPUIExtensionErrorCode.userCancelled.rawValue), userInfo: nil))
  55. }
  56. }