|
@@ -27,42 +27,43 @@ class KMBackgroundManager: NSObject, NSCoding {
|
|
|
for object in man.backgroundObjects {
|
|
|
let model = self.parseObject(object: object)
|
|
|
self.datas.append(model)
|
|
|
+ self.backgroundObjects.append(object)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (FileManager.default.fileExists(atPath: kBackgroundPlistPath!)) {
|
|
|
- let dataDict = NSDictionary(contentsOfFile: kBackgroundPlistPath!)
|
|
|
- if (dataDict == nil) {
|
|
|
- return
|
|
|
- }
|
|
|
- var deleteKeys: Array<String> = []
|
|
|
- for keyIndex in 0 ..< (dataDict?.allKeys.count)! {
|
|
|
- let key: String = dataDict?.allKeys[keyIndex] as! String
|
|
|
- let backgroundDict: NSDictionary = dataDict?.object(forKey: key) as! NSDictionary
|
|
|
-
|
|
|
- let model = parseDictionary(dict: backgroundDict)
|
|
|
- /// 赋值id
|
|
|
- model.backgroundID = key
|
|
|
- if (model.type == .file) {
|
|
|
- if (model.image == nil) {
|
|
|
- deleteKeys.append(key)
|
|
|
- } else {
|
|
|
- self.datas.append(model)
|
|
|
- }
|
|
|
- } else {
|
|
|
- self.datas.append(model)
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- if (deleteKeys.count > 0) {
|
|
|
- let newDict: NSMutableDictionary = NSMutableDictionary(dictionary: dataDict!)
|
|
|
- for key in deleteKeys {
|
|
|
- newDict.removeObject(forKey: key)
|
|
|
- }
|
|
|
- newDict.write(toFile: kBackgroundPlistPath!, atomically: true)
|
|
|
- }
|
|
|
- }
|
|
|
+// if (FileManager.default.fileExists(atPath: kBackgroundPlistPath!)) {
|
|
|
+// let dataDict = NSDictionary(contentsOfFile: kBackgroundPlistPath!)
|
|
|
+// if (dataDict == nil) {
|
|
|
+// return
|
|
|
+// }
|
|
|
+// var deleteKeys: Array<String> = []
|
|
|
+// for keyIndex in 0 ..< (dataDict?.allKeys.count)! {
|
|
|
+// let key: String = dataDict?.allKeys[keyIndex] as! String
|
|
|
+// let backgroundDict: NSDictionary = dataDict?.object(forKey: key) as! NSDictionary
|
|
|
+//
|
|
|
+// let model = parseDictionary(dict: backgroundDict)
|
|
|
+// /// 赋值id
|
|
|
+// model.backgroundID = key
|
|
|
+// if (model.type == .file) {
|
|
|
+// if (model.image == nil) {
|
|
|
+// deleteKeys.append(key)
|
|
|
+// } else {
|
|
|
+// self.datas.append(model)
|
|
|
+// }
|
|
|
+// } else {
|
|
|
+// self.datas.append(model)
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// if (deleteKeys.count > 0) {
|
|
|
+// let newDict: NSMutableDictionary = NSMutableDictionary(dictionary: dataDict!)
|
|
|
+// for key in deleteKeys {
|
|
|
+// newDict.removeObject(forKey: key)
|
|
|
+// }
|
|
|
+// newDict.write(toFile: kBackgroundPlistPath!, atomically: true)
|
|
|
+// }
|
|
|
+// }
|
|
|
}
|
|
|
|
|
|
required init?(coder: NSCoder) {
|
|
@@ -119,6 +120,9 @@ class KMBackgroundManager: NSObject, NSCoding {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ let obj = self.parseModeForObject(model)
|
|
|
+ self._addBackground(obj)
|
|
|
+
|
|
|
return result
|
|
|
}
|
|
|
|
|
@@ -153,6 +157,10 @@ class KMBackgroundManager: NSObject, NSCoding {
|
|
|
self.datas.removeObject(model)
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ let obj = self.parseModeForObject(model)
|
|
|
+ self._removeBackground(obj)
|
|
|
+
|
|
|
return result
|
|
|
}
|
|
|
|
|
@@ -176,6 +184,8 @@ class KMBackgroundManager: NSObject, NSCoding {
|
|
|
self.datas.removeAll()
|
|
|
}
|
|
|
|
|
|
+ self._clearStored()
|
|
|
+
|
|
|
return result
|
|
|
}
|
|
|
|
|
@@ -209,6 +219,8 @@ class KMBackgroundManager: NSObject, NSCoding {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ self._clearStored()
|
|
|
+
|
|
|
return result
|
|
|
}
|
|
|
|
|
@@ -242,6 +254,8 @@ class KMBackgroundManager: NSObject, NSCoding {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ self._clearStored()
|
|
|
+
|
|
|
return result
|
|
|
}
|
|
|
|
|
@@ -411,10 +425,59 @@ class KMBackgroundManager: NSObject, NSCoding {
|
|
|
model.horizontalSpace = object.horizontalSpace.cgFloat
|
|
|
model.pageRangeType = KMWatermarkeModelPageRangeType.init(rawValue: object.pageRangeType.rawValue) ?? .all
|
|
|
model.pagesString = object.pagesString
|
|
|
+ model.backgroundID = object.backgroundID ?? "background0"
|
|
|
|
|
|
return model
|
|
|
}
|
|
|
|
|
|
+ private func parseModeForObject(_ mode: KMBackgroundModel) -> KMBackgroundObject {
|
|
|
+ let obj = KMBackgroundObject()
|
|
|
+
|
|
|
+ obj.type = mode.type
|
|
|
+ if (obj.type == .file) {
|
|
|
+ obj.image = mode.image
|
|
|
+ obj.imagePath = mode.imagePath
|
|
|
+ } else {
|
|
|
+ obj.color = mode.color ?? .red
|
|
|
+ }
|
|
|
+
|
|
|
+ obj.scale = mode.scale
|
|
|
+ obj.rotation = Int(mode.rotation)
|
|
|
+ obj.opacity = mode.opacity
|
|
|
+ obj.verticalMode = mode.verticalMode
|
|
|
+ obj.verticalSpace = Int(mode.verticalSpace)
|
|
|
+ obj.horizontalMode = mode.horizontalMode
|
|
|
+ obj.horizontalSpace = Int(mode.horizontalSpace)
|
|
|
+ obj.pageRangeType = KMBatchOperatePageChoice.init(rawValue: mode.pageRangeType.rawValue) ?? .All
|
|
|
+ obj.pagesString = mode.pagesString
|
|
|
+ obj.backgroundID = mode.backgroundID
|
|
|
+
|
|
|
+ return obj
|
|
|
+ }
|
|
|
+
|
|
|
+ private func _addBackground(_ obj: KMBackgroundObject) {
|
|
|
+ self.backgroundObjects.insert(obj, at: 0)
|
|
|
+ self._store()
|
|
|
+ }
|
|
|
+
|
|
|
+ private func _removeBackground(_ obj: KMBackgroundObject) {
|
|
|
+ self.backgroundObjects.removeObject(obj)
|
|
|
+ self._store()
|
|
|
+ }
|
|
|
+
|
|
|
+ private func _store() {
|
|
|
+ let encodedObject = NSKeyedArchiver.archivedData(withRootObject: self)
|
|
|
+ let defaults = UserDefaults.standard
|
|
|
+ defaults.set(encodedObject, forKey: "kBackgroundInfoSaveKey")
|
|
|
+ defaults.synchronize()
|
|
|
+ }
|
|
|
+
|
|
|
+ private func _clearStored() {
|
|
|
+ let defaults = UserDefaults.standard
|
|
|
+ defaults.set(nil, forKey: "kBackgroundInfoSaveKey")
|
|
|
+ defaults.synchronize()
|
|
|
+ }
|
|
|
+
|
|
|
private func tagString() -> String {
|
|
|
var result: String = ""
|
|
|
|