|
@@ -20,7 +20,7 @@ import KMComponentLibrary
|
|
|
@objc optional func headerFooterPropertyControllerSaveTemplateSuccess(_ controller: KMHeaderPropertyController, _ data: KMHeaderFooterObject)
|
|
|
|
|
|
//取消修改模板信息
|
|
|
-// @objc optional func headerFooterPropertyControllerCancelTemplateEdit(_ controller: KMNWatermarkPropertyController)
|
|
|
+ @objc optional func headerFooterPropertyControllerCancelTemplateEdit(_ controller: KMHeaderPropertyController)
|
|
|
|
|
|
}
|
|
|
|
|
@@ -30,6 +30,7 @@ class KMHeaderPropertyController: NSViewController {
|
|
|
|
|
|
@IBOutlet var titleLabel: NSTextField!
|
|
|
@IBOutlet var templateButton: ComponentButton!
|
|
|
+ @IBOutlet var leftTopButton: ComponentButton!
|
|
|
|
|
|
//Font
|
|
|
@IBOutlet var fontBGView: NSView!
|
|
@@ -73,8 +74,11 @@ class KMHeaderPropertyController: NSViewController {
|
|
|
|
|
|
private var positionSelRow: Int = -1
|
|
|
private var positionSelColumn: Int = -1
|
|
|
+
|
|
|
+ private var isEditModeChanged: Bool = false //修改时,记录是否有做过调整
|
|
|
|
|
|
var totalPDFCount: Int = 1
|
|
|
+ var originalDataDict: Dictionary<String, Any>?
|
|
|
var headerFooterModel: KMHeaderFooterObject = KMHeaderFooterObject()
|
|
|
|
|
|
weak open var delegate: KMHeaderPropertyControllerDelegate?
|
|
@@ -100,6 +104,9 @@ class KMHeaderPropertyController: NSViewController {
|
|
|
templateButton.properties = ComponentButtonProperty(type: .text_gray, size: .xxs, onlyIcon: true, icon: NSImage(named: "icon_wm_template"), keepPressState: false)
|
|
|
templateButton.setTarget(self, action: #selector(componentButtonClicked(_:)))
|
|
|
|
|
|
+ leftTopButton.properties = ComponentButtonProperty(type: .text_gray, size: .xxs, onlyIcon: true, icon: NSImage(named: "watermark_arrowLeft"), keepPressState: false)
|
|
|
+ leftTopButton.setTarget(self, action: #selector(leftTopButtonClicked(_:)))
|
|
|
+
|
|
|
//Font
|
|
|
fontLabel.stringValue = KMLocalizedString("Font")
|
|
|
fontLabel.textColor = ComponentLibrary.shared.getComponentColorFromKey("colorText/2")
|
|
@@ -240,6 +247,18 @@ class KMHeaderPropertyController: NSViewController {
|
|
|
|
|
|
func reloadData() {
|
|
|
|
|
|
+ titleLabel.stringValue = KMLocalizedString("Add Header & Footer")
|
|
|
+ leftTopButton.isHidden = true
|
|
|
+ saveTemplateBGView.isHidden = false
|
|
|
+ templateButton.properties.icon = NSImage(named: "icon_wm_template")
|
|
|
+ if editSubType == .edit {
|
|
|
+ titleLabel.stringValue = KMLocalizedString("Edit Header & Footer")
|
|
|
+ leftTopButton.isHidden = false
|
|
|
+ saveTemplateBGView.isHidden = true
|
|
|
+ templateButton.properties.icon = NSImage(named: "edit_save")
|
|
|
+ }
|
|
|
+ templateButton.reloadData()
|
|
|
+
|
|
|
//Font
|
|
|
if let index = familyNames.firstIndex(of: headerFooterModel.fontName) {
|
|
|
fontNameSelect.selectItemAtIndex(index)
|
|
@@ -345,6 +364,37 @@ class KMHeaderPropertyController: NSViewController {
|
|
|
}
|
|
|
|
|
|
//MARK: - Action
|
|
|
+ @objc func leftTopButtonClicked(_ sender: ComponentButton) {
|
|
|
+ if sender == leftTopButton {
|
|
|
+ if isEditModeChanged == true {
|
|
|
+ let alert = NSAlert()
|
|
|
+ alert.alertStyle = .critical
|
|
|
+ alert.messageText = KMLocalizedString("Save template changes?")
|
|
|
+ alert.informativeText = KMLocalizedString("Cancel and they will not be saved.")
|
|
|
+ alert.addButton(withTitle: KMLocalizedString("Save"))
|
|
|
+ alert.addButton(withTitle: KMLocalizedString("Cancel"))
|
|
|
+ alert.beginSheetModal(for: NSApp.mainWindow!) { (response) in
|
|
|
+ if response == NSApplication.ModalResponse.alertFirstButtonReturn {
|
|
|
+ let _ = KMHeaderFooterManager.defaultManager.updateHeaderFooter(theModel: self.headerFooterModel)
|
|
|
+
|
|
|
+ self.isEditModeChanged = false
|
|
|
+ } else {
|
|
|
+ if let dict = self.originalDataDict {
|
|
|
+ KMHeaderFooterManager.defaultManager.updateModel(self.headerFooterModel, with: dict as NSDictionary)
|
|
|
+ let _ = KMHeaderFooterManager.defaultManager.updateHeaderFooter(theModel: self.headerFooterModel)
|
|
|
+ }
|
|
|
+ self.delegate?.headerFooterPropertyControllerCancelTemplateEdit?(self)
|
|
|
+
|
|
|
+ self.isEditModeChanged = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ delegate?.headerFooterPropertyControllerCancelTemplateEdit?(self)
|
|
|
+
|
|
|
+ isEditModeChanged = false
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
@objc func componentButtonClicked(_ sender: ComponentButton) {
|
|
|
if sender == templateButton {
|
|
@@ -404,6 +454,9 @@ extension KMHeaderPropertyController: ComponentCColorDelegate {
|
|
|
reloadData()
|
|
|
|
|
|
delegate?.headerFooterPropertyControllerDidUpdate?(self)
|
|
|
+
|
|
|
+ isEditModeChanged = true
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -429,8 +482,9 @@ extension KMHeaderPropertyController: ComponentInputNumberDelegate {
|
|
|
}
|
|
|
reloadData()
|
|
|
|
|
|
- delegate?.headerFooterPropertyControllerDidUpdate?(self)
|
|
|
+ isEditModeChanged = true
|
|
|
|
|
|
+ delegate?.headerFooterPropertyControllerDidUpdate?(self)
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -461,6 +515,8 @@ extension KMHeaderPropertyController: ComponentSelectDelegate {
|
|
|
|
|
|
reloadData()
|
|
|
|
|
|
+ isEditModeChanged = true
|
|
|
+
|
|
|
delegate?.headerFooterPropertyControllerDidUpdate?(self)
|
|
|
|
|
|
}
|
|
@@ -507,9 +563,10 @@ extension KMHeaderPropertyController: ComponentGroupDelegate {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
reloadData()
|
|
|
|
|
|
+ isEditModeChanged = true
|
|
|
+
|
|
|
updateTextAreaText()
|
|
|
|
|
|
delegate?.headerFooterPropertyControllerDidUpdate?(self)
|
|
@@ -527,7 +584,9 @@ extension KMHeaderPropertyController: ComponentCPositionDelegate {
|
|
|
positionSelColumn = column
|
|
|
|
|
|
reloadData()
|
|
|
-
|
|
|
+
|
|
|
+ isEditModeChanged = true
|
|
|
+
|
|
|
delegate?.headerFooterPropertyControllerDidUpdate?(self)
|
|
|
|
|
|
}
|
|
@@ -554,6 +613,8 @@ extension KMHeaderPropertyController: ComponentTextareaDelegate {
|
|
|
|
|
|
reloadData()
|
|
|
|
|
|
+ isEditModeChanged = true
|
|
|
+
|
|
|
delegate?.headerFooterPropertyControllerDidUpdate?(self)
|
|
|
|
|
|
}
|