NCColorPicker.swift 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  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 orangeText: UITextField!
  20. @IBOutlet weak var redText: UITextField!
  21. @IBOutlet weak var purpleText: UITextField!
  22. @IBOutlet weak var blueText: UITextField!
  23. @IBOutlet weak var blackText: UITextField!
  24. @IBOutlet weak var greenText: UITextField!
  25. @IBOutlet weak var grayText: UITextField!
  26. @IBOutlet weak var defaultLabel: UILabel!
  27. var metadata: tableMetadata?
  28. // MARK: - View Life Cycle
  29. override func viewDidLoad() {
  30. super.viewDidLoad()
  31. orangeButton.backgroundColor = .orange
  32. orangeButton.layer.cornerRadius = 5
  33. orangeButton.layer.masksToBounds = true
  34. orangeText.text = NSLocalizedString("_orange_", comment: "")
  35. redButton.backgroundColor = .red
  36. redButton.layer.cornerRadius = 5
  37. redButton.layer.masksToBounds = true
  38. redText.text = NSLocalizedString("_red_", comment: "")
  39. purpleButton.backgroundColor = .purple
  40. purpleButton.layer.cornerRadius = 5
  41. purpleButton.layer.masksToBounds = true
  42. purpleText.text = NSLocalizedString("_purple_", comment: "")
  43. blueButton.backgroundColor = .blue
  44. blueButton.layer.cornerRadius = 5
  45. blueButton.layer.masksToBounds = true
  46. blueText.text = NSLocalizedString("_blue_", comment: "")
  47. blackButton.backgroundColor = .black
  48. blackButton.layer.cornerRadius = 5
  49. blackButton.layer.masksToBounds = true
  50. blackText.text = NSLocalizedString("_black_", comment: "")
  51. greenButton.backgroundColor = .green
  52. greenButton.layer.cornerRadius = 5
  53. greenButton.layer.masksToBounds = true
  54. greenText.text = NSLocalizedString("_green_", comment: "")
  55. grayButton.backgroundColor = .gray
  56. grayButton.layer.cornerRadius = 5
  57. grayButton.layer.masksToBounds = true
  58. grayText.text = NSLocalizedString("_gray_", comment: "")
  59. defaultButton.backgroundColor = NCBrandColor.shared.brandElement
  60. defaultButton.layer.cornerRadius = 5
  61. defaultButton.layer.masksToBounds = true
  62. defaultLabel.text = NSLocalizedString("_default_", comment: "")
  63. }
  64. @IBAction func orangeButtonAction(_ sender: UIButton) {
  65. updateColor(hexColor: UIColor.orange.hexString)
  66. }
  67. @IBAction func redButtonAction(_ sender: UIButton) {
  68. updateColor(hexColor: UIColor.red.hexString)
  69. }
  70. @IBAction func pupleButtonAction(_ sender: UIButton) {
  71. updateColor(hexColor: UIColor.purple.hexString)
  72. }
  73. @IBAction func blueButtonAction(_ sender: UIButton) {
  74. updateColor(hexColor: UIColor.blue.hexString)
  75. }
  76. @IBAction func blackButtonAction(_ sender: UIButton) {
  77. updateColor(hexColor: UIColor.black.hexString)
  78. }
  79. @IBAction func greenButtonAction(_ sender: UIButton) {
  80. updateColor(hexColor: UIColor.green.hexString)
  81. }
  82. @IBAction func grayButtonAction(_ sender: UIButton) {
  83. updateColor(hexColor: UIColor.gray.hexString)
  84. }
  85. @IBAction func defaultButtonAction(_ sender: UIButton) {
  86. updateColor(hexColor: NCBrandColor.shared.brandElement.hexString)
  87. }
  88. func updateColor(hexColor: String?) {
  89. if let metadata = metadata {
  90. let serverUrl = metadata.serverUrl + "/" + metadata.fileName
  91. if NCManageDatabase.shared.setDirectory(serverUrl: serverUrl, colorFolder: hexColor, account: metadata.account) != nil {
  92. self.dismiss(animated: true)
  93. NotificationCenter.default.postOnMainThread(name: NCGlobal.shared.notificationCenterReloadDataSource, userInfo: ["serverUrl": metadata.serverUrl])
  94. }
  95. }
  96. self.dismiss(animated: true)
  97. }
  98. }