NCColorPicker.swift 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. //
  2. // NCColorPicker.swift
  3. // Nextcloud
  4. //
  5. // Created by Marino Faggiana on 24/07/22.
  6. // Copyright © 2022 Marino Faggiana. All rights reserved.
  7. //
  8. import Foundation
  9. import UIKit
  10. class NCColorPicker: UIViewController {
  11. @IBOutlet weak var orangeButton: UIButton!
  12. @IBOutlet weak var redButton: UIButton!
  13. @IBOutlet weak var purpleButton: UIButton!
  14. @IBOutlet weak var blueButton: UIButton!
  15. @IBOutlet weak var blackButton: UIButton!
  16. @IBOutlet weak var greenButton: UIButton!
  17. @IBOutlet weak var grayButton: UIButton!
  18. @IBOutlet weak var defaultButton: UIButton!
  19. @IBOutlet weak var orangeLabel: UILabel!
  20. @IBOutlet weak var redLabel: UILabel!
  21. @IBOutlet weak var purpleLabel: UILabel!
  22. @IBOutlet weak var blueLabel: UILabel!
  23. @IBOutlet weak var blackLabel: UILabel!
  24. @IBOutlet weak var greenLabel: UILabel!
  25. @IBOutlet weak var grayLabel: UILabel!
  26. @IBOutlet weak var defaultLabel: UILabel!
  27. var metadata: tableMetadata?
  28. var tapAction: UITapGestureRecognizer?
  29. // MARK: - View Life Cycle
  30. override func viewDidLoad() {
  31. super.viewDidLoad()
  32. orangeButton.backgroundColor = .orange
  33. orangeButton.layer.cornerRadius = 5
  34. orangeButton.layer.masksToBounds = true
  35. orangeLabel.text = NSLocalizedString("_orange_", comment: "")
  36. let orangeLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(orangeButtonAction(_:)))
  37. orangeLabel?.addGestureRecognizer(orangeLabelTapAction)
  38. redButton.backgroundColor = .red
  39. redButton.layer.cornerRadius = 5
  40. redButton.layer.masksToBounds = true
  41. redLabel.text = NSLocalizedString("_red_", comment: "")
  42. let redLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(redButtonAction(_:)))
  43. redLabel?.addGestureRecognizer(redLabelTapAction)
  44. purpleButton.backgroundColor = .purple
  45. purpleButton.layer.cornerRadius = 5
  46. purpleButton.layer.masksToBounds = true
  47. purpleLabel.text = NSLocalizedString("_purple_", comment: "")
  48. let purpleLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(purpleButtonAction(_:)))
  49. purpleLabel?.addGestureRecognizer(purpleLabelTapAction)
  50. blueButton.backgroundColor = .blue
  51. blueButton.layer.cornerRadius = 5
  52. blueButton.layer.masksToBounds = true
  53. blueLabel.text = NSLocalizedString("_blue_", comment: "")
  54. let blueLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(blueButtonAction(_:)))
  55. blueLabel?.addGestureRecognizer(blueLabelTapAction)
  56. blackButton.backgroundColor = .black
  57. blackButton.layer.cornerRadius = 5
  58. blackButton.layer.masksToBounds = true
  59. blackLabel.text = NSLocalizedString("_black_", comment: "")
  60. let blackLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(blackButtonAction(_:)))
  61. blackLabel?.addGestureRecognizer(blackLabelTapAction)
  62. greenButton.backgroundColor = .green
  63. greenButton.layer.cornerRadius = 5
  64. greenButton.layer.masksToBounds = true
  65. greenLabel.text = NSLocalizedString("_green_", comment: "")
  66. let greenLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(greenButtonAction(_:)))
  67. greenLabel?.addGestureRecognizer(greenLabelTapAction)
  68. grayButton.backgroundColor = .gray
  69. grayButton.layer.cornerRadius = 5
  70. grayButton.layer.masksToBounds = true
  71. grayLabel.text = NSLocalizedString("_gray_", comment: "")
  72. let grayLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(grayButtonAction(_:)))
  73. grayLabel?.addGestureRecognizer(grayLabelTapAction)
  74. defaultButton.backgroundColor = NCBrandColor.shared.brandElement
  75. defaultButton.layer.cornerRadius = 5
  76. defaultButton.layer.masksToBounds = true
  77. defaultLabel.text = NSLocalizedString("_default_", comment: "")
  78. let defaultLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(defaultButtonAction(_:)))
  79. defaultLabel?.addGestureRecognizer(defaultLabelTapAction)
  80. }
  81. @IBAction func orangeButtonAction(_ sender: AnyObject) {
  82. updateColor(hexColor: UIColor.orange.hexString)
  83. }
  84. @IBAction func redButtonAction(_ sender: AnyObject) {
  85. updateColor(hexColor: UIColor.red.hexString)
  86. }
  87. @IBAction func purpleButtonAction(_ sender: AnyObject) {
  88. updateColor(hexColor: UIColor.purple.hexString)
  89. }
  90. @IBAction func blueButtonAction(_ sender: AnyObject) {
  91. updateColor(hexColor: UIColor.blue.hexString)
  92. }
  93. @IBAction func blackButtonAction(_ sender: AnyObject) {
  94. updateColor(hexColor: UIColor.black.hexString)
  95. }
  96. @IBAction func greenButtonAction(_ sender: AnyObject) {
  97. updateColor(hexColor: UIColor.green.hexString)
  98. }
  99. @IBAction func grayButtonAction(_ sender: AnyObject) {
  100. updateColor(hexColor: UIColor.gray.hexString)
  101. }
  102. @IBAction func defaultButtonAction(_ sender: AnyObject) {
  103. updateColor(hexColor: nil)
  104. }
  105. func updateColor(hexColor: String?) {
  106. if let metadata = metadata {
  107. let serverUrl = metadata.serverUrl + "/" + metadata.fileName
  108. if NCManageDatabase.shared.setDirectory(serverUrl: serverUrl, colorFolder: hexColor, account: metadata.account) != nil {
  109. self.dismiss(animated: true)
  110. NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterReloadDataSource, userInfo: ["serverUrl": metadata.serverUrl])
  111. }
  112. }
  113. self.dismiss(animated: true)
  114. }
  115. }