Browse Source

Merge branch 'develop_2025' of git.kdan.cc:Mac_PDF/PDF_Office into develop_2025

tangchao 4 months ago
parent
commit
f91d611423
14 changed files with 303 additions and 33 deletions
  1. 25 25
      PDF Office/KMComponentLibrary/KMComponentLibrary/View/Tabs/ComponentTabs.swift
  2. 2 2
      PDF Office/PDF Master/KMClass/KMPDFViewController/KMPDFViewController.xib
  3. BIN
      PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/111231.imageset/pen.pdf
  4. 12 0
      PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_TTS.imageset/Contents.json
  5. 63 0
      PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_TTS.imageset/toolbar_TTS.pdf
  6. 1 1
      PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/111231.imageset/Contents.json
  7. BIN
      PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_ai.imageset/toolbar_ai.pdf
  8. 12 0
      PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_batch.imageset/Contents.json
  9. 60 0
      PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_batch.imageset/toolbar_batch.pdf
  10. 12 0
      PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_ppt.imageset/Contents.json
  11. 98 0
      PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_ppt.imageset/toolbar_ppt.pdf
  12. 13 1
      PDF Office/PDF Master/KMClass/KMPDFViewController/PDFView/Toolbar/KMPDFToolbarController.swift
  13. 1 0
      PDF Office/PDF Master/KMClass/KMPDFViewController/PDFView/Toolbar/KMPDFToolbarController.xib
  14. 4 4
      PDF Office/PDF Master/KMClass/KMPDFViewController/PDFView/Toolbar/Model/KMPDFToolbarManager.swift

+ 25 - 25
PDF Office/KMComponentLibrary/KMComponentLibrary/View/Tabs/ComponentTabs.swift

@@ -39,20 +39,20 @@ public class ComponentTabs: ComponentBaseXibView {
     public override func awakeFromNib() {
         super.awakeFromNib()
        
-        self.contendBox.borderWidth = 0
-        self.contendBox.fillColor = NSColor.clear
+        contendBox.borderWidth = 0
+        contendBox.fillColor = NSColor.clear
         
     }
     
     //MARK: - public
     public func updateItemProperty(_ propertys: [ComponentTabsProperty]) {
-        self.propertyArr = propertys
+        propertyArr = propertys
         
-        self.reloadData()
+        reloadData()
     }
     
     public func refreshItems() {
-        if let subviews = self.contendBox.contentView?.subviews {
+        if let subviews = contendBox.contentView?.subviews {
             for view in subviews {
                 if view is ComponentTabsItem {
                     (view as! ComponentTabsItem).reloadData()
@@ -62,7 +62,7 @@ public class ComponentTabs: ComponentBaseXibView {
     }
     
     func reloadData() {
-        if let subviews = self.contendBox.contentView?.subviews {
+        if let subviews = contendBox.contentView?.subviews {
             for view in subviews {
                 if view is ComponentTabsItem {
                     view.removeFromSuperview()
@@ -72,61 +72,61 @@ public class ComponentTabs: ComponentBaseXibView {
             }
         }
         
-        if self.propertyArr.count == 0 {
+        if propertyArr.count == 0 {
             return
         }
         
-        let property = self.propertyArr.first
+        let property = propertyArr.first
         
-        self.lineBox.isHidden = true
+        lineBox.isHidden = true
         if property?.tabsType == .underline_Fill {
-            self.lineBox.isHidden = false
+            lineBox.isHidden = false
             if let value = ComponentLibrary.shared.getComponentValueFromKey("colorBorder/divider") {
                 let currentValue = value as! [String : Any]
-                self.lineBox.borderColor = ComponentLibrary.shared.getColor(rgbaDict: currentValue)
+                lineBox.borderColor = ComponentLibrary.shared.getColor(rgbaDict: currentValue)
             } else {
-                self.lineBox.borderColor = NSColor.clear
+                lineBox.borderColor = NSColor.clear
             }
         }
          
         DispatchQueue.main.async { [self] in
             var itemTotalWidth: CGFloat = 0
-            for property in self.propertyArr {
+            for property in propertyArr {
                 ComponentLibrary.shared.configTabsComponent(properties: property)
                 itemTotalWidth += property.propertyInfo.viewWidth
             }
             var itemXValue: CGFloat = 0
             var itemGap: CGFloat = 0
             if property?.tabsType == .underline_Center {
-                itemXValue = (CGRectGetWidth(self.bounds) - itemTotalWidth)/2
+                itemXValue = (CGRectGetWidth(bounds) - itemTotalWidth)/2
             } else if property?.tabsType == .underline_Fill {
                 itemXValue = 0
             } else if property?.tabsType == .onlyText {
                 itemXValue = 0
-                itemGap = (CGRectGetWidth(self.bounds) - itemTotalWidth)/(CGFloat(self.propertyArr.count) - 1)
+                itemGap = (CGRectGetWidth(bounds) - itemTotalWidth)/(CGFloat(propertyArr.count) - 1)
             }
-            for i in 0...self.propertyArr.count - 1 {
-                let itemProperty = self.propertyArr[i]
+            for i in 0...propertyArr.count - 1 {
+                let itemProperty = propertyArr[i]
                 let item = ComponentTabsItem.init()
                 item.properties = itemProperty
-                item.frame = CGRectMake(itemXValue, 0, itemProperty.propertyInfo.viewWidth, self.frame.size.height)
+                item.frame = CGRectMake(itemXValue, 0, itemProperty.propertyInfo.viewWidth, frame.size.height)
                 if property?.tabsType == .underline_Fill {
-                    item.frame = CGRectMake(itemXValue, 0, CGRectGetWidth(self.frame)/CGFloat(self.propertyArr.count), self.frame.size.height)
+                    item.frame = CGRectMake(itemXValue, 0, CGRectGetWidth(frame)/CGFloat(propertyArr.count), frame.size.height)
                 } else if property?.tabsType == .onlyText {
-                    item.frame = CGRectMake(itemXValue, 0, itemProperty.propertyInfo.viewWidth, self.frame.size.height)
+                    item.frame = CGRectMake(itemXValue, 0, itemProperty.propertyInfo.viewWidth, frame.size.height)
                 }
                 item.tagIndex = i
                 item.autoresizingMask = [.maxXMargin, .minYMargin, .maxYMargin, .height]
                 item.setTarget(self, action: #selector(cSelectorItemClicked(_:)))
-                self.contendBox.contentView?.addSubview(item)
+                contendBox.contentView?.addSubview(item)
                 
                 itemXValue += CGRectGetWidth(item.frame)
                 if property?.tabsType == .onlyText {
-                    let divider: ComponentDivider = ComponentDivider(frame: CGRectMake(itemXValue+itemGap/2, CGRectGetHeight(self.frame)/2-8, 1, 16))
+                    let divider: ComponentDivider = ComponentDivider(frame: CGRectMake(itemXValue+itemGap/2, CGRectGetHeight(frame)/2-8, 1, 16))
                     let dividerProperty: ComponentDividerProperty = ComponentDividerProperty.init(type: .vertical, dash: false)
                     divider.properties = dividerProperty
                     divider.autoresizingMask = [.minXMargin, .maxXMargin, .minYMargin, .maxYMargin]
-                    self.contendBox.contentView?.addSubview(divider)
+                    contendBox.contentView?.addSubview(divider)
                     
                     itemXValue += itemGap
                 }
@@ -137,7 +137,7 @@ public class ComponentTabs: ComponentBaseXibView {
     @objc func cSelectorItemClicked(_ item: ComponentTabsItem) {
         let property = item.properties
         
-        if let subviews = self.contendBox.contentView?.subviews {
+        if let subviews = contendBox.contentView?.subviews {
             for view in subviews {
                 if view is ComponentTabsItem {
                     let itemView = view as! ComponentTabsItem
@@ -149,7 +149,7 @@ public class ComponentTabs: ComponentBaseXibView {
             }
         }
         
-        self.delegate?.componentTabsDidSelected?(self, property)
+        delegate?.componentTabsDidSelected?(self, property)
     }
     
 }

+ 2 - 2
PDF Office/PDF Master/KMClass/KMPDFViewController/KMPDFViewController.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21507" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22505" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22505"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>

BIN
PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/111231.imageset/pen.pdf


+ 12 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_TTS.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "toolbar_TTS.pdf",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 63 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_TTS.imageset/toolbar_TTS.pdf

@@ -0,0 +1,63 @@
+%PDF-1.7
+
+1 0 obj
+  << >>
+endobj
+
+2 0 obj
+  << /Filter /FlateDecode
+     /Length 3 0 R
+  >>
+stream
+x½”Ëj1D÷úŠ^<õ¨_Û$�u’O	L‚Áßï’ºT¥…Á/°6Ss¤*Ý+u÷í÷»Çùî×�¯Ã·ßáÖÿòCøâé\ÇpnâFJs“Å„ˆ¼,›Ç%MŹ¥Wˆ8Íë|ò}ˆs3EÙ÷06ix5”¸vögaoÿ뀸4Uê[·)]bQi‚â9¡Ø)1Ê_Œ~o1æŽMŽáå"¹«Y�,uÿ¥ƒqmŠ¹c‡Œ<AWŒ@SµæM 0…QfñƒÑ±üÜù•cýó%܇Ÿo~HbzýS2·¥c»ÙåtžÆq�†ù´¥e‰§–&DrÀ”åÉlmBI"Ú¯ø(od¼v0Þ/'U†QFý¬ÖP-1ÄH»+¥Ê«÷ð¾kPØË× HµÂSj.ÇÏδJŠä€
+Žåbúl(IÄ#%N‰êÚAæ&˜«ÀkR£ŒX®¡zª!ÝÓâ]‹•Òõ}ÎMlm)©vCxJÑÓ°­Í œŠRøX ˜bH†@T
+3ò¦ÕKíƒÁ‡Æý*~*0κ³ŒFX¶¡zbŠ‘6.VJ×ø�Ñëýò�D½‹~S÷žŽGS8G*´§Ù(�ÎVŸS0*°šƒD3åT75ÎŒ
+7cŠ�ü‘FÆÙ®"1drOÔ.
+FÆœŽiïê¦v�¾�'BŸ;
+endstream
+endobj
+
+3 0 obj
+  518
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 28.000000 28.000000 ]
+     /Resources 1 0 R
+     /Contents 2 0 R
+     /Parent 5 0 R
+  >>
+endobj
+
+5 0 obj
+  << /Kids [ 4 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+6 0 obj
+  << /Pages 5 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 7
+0000000000 65535 f
+0000000010 00000 n
+0000000034 00000 n
+0000000636 00000 n
+0000000658 00000 n
+0000000831 00000 n
+0000000905 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+964
+%%EOF

+ 1 - 1
PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/111231.imageset/Contents.json

@@ -1,7 +1,7 @@
 {
   "images" : [
     {
-      "filename" : "pen.pdf",
+      "filename" : "toolbar_ai.pdf",
       "idiom" : "universal"
     }
   ],

BIN
PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_ai.imageset/toolbar_ai.pdf


+ 12 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_batch.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "toolbar_batch.pdf",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 60 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_batch.imageset/toolbar_batch.pdf

@@ -0,0 +1,60 @@
+%PDF-1.7
+
+1 0 obj
+  << >>
+endobj
+
+2 0 obj
+  << /Filter /FlateDecode
+     /Length 3 0 R
+  >>
+stream
+xm’ËN1E÷ùŠ¬‘qv²$ÖÀ'DEEšVB•ø~n†Æ‰Ôz3·gìëGçéõðûÝoÏöåÓ<Í_íb~9¿‡õC<ªÒw·¢�Ò8Hʽ²&¢A™G{ig“GªŠ“!Zá¶À©¶Y~ªØÌqR*C�Lt¥æi�qG>eY‘vi(űvQ¦¾WÑ	8b¦+iËr
+±ñ.®Sî¾ëàj?…Ó†“ªõ¢æ[­™¬Ý»_?+¹Â±]­™ã¬Þ•�‡ñ”ð¯£Ñ‘ÏU˜†j(Åa•m“Á·o­‚ À3]	Îp…K®pí/íSö‘öÁãŽú6Øk,¿!UÀnÈQÁ€GS]âj´ìRñµô��²“(ÑמÑG¹”îc$Ç’%ô)«Ë‘=‰… ê©gŠ.QØ9NžJ‡ìB¤“%ïb®…àm÷>Ó׃9›wó½VÂ
+endstream
+endobj
+
+3 0 obj
+  357
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 20.000000 20.000000 ]
+     /Resources 1 0 R
+     /Contents 2 0 R
+     /Parent 5 0 R
+  >>
+endobj
+
+5 0 obj
+  << /Kids [ 4 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+6 0 obj
+  << /Pages 5 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 7
+0000000000 65535 f
+0000000010 00000 n
+0000000034 00000 n
+0000000475 00000 n
+0000000497 00000 n
+0000000670 00000 n
+0000000744 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+803
+%%EOF

+ 12 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_ppt.imageset/Contents.json

@@ -0,0 +1,12 @@
+{
+  "images" : [
+    {
+      "filename" : "toolbar_ppt.pdf",
+      "idiom" : "universal"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 98 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/PDFImages.xcassets/Toolbar/toolbar_ppt.imageset/toolbar_ppt.pdf

@@ -0,0 +1,98 @@
+%PDF-1.7
+
+1 0 obj
+  << >>
+endobj
+
+2 0 obj
+  << /Length 3 0 R >>
+stream
+/DeviceRGB CS
+/DeviceRGB cs
+q
+1.000000 0.000000 -0.000000 1.000000 4.000000 6.500000 cm
+0.062745 0.094118 0.156863 scn
+0.000000 15.000000 m
+2.187500 15.000000 l
+17.812500 15.000000 l
+20.000000 15.000000 l
+20.000000 13.125000 l
+18.750000 13.125000 l
+18.750000 0.937500 l
+18.750000 0.419733 18.330267 0.000000 17.812500 0.000000 c
+2.187500 0.000000 l
+1.669733 0.000000 1.250000 0.419733 1.250000 0.937500 c
+1.250000 13.125000 l
+0.000000 13.125000 l
+0.000000 15.000000 l
+h
+3.250000 13.000000 m
+3.250000 2.000000 l
+16.750000 2.000000 l
+16.750000 13.000000 l
+3.250000 13.000000 l
+h
+9.500001 8.366026 m
+11.000000 7.500000 l
+9.500001 6.633975 l
+9.500001 8.366026 l
+h
+13.499999 8.366026 m
+14.166666 7.981126 14.166667 7.018875 13.500000 6.633975 c
+9.000001 4.035898 l
+8.333335 3.650998 7.500000 4.132123 7.500000 4.901923 c
+7.500001 10.098076 l
+7.500001 10.867876 8.333334 11.349002 9.000001 10.964102 c
+13.499999 8.366026 l
+h
+f*
+n
+Q
+
+endstream
+endobj
+
+3 0 obj
+  926
+endobj
+
+4 0 obj
+  << /Annots []
+     /Type /Page
+     /MediaBox [ 0.000000 0.000000 28.000000 28.000000 ]
+     /Resources 1 0 R
+     /Contents 2 0 R
+     /Parent 5 0 R
+  >>
+endobj
+
+5 0 obj
+  << /Kids [ 4 0 R ]
+     /Count 1
+     /Type /Pages
+  >>
+endobj
+
+6 0 obj
+  << /Pages 5 0 R
+     /Type /Catalog
+  >>
+endobj
+
+xref
+0 7
+0000000000 65535 f
+0000000010 00000 n
+0000000034 00000 n
+0000001016 00000 n
+0000001038 00000 n
+0000001211 00000 n
+0000001285 00000 n
+trailer
+<< /ID [ (some) (id) ]
+   /Root 6 0 R
+   /Size 7
+>>
+startxref
+1344
+%%EOF

+ 13 - 1
PDF Office/PDF Master/KMClass/KMPDFViewController/PDFView/Toolbar/KMPDFToolbarController.swift

@@ -17,11 +17,14 @@ import KMComponentLibrary
 class KMPDFToolbarController: NSViewController {
 
     @IBOutlet var contendBox: NSBox!
+    
+    @IBOutlet var leftToolsView: NSView!
     @IBOutlet var leftViewButton: ComponentButton!
     @IBOutlet var pageButton: ComponentButton!
     @IBOutlet var toolsView: ComponentDropdownTool!
     @IBOutlet var dividerView: ComponentDivider!
     @IBOutlet var selectZoom: ComponentSelectZoom!
+    
     @IBOutlet var tabsView: ComponentTabs!
     
     @IBOutlet var rightToolsView: NSView!
@@ -56,6 +59,15 @@ class KMPDFToolbarController: NSViewController {
         
         contendBox.fillColor = ComponentLibrary.shared.getComponentColorFromKey("colorBg/layout-middle")
         
+//        leftToolsView.wantsLayer = true
+//        leftToolsView.layer?.backgroundColor = NSColor.red.cgColor
+//        
+//        rightToolsView.wantsLayer = true
+//        rightToolsView.layer?.backgroundColor = NSColor.red.cgColor
+//        
+//        tabsView.wantsLayer = true
+//        tabsView.layer?.backgroundColor = NSColor.red.cgColor
+        
         setUpProperty()
         
         setUpRightViews()
@@ -339,7 +351,7 @@ class KMPDFToolbarController: NSViewController {
         }
         
         
-        var items: [ComponentMenuitemProperty] = [ComponentMenuitemProperty.header(KMLocalizedString("Show Right Tools")), undoRedo_Menuitem_Property, save_Menuitem_Property, ComponentMenuitemProperty.divider(),
+        let items: [ComponentMenuitemProperty] = [ComponentMenuitemProperty.header(KMLocalizedString("Show Right Tools")), undoRedo_Menuitem_Property, save_Menuitem_Property, ComponentMenuitemProperty.divider(),
         aiTools_Menuitem_Property, batch_Menuitem_Property, tts_Menuitem_Property, ppt_Menuitem_Property, print_Menuitem_Property, share_Menuitem_Property]
         
         var viewHeight: CGFloat = 8.0

+ 1 - 0
PDF Office/PDF Master/KMClass/KMPDFViewController/PDFView/Toolbar/KMPDFToolbarController.xib

@@ -10,6 +10,7 @@
             <connections>
                 <outlet property="contendBox" destination="uo1-lg-iPw" id="Ld9-oX-RLn"/>
                 <outlet property="dividerView" destination="4K3-lv-es0" id="j6G-RS-Y7x"/>
+                <outlet property="leftToolsView" destination="IlW-fu-gVn" id="XtQ-uJ-DD5"/>
                 <outlet property="leftViewButton" destination="mWq-6Q-Jeb" id="rEl-sV-x1B"/>
                 <outlet property="pageButton" destination="kZ4-rC-iP5" id="cX3-tT-bq9"/>
                 <outlet property="rightToolsView" destination="u0U-bP-RVi" id="PHF-0t-K0b"/>

+ 4 - 4
PDF Office/PDF Master/KMClass/KMPDFViewController/PDFView/Toolbar/Model/KMPDFToolbarManager.swift

@@ -61,10 +61,10 @@ class KMPDFToolbarManager: NSObject {
     var undoProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true, icon: NSImage(named: "toolbar_undo"), keepPressState: false, identifier: KMPDFToolbar_undo_Identifier)
     var redoProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true, icon: NSImage(named: "toolbar_redo"), keepPressState: false,identifier: KMPDFToolbar_redo_Identifier)
     var saveProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true, icon: NSImage(named: "toolbar_save"), keepPressState: false,identifier: KMPDFToolbar_save_Identifier)
-    var aiToolsProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true, icon: NSImage(named: "tempIcon"), keepPressState: false,identifier: KMPDFToolbar_aiTools_Identifier)
-    var batchProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true, icon: NSImage(named: "tempIcon"), keepPressState: false,identifier: KMPDFToolbar_batch_Identifier)
-    var ttsProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true, icon: NSImage(named: "tempIcon"), keepPressState: false,identifier: KMPDFToolbar_tts_Identifier)
-    var pptProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true, icon: NSImage(named: "tempIcon"), keepPressState: false,identifier: KMPDFToolbar_ppt_Identifier)
+    var aiToolsProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true, icon: NSImage(named: "toolbar_ai"), keepPressState: false,identifier: KMPDFToolbar_aiTools_Identifier)
+    var batchProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true, icon: NSImage(named: "toolbar_batch"), keepPressState: false,identifier: KMPDFToolbar_batch_Identifier)
+    var ttsProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true, icon: NSImage(named: "toolbar_TTS"), keepPressState: false,identifier: KMPDFToolbar_tts_Identifier)
+    var pptProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true, icon: NSImage(named: "toolbar_ppt"), keepPressState: false,identifier: KMPDFToolbar_ppt_Identifier)
     var printProperty: ComponentButtonProperty = ComponentButtonProperty(type: .text_gray_opacity, size: .xs, onlyIcon: true, icon: NSImage(named: "toolbar_print"), keepPressState: false, identifier: KMPDFToolbar_print_Identifier)
     
     var shareProperty: ComponentDropdownToolProperty = ComponentDropdownToolProperty(state: .normal, leftIcon: NSImage(named: "toolbar_share"))