NCColorPicker.swift 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  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 brownButton: 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 brownLabel: 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. view.backgroundColor = NCBrandColor.shared.secondarySystemBackground
  33. orangeButton.backgroundColor = .orange
  34. orangeButton.layer.cornerRadius = 5
  35. orangeButton.layer.masksToBounds = true
  36. orangeLabel.text = NSLocalizedString("_orange_", comment: "")
  37. let orangeLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(orangeButtonAction(_:)))
  38. orangeLabel?.addGestureRecognizer(orangeLabelTapAction)
  39. redButton.backgroundColor = .red
  40. redButton.layer.cornerRadius = 5
  41. redButton.layer.masksToBounds = true
  42. redLabel.text = NSLocalizedString("_red_", comment: "")
  43. let redLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(redButtonAction(_:)))
  44. redLabel?.addGestureRecognizer(redLabelTapAction)
  45. purpleButton.backgroundColor = .purple
  46. purpleButton.layer.cornerRadius = 5
  47. purpleButton.layer.masksToBounds = true
  48. purpleLabel.text = NSLocalizedString("_purple_", comment: "")
  49. let purpleLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(purpleButtonAction(_:)))
  50. purpleLabel?.addGestureRecognizer(purpleLabelTapAction)
  51. blueButton.backgroundColor = .blue
  52. blueButton.layer.cornerRadius = 5
  53. blueButton.layer.masksToBounds = true
  54. blueLabel.text = NSLocalizedString("_blue_", comment: "")
  55. let blueLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(blueButtonAction(_:)))
  56. blueLabel?.addGestureRecognizer(blueLabelTapAction)
  57. brownButton.backgroundColor = .brown
  58. brownButton.layer.cornerRadius = 5
  59. brownButton.layer.masksToBounds = true
  60. brownLabel.text = NSLocalizedString("_brown_", comment: "")
  61. let brownLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(brownButtonAction(_:)))
  62. brownLabel?.addGestureRecognizer(brownLabelTapAction)
  63. greenButton.backgroundColor = .green
  64. greenButton.layer.cornerRadius = 5
  65. greenButton.layer.masksToBounds = true
  66. greenLabel.text = NSLocalizedString("_green_", comment: "")
  67. let greenLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(greenButtonAction(_:)))
  68. greenLabel?.addGestureRecognizer(greenLabelTapAction)
  69. grayButton.backgroundColor = .gray
  70. grayButton.layer.cornerRadius = 5
  71. grayButton.layer.masksToBounds = true
  72. grayLabel.text = NSLocalizedString("_gray_", comment: "")
  73. let grayLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(grayButtonAction(_:)))
  74. grayLabel?.addGestureRecognizer(grayLabelTapAction)
  75. defaultButton.backgroundColor = NCBrandColor.shared.brandElement
  76. defaultButton.layer.cornerRadius = 5
  77. defaultButton.layer.masksToBounds = true
  78. defaultLabel.text = NSLocalizedString("_default_", comment: "")
  79. let defaultLabelTapAction = UITapGestureRecognizer(target: self, action: #selector(defaultButtonAction(_:)))
  80. defaultLabel?.addGestureRecognizer(defaultLabelTapAction)
  81. }
  82. @IBAction func orangeButtonAction(_ sender: AnyObject) {
  83. updateColor(hexColor: UIColor.orange.hexString)
  84. }
  85. @IBAction func redButtonAction(_ sender: AnyObject) {
  86. updateColor(hexColor: UIColor.red.hexString)
  87. }
  88. @IBAction func purpleButtonAction(_ sender: AnyObject) {
  89. updateColor(hexColor: UIColor.purple.hexString)
  90. }
  91. @IBAction func blueButtonAction(_ sender: AnyObject) {
  92. updateColor(hexColor: UIColor.blue.hexString)
  93. }
  94. @IBAction func brownButtonAction(_ sender: AnyObject) {
  95. updateColor(hexColor: UIColor.brown.hexString)
  96. }
  97. @IBAction func greenButtonAction(_ sender: AnyObject) {
  98. updateColor(hexColor: UIColor.green.hexString)
  99. }
  100. @IBAction func grayButtonAction(_ sender: AnyObject) {
  101. updateColor(hexColor: UIColor.gray.hexString)
  102. }
  103. @IBAction func defaultButtonAction(_ sender: AnyObject) {
  104. updateColor(hexColor: nil)
  105. }
  106. func updateColor(hexColor: String?) {
  107. if let metadata = metadata {
  108. let serverUrl = metadata.serverUrl + "/" + metadata.fileName
  109. if NCManageDatabase.shared.setDirectory(serverUrl: serverUrl, colorFolder: hexColor, account: metadata.account) != nil {
  110. self.dismiss(animated: true)
  111. NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterReloadDataSource, userInfo: ["serverUrl": metadata.serverUrl])
  112. }
  113. }
  114. self.dismiss(animated: true)
  115. }
  116. }