Browse Source

【UI替换】主页 - 最近列表,快捷工具 基本UI完成

lizhe 1 năm trước cách đây
mục cha
commit
43df6d5f74
41 tập tin đã thay đổi với 2058 bổ sung175 xóa
  1. 176 0
      PDF Office/PDF Master.xcodeproj/project.pbxproj
  2. 50 69
      PDF Office/PDF Master.xcodeproj/xcuserdata/lizhe.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  3. 1 1
      PDF Office/PDF Master/AppDelegate.swift
  4. 2 2
      PDF Office/PDF Master/Base.lproj/Main.storyboard
  5. 282 0
      PDF Office/PDF Master/Class/Home/View/HomeContentView/History/Cell/KMHomeHistoryCollectionItem.swift
  6. 197 0
      PDF Office/PDF Master/Class/Home/View/HomeContentView/History/Cell/KMHomeHistoryCollectionItem.xib
  7. 131 0
      PDF Office/PDF Master/Class/Home/View/HomeContentView/History/KMHomeHistoryListView.swift
  8. 56 0
      PDF Office/PDF Master/Class/Home/View/HomeContentView/History/KMHomeHistoryListView.xib
  9. 75 0
      PDF Office/PDF Master/Class/Home/View/HomeContentView/KMHomeContentView.swift
  10. 252 0
      PDF Office/PDF Master/Class/Home/View/HomeContentView/KMHomeContentView.xib
  11. 18 0
      PDF Office/PDF Master/Class/Home/View/HomeContentView/NoFileView/KMHomeNOFileView.swift
  12. 71 0
      PDF Office/PDF Master/Class/Home/View/HomeContentView/NoFileView/KMHomeNOFileView.xib
  13. 98 0
      PDF Office/PDF Master/Class/Home/View/HomeContentView/QucikTools/KMQucikToolsView.swift
  14. 56 0
      PDF Office/PDF Master/Class/Home/View/HomeContentView/QucikTools/KMQucikToolsView.xib
  15. 116 0
      PDF Office/PDF Master/Class/Home/View/HomeContentView/QucikTools/Model/KMQucikToolsModel.swift
  16. 123 0
      PDF Office/PDF Master/Class/Home/View/HomeContentView/QucikTools/View/KMQucikToolCollectionViewItem.swift
  17. 204 0
      PDF Office/PDF Master/Class/Home/View/HomeContentView/QucikTools/View/KMQucikToolCollectionViewItem.xib
  18. 1 1
      PDF Office/PDF Master/Class/Home/ViewController/KMFastToolCollectionViewItem.swift
  19. 5 5
      PDF Office/PDF Master/Class/Home/ViewController/KMFastToolCollectionViewItem.xib
  20. 9 8
      PDF Office/PDF Master/Class/Home/ViewController/KMHistoryFileCollectionViewItem.xib
  21. 6 6
      PDF Office/PDF Master/Class/Home/ViewController/KMHomeFastToolViewController.xib
  22. 13 13
      PDF Office/PDF Master/Class/Home/ViewController/KMHomeHistoryFileViewController.xib
  23. 6 0
      PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController.swift
  24. 9 1
      PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController.xib
  25. 11 10
      PDF Office/PDF Master/Class/Home/WindowController/KMAITranslationConfirmWindowController.xib
  26. 29 28
      PDF Office/PDF Master/Class/Home/WindowController/KMAITranslationWindowController.xib
  27. 4 3
      PDF Office/PDF Master/Class/Home/WindowController/KMHistoryFileDeleteWindowController.xib
  28. 1 1
      PDF Office/PDF Master/Class/Home/WindowController/KMURLToPDFWindowController/KMURLToPDFWindowController.xib
  29. 6 0
      PDF Office/PDF Master/Class/KMAdvertisement/Source/KMAdvertisement.xcassets/Contents.json
  30. 23 0
      PDF Office/PDF Master/Class/KMAdvertisement/Source/KMAdvertisement.xcassets/ad_cancel_button00.imageset/Contents.json
  31. BIN
      PDF Office/PDF Master/Class/KMAdvertisement/Source/KMAdvertisement.xcassets/ad_cancel_button00.imageset/ad_cancel_button00.png
  32. BIN
      PDF Office/PDF Master/Class/KMAdvertisement/Source/KMAdvertisement.xcassets/ad_cancel_button00.imageset/ad_cancel_button00@2x.png
  33. BIN
      PDF Office/PDF Master/Class/KMAdvertisement/Source/KMAdvertisement.xcassets/ad_cancel_button00.imageset/ad_cancel_button00@3x.png
  34. 1 1
      PDF Office/PDF Master/Class/KMAdvertisement/View/Tableview/KMAdvertisementTableView.swift
  35. 2 2
      PDF Office/PDF Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.swift
  36. 4 4
      PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/ComparativeView/KMComparativeOutlineView.xib
  37. 6 6
      PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/ComparativeView/View/KMComparativeOutlineCell.xib
  38. 7 7
      PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/KMComparativeView.xib
  39. 2 2
      PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/View/KMComparativeViewCollectionItem.xib
  40. 3 3
      PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/View/KMComparativeViewCollectionItemItem.xib
  41. 2 2
      PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/KMThumbnailViewController.xib

+ 176 - 0
PDF Office/PDF Master.xcodeproj/project.pbxproj

@@ -1200,6 +1200,15 @@
 		AD68783829A60FC0005B5210 /* KMLoginView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD68783729A60FC0005B5210 /* KMLoginView.xib */; };
 		AD68783929A60FC0005B5210 /* KMLoginView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD68783729A60FC0005B5210 /* KMLoginView.xib */; };
 		AD68783A29A60FC0005B5210 /* KMLoginView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD68783729A60FC0005B5210 /* KMLoginView.xib */; };
+		AD85D1822AEF46C2000F4D28 /* KMHomeNOFileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD85D1812AEF46C2000F4D28 /* KMHomeNOFileView.swift */; };
+		AD85D1832AEF46C2000F4D28 /* KMHomeNOFileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD85D1812AEF46C2000F4D28 /* KMHomeNOFileView.swift */; };
+		AD85D1842AEF46C2000F4D28 /* KMHomeNOFileView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD85D1812AEF46C2000F4D28 /* KMHomeNOFileView.swift */; };
+		AD85D1872AEF46DF000F4D28 /* KMHomeNOFileView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD85D1862AEF46DF000F4D28 /* KMHomeNOFileView.xib */; };
+		AD85D1882AEF46DF000F4D28 /* KMHomeNOFileView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD85D1862AEF46DF000F4D28 /* KMHomeNOFileView.xib */; };
+		AD85D1892AEF46DF000F4D28 /* KMHomeNOFileView.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD85D1862AEF46DF000F4D28 /* KMHomeNOFileView.xib */; };
+		AD85D19E2AEF927D000F4D28 /* KMQucikToolsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD85D19D2AEF927D000F4D28 /* KMQucikToolsModel.swift */; };
+		AD85D19F2AEF927D000F4D28 /* KMQucikToolsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD85D19D2AEF927D000F4D28 /* KMQucikToolsModel.swift */; };
+		AD85D1A02AEF927D000F4D28 /* KMQucikToolsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD85D19D2AEF927D000F4D28 /* KMQucikToolsModel.swift */; };
 		AD867F8629D94F5100F00440 /* KMBOTAOutlineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD867F8529D94F5100F00440 /* KMBOTAOutlineView.swift */; };
 		AD867F8729D94F5100F00440 /* KMBOTAOutlineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD867F8529D94F5100F00440 /* KMBOTAOutlineView.swift */; };
 		AD867F8829D94F5100F00440 /* KMBOTAOutlineView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD867F8529D94F5100F00440 /* KMBOTAOutlineView.swift */; };
@@ -1410,6 +1419,39 @@
 		ADAFDA4C2AEA7F2700F084BC /* KMAdvertisementShowView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA4B2AEA7F2700F084BC /* KMAdvertisementShowView.xib */; };
 		ADAFDA4D2AEA7F2700F084BC /* KMAdvertisementShowView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA4B2AEA7F2700F084BC /* KMAdvertisementShowView.xib */; };
 		ADAFDA4E2AEA7F2700F084BC /* KMAdvertisementShowView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA4B2AEA7F2700F084BC /* KMAdvertisementShowView.xib */; };
+		ADAFDA512AEB43BF00F084BC /* KMAdvertisement.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA502AEB43BF00F084BC /* KMAdvertisement.xcassets */; };
+		ADAFDA522AEB43BF00F084BC /* KMAdvertisement.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA502AEB43BF00F084BC /* KMAdvertisement.xcassets */; };
+		ADAFDA532AEB43BF00F084BC /* KMAdvertisement.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA502AEB43BF00F084BC /* KMAdvertisement.xcassets */; };
+		ADAFDA562AEB451600F084BC /* KMHomeContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA552AEB451600F084BC /* KMHomeContentView.swift */; };
+		ADAFDA572AEB451600F084BC /* KMHomeContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA552AEB451600F084BC /* KMHomeContentView.swift */; };
+		ADAFDA582AEB451600F084BC /* KMHomeContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA552AEB451600F084BC /* KMHomeContentView.swift */; };
+		ADAFDA5E2AEB455500F084BC /* KMHomeContentView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA5D2AEB455500F084BC /* KMHomeContentView.xib */; };
+		ADAFDA5F2AEB455500F084BC /* KMHomeContentView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA5D2AEB455500F084BC /* KMHomeContentView.xib */; };
+		ADAFDA602AEB455500F084BC /* KMHomeContentView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA5D2AEB455500F084BC /* KMHomeContentView.xib */; };
+		ADAFDA642AEB46D600F084BC /* KMQucikToolsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA632AEB46D600F084BC /* KMQucikToolsView.swift */; };
+		ADAFDA652AEB46D600F084BC /* KMQucikToolsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA632AEB46D600F084BC /* KMQucikToolsView.swift */; };
+		ADAFDA662AEB46D600F084BC /* KMQucikToolsView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA632AEB46D600F084BC /* KMQucikToolsView.swift */; };
+		ADAFDA682AEB46F500F084BC /* KMHomeHistoryListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA672AEB46F500F084BC /* KMHomeHistoryListView.swift */; };
+		ADAFDA692AEB46F500F084BC /* KMHomeHistoryListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA672AEB46F500F084BC /* KMHomeHistoryListView.swift */; };
+		ADAFDA6A2AEB46F500F084BC /* KMHomeHistoryListView.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA672AEB46F500F084BC /* KMHomeHistoryListView.swift */; };
+		ADAFDA6C2AEB470200F084BC /* KMQucikToolsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA6B2AEB470200F084BC /* KMQucikToolsView.xib */; };
+		ADAFDA6D2AEB470200F084BC /* KMQucikToolsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA6B2AEB470200F084BC /* KMQucikToolsView.xib */; };
+		ADAFDA6E2AEB470200F084BC /* KMQucikToolsView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA6B2AEB470200F084BC /* KMQucikToolsView.xib */; };
+		ADAFDA702AEB470E00F084BC /* KMHomeHistoryListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA6F2AEB470E00F084BC /* KMHomeHistoryListView.xib */; };
+		ADAFDA712AEB470E00F084BC /* KMHomeHistoryListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA6F2AEB470E00F084BC /* KMHomeHistoryListView.xib */; };
+		ADAFDA722AEB470E00F084BC /* KMHomeHistoryListView.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA6F2AEB470E00F084BC /* KMHomeHistoryListView.xib */; };
+		ADAFDA762AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA742AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.swift */; };
+		ADAFDA772AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA742AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.swift */; };
+		ADAFDA782AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA742AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.swift */; };
+		ADAFDA792AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA752AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.xib */; };
+		ADAFDA7A2AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA752AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.xib */; };
+		ADAFDA7B2AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA752AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.xib */; };
+		ADAFDA822AEB804B00F084BC /* KMQucikToolCollectionViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA802AEB804B00F084BC /* KMQucikToolCollectionViewItem.swift */; };
+		ADAFDA832AEB804B00F084BC /* KMQucikToolCollectionViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA802AEB804B00F084BC /* KMQucikToolCollectionViewItem.swift */; };
+		ADAFDA842AEB804B00F084BC /* KMQucikToolCollectionViewItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAFDA802AEB804B00F084BC /* KMQucikToolCollectionViewItem.swift */; };
+		ADAFDA852AEB804B00F084BC /* KMQucikToolCollectionViewItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA812AEB804B00F084BC /* KMQucikToolCollectionViewItem.xib */; };
+		ADAFDA862AEB804B00F084BC /* KMQucikToolCollectionViewItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA812AEB804B00F084BC /* KMQucikToolCollectionViewItem.xib */; };
+		ADAFDA872AEB804B00F084BC /* KMQucikToolCollectionViewItem.xib in Resources */ = {isa = PBXBuildFile; fileRef = ADAFDA812AEB804B00F084BC /* KMQucikToolCollectionViewItem.xib */; };
 		ADB2D6E6294740F30029D2B3 /* KMPrintPaperSetWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB2D6E4294740F30029D2B3 /* KMPrintPaperSetWindowController.swift */; };
 		ADB2D6E7294740F30029D2B3 /* KMPrintPaperSetWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB2D6E4294740F30029D2B3 /* KMPrintPaperSetWindowController.swift */; };
 		ADB2D6E8294740F30029D2B3 /* KMPrintPaperSetWindowController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADB2D6E4294740F30029D2B3 /* KMPrintPaperSetWindowController.swift */; };
@@ -3795,6 +3837,9 @@
 		AD68782029A5FADC005B5210 /* KMLightMemberCache.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMLightMemberCache.swift; sourceTree = "<group>"; };
 		AD68783229A60FA7005B5210 /* KMLoginView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMLoginView.swift; sourceTree = "<group>"; };
 		AD68783729A60FC0005B5210 /* KMLoginView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMLoginView.xib; sourceTree = "<group>"; };
+		AD85D1812AEF46C2000F4D28 /* KMHomeNOFileView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMHomeNOFileView.swift; sourceTree = "<group>"; };
+		AD85D1862AEF46DF000F4D28 /* KMHomeNOFileView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMHomeNOFileView.xib; sourceTree = "<group>"; };
+		AD85D19D2AEF927D000F4D28 /* KMQucikToolsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMQucikToolsModel.swift; sourceTree = "<group>"; };
 		AD867F8529D94F5100F00440 /* KMBOTAOutlineView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBOTAOutlineView.swift; sourceTree = "<group>"; };
 		AD867F8A29D950B400F00440 /* KMBOTAOutlineView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMBOTAOutlineView.xib; sourceTree = "<group>"; };
 		AD867F8F29D9554F00F00440 /* KMBOTAOutlineItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBOTAOutlineItem.swift; sourceTree = "<group>"; };
@@ -3865,6 +3910,17 @@
 		ADAFDA412AE8F3C400F084BC /* KMAdvertisementTimeStampConversion.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KMAdvertisementTimeStampConversion.swift; sourceTree = "<group>"; };
 		ADAFDA472AEA7F1200F084BC /* KMAdvertisementShowView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMAdvertisementShowView.swift; sourceTree = "<group>"; };
 		ADAFDA4B2AEA7F2700F084BC /* KMAdvertisementShowView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMAdvertisementShowView.xib; sourceTree = "<group>"; };
+		ADAFDA502AEB43BF00F084BC /* KMAdvertisement.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = KMAdvertisement.xcassets; sourceTree = "<group>"; };
+		ADAFDA552AEB451600F084BC /* KMHomeContentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMHomeContentView.swift; sourceTree = "<group>"; };
+		ADAFDA5D2AEB455500F084BC /* KMHomeContentView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMHomeContentView.xib; sourceTree = "<group>"; };
+		ADAFDA632AEB46D600F084BC /* KMQucikToolsView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMQucikToolsView.swift; sourceTree = "<group>"; };
+		ADAFDA672AEB46F500F084BC /* KMHomeHistoryListView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMHomeHistoryListView.swift; sourceTree = "<group>"; };
+		ADAFDA6B2AEB470200F084BC /* KMQucikToolsView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMQucikToolsView.xib; sourceTree = "<group>"; };
+		ADAFDA6F2AEB470E00F084BC /* KMHomeHistoryListView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMHomeHistoryListView.xib; sourceTree = "<group>"; };
+		ADAFDA742AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMHomeHistoryCollectionItem.swift; sourceTree = "<group>"; };
+		ADAFDA752AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMHomeHistoryCollectionItem.xib; sourceTree = "<group>"; };
+		ADAFDA802AEB804B00F084BC /* KMQucikToolCollectionViewItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMQucikToolCollectionViewItem.swift; sourceTree = "<group>"; };
+		ADAFDA812AEB804B00F084BC /* KMQucikToolCollectionViewItem.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMQucikToolCollectionViewItem.xib; sourceTree = "<group>"; };
 		ADB2D6E4294740F30029D2B3 /* KMPrintPaperSetWindowController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPrintPaperSetWindowController.swift; sourceTree = "<group>"; };
 		ADB2D6E5294740F30029D2B3 /* KMPrintPaperSetWindowController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = KMPrintPaperSetWindowController.xib; sourceTree = "<group>"; };
 		ADB2D6EC2947415E0029D2B3 /* KMPrintPaperSetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPrintPaperSetView.swift; sourceTree = "<group>"; };
@@ -5466,6 +5522,7 @@
 		9F78EFD228F81EF9001E66F4 /* View */ = {
 			isa = PBXGroup;
 			children = (
+				ADAFDA542AEB44ED00F084BC /* HomeContentView */,
 				ADAFD9F12AE68A3600F084BC /* CreatPDFView */,
 				9FA607D828F8227500B46586 /* KMBox.swift */,
 				9FBA0EF428FFC8A0001117AF /* KMCollectionView.swift */,
@@ -5882,6 +5939,23 @@
 			path = View;
 			sourceTree = "<group>";
 		};
+		AD85D1852AEF46C9000F4D28 /* NoFileView */ = {
+			isa = PBXGroup;
+			children = (
+				AD85D1812AEF46C2000F4D28 /* KMHomeNOFileView.swift */,
+				AD85D1862AEF46DF000F4D28 /* KMHomeNOFileView.xib */,
+			);
+			path = NoFileView;
+			sourceTree = "<group>";
+		};
+		AD85D19C2AEF925D000F4D28 /* Model */ = {
+			isa = PBXGroup;
+			children = (
+				AD85D19D2AEF927D000F4D28 /* KMQucikToolsModel.swift */,
+			);
+			path = Model;
+			sourceTree = "<group>";
+		};
 		AD867F8929D94F5500F00440 /* View */ = {
 			isa = PBXGroup;
 			children = (
@@ -6159,6 +6233,65 @@
 			path = View;
 			sourceTree = "<group>";
 		};
+		ADAFDA4F2AEB438200F084BC /* Source */ = {
+			isa = PBXGroup;
+			children = (
+				ADAFDA502AEB43BF00F084BC /* KMAdvertisement.xcassets */,
+			);
+			path = Source;
+			sourceTree = "<group>";
+		};
+		ADAFDA542AEB44ED00F084BC /* HomeContentView */ = {
+			isa = PBXGroup;
+			children = (
+				AD85D1852AEF46C9000F4D28 /* NoFileView */,
+				ADAFDA552AEB451600F084BC /* KMHomeContentView.swift */,
+				ADAFDA5D2AEB455500F084BC /* KMHomeContentView.xib */,
+				ADAFDA622AEB466800F084BC /* QucikTools */,
+				ADAFDA612AEB465F00F084BC /* History */,
+			);
+			path = HomeContentView;
+			sourceTree = "<group>";
+		};
+		ADAFDA612AEB465F00F084BC /* History */ = {
+			isa = PBXGroup;
+			children = (
+				ADAFDA732AEB5F9B00F084BC /* Cell */,
+				ADAFDA672AEB46F500F084BC /* KMHomeHistoryListView.swift */,
+				ADAFDA6F2AEB470E00F084BC /* KMHomeHistoryListView.xib */,
+			);
+			path = History;
+			sourceTree = "<group>";
+		};
+		ADAFDA622AEB466800F084BC /* QucikTools */ = {
+			isa = PBXGroup;
+			children = (
+				AD85D19C2AEF925D000F4D28 /* Model */,
+				ADAFDA882AEB804F00F084BC /* View */,
+				ADAFDA632AEB46D600F084BC /* KMQucikToolsView.swift */,
+				ADAFDA6B2AEB470200F084BC /* KMQucikToolsView.xib */,
+			);
+			path = QucikTools;
+			sourceTree = "<group>";
+		};
+		ADAFDA732AEB5F9B00F084BC /* Cell */ = {
+			isa = PBXGroup;
+			children = (
+				ADAFDA742AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.swift */,
+				ADAFDA752AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.xib */,
+			);
+			path = Cell;
+			sourceTree = "<group>";
+		};
+		ADAFDA882AEB804F00F084BC /* View */ = {
+			isa = PBXGroup;
+			children = (
+				ADAFDA802AEB804B00F084BC /* KMQucikToolCollectionViewItem.swift */,
+				ADAFDA812AEB804B00F084BC /* KMQucikToolCollectionViewItem.xib */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
 		ADB2D6E229473FF00029D2B3 /* DealPaper */ = {
 			isa = PBXGroup;
 			children = (
@@ -6678,6 +6811,7 @@
 		ADE8BC3629F9453A00570F89 /* KMAdvertisement */ = {
 			isa = PBXGroup;
 			children = (
+				ADAFDA4F2AEB438200F084BC /* Source */,
 				ADAFDA3C2AE8F31400F084BC /* Manager */,
 				ADAFDA372AE8EEED00F084BC /* Request */,
 				ADAFDA2E2AE8E44200F084BC /* Config */,
@@ -8795,6 +8929,7 @@
 				ADD1B6FC2946C0D400C3FFF7 /* KMPrintChoosePageSizePamphletView.xib in Resources */,
 				ADBC376629CD86A000D93208 /* KMReadModelView.xcassets in Resources */,
 				9FF94F0C29A62B5000B1EF69 /* KMDesignSelect.xib in Resources */,
+				ADAFDA852AEB804B00F084BC /* KMQucikToolCollectionViewItem.xib in Resources */,
 				ADED71D929B57C01005EEC0A /* Localizable.strings in Resources */,
 				BB49ED11293F462E00C82CA2 /* KMConvertImageWindowController.xib in Resources */,
 				896933D429AEEE3D0055327F /* PageSheet.xib in Resources */,
@@ -8812,6 +8947,7 @@
 				ADAFD9F72AE68A8500F084BC /* KMCreatPDFView.xib in Resources */,
 				89E4E77C2967B370002DBA6F /* KMDynamicStampViewController.xib in Resources */,
 				89316855296E45CA0073EA59 /* KMImageAccessoryController.xib in Resources */,
+				ADAFDA6C2AEB470200F084BC /* KMQucikToolsView.xib in Resources */,
 				896DD4582985FB3200ADE514 /* KMPageDisplayThemeCollectionViewItem.xib in Resources */,
 				89752E072939DB42003FF08E /* KMToolbarViewController.xib in Resources */,
 				BBC3483E2955A60B008D2CD1 /* KMBackgroundPropertyInfoController.xib in Resources */,
@@ -8890,6 +9026,7 @@
 				AD1CA41C2A061CE10070541F /* KMAnnotationScreenTypeViewItem.xib in Resources */,
 				9F8539F62947137500DF644E /* sadfavicon.png in Resources */,
 				ADBC372429CA923E00D93208 /* KMComparative.plist in Resources */,
+				ADAFDA5E2AEB455500F084BC /* KMHomeContentView.xib in Resources */,
 				ADE787AE2AA5AA50002EC85A /* KMAccountExceptionView.xib in Resources */,
 				BBEC00B2295C2AF300A26C98 /* KMBatesPreviewController.xib in Resources */,
 				9FD0FA3429CD947000F2AB0D /* KMOpacityPanel.xib in Resources */,
@@ -8904,6 +9041,7 @@
 				ADE8BC2A29F7CDB000570F89 /* KMPageNumberDisplayView.xib in Resources */,
 				ADF6B8812A485A8F0090CB78 /* KMComparativeViewCollectionItemItem.xib in Resources */,
 				AD2D74B929F0D3A100EDC5E4 /* KMCancellationSuccessView.xib in Resources */,
+				AD85D1872AEF46DF000F4D28 /* KMHomeNOFileView.xib in Resources */,
 				BB3AAB9329878CE000992A5A /* KMWatermarkAdjectivePropertyMainController.xib in Resources */,
 				ADD272D429B9CFE20032B5D6 /* KMLightNoNetworkView.xib in Resources */,
 				9F8539E7294712D600DF644E /* KMChromiumTabContents.xib in Resources */,
@@ -8954,6 +9092,7 @@
 				AD867FAA29DFB78200F00440 /* KMAnnotationOutlineView.xib in Resources */,
 				F3B7DF9D2948565000333201 /* CPDFListHoverAnnotationViewController.xib in Resources */,
 				ADF1569C29A63CBF001D1018 /* KMLightMember.xcassets in Resources */,
+				ADAFDA792AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.xib in Resources */,
 				899700EB28F3E4D3009AF911 /* MainWindowController.xib in Resources */,
 				BB49ED01293F459500C82CA2 /* KMConvertPPTsWindowController.xib in Resources */,
 				ADD1B6AE2941E97F00C3FFF7 /* KMPrintWindowController.xib in Resources */,
@@ -9051,6 +9190,8 @@
 				9F8539F92947137500DF644E /* newtab_p.pdf in Resources */,
 				ADE3C1C429A4C13700793B13 /* KMPrintAccessoryController_OC.xib in Resources */,
 				9F080B17298CFDB300FC27DA /* KMTextImageButtonVC.xib in Resources */,
+				ADAFDA512AEB43BF00F084BC /* KMAdvertisement.xcassets in Resources */,
+				ADAFDA702AEB470E00F084BC /* KMHomeHistoryListView.xib in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -9074,6 +9215,7 @@
 			files = (
 				9F8539F72947137500DF644E /* sadfavicon.png in Resources */,
 				89E9B40A295D268E00AEFA61 /* KMEditImagePropertyViewController.xib in Resources */,
+				ADAFDA6D2AEB470200F084BC /* KMQucikToolsView.xib in Resources */,
 				BB89724A294C19980045787C /* KMWatermarkAdjectiveListController.xib in Resources */,
 				89E4E6E72963CD82002DBA6F /* KMGeneralAnnotationViewController.xib in Resources */,
 				ADD272D529B9CFE20032B5D6 /* KMLightNoNetworkView.xib in Resources */,
@@ -9110,8 +9252,10 @@
 				ADD1B6C02942DD3D00C3FFF7 /* KMPrintChooseView.xib in Resources */,
 				ADAFDA0E2AE8DD6600F084BC /* KMAdvertisementCollectionViewItem.xib in Resources */,
 				8997012328F41AB8009AF911 /* KMLeftSideViewController.xib in Resources */,
+				ADAFDA712AEB470E00F084BC /* KMHomeHistoryListView.xib in Resources */,
 				BB2F615C2966B69D001CB369 /* KMWatermarkPropertyHomeController.xib in Resources */,
 				BBFBE74C28DD7DE4008B2335 /* Assets.xcassets in Resources */,
+				ADAFDA862AEB804B00F084BC /* KMQucikToolCollectionViewItem.xib in Resources */,
 				ADE3C1AF29A4779E00793B13 /* KMPrintAccessoryController.xib in Resources */,
 				BBC745EE295F067B0072C2ED /* KMCropSettingWindowController.xib in Resources */,
 				89752E082939DB42003FF08E /* KMToolbarViewController.xib in Resources */,
@@ -9268,6 +9412,7 @@
 				BB24D4AB2977BE6700041659 /* KMRedactConfirmWindowController.xib in Resources */,
 				BB1EC8022967B26700EC0BC3 /* KMPDFEditViewController.xib in Resources */,
 				ADBC374629CAD2D300D93208 /* SF-Pro-Text-Bold.otf in Resources */,
+				ADAFDA5F2AEB455500F084BC /* KMHomeContentView.xib in Resources */,
 				ADBC2CFF299CA6C7006280C8 /* KMPrintDuplexPrintingSetView.xib in Resources */,
 				89E4E7392964148E002DBA6F /* KMAnnotationPropertiesViewController.xib in Resources */,
 				9F56648B2988B16F00020985 /* KMTextfieldVC.xib in Resources */,
@@ -9280,6 +9425,7 @@
 				BB51074329A61B4100978662 /* ProgressSheet.xib in Resources */,
 				BB1AEF3629F937A50048D179 /* PDF Master User Guide.pdf in Resources */,
 				ADE3C1C529A4C13700793B13 /* KMPrintAccessoryController_OC.xib in Resources */,
+				ADAFDA7A2AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.xib in Resources */,
 				9F8DDF312924B855006CDC73 /* KMPDFToolsViewController.xib in Resources */,
 				9F853A002947137500DF644E /* throbber.png in Resources */,
 				BBC348372955A118008D2CD1 /* KMCreateBackgroundController.xib in Resources */,
@@ -9299,7 +9445,9 @@
 				9F02019A2A1F352100C9B673 /* KMAITranslationConfirmWindowController.xib in Resources */,
 				BBFE6E832930EBD400142C01 /* KMCompressWindowController.xib in Resources */,
 				9F0CB46B2967E5CB00007028 /* KMPropertiesPanelSubViewController.xib in Resources */,
+				ADAFDA522AEB43BF00F084BC /* KMAdvertisement.xcassets in Resources */,
 				AD68783929A60FC0005B5210 /* KMLoginView.xib in Resources */,
+				AD85D1882AEF46DF000F4D28 /* KMHomeNOFileView.xib in Resources */,
 				ADD1B6F52946C07800C3FFF7 /* KMPrintChoosePageSizePosterView.xib in Resources */,
 				9F1FE3F5293F4F0F00E952CA /* Info.plist in Resources */,
 				BB7648E929ECECBF00931039 /* Color.xcassets in Resources */,
@@ -9404,6 +9552,7 @@
 				9F1F82D7292F6D510092C4B4 /* KMPDFInsertPreviewViewController.xib in Resources */,
 				9FAAA337290BD0A20046FFCE /* KMHistoryFileCollectionViewItem.xib in Resources */,
 				8997012428F41AB8009AF911 /* KMLeftSideViewController.xib in Resources */,
+				ADAFDA872AEB804B00F084BC /* KMQucikToolCollectionViewItem.xib in Resources */,
 				9FBA0F0329015A82001117AF /* KMFastToolCollectionViewItem.xib in Resources */,
 				ADBC372629CA923E00D93208 /* KMComparative.plist in Resources */,
 				9FDD0FA12952FF4D000C4DAD /* global.json in Resources */,
@@ -9421,6 +9570,7 @@
 				ADAFD9F92AE68A8500F084BC /* KMCreatPDFView.xib in Resources */,
 				9F1F82E82934D5240092C4B4 /* KMHomeExtractActionViewController.xib in Resources */,
 				F3B7DF9F2948565000333201 /* CPDFListHoverAnnotationViewController.xib in Resources */,
+				ADAFDA6E2AEB470200F084BC /* KMQucikToolsView.xib in Resources */,
 				BB69C961299116FD0001A9B1 /* plaid.pdf in Resources */,
 				9F0CB4AC296CF19600007028 /* KMPropertiesPanelListMenuSubVC.xib in Resources */,
 				ADB2D6FF294882B70029D2B3 /* KMTextFieldStepperView.xib in Resources */,
@@ -9499,6 +9649,7 @@
 				ADD1B6CD2942E85300C3FFF7 /* KMPrintBottomView.xib in Resources */,
 				9F853A012947137500DF644E /* throbber.png in Resources */,
 				AD1CA41E2A061CE10070541F /* KMAnnotationScreenTypeViewItem.xib in Resources */,
+				ADAFDA602AEB455500F084BC /* KMHomeContentView.xib in Resources */,
 				BBA8B7B5293635D80097D183 /* KMPasswordInputWindow.xib in Resources */,
 				F359917D292B7B8A000D25DE /* InitialUserDefaults.plist in Resources */,
 				89752DB22936F505003FF08E /* KMCustomButtonPopMenuViewController.xib in Resources */,
@@ -9513,6 +9664,7 @@
 				89E4E7872967BF5A002DBA6F /* KMCustomizeStampViewController.xib in Resources */,
 				BB4EEF3229763EE7003A3537 /* KMRedactBaseWindowController.xib in Resources */,
 				9F853A0A2947137500DF644E /* newtab.pdf in Resources */,
+				AD85D1892AEF46DF000F4D28 /* KMHomeNOFileView.xib in Resources */,
 				8997011328F40842009AF911 /* KMOutlineViewController.xib in Resources */,
 				896933D629AEEE3D0055327F /* PageSheet.xib in Resources */,
 				BBAFC8412985194800D0648E /* KMPDFEditAppendWindow.xib in Resources */,
@@ -9563,6 +9715,7 @@
 				BBFE6E622930809A00142C01 /* KMMergeCollectionPageViewItem.xib in Resources */,
 				9F1F82B9292DEF370092C4B4 /* KMCloudDocumentsViewController.xib in Resources */,
 				ADBC374729CAD2D300D93208 /* SF-Pro-Text-Bold.otf in Resources */,
+				ADAFDA7B2AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.xib in Resources */,
 				BB2F615D2966B69D001CB369 /* KMWatermarkPropertyHomeController.xib in Resources */,
 				ADD1B6C12942DD3D00C3FFF7 /* KMPrintChooseView.xib in Resources */,
 				9F1F82C1292E01860092C4B4 /* KMCloudEmptyCollectionViewItem.xib in Resources */,
@@ -9660,6 +9813,8 @@
 				F3B7DFA62949C8E300333201 /* CPDFListView.xcassets in Resources */,
 				ADD1B6DD2946BE1700C3FFF7 /* KMPrintChoosePageSizeView.xib in Resources */,
 				BB00301A298CA446002DD1A0 /* KMPreferenceGeneralController.xib in Resources */,
+				ADAFDA532AEB43BF00F084BC /* KMAdvertisement.xcassets in Resources */,
+				ADAFDA722AEB470E00F084BC /* KMHomeHistoryListView.xib in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -9730,6 +9885,7 @@
 				9FDD0FA629533494000C4DAD /* KMJSONParser.swift in Sources */,
 				BBFE6E7F2930EBD400142C01 /* KMCompressWindowController.swift in Sources */,
 				AD1CA4302A0640F20070541F /* KMAnnotationScreenHeadView.swift in Sources */,
+				ADAFDA562AEB451600F084BC /* KMHomeContentView.swift in Sources */,
 				ADE787AA2AA5A8D3002EC85A /* KMAccountExceptionView.swift in Sources */,
 				BB14700B299DC0D100784A6A /* OIDAuthorizationRequest.m in Sources */,
 				ADE3C1DE29A5AA0B00793B13 /* KMRequestServer.swift in Sources */,
@@ -9822,6 +9978,7 @@
 				9FDD0FAE29534FDC000C4DAD /* KMCompLight.swift in Sources */,
 				9F1F82F229373D6E0092C4B4 /* String+KMExtensions.swift in Sources */,
 				BB897236294B38DC0045787C /* KMWatermarkAdjectivePropertyBaseController.swift in Sources */,
+				AD85D19E2AEF927D000F4D28 /* KMQucikToolsModel.swift in Sources */,
 				9F1F82D2292F6D510092C4B4 /* KMPDFInsertPreviewViewController.swift in Sources */,
 				AD02573F2A8601CD00EAD5D5 /* KMAppleLoginManager.swift in Sources */,
 				BBC70EB42AEA847500AC1585 /* KMToolbarCustomViewController.swift in Sources */,
@@ -9852,6 +10009,7 @@
 				89D9896C28FD50EF003A3E87 /* KMAnnotationCollectionViewItem.swift in Sources */,
 				9FCFEC742AC56ECE00EAD2CB /* CPDFListStampAnnotation.swift in Sources */,
 				9FCFECA42AD237B500EAD2CB /* KMBatchTableRowView.swift in Sources */,
+				ADAFDA642AEB46D600F084BC /* KMQucikToolsView.swift in Sources */,
 				BB86C1ED28F544F4005AD968 /* CPDFListView+Event.m in Sources */,
 				BB88E454294045B4002B3655 /* KMPDFConvertManager.swift in Sources */,
 				BBD54ED42A1CBD720012A230 /* NSView+KMExtension.swift in Sources */,
@@ -9910,6 +10068,7 @@
 				89752E1D2942CB03003FF08E /* KMSearchMode.swift in Sources */,
 				AD3A3587294C11ED00D72802 /* KMPrintPreviewPresenter.swift in Sources */,
 				BB3AD6F929935483004FC1AE /* Reachability.m in Sources */,
+				ADAFDA762AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.swift in Sources */,
 				BBEC00BF295C306400A26C98 /* KMBatesPropertyController.swift in Sources */,
 				BB93CDE52AE757A000B29C57 /* KMToolbarItemView.swift in Sources */,
 				89E4E6EC2963D1B7002DBA6F /* KMColorPickerViewController.m in Sources */,
@@ -10176,6 +10335,7 @@
 				ADAFD9EE2AE616B100F084BC /* FocusAwareSecureTextField.swift in Sources */,
 				9F0CB5392986570600007028 /* KMDesignToken+BoxShadow.swift in Sources */,
 				9F0CB4B52977BC1000007028 /* KMPropertiesPanelPreviewSubVC.swift in Sources */,
+				ADAFDA682AEB46F500F084BC /* KMHomeHistoryListView.swift in Sources */,
 				9F02018E2A1DDAA500C9B673 /* KMAITranslationWindowController.swift in Sources */,
 				BB88E45829404752002B3655 /* KMPDFConvert.swift in Sources */,
 				9F1FE4CC29406E4700E952CA /* CTTabContentsController.m in Sources */,
@@ -10243,6 +10403,7 @@
 				BB6B436B2A04935000E02B54 /* KMPDFThumbViewBaseController.swift in Sources */,
 				ADE3C1F929A5C42300793B13 /* KMLightMemberUserInfo.swift in Sources */,
 				BB88E43B294023CB002B3655 /* KMDocumentModel.swift in Sources */,
+				AD85D1822AEF46C2000F4D28 /* KMHomeNOFileView.swift in Sources */,
 				BBC3482929559B22008D2CD1 /* KMBackgroundListCell.swift in Sources */,
 				BBB9B316299A5D6D004F3235 /* KMDropboxManager.m in Sources */,
 				9F1F82EE293609F60092C4B4 /* CPDFDocument+PageEditManager.swift in Sources */,
@@ -10322,6 +10483,7 @@
 				BBAFC83C2985194800D0648E /* KMPDFEditAppendWindow.m in Sources */,
 				9F0201722A1B488C00C9B673 /* KMAITranslationVC.swift in Sources */,
 				9FDD0F8C2952FCE0000C4DAD /* KMGlobalParser.swift in Sources */,
+				ADAFDA822AEB804B00F084BC /* KMQucikToolCollectionViewItem.swift in Sources */,
 				BB897251294C3F660045787C /* KMMenuTableView.swift in Sources */,
 				BB9695B229BDA46500FD68D3 /* SKLocalization.m in Sources */,
 				9F0CB4ED298655A800007028 /* KMDesignToken+PaddingLeft.swift in Sources */,
@@ -10525,6 +10687,7 @@
 				BBF8A3FE2AE8B04100788BAC /* KMBatchOperateFile.swift in Sources */,
 				ADBC375529CAE94700D93208 /* KMComparativeOutlineSectionCell.swift in Sources */,
 				8942F7C02923670F00389627 /* KMBOTAManagerClass.swift in Sources */,
+				ADAFDA772AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.swift in Sources */,
 				BB897242294C028A0045787C /* KMWatermarkAdjectiveSegementControl.swift in Sources */,
 				9F1FE4B529406E4700E952CA /* CTBrowser.m in Sources */,
 				BB6719E62AD28527003D44D5 /* CPDFLineAnnotation+PDFListView.swift in Sources */,
@@ -10542,6 +10705,7 @@
 				9F0CB5022986560D00007028 /* KMDesignToken+BorderTop.swift in Sources */,
 				F34BF9542953DA91002C25A2 /* NSGeometry+PDFListView.m in Sources */,
 				BBB14A582978E75D00936EDB /* KMRedactMutilPageFlagWindowController.swift in Sources */,
+				ADAFDA692AEB46F500F084BC /* KMHomeHistoryListView.swift in Sources */,
 				BBB9B30E299A5D6D004F3235 /* KMCloudUploadOperationQueue.m in Sources */,
 				BB146FC7299DC0D100784A6A /* GTMSessionFetcherService.m in Sources */,
 				BB8B17332907B63D001C5EA5 /* CipherTextView.swift in Sources */,
@@ -10594,6 +10758,7 @@
 				BB8F4587295B19AC0037EA22 /* KMHeaderFooterDateInfoView.swift in Sources */,
 				ADF9ED3029A8507400C4A943 /* KMAccountInfoView.swift in Sources */,
 				BB60138D2AD3A94200A76FB2 /* CPDFSignatureAnnotation+PDFListView.swift in Sources */,
+				ADAFDA832AEB804B00F084BC /* KMQucikToolCollectionViewItem.swift in Sources */,
 				89D2D2DF294C451400BFF5FE /* KMThumbnailViewController.swift in Sources */,
 				89752DF72938A236003FF08E /* PublicKey.swift in Sources */,
 				9F1FE4D329406E4700E952CA /* CTTabView.m in Sources */,
@@ -11054,6 +11219,7 @@
 				ADDEEA6F2AD3E16100EF675D /* KMSigntureViewItem.swift in Sources */,
 				BB14703F299DC0D200784A6A /* OIDEndSessionResponse.m in Sources */,
 				BBFE6E802930EBD400142C01 /* KMCompressWindowController.swift in Sources */,
+				ADAFDA572AEB451600F084BC /* KMHomeContentView.swift in Sources */,
 				BBFE6E66293097A600142C01 /* KMPageRangePickerWindowController.swift in Sources */,
 				BBEC00E6295C4D3C00A26C98 /* KMBatesPageInfoView.swift in Sources */,
 				F37322E8292DF9410013862C /* CPDFAnnotationModel.m in Sources */,
@@ -11093,6 +11259,7 @@
 				BBD7FE072A1323F500F96075 /* KMCustomTableRowView.swift in Sources */,
 				9F1FE4F729406E4700E952CA /* CTFloatingBarBackingView.m in Sources */,
 				BB9695B329BDA46500FD68D3 /* SKLocalization.m in Sources */,
+				AD85D1832AEF46C2000F4D28 /* KMHomeNOFileView.swift in Sources */,
 				BB13314F2AD78DC0008F6791 /* KMPDFMergeSizeTabelViewCell.swift in Sources */,
 				9F0CB4EE298655A800007028 /* KMDesignToken+PaddingLeft.swift in Sources */,
 				BB00302F298D315E002DD1A0 /* KMPreferenceMarkupController.swift in Sources */,
@@ -11139,6 +11306,7 @@
 				BBEC00CD295C31F900A26C98 /* KMBatesModel.swift in Sources */,
 				BB897219294AED6C0045787C /* KMWatermarkAdjectivePreViewBaseController.swift in Sources */,
 				BB146FAC299DC0D000784A6A /* GTLRBatchQuery.m in Sources */,
+				ADAFDA652AEB46D600F084BC /* KMQucikToolsView.swift in Sources */,
 				9F8DDF2729237910006CDC73 /* Array+KMExtensions.swift in Sources */,
 				8942F7EA2925E1C400389627 /* KMLiftSideCellView.swift in Sources */,
 				ADE8BC3029F8CD7200570F89 /* KMPDFThumbnailModel.swift in Sources */,
@@ -11205,6 +11373,7 @@
 				BBE0BDF429A22EF300440583 /* KMMainViewController+MenuAction.swift in Sources */,
 				BB4EEF392976451E003A3537 /* KMRedactContentBaseView.swift in Sources */,
 				BB24D4A82977BE6700041659 /* KMRedactConfirmWindowController.swift in Sources */,
+				AD85D19F2AEF927D000F4D28 /* KMQucikToolsModel.swift in Sources */,
 				9F0CB4F2298655BC00007028 /* KMDesignToken+ItemSpacing.swift in Sources */,
 				BB93CDE62AE757A000B29C57 /* KMToolbarItemView.swift in Sources */,
 				8997010F28F40842009AF911 /* KMOutlineViewController.swift in Sources */,
@@ -11406,6 +11575,7 @@
 				89E4E7102963D62C002DBA6F /* KMAnnotationFontWindowController.m in Sources */,
 				AD9527C0295294E20039D2BC /* KMPrintPageModel.swift in Sources */,
 				BBB14A6529792D6900936EDB /* KMRedactPageRangeContentView.swift in Sources */,
+				ADAFDA582AEB451600F084BC /* KMHomeContentView.swift in Sources */,
 				9FDD0F8A2952FCC6000C4DAD /* KMCompLightParser.swift in Sources */,
 				9FA607DB28F8227500B46586 /* KMBox.swift in Sources */,
 				ADDEEA9C2AD7BB2D00EF675D /* KMAnnotationPropertiesColorManager.swift in Sources */,
@@ -11420,6 +11590,7 @@
 				9FD0D2B12AD51BCC00DA3FF8 /* CPDFListEditAnnotationViewController.swift in Sources */,
 				BBCE571A2A72723600508EFC /* NSResponder+KMExtension.swift in Sources */,
 				BB146FDA299DC0D100784A6A /* GTLRFramework.m in Sources */,
+				AD85D1A02AEF927D000F4D28 /* KMQucikToolsModel.swift in Sources */,
 				9FF94F0B29A62B5000B1EF69 /* KMDesignSelect.swift in Sources */,
 				BB60138E2AD3A94200A76FB2 /* CPDFSignatureAnnotation+PDFListView.swift in Sources */,
 				ADBC2D2A299DCA76006280C8 /* NSTextField+Layer.swift in Sources */,
@@ -11502,6 +11673,7 @@
 				BBEC00DB295C39FD00A26C98 /* KMBatesPropertyInfoController.swift in Sources */,
 				BB0A551A2A3074F400B6E84B /* KMHoverView.swift in Sources */,
 				9F1FE4AA29406E4700E952CA /* CTBrowserWindowController.m in Sources */,
+				ADAFDA6A2AEB46F500F084BC /* KMHomeHistoryListView.swift in Sources */,
 				BBBB6CE02AD174080035AA66 /* CPDFInkAnnotation+PDFListView.swift in Sources */,
 				ADE3C1AD29A4779E00793B13 /* KMPrintAccessoryController.swift in Sources */,
 				ADEC7A80299397F8009A8256 /* NSFont+SFProText.swift in Sources */,
@@ -11682,6 +11854,7 @@
 				BB3AD6FB29935483004FC1AE /* Reachability.m in Sources */,
 				AD0FA50C29A9E74200EDEB50 /* KMLoginInputPasswordView.swift in Sources */,
 				BB146FB3299DC0D100784A6A /* GTLRErrorObject.m in Sources */,
+				ADAFDA842AEB804B00F084BC /* KMQucikToolCollectionViewItem.swift in Sources */,
 				BB147028299DC0D100784A6A /* OIDTokenRequest.m in Sources */,
 				9F1FE49829406E4700E952CA /* common.c in Sources */,
 				ADBC375629CAE94700D93208 /* KMComparativeOutlineSectionCell.swift in Sources */,
@@ -11761,6 +11934,7 @@
 				BB88E43D294023CB002B3655 /* KMDocumentModel.swift in Sources */,
 				BBF2455A2AE78D0300037D08 /* KMBatchOperateWindowController.swift in Sources */,
 				BB146FF8299DC0D100784A6A /* OIDAuthorizationService+Mac.m in Sources */,
+				ADAFDA662AEB46D600F084BC /* KMQucikToolsView.swift in Sources */,
 				BB897267294C724D0045787C /* KMWatermarkAdjectiveOutsideView.swift in Sources */,
 				AD9527EC2955520C0039D2BC /* KMBaseTextFieldModel.swift in Sources */,
 				BBF38A5C294F2B760086D025 /* KMWatermarkPositionView.swift in Sources */,
@@ -11913,6 +12087,7 @@
 				BB89721A294AED6C0045787C /* KMWatermarkAdjectivePreViewBaseController.swift in Sources */,
 				BBB9B31B299A5D6D004F3235 /* KMCloudServer.m in Sources */,
 				BB4EEF4229764FCC003A3537 /* KMWatermarkColorView.swift in Sources */,
+				AD85D1842AEF46C2000F4D28 /* KMHomeNOFileView.swift in Sources */,
 				BB24D4A92977BE6700041659 /* KMRedactConfirmWindowController.swift in Sources */,
 				BBB14A61297929BD00936EDB /* KMRedactPageRangeWindowController.swift in Sources */,
 				BB5DF1F32959C9F00025CDA1 /* KMHeaderFooterPropertyMainController.swift in Sources */,
@@ -11969,6 +12144,7 @@
 				8997011028F40842009AF911 /* KMOutlineViewController.swift in Sources */,
 				9F1F82BE292E01860092C4B4 /* KMCloudEmptyCollectionViewItem.swift in Sources */,
 				BB6DD8272934D056001F0544 /* KMSecureEncryptSuccessTipView.swift in Sources */,
+				ADAFDA782AEB5FCD00F084BC /* KMHomeHistoryCollectionItem.swift in Sources */,
 				ADAFDA052AE8BD5C00F084BC /* KMConvertURLToPDF.m in Sources */,
 				9FCFECAA2AD243C900EAD2CB /* KMBlankView.swift in Sources */,
 				9F0201902A1DDAA500C9B673 /* KMAITranslationWindowController.swift in Sources */,

+ 50 - 69
PDF Office/PDF Master.xcodeproj/xcuserdata/lizhe.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -8236,7 +8236,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "2035"
             endingLineNumber = "2035"
-            landmarkName = "-annotationChangeNotification:"
+            landmarkName = "-popoverWillClose:"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
@@ -8252,7 +8252,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "2048"
             endingLineNumber = "2048"
-            landmarkName = "-popoverWillShow:"
+            landmarkName = "-km_comboBoxSelectionDidChange:"
             landmarkType = "7">
             <Locations>
                <Location
@@ -8744,7 +8744,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "2109"
             endingLineNumber = "2109"
-            landmarkName = "-km_comboBoxSelectionDidChange:"
+            landmarkName = "-adjustFreetText"
             landmarkType = "7">
             <Locations>
                <Location
@@ -8867,8 +8867,8 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "2231"
             endingLineNumber = "2231"
-            landmarkName = "-updateTextPresupposition:size:needChangeListView:"
-            landmarkType = "7">
+            landmarkName = "KMGeneralAnnotationViewController(Font)"
+            landmarkType = "3">
             <Locations>
                <Location
                   uuid = "D365958A-3F39-439A-8BDE-F8AAB0F2B2C3 - 8f69d485cd36c7a5"
@@ -8990,7 +8990,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "2224"
             endingLineNumber = "2224"
-            landmarkName = "-updateTextPresupposition:size:needChangeListView:"
+            landmarkName = "-reDefineTextPresuppositionData:"
             landmarkType = "7">
             <Locations>
                <Location
@@ -9113,8 +9113,8 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "2204"
             endingLineNumber = "2204"
-            landmarkName = "KMGeneralAnnotationViewController(Font)"
-            landmarkType = "3">
+            landmarkName = "-resetTextPresuppositionData"
+            landmarkType = "7">
             <Locations>
                <Location
                   uuid = "6587786D-9FE4-4185-8EBF-43F8E1553692 - a54da4d559a2405"
@@ -9236,7 +9236,7 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "2195"
             endingLineNumber = "2195"
-            landmarkName = "-updateTextTextPresuppositionState:size:"
+            landmarkName = "-updateTextPresupposition:size:needChangeListView:"
             landmarkType = "7">
             <Locations>
                <Location
@@ -9575,8 +9575,8 @@
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "1969"
             endingLineNumber = "1969"
-            landmarkName = "KMGeneralAnnotationViewController"
-            landmarkType = "3">
+            landmarkName = "-observeValueForKeyPath:ofObject:change:context:"
+            landmarkType = "7">
             <Locations>
                <Location
                   uuid = "E125D63F-7F74-4267-ACFC-5DCE91770F6E - 4048455193cadab8"
@@ -9667,9 +9667,7 @@
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
             startingLineNumber = "2319"
-            endingLineNumber = "2319"
-            landmarkName = "-updateFontSize:needChangeListView:needSave:"
-            landmarkType = "7">
+            endingLineNumber = "2319">
             <Locations>
                <Location
                   uuid = "2DE73B57-6EFC-4BE0-8A79-01EEB1AC4A4B - d8d25c4bf527a931"
@@ -13936,8 +13934,8 @@
             filePath = "PDF Master/Class/Home/ViewController/KMHomeViewController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "628"
-            endingLineNumber = "628"
+            startingLineNumber = "634"
+            endingLineNumber = "634"
             landmarkName = "openPDFAction(_:)"
             landmarkType = "7">
             <Locations>
@@ -13986,6 +13984,21 @@
                   endingLineNumber = "628"
                   offsetFromSymbolStart = "92">
                </Location>
+               <Location
+                  uuid = "9637C1F6-AD48-462A-8BD8-6B448BB2E505 - 904e656a6c1c6e8"
+                  shouldBeEnabled = "Yes"
+                  ignoreCount = "0"
+                  continueAfterRunningActions = "No"
+                  symbolName = "PDF_Master.KMHomeViewController.openPDFAction(PDF_Master.KMBox) -&gt; ()"
+                  moduleName = "PDF Master"
+                  usesParentBreakpointCondition = "Yes"
+                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/Home/ViewController/KMHomeViewController.swift"
+                  startingColumnNumber = "9223372036854775807"
+                  endingColumnNumber = "9223372036854775807"
+                  startingLineNumber = "634"
+                  endingLineNumber = "634"
+                  offsetFromSymbolStart = "92">
+               </Location>
             </Locations>
          </BreakpointContent>
       </BreakpointProxy>
@@ -14312,96 +14325,64 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "B0303C64-3696-457E-9368-842A2AFFF854"
+            uuid = "375AF3AF-725A-47A9-99BA-B66039F8E27F"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.swift"
+            filePath = "PDF Master/Class/Home/View/HomeContentView/History/Cell/KMHomeHistoryCollectionItem.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "17"
-            endingLineNumber = "17"
-            landmarkName = "inputData"
-            landmarkType = "24">
-            <Locations>
-               <Location
-                  uuid = "B0303C64-3696-457E-9368-842A2AFFF854 - d71ea3a4d38fe33e"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Master.KMAdvertisementShowView.inputData.didset : Swift.Optional&lt;PDF_Master.KMAdvertisementContent&gt;"
-                  moduleName = "PDF Master"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "17"
-                  endingLineNumber = "17"
-                  offsetFromSymbolStart = "24">
-               </Location>
-               <Location
-                  uuid = "B0303C64-3696-457E-9368-842A2AFFF854 - 14bc5f2d09093928"
-                  shouldBeEnabled = "Yes"
-                  ignoreCount = "0"
-                  continueAfterRunningActions = "No"
-                  symbolName = "PDF_Master.KMAdvertisementShowView.inputData.didset : Swift.Optional&lt;PDF_Master.KMAdvertisementItem&gt;"
-                  moduleName = "PDF Master"
-                  usesParentBreakpointCondition = "Yes"
-                  urlString = "file:///Volumes/Data/Company/kdan/Projects/PDF%20Office/PDF%20Office/PDF%20Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.swift"
-                  startingColumnNumber = "9223372036854775807"
-                  endingColumnNumber = "9223372036854775807"
-                  startingLineNumber = "17"
-                  endingLineNumber = "17"
-                  offsetFromSymbolStart = "24">
-               </Location>
-            </Locations>
+            startingLineNumber = "100"
+            endingLineNumber = "100"
+            landmarkName = "reloadData()"
+            landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "C229BA4C-BB97-4FF7-A7F3-1C9134448764"
+            uuid = "BBDB5A98-4262-45F1-BD2E-DA375BB05785"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/KMAdvertisement/Manager/KMAdvertisementManager.swift"
+            filePath = "PDF Master/Class/Home/View/HomeContentView/History/Cell/KMHomeHistoryCollectionItem.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "130"
-            endingLineNumber = "130"
-            landmarkName = "parseData(data:isNeedLocalComparison:completion:)"
+            startingLineNumber = "115"
+            endingLineNumber = "115"
+            landmarkName = "updateTypeData()"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "33CC0581-290A-41E9-9D5F-6C96830BC4D9"
+            uuid = "23311251-33A9-4056-B359-D813CA74A4E7"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.swift"
+            filePath = "PDF Master/Class/Home/View/HomeContentView/History/Cell/KMHomeHistoryCollectionItem.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "62"
-            endingLineNumber = "62"
-            landmarkName = "reloadData()"
+            startingLineNumber = "128"
+            endingLineNumber = "128"
+            landmarkName = "updateFilesData()"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "20B0B1A0-C3E9-4E07-BB48-3F1F4E3E13BA"
+            uuid = "F8D93F2C-326F-4F8B-8530-8BAD4BDB585E"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            filePath = "PDF Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.swift"
+            filePath = "PDF Master/Class/Home/View/HomeContentView/History/Cell/KMHomeHistoryCollectionItem.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "64"
-            endingLineNumber = "64"
-            landmarkName = "reloadData()"
+            startingLineNumber = "206"
+            endingLineNumber = "206"
+            landmarkName = "updateFilesData()"
             landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>

+ 1 - 1
PDF Office/PDF Master/AppDelegate.swift

@@ -51,7 +51,7 @@ class AppDelegate: NSObject, NSApplicationDelegate {
         KMAdvertisementManager.manager.debug = true
                 
         // 初版不支持暗黑模式
-        NSApp.appearance = NSAppearance(named: .aqua)
+//        NSApp.appearance = NSAppearance(named: .darkAqua)
         KMAnalytics.configure()
 
         //第一次开启app

+ 2 - 2
PDF Office/PDF Master/Base.lproj/Main.storyboard

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

+ 282 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/History/Cell/KMHomeHistoryCollectionItem.swift

@@ -0,0 +1,282 @@
+//
+//  KMHomeHistoryCollectionItem.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/10/27.
+//
+
+import Cocoa
+
+
+typealias KMHomeHistoryCollectionItemShowPathAction = (_ view: KMHomeHistoryCollectionItem) -> Void
+typealias KMHomeHistoryCollectionItemRemovePathAction = (_ view: KMHomeHistoryCollectionItem) -> Void
+typealias KMHomeHistoryCollectionItemMouseMoveAction = (_ view: KMHomeHistoryCollectionItem, _ enter: Bool) -> Void
+typealias KMHomeHistoryCollectionItemMouseDobleClickAction = (_ view: KMHomeHistoryCollectionItem, _ url: URL) -> Void
+
+class KMHomeHistoryCollectionItem: NSCollectionViewItem {
+
+    @IBOutlet weak var contentBox: KMBox!
+    
+    @IBOutlet weak var horizontalView: NSView!
+    @IBOutlet weak var iconImageView: NSImageView!
+    @IBOutlet weak var horizontalTitleLabel: NSTextField!
+    @IBOutlet weak var sizeLabel: NSTextField!
+    @IBOutlet weak var pathLabel: NSTextField!
+    @IBOutlet weak var handleView: NSView!
+    @IBOutlet weak var showPathButton: KMButton!
+    @IBOutlet weak var removePathButton: KMButton!
+    @IBOutlet weak var timeLabel: NSTextField!
+    
+    //
+    @IBOutlet weak var verticalView: NSView!
+    @IBOutlet weak var verticalTitleLabel: NSTextField!
+    @IBOutlet weak var showImageView: NSImageView!
+    
+    var url: URL? {
+        didSet {
+            self.reloadData()
+        }
+    }
+    var showType: KMHomeHistoryListViewShowType = .horizontal {
+        didSet {
+            self.reloadData()
+        }
+    }
+
+    var showPathAction: KMHomeHistoryCollectionItemShowPathAction?
+    var removeAction: KMHomeHistoryCollectionItemRemovePathAction?
+    var mouseMoveAction: KMHomeHistoryCollectionItemMouseMoveAction?
+    var mouseDobleClickAction: KMHomeHistoryCollectionItemMouseDobleClickAction?
+    
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        // Do view setup here.
+        self.setup()
+    }
+
+    override func viewDidLayout() {
+        self.view.addTrackingRect(self.view.bounds, owner: self, userData: nil, assumeInside: false)
+    }
+    
+    func setup() {
+        self.view.wantsLayer = true;
+        self.view.layer?.cornerRadius = 4.0
+        
+        showPathButton.toolTip = NSLocalizedString("Show in Finder", comment: "")
+        removePathButton.toolTip = NSLocalizedString("Remove from Recents", comment: "")
+        handleView.isHidden = true;
+        
+        horizontalTitleLabel.textColor = KMAppearance.Layout.h0Color()
+        verticalTitleLabel.textColor = KMAppearance.Layout.h0Color()
+        pathLabel.textColor = KMAppearance.Layout.h1Color()
+        sizeLabel.textColor = KMAppearance.Layout.h1Color()
+        timeLabel.textColor = KMAppearance.Layout.h2Color()
+        
+        showPathButton.image = NSImage(named: "KMimageNameUXIconHomeOpenfinderNor")
+        showPathButton.alternateImage = NSImage(named:"KMimageNameUXIconHomeOpenfinderHov")
+        
+        removePathButton.image = NSImage(named: "KMImageNameUXIconHomeRemoveNor")
+        removePathButton.alternateImage = NSImage(named: "KMImageNameUXIconHomeRemoveHov")
+        
+        showPathButton.mouseMoveCallback = { [unowned self] mouseEntered in
+            if (mouseEntered) {
+                showPathButton.image = NSImage(named: "KMimageNameUXIconHomeOpenfinderHov")
+            } else {
+                showPathButton.image = NSImage(named: "KMimageNameUXIconHomeOpenfinderNor")
+            }
+        }
+        
+        removePathButton.mouseMoveCallback = { [unowned self] mouseEntered in
+            if (mouseEntered) {
+                removePathButton.image = NSImage(named: "KMImageNameUXIconHomeRemoveHov")
+            } else {
+                removePathButton.image = NSImage(named: "KMImageNameUXIconHomeRemoveNor")
+            }
+        }
+    }
+    
+    func reloadData() {
+        self.updateTypeData()
+        self.updateFilesData()
+    }
+    
+    override func rightMouseDown(with event: NSEvent) {
+        let point = self.view.convert(event.locationInWindow, from: nil)
+        let menu = NSMenu(title: "")
+        menu.addItem(NSMenuItem(title: NSLocalizedString("Show in Finder", comment: ""), action: #selector(showPathButtonAction), keyEquivalent: ""))
+        menu.addItem(NSMenuItem(title: NSLocalizedString("Remove from Recents", comment: ""), action: #selector(removePathButtonAction), keyEquivalent: ""))
+        menu.popUp(positioning: nil, at: point, in: self.view)
+    }
+}
+
+extension KMHomeHistoryCollectionItem {
+    func updateTypeData() {
+        switch self.showType {
+        case .horizontal:
+            self.verticalView.isHidden = true
+            self.horizontalView.isHidden = false
+        case .vertical:
+            self.verticalView.isHidden = false
+            self.horizontalView.isHidden = true
+        }
+    }
+    
+    func updateFilesData() -> Void {
+        guard let fileUrl = url else { return }
+        
+        let attrib = try? FileManager.default.attributesOfItem(atPath: fileUrl.path) as? Dictionary<FileAttributeKey , Any>
+        if attrib != nil {
+            let dateFormatter: DateFormatter = DateFormatter.init()
+            let fileDate: Date = attrib![FileAttributeKey(rawValue: "NSFileModificationDate")] as! Date
+            var fileTime: String = ""
+            if fileDate.isToday() {
+                dateFormatter.dateFormat = "HH:mm"
+            } else if self.isDateInCurrentWeek(fileDate) {
+                dateFormatter.dateFormat = "EEE, HH:mm"
+            } else {
+                dateFormatter.dateFormat = "MMM d, yyyy"
+            }
+            
+            let fileName = fileUrl.lastPathComponent
+//            let fileType = url.pathExtension.isEmpty ? "" : url.pathExtension
+            let fileType = ""
+            let sizeFloat: Float = attrib![FileAttributeKey(rawValue: "NSFileSize")] as? Float ?? 0.0
+            let fileSize = fileSizeString(sizeFloat).isEmpty ? "" : fileSizeString(sizeFloat)
+            let lastTime = dateFormatter.string(from: fileDate)
+            if fileDate.isToday() {
+                fileTime = String(format: "%@, %@", NSLocalizedString("Today", comment: ""), lastTime)
+            } else if isDateInCurrentWeek(fileDate) {
+                fileTime = lastTime
+            } else {
+                fileTime = lastTime
+            }
+
+            let paragraphStyle = NSMutableParagraphStyle()
+            paragraphStyle.lineSpacing = 22.0
+            horizontalTitleLabel.stringValue = fileName
+            verticalTitleLabel.stringValue = fileName
+            
+            //path
+            let array = fileUrl.path
+                .deletingLastPathComponent
+                .components(separatedBy: "/")
+            let string = NSMutableString()
+
+            if array.count > 4 {
+                string.append(".../")
+                string.append(array[array.count - 3])
+                string.append("/")
+                string.append(array[array.count - 2])
+                string.append("/")
+                string.append(array[array.count - 1])
+            } else {
+                string.setString(fileUrl.path.deletingLastPathComponent)
+            }
+
+            pathLabel.stringValue = string as String
+            
+    //        documentName.attributedStringValue = NSAttributedString(string: fileName, attributes: [NSAttributedString.Key.paragraphStyle: paragraphStyle])
+//            documentType.attributedStringValue = NSAttributedString(string: fileType, attributes: [NSAttributedString.Key.paragraphStyle: paragraphStyle])
+            sizeLabel.attributedStringValue = NSAttributedString(string: fileSize, attributes: [NSAttributedString.Key.paragraphStyle: paragraphStyle])
+            timeLabel.attributedStringValue = NSAttributedString(string: fileTime, attributes: [NSAttributedString.Key.paragraphStyle: paragraphStyle])
+//            mainBox.toolTip = fileName
+//            
+//            if selectUrls.contains(fileUrl) {
+//                isSelect = true
+//                mainBox.fillColor = NSColor.km_init(hex: "#CED0D4", alpha: 0.6)
+//                mainBox.borderWidth = 1.0
+//                mainBox.borderColor = NSColor.km_init(hex: "#CED0D4")
+//                mainBox.cornerRadius = 4.0
+//            } else {
+//                isSelect = false
+//                mainBox.fillColor = .clear
+//                mainBox.borderWidth = 0.0
+//                mainBox.cornerRadius = 0.0
+//            }
+//            documentName.backgroundColor = .clear
+//            documentName.textColor = NSColor.km_init(hex: "#252629")
+//            documentName.font = NSFont(name: "SFProText-Regular", size: 14)
+//            documentType.textColor = NSColor.km_init(hex: "#94989C")
+//            documentSize.textColor = NSColor.km_init(hex: "#94989C")
+//            documentName.backgroundColor = .clear
+//            lastModificationTime.textColor = NSColor.km_init(hex: "#94989C")
+//            lastModificationTime.backgroundColor = .clear
+//            moreButton.image = NSImage(named: "KMHomeMoreTools")
+            let image: NSImage = NSImage.previewForFile(path: fileUrl, ofSize: self.view.bounds.size, asIcon: true) ?? NSImage()
+            showImageView.image = image
+        }
+    }
+    
+    func fileSizeString(_ fSize: Float) -> String {
+        let fileSize = fSize / 1024
+        let size = fileSize >= 1024 ? (fileSize < 1048576 ? fileSize/1024 : fileSize/1048576.0) : fileSize
+        let unit = fileSize >= 1024 ? (fileSize < 1048576 ? "M" : "G") : "K"
+        return String(format: "%0.1f %@", size, unit)
+    }
+    
+    func isSameWeek (withDate date: Date) -> Bool {
+        let currentWeekOfYear = getWeekOfYear(date: Date.init())
+        let targetWeekOfYear = getWeekOfYear(date: date)
+        if targetWeekOfYear == currentWeekOfYear {
+            return false
+        } else {
+            return true
+        }
+    }
+    
+    func isDateInCurrentWeek(_ date: Date) -> Bool {
+        let calendar = Calendar.current
+        // 获取当前日期的星期几
+        let weekday = calendar.component(.weekday, from: Date())
+        // 获取一周的第一天(周日)的日期
+        let firstDayOfWeek = calendar.date(byAdding: .day, value: -weekday, to: Date())!
+        // 获取一周的最后一天(下周的第一天)的日期
+        let lastDayOfWeek = calendar.date(byAdding: .day, value: 7, to: firstDayOfWeek)!
+        // 判断日期是否在当前周的范围内
+        return date > firstDayOfWeek && date < lastDayOfWeek
+    }
+     
+    func getWeekOfYear(date: Date) -> Int {
+        let components = Calendar.current.dateComponents([Calendar.Component.weekOfYear], from: date)
+        return components.weekOfYear ?? 0
+    }
+}
+                     
+extension KMHomeHistoryCollectionItem {
+    @objc @IBAction func showPathButtonAction(_ sender: Any) {
+        guard let callBack = showPathAction else { return }
+        
+        callBack(self)
+    }
+    
+    @objc @IBAction func removePathButtonAction(_ sender: Any) {
+        guard let callBack = removeAction else { return }
+        
+        callBack(self)
+    }
+}
+
+extension KMHomeHistoryCollectionItem {
+    override func mouseEntered(with event: NSEvent) {
+        guard let callBack = mouseMoveAction else { return }
+        
+        callBack(self, true)
+    }
+    
+    override func mouseExited(with event: NSEvent) {
+        guard let callBack = mouseMoveAction else { return }
+        
+        callBack(self, false)
+    }
+    
+    override func mouseDown(with event: NSEvent) {
+        if event.clickCount == 2 {
+            // 处理双击操作
+            guard let callBack = mouseDobleClickAction else { return }
+            callBack(self, self.url!)
+        } else {
+            super.mouseDown(with: event)
+        }
+    }
+}

+ 197 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/History/Cell/KMHomeHistoryCollectionItem.xib

@@ -0,0 +1,197 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
+        <capability name="Named colors" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMHomeHistoryCollectionItem" customModule="PDF_Master" customModuleProvider="target">
+            <connections>
+                <outlet property="contentBox" destination="gvc-kj-Yeo" id="b05-Yu-1sn"/>
+                <outlet property="handleView" destination="seD-7E-dp2" id="AlN-MY-rLZ"/>
+                <outlet property="horizontalTitleLabel" destination="ddV-aD-Yah" id="xU2-pL-hSt"/>
+                <outlet property="horizontalView" destination="7sk-7M-lCI" id="EpH-GN-k8x"/>
+                <outlet property="iconImageView" destination="0Mh-Sf-3a2" id="uoB-VI-qbq"/>
+                <outlet property="pathLabel" destination="Der-Qi-aoW" id="PuH-jA-osJ"/>
+                <outlet property="removePathButton" destination="TFk-gH-WAn" id="kQT-uV-5d8"/>
+                <outlet property="showImageView" destination="dbA-sb-Xfk" id="GKb-W4-AfQ"/>
+                <outlet property="showPathButton" destination="HSD-uO-oml" id="QsF-AA-vhr"/>
+                <outlet property="sizeLabel" destination="wId-sm-qtO" id="Iod-iK-eyQ"/>
+                <outlet property="timeLabel" destination="WUP-W3-okM" id="zH1-iA-fty"/>
+                <outlet property="verticalTitleLabel" destination="mZL-RM-KzQ" id="llq-zu-fuu"/>
+                <outlet property="verticalView" destination="oc7-Ul-iDs" id="RTc-R1-XAN"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="940" height="229"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <box boxType="custom" borderWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="gvc-kj-Yeo" customClass="KMBox" customModule="PDF_Master" customModuleProvider="target">
+                    <rect key="frame" x="16" y="16" width="908" height="197"/>
+                    <view key="contentView" id="KgU-86-iwk">
+                        <rect key="frame" x="0.0" y="0.0" width="908" height="197"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                    </view>
+                </box>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="oc7-Ul-iDs">
+                    <rect key="frame" x="0.0" y="0.0" width="940" height="229"/>
+                    <subviews>
+                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="dbA-sb-Xfk">
+                            <rect key="frame" x="0.0" y="40" width="940" height="189"/>
+                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="bdV-B5-oJm"/>
+                        </imageView>
+                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="mZL-RM-KzQ">
+                            <rect key="frame" x="14" y="16" width="912" height="16"/>
+                            <textFieldCell key="cell" alignment="center" id="Nso-Kd-6li">
+                                <font key="font" metaFont="system"/>
+                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="mZL-RM-KzQ" firstAttribute="leading" secondItem="oc7-Ul-iDs" secondAttribute="leading" constant="16" id="7fg-gh-Ipe"/>
+                        <constraint firstAttribute="trailing" secondItem="dbA-sb-Xfk" secondAttribute="trailing" id="HWM-9v-2Rd"/>
+                        <constraint firstItem="dbA-sb-Xfk" firstAttribute="top" secondItem="oc7-Ul-iDs" secondAttribute="top" id="Sv1-jj-Bfg"/>
+                        <constraint firstItem="mZL-RM-KzQ" firstAttribute="centerX" secondItem="oc7-Ul-iDs" secondAttribute="centerX" id="U8s-bU-U33"/>
+                        <constraint firstAttribute="trailing" secondItem="mZL-RM-KzQ" secondAttribute="trailing" constant="16" id="hy9-aF-hPG"/>
+                        <constraint firstItem="mZL-RM-KzQ" firstAttribute="top" secondItem="dbA-sb-Xfk" secondAttribute="bottom" constant="8" id="jfz-kY-uGx"/>
+                        <constraint firstAttribute="bottom" secondItem="dbA-sb-Xfk" secondAttribute="bottom" constant="40" id="lD8-TX-JUg"/>
+                        <constraint firstItem="dbA-sb-Xfk" firstAttribute="leading" secondItem="oc7-Ul-iDs" secondAttribute="leading" id="xP3-Qp-EQE"/>
+                    </constraints>
+                </customView>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="7sk-7M-lCI">
+                    <rect key="frame" x="0.0" y="0.0" width="940" height="229"/>
+                    <subviews>
+                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="0Mh-Sf-3a2">
+                            <rect key="frame" x="16" y="99" width="32" height="32"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="32" id="Hwu-re-UBO"/>
+                                <constraint firstAttribute="height" constant="32" id="Wiy-fe-sgF"/>
+                            </constraints>
+                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyUpOrDown" image="KMImageNameUXIconPropertybarFilePdf" id="eLO-Yq-M3q"/>
+                        </imageView>
+                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ddV-aD-Yah">
+                            <rect key="frame" x="54" y="114" width="40" height="17"/>
+                            <textFieldCell key="cell" lineBreakMode="truncatingMiddle" alignment="left" title="Label" id="AYN-Fy-tcy">
+                                <font key="font" metaFont="system" size="14"/>
+                                <color key="textColor" name="KMGray6Color"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WUP-W3-okM">
+                            <rect key="frame" x="817" y="107" width="109" height="15"/>
+                            <textFieldCell key="cell" lineBreakMode="clipping" alignment="right" title="2020-08-01 12:39" id="PEF-8C-QEE">
+                                <font key="font" metaFont="cellTitle"/>
+                                <color key="textColor" name="KMGray5Color"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Der-Qi-aoW">
+                            <rect key="frame" x="93" y="99" width="35" height="15"/>
+                            <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="2AB-HF-4Ox">
+                                <font key="font" metaFont="cellTitle"/>
+                                <color key="textColor" red="0.39607843139999999" green="0.41176470590000003" blue="0.43921568630000002" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="wId-sm-qtO">
+                            <rect key="frame" x="54" y="99" width="35" height="15"/>
+                            <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="Pbe-3u-seE">
+                                <font key="font" metaFont="cellTitle"/>
+                                <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <customView translatesAutoresizingMaskIntoConstraints="NO" id="seD-7E-dp2">
+                            <rect key="frame" x="695" y="95" width="100" height="40"/>
+                            <subviews>
+                                <button translatesAutoresizingMaskIntoConstraints="NO" id="HSD-uO-oml" customClass="KMButton" customModule="PDF_Master" customModuleProvider="target">
+                                    <rect key="frame" x="20" y="10" width="20" height="20"/>
+                                    <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMimageNameUXIconHomeOpenfinderNor" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="3fQ-E6-5PX">
+                                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                        <font key="font" metaFont="system"/>
+                                    </buttonCell>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="20" id="80L-12-LrA"/>
+                                        <constraint firstAttribute="height" constant="20" id="eOT-Uy-uIz"/>
+                                    </constraints>
+                                    <connections>
+                                        <action selector="showPathButtonAction:" target="-2" id="DOu-Nk-4jV"/>
+                                    </connections>
+                                </button>
+                                <button translatesAutoresizingMaskIntoConstraints="NO" id="TFk-gH-WAn" customClass="KMButton" customModule="PDF_Master" customModuleProvider="target">
+                                    <rect key="frame" x="60" y="10" width="20" height="20"/>
+                                    <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNameUXIconHomeRemoveNor" imagePosition="overlaps" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="4WS-yy-x9P">
+                                        <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                        <font key="font" metaFont="system"/>
+                                    </buttonCell>
+                                    <constraints>
+                                        <constraint firstAttribute="width" constant="20" id="3x6-0t-W2G"/>
+                                        <constraint firstAttribute="height" constant="20" id="Afa-dM-24q"/>
+                                    </constraints>
+                                    <connections>
+                                        <action selector="removePathButtonAction:" target="-2" id="iN4-wh-nGW"/>
+                                    </connections>
+                                </button>
+                            </subviews>
+                            <constraints>
+                                <constraint firstItem="TFk-gH-WAn" firstAttribute="centerY" secondItem="seD-7E-dp2" secondAttribute="centerY" id="1WN-HU-Tbr"/>
+                                <constraint firstItem="HSD-uO-oml" firstAttribute="centerY" secondItem="seD-7E-dp2" secondAttribute="centerY" id="852-42-Het"/>
+                                <constraint firstItem="TFk-gH-WAn" firstAttribute="centerX" secondItem="seD-7E-dp2" secondAttribute="centerX" constant="20" id="Hl6-6Q-t6F"/>
+                                <constraint firstAttribute="height" constant="40" id="bWV-l7-iOY"/>
+                                <constraint firstItem="HSD-uO-oml" firstAttribute="centerX" secondItem="seD-7E-dp2" secondAttribute="centerX" constant="-20" id="eR0-13-eod"/>
+                                <constraint firstAttribute="width" constant="100" id="mmj-xq-JlI"/>
+                            </constraints>
+                        </customView>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="Der-Qi-aoW" firstAttribute="leading" secondItem="wId-sm-qtO" secondAttribute="trailing" constant="8" id="3Xx-1N-jxL"/>
+                        <constraint firstItem="WUP-W3-okM" firstAttribute="centerY" secondItem="0Mh-Sf-3a2" secondAttribute="centerY" id="Ek8-FQ-sYA"/>
+                        <constraint firstItem="seD-7E-dp2" firstAttribute="centerY" secondItem="7sk-7M-lCI" secondAttribute="centerY" id="LQm-ap-hCm"/>
+                        <constraint firstItem="0Mh-Sf-3a2" firstAttribute="leading" secondItem="7sk-7M-lCI" secondAttribute="leading" constant="16" id="NLG-Aa-oZ0"/>
+                        <constraint firstItem="wId-sm-qtO" firstAttribute="leading" secondItem="0Mh-Sf-3a2" secondAttribute="trailing" constant="8" id="P6W-HV-B1N"/>
+                        <constraint firstItem="Der-Qi-aoW" firstAttribute="centerY" secondItem="wId-sm-qtO" secondAttribute="centerY" id="WhF-tw-G1U"/>
+                        <constraint firstItem="ddV-aD-Yah" firstAttribute="leading" secondItem="0Mh-Sf-3a2" secondAttribute="trailing" constant="8" id="b6a-Mv-bbk"/>
+                        <constraint firstAttribute="trailing" secondItem="WUP-W3-okM" secondAttribute="trailing" constant="16" id="ffA-da-LAi"/>
+                        <constraint firstItem="0Mh-Sf-3a2" firstAttribute="centerY" secondItem="7sk-7M-lCI" secondAttribute="centerY" id="hSv-e3-grz"/>
+                        <constraint firstItem="wId-sm-qtO" firstAttribute="bottom" secondItem="0Mh-Sf-3a2" secondAttribute="bottom" id="k8G-xK-sUx"/>
+                        <constraint firstItem="WUP-W3-okM" firstAttribute="leading" secondItem="seD-7E-dp2" secondAttribute="trailing" constant="24" id="w23-gi-JHt"/>
+                        <constraint firstItem="ddV-aD-Yah" firstAttribute="top" secondItem="0Mh-Sf-3a2" secondAttribute="top" id="yC7-2n-C7a"/>
+                    </constraints>
+                </customView>
+            </subviews>
+            <constraints>
+                <constraint firstAttribute="bottom" secondItem="7sk-7M-lCI" secondAttribute="bottom" id="1xu-Eu-Gpw"/>
+                <constraint firstItem="oc7-Ul-iDs" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="3mN-ui-HOd"/>
+                <constraint firstAttribute="trailing" secondItem="gvc-kj-Yeo" secondAttribute="trailing" constant="16" id="MQ9-mG-dvf"/>
+                <constraint firstItem="gvc-kj-Yeo" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" constant="16" id="QNY-R7-aCn"/>
+                <constraint firstAttribute="trailing" secondItem="oc7-Ul-iDs" secondAttribute="trailing" id="ZvQ-Yb-83f"/>
+                <constraint firstItem="gvc-kj-Yeo" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" constant="16" id="c3K-iJ-GsK"/>
+                <constraint firstAttribute="trailing" secondItem="7sk-7M-lCI" secondAttribute="trailing" id="cqh-JA-THy"/>
+                <constraint firstItem="7sk-7M-lCI" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="e4i-JT-Slb"/>
+                <constraint firstItem="7sk-7M-lCI" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="ooa-BQ-VTr"/>
+                <constraint firstAttribute="bottom" secondItem="gvc-kj-Yeo" secondAttribute="bottom" constant="16" id="pQn-cm-GgU"/>
+                <constraint firstAttribute="bottom" secondItem="oc7-Ul-iDs" secondAttribute="bottom" id="pjN-VI-SK1"/>
+                <constraint firstItem="oc7-Ul-iDs" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="tTF-yE-4ER"/>
+            </constraints>
+            <point key="canvasLocation" x="-77" y="122.5"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="KMImageNameUXIconHomeRemoveNor" width="20" height="20"/>
+        <image name="KMImageNameUXIconPropertybarFilePdf" width="32" height="33"/>
+        <image name="KMimageNameUXIconHomeOpenfinderNor" width="20" height="20"/>
+        <namedColor name="KMGray5Color">
+            <color red="0.32899999618530273" green="0.32400000095367432" blue="0.4779999852180481" alpha="0.33000001311302185" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+        <namedColor name="KMGray6Color">
+            <color red="0.396078431372549" green="0.41176470588235292" blue="0.4392156862745098" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+    </resources>
+</document>

+ 131 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/History/KMHomeHistoryListView.swift

@@ -0,0 +1,131 @@
+//
+//  KMHomeHistoryListView.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/10/27.
+//
+
+import Cocoa
+
+
+enum KMHomeHistoryListViewShowType: Int {
+    case horizontal = 0 //横
+    case vertical //纵
+}
+
+typealias KMHomeHistoryListViewItemDidSelect = (_ view: KMHomeHistoryListView, _ url: URL) -> Void
+class KMHomeHistoryListView: KMBaseXibView {
+    @IBOutlet weak var collectionView: NSCollectionView!
+    
+    var didSelect: KMHomeHistoryListViewItemDidSelect?
+    var data:[URL] = []
+    var showType:KMHomeHistoryListViewShowType = .horizontal {
+        didSet {
+            self.collectionView.reloadData()
+        }
+    }
+    
+    
+    override func draw(_ dirtyRect: NSRect) {
+        if dirtyRect.size.width != self.bounds.size.width {
+            let indexPathsToReload = Set([IndexPath(item: 0, section: 0)/*, IndexPath(item: 1, section: 0)*/]) // 要刷新的单元项的索引路径
+            collectionView.reloadItems(at: indexPathsToReload)
+        }
+        super.draw(dirtyRect)
+
+    }
+    
+    override func setup() {
+        //设置代理
+        self.collectionView.delegate = self
+        self.collectionView.dataSource = self
+        //是否可选中
+        self.collectionView.isSelectable = true
+        //注册cell
+        self.collectionView.register(KMHomeHistoryCollectionItem.self, forItemWithIdentifier: NSUserInterfaceItemIdentifier(rawValue: "KMHomeHistoryCollectionItem"))
+        
+//        self.backgroundColor(KMAppearance.Layout.l0Color())
+    }
+    
+    override func reloadData() {
+        self.data.removeAll()
+        for url in NSDocumentController.shared.recentDocumentURLs {
+            if FileManager.default.fileExists(atPath: url.path) {
+                self.data.append(url)
+            }
+        }
+
+        let fileNumber = KMPreferenceManager.shared.getData(forKey: KMPreference.documentMaximunDisplayNumberKey) as? Int ?? 10
+        if fileNumber <= data.count {
+            let arr1 = data.prefix(fileNumber)
+            self.data = Array(arr1)
+        }
+        
+        self.collectionView.reloadData()
+    }
+}
+
+extension KMHomeHistoryListView: NSCollectionViewDelegate {
+    //当item被选中
+    public func collectionView(_ collectionView: NSCollectionView, didSelectItemsAt indexPaths: Set<IndexPath>) {
+        print("点击")
+        let view = collectionView.item(at: indexPaths.first!) as! KMHomeHistoryCollectionItem
+        
+//        let content = view.model
+        
+//        guard let callBack = didSelect else { return }
+//        
+//        content?.index = indexPaths.first!.item
+//        callBack(self, content!)
+    }
+    
+   //当item取消选中
+    public func collectionView(_ collectionView: NSCollectionView, didDeselectItemsAt indexPaths: Set<IndexPath>) {
+        _ = collectionView.item(at: indexPaths.first!) as! KMHomeHistoryCollectionItem
+    }
+}
+
+extension KMHomeHistoryListView: NSCollectionViewDataSource {
+    public func numberOfSections(in collectionView: NSCollectionView) -> Int {
+        return 1
+    }
+    
+    public func collectionView(_ collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int {
+        return self.data.count
+    }
+    
+    //返回对应的item自定义个体
+    public func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem {
+        let view = collectionView.makeItem(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "KMHomeHistoryCollectionItem"), for: indexPath) as! KMHomeHistoryCollectionItem
+        view.showType = self.showType
+        if self.data.count > indexPath.item {
+            view.url = self.data[indexPath.item]
+        }
+        
+        view.mouseDobleClickAction = {[unowned self] view, url in
+            guard let callBack = didSelect else { return }
+            
+            callBack(self, url)
+        }
+        return view
+    }
+}
+
+extension KMHomeHistoryListView: NSCollectionViewDelegateFlowLayout {
+    
+    public func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> NSSize {
+        if showType == .horizontal {
+            return NSSize(width: self.contentView.bounds.width, height: 64)
+        } else {
+            return NSSize(width: 136, height: 214)
+        }
+    }
+    
+    public func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, insetForSectionAt section: Int) -> NSEdgeInsets {
+        if showType == .horizontal {
+            return NSEdgeInsets(top: 10, left: 0, bottom: 10, right: 0)
+        } else {
+            return NSEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
+        }
+    }
+}

+ 56 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/History/KMHomeHistoryListView.xib

@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMHomeHistoryListView" customModule="PDF_Master" customModuleProvider="target">
+            <connections>
+                <outlet property="collectionView" destination="2YZ-04-yn6" id="VrD-Wg-TzA"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe">
+            <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <scrollView wantsLayer="YES" borderType="none" autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" hasVerticalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="rQW-DN-cJx">
+                    <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
+                    <clipView key="contentView" drawsBackground="NO" id="hpl-mt-Tmp">
+                        <rect key="frame" x="0.0" y="0.0" width="480" height="272"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <collectionView id="2YZ-04-yn6">
+                                <rect key="frame" x="0.0" y="0.0" width="480" height="158"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES"/>
+                                <collectionViewFlowLayout key="collectionViewLayout" minimumInteritemSpacing="10" minimumLineSpacing="10" id="nLD-SM-dF9">
+                                    <size key="itemSize" width="50" height="50"/>
+                                </collectionViewFlowLayout>
+                                <color key="primaryBackgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
+                            </collectionView>
+                        </subviews>
+                        <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
+                    </clipView>
+                    <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="nvA-t1-N9p">
+                        <rect key="frame" x="-100" y="-100" width="233" height="15"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </scroller>
+                    <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="xme-h7-eh8" customClass="KMToolSetScroller" customModule="PDF_Master" customModuleProvider="target">
+                        <rect key="frame" x="-100" y="-100" width="15" height="143"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </scroller>
+                </scrollView>
+            </subviews>
+            <constraints>
+                <constraint firstItem="rQW-DN-cJx" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" id="0qW-dq-SU7"/>
+                <constraint firstAttribute="trailing" secondItem="rQW-DN-cJx" secondAttribute="trailing" id="5pe-5b-eAE"/>
+                <constraint firstAttribute="bottom" secondItem="rQW-DN-cJx" secondAttribute="bottom" id="bOt-kl-Tq1"/>
+                <constraint firstItem="rQW-DN-cJx" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="d0j-Zg-yIC"/>
+            </constraints>
+            <point key="canvasLocation" x="-146" y="54"/>
+        </customView>
+    </objects>
+</document>

+ 75 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/KMHomeContentView.swift

@@ -0,0 +1,75 @@
+//
+//  KMHomeContentView.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/10/27.
+//
+
+import Cocoa
+
+typealias KMHomeContentViewHistoryDidSelect = (_ view: KMHomeContentView, _ url: URL) -> Void
+
+class KMHomeContentView: KMBaseXibView {
+    @IBOutlet weak var qucikToolsLabel: NSTextField!
+    @IBOutlet weak var qucikToolsView: KMQucikToolsView!
+    @IBOutlet weak var leftButton: NSButton!
+    @IBOutlet weak var rightButton: NSButton!
+    @IBOutlet weak var moreButton: KMButton!
+    
+    
+    @IBOutlet weak var recentlyLabel: NSTextField!
+    @IBOutlet weak var historyListView: KMHomeHistoryListView!
+    @IBOutlet weak var horizontalButton: NSButton!
+    @IBOutlet weak var verticalButton: NSButton!
+    @IBOutlet weak var cleanButton: KMButton!
+    
+    var historyDidSelect: KMHomeContentViewHistoryDidSelect?
+    
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+        self.setup()
+    }
+    
+    override func setup() {
+        self.historyListViewSetup()
+    }
+}
+
+extension KMHomeContentView {
+    @IBAction func leftButtonAction(_ sender: Any) {
+        
+    }
+    
+    @IBAction func rightButtonAction(_ sender: Any) {
+        
+    }
+    
+    @IBAction func moreButtonAction(_ sender: Any) {
+        
+    }
+}
+
+extension KMHomeContentView {
+    func historyListViewSetup() {
+        self.historyListView.didSelect = { [unowned self] view, url in
+            guard let callBack = historyDidSelect else { return }
+            
+            callBack(self, url)
+        }
+        
+    }
+    
+    @IBAction func horizontalButtonAction(_ sender: Any) {
+        self.historyListView.showType = .horizontal
+    }
+    
+    @IBAction func verticalButtonAction(_ sender: Any) {
+        self.historyListView.showType = .vertical
+    }
+    
+    @IBAction func cleanButtonAction(_ sender: Any) {
+        
+    }
+}

+ 252 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/KMHomeContentView.xib

@@ -0,0 +1,252 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMHomeContentView" customModule="PDF_Master" customModuleProvider="target">
+            <connections>
+                <outlet property="cleanButton" destination="2pe-eQ-jim" id="NzZ-si-Lah"/>
+                <outlet property="historyListView" destination="wMw-AS-5yG" id="HHc-lb-Uau"/>
+                <outlet property="horizontalButton" destination="f8L-dW-OV5" id="2bQ-AH-t3U"/>
+                <outlet property="leftButton" destination="PwG-OP-iJ7" id="eZg-FR-Kro"/>
+                <outlet property="moreButton" destination="YVh-aT-yWA" id="M54-rm-tnw"/>
+                <outlet property="qucikToolsLabel" destination="FaJ-2q-2cQ" id="q0S-ez-pED"/>
+                <outlet property="qucikToolsView" destination="ynU-RA-kWD" id="t4n-b1-mpf"/>
+                <outlet property="recentlyLabel" destination="Jq6-Hl-amd" id="cL6-5Q-9jC"/>
+                <outlet property="rightButton" destination="WPD-Y0-yC2" id="ZEL-I1-FmC"/>
+                <outlet property="verticalButton" destination="oce-zR-GCX" id="DXr-S4-r67"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe">
+            <rect key="frame" x="0.0" y="0.0" width="700" height="667"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <scrollView borderType="none" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" hasVerticalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kXR-P8-kEz">
+                    <rect key="frame" x="48" y="48" width="624" height="571"/>
+                    <clipView key="contentView" drawsBackground="NO" id="i44-GZ-Pxj">
+                        <rect key="frame" x="0.0" y="0.0" width="624" height="571"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <view id="jlt-dP-sou">
+                                <rect key="frame" x="0.0" y="0.0" width="609" height="556"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                <subviews>
+                                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="PAa-wQ-E8L">
+                                        <rect key="frame" x="0.0" y="294" width="609" height="262"/>
+                                        <subviews>
+                                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="69z-SV-dL5">
+                                                <rect key="frame" x="0.0" y="238" width="609" height="24"/>
+                                                <subviews>
+                                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="FaJ-2q-2cQ">
+                                                        <rect key="frame" x="-2" y="0.0" width="111" height="24"/>
+                                                        <textFieldCell key="cell" lineBreakMode="clipping" title="Qucik Tools" id="uw9-z5-FMe">
+                                                            <font key="font" metaFont="systemSemibold" size="20"/>
+                                                            <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                            <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                        </textFieldCell>
+                                                    </textField>
+                                                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="YVh-aT-yWA" customClass="KMButton">
+                                                        <rect key="frame" x="589" y="2" width="20" height="20"/>
+                                                        <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNameUXIconHomeMoreNor" imagePosition="only" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="H4M-FQ-wtf">
+                                                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                            <font key="font" metaFont="system"/>
+                                                        </buttonCell>
+                                                        <connections>
+                                                            <action selector="moreButtonAction:" target="-2" id="4JY-gV-CUq"/>
+                                                        </connections>
+                                                    </button>
+                                                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WPD-Y0-yC2">
+                                                        <rect key="frame" x="557" y="2" width="16" height="21"/>
+                                                        <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="NSTouchBarGoForwardTemplate" imagePosition="overlaps" alignment="center" imageScaling="proportionallyDown" inset="2" id="mRw-z9-Pze">
+                                                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                            <font key="font" metaFont="system"/>
+                                                        </buttonCell>
+                                                        <constraints>
+                                                            <constraint firstAttribute="width" constant="16" id="ASJ-At-7qY"/>
+                                                            <constraint firstAttribute="height" constant="16" id="x37-9K-xk3"/>
+                                                        </constraints>
+                                                        <connections>
+                                                            <action selector="rightButtonAction:" target="-2" id="noR-iP-jsC"/>
+                                                        </connections>
+                                                    </button>
+                                                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="PwG-OP-iJ7">
+                                                        <rect key="frame" x="509" y="2" width="16" height="21"/>
+                                                        <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" image="NSTouchBarGoBackTemplate" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="bil-yH-Akb">
+                                                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                            <font key="font" metaFont="system"/>
+                                                        </buttonCell>
+                                                        <constraints>
+                                                            <constraint firstAttribute="height" constant="16" id="Dw9-LS-jOQ"/>
+                                                            <constraint firstAttribute="width" constant="16" id="Wzf-Iv-uw7"/>
+                                                        </constraints>
+                                                        <connections>
+                                                            <action selector="leftButtonAction:" target="-2" id="U2S-eX-FI8"/>
+                                                        </connections>
+                                                    </button>
+                                                </subviews>
+                                                <constraints>
+                                                    <constraint firstItem="WPD-Y0-yC2" firstAttribute="centerY" secondItem="69z-SV-dL5" secondAttribute="centerY" id="1mQ-di-yW2"/>
+                                                    <constraint firstItem="WPD-Y0-yC2" firstAttribute="leading" secondItem="PwG-OP-iJ7" secondAttribute="trailing" constant="32" id="2o2-jt-hDj"/>
+                                                    <constraint firstAttribute="trailing" secondItem="YVh-aT-yWA" secondAttribute="trailing" id="C9W-JG-W8s"/>
+                                                    <constraint firstItem="FaJ-2q-2cQ" firstAttribute="leading" secondItem="69z-SV-dL5" secondAttribute="leading" id="UZc-nM-Aqt"/>
+                                                    <constraint firstAttribute="height" constant="24" id="VF5-NT-Dua"/>
+                                                    <constraint firstItem="FaJ-2q-2cQ" firstAttribute="centerY" secondItem="69z-SV-dL5" secondAttribute="centerY" id="e4G-eL-brO"/>
+                                                    <constraint firstItem="YVh-aT-yWA" firstAttribute="leading" secondItem="WPD-Y0-yC2" secondAttribute="trailing" constant="16" id="sIP-zf-cQy"/>
+                                                    <constraint firstItem="YVh-aT-yWA" firstAttribute="centerY" secondItem="69z-SV-dL5" secondAttribute="centerY" id="u3H-Ys-UG6"/>
+                                                    <constraint firstItem="PwG-OP-iJ7" firstAttribute="centerY" secondItem="69z-SV-dL5" secondAttribute="centerY" id="ygX-nH-XYo"/>
+                                                </constraints>
+                                            </customView>
+                                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="ynU-RA-kWD" customClass="KMQucikToolsView" customModule="PDF_Master" customModuleProvider="target">
+                                                <rect key="frame" x="0.0" y="0.0" width="609" height="238"/>
+                                            </customView>
+                                        </subviews>
+                                        <constraints>
+                                            <constraint firstItem="69z-SV-dL5" firstAttribute="leading" secondItem="PAa-wQ-E8L" secondAttribute="leading" id="CXA-Yf-S6n"/>
+                                            <constraint firstAttribute="trailing" secondItem="69z-SV-dL5" secondAttribute="trailing" id="R3o-AV-ca6"/>
+                                            <constraint firstItem="69z-SV-dL5" firstAttribute="top" secondItem="PAa-wQ-E8L" secondAttribute="top" id="T3r-CJ-twO"/>
+                                            <constraint firstAttribute="height" constant="262" id="TWz-4G-1dS"/>
+                                            <constraint firstAttribute="trailing" secondItem="ynU-RA-kWD" secondAttribute="trailing" id="ah7-Yb-qGV"/>
+                                            <constraint firstItem="ynU-RA-kWD" firstAttribute="top" secondItem="69z-SV-dL5" secondAttribute="bottom" id="iUL-0f-b1G"/>
+                                            <constraint firstAttribute="bottom" secondItem="ynU-RA-kWD" secondAttribute="bottom" id="lil-Ek-8bs"/>
+                                            <constraint firstItem="ynU-RA-kWD" firstAttribute="leading" secondItem="PAa-wQ-E8L" secondAttribute="leading" id="sYF-gW-xax"/>
+                                        </constraints>
+                                    </customView>
+                                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="lCh-WA-G58">
+                                        <rect key="frame" x="0.0" y="0.0" width="609" height="246"/>
+                                        <subviews>
+                                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="Q84-po-tiv">
+                                                <rect key="frame" x="0.0" y="222" width="609" height="24"/>
+                                                <subviews>
+                                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Jq6-Hl-amd">
+                                                        <rect key="frame" x="-2" y="0.0" width="85" height="24"/>
+                                                        <textFieldCell key="cell" lineBreakMode="clipping" title="Recently" id="ify-Mu-nbZ">
+                                                            <font key="font" metaFont="systemSemibold" size="20"/>
+                                                            <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
+                                                            <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                        </textFieldCell>
+                                                    </textField>
+                                                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="2pe-eQ-jim" customClass="KMButton">
+                                                        <rect key="frame" x="589" y="2" width="20" height="20"/>
+                                                        <buttonCell key="cell" type="square" title="Button" bezelStyle="shadowlessSquare" image="KMImageNameHomeDeletNor" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="unN-7z-cUu">
+                                                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                            <font key="font" metaFont="system"/>
+                                                        </buttonCell>
+                                                        <constraints>
+                                                            <constraint firstAttribute="width" constant="20" id="68J-F8-nVR"/>
+                                                            <constraint firstAttribute="height" constant="20" id="hf5-uR-HfC"/>
+                                                        </constraints>
+                                                        <connections>
+                                                            <action selector="cleanButtonAction:" target="-2" id="4Ja-7N-Avc"/>
+                                                        </connections>
+                                                    </button>
+                                                    <box horizontalHuggingPriority="750" boxType="separator" translatesAutoresizingMaskIntoConstraints="NO" id="mDv-HL-Jso">
+                                                        <rect key="frame" x="567" y="2" width="5" height="20"/>
+                                                        <constraints>
+                                                            <constraint firstAttribute="width" constant="1" id="SGq-bD-tlk"/>
+                                                            <constraint firstAttribute="height" constant="20" id="kQu-ie-pMw"/>
+                                                        </constraints>
+                                                    </box>
+                                                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oce-zR-GCX">
+                                                        <rect key="frame" x="529" y="2" width="20" height="20"/>
+                                                        <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNameUXIconHomeViewthumbnailNor" imagePosition="overlaps" alignment="center" imageScaling="proportionallyDown" inset="2" id="0s5-A7-lRz">
+                                                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                            <font key="font" metaFont="system"/>
+                                                        </buttonCell>
+                                                        <constraints>
+                                                            <constraint firstAttribute="height" constant="20" id="HDg-pn-2rE"/>
+                                                            <constraint firstAttribute="width" constant="20" id="Kyx-GP-dbb"/>
+                                                        </constraints>
+                                                        <connections>
+                                                            <action selector="verticalButtonAction:" target="-2" id="Tsa-n6-92q"/>
+                                                        </connections>
+                                                    </button>
+                                                    <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="f8L-dW-OV5">
+                                                        <rect key="frame" x="493" y="2" width="20" height="20"/>
+                                                        <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="KMImageNameUXIconHomeViewlistNor" imagePosition="overlaps" alignment="center" imageScaling="proportionallyDown" inset="2" id="fSg-GB-X16">
+                                                            <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                            <font key="font" metaFont="system"/>
+                                                        </buttonCell>
+                                                        <constraints>
+                                                            <constraint firstAttribute="width" constant="20" id="Hx5-iJ-u9m"/>
+                                                            <constraint firstAttribute="height" constant="20" id="Xzr-w7-vMu"/>
+                                                        </constraints>
+                                                        <connections>
+                                                            <action selector="horizontalButtonAction:" target="-2" id="ffd-Qv-P2i"/>
+                                                        </connections>
+                                                    </button>
+                                                </subviews>
+                                                <constraints>
+                                                    <constraint firstAttribute="height" constant="24" id="3cL-Mi-izd"/>
+                                                    <constraint firstItem="f8L-dW-OV5" firstAttribute="centerY" secondItem="Q84-po-tiv" secondAttribute="centerY" id="Cf9-QY-3at"/>
+                                                    <constraint firstItem="mDv-HL-Jso" firstAttribute="centerY" secondItem="Q84-po-tiv" secondAttribute="centerY" id="EBA-r9-ef4"/>
+                                                    <constraint firstItem="Jq6-Hl-amd" firstAttribute="leading" secondItem="Q84-po-tiv" secondAttribute="leading" id="Gpg-oa-r8n"/>
+                                                    <constraint firstAttribute="trailing" secondItem="2pe-eQ-jim" secondAttribute="trailing" id="JSL-Us-Bp2"/>
+                                                    <constraint firstItem="Jq6-Hl-amd" firstAttribute="centerY" secondItem="Q84-po-tiv" secondAttribute="centerY" id="Nvb-BH-krU"/>
+                                                    <constraint firstItem="oce-zR-GCX" firstAttribute="centerY" secondItem="Q84-po-tiv" secondAttribute="centerY" id="Xl6-TG-izL"/>
+                                                    <constraint firstItem="2pe-eQ-jim" firstAttribute="leading" secondItem="mDv-HL-Jso" secondAttribute="trailing" constant="19" id="Zqb-KP-jZ6"/>
+                                                    <constraint firstItem="oce-zR-GCX" firstAttribute="leading" secondItem="f8L-dW-OV5" secondAttribute="trailing" constant="16" id="aN0-Rr-nPu"/>
+                                                    <constraint firstItem="2pe-eQ-jim" firstAttribute="centerY" secondItem="Q84-po-tiv" secondAttribute="centerY" id="bjw-iR-IQZ"/>
+                                                    <constraint firstItem="mDv-HL-Jso" firstAttribute="leading" secondItem="oce-zR-GCX" secondAttribute="trailing" constant="20" id="soy-3d-rtd"/>
+                                                </constraints>
+                                            </customView>
+                                            <customView translatesAutoresizingMaskIntoConstraints="NO" id="wMw-AS-5yG" customClass="KMHomeHistoryListView" customModule="PDF_Master" customModuleProvider="target">
+                                                <rect key="frame" x="0.0" y="0.0" width="609" height="222"/>
+                                            </customView>
+                                        </subviews>
+                                        <constraints>
+                                            <constraint firstItem="wMw-AS-5yG" firstAttribute="top" secondItem="Q84-po-tiv" secondAttribute="bottom" id="9Vd-no-qV4"/>
+                                            <constraint firstItem="Q84-po-tiv" firstAttribute="leading" secondItem="lCh-WA-G58" secondAttribute="leading" id="Xua-gM-k6t"/>
+                                            <constraint firstAttribute="trailing" secondItem="Q84-po-tiv" secondAttribute="trailing" id="YLW-A7-bBV"/>
+                                            <constraint firstAttribute="trailing" secondItem="wMw-AS-5yG" secondAttribute="trailing" id="d3N-SN-uuz"/>
+                                            <constraint firstItem="Q84-po-tiv" firstAttribute="top" secondItem="lCh-WA-G58" secondAttribute="top" id="dc9-9O-prs"/>
+                                            <constraint firstItem="wMw-AS-5yG" firstAttribute="leading" secondItem="lCh-WA-G58" secondAttribute="leading" id="tJ1-Wi-nBZ"/>
+                                            <constraint firstAttribute="bottom" secondItem="wMw-AS-5yG" secondAttribute="bottom" id="xuF-zv-5TH"/>
+                                        </constraints>
+                                    </customView>
+                                </subviews>
+                                <constraints>
+                                    <constraint firstItem="PAa-wQ-E8L" firstAttribute="top" secondItem="jlt-dP-sou" secondAttribute="top" id="3iE-Hv-fU7"/>
+                                    <constraint firstItem="lCh-WA-G58" firstAttribute="top" secondItem="PAa-wQ-E8L" secondAttribute="bottom" constant="48" id="Ark-gU-B5L"/>
+                                    <constraint firstAttribute="trailing" secondItem="lCh-WA-G58" secondAttribute="trailing" id="Bus-kI-RRx"/>
+                                    <constraint firstItem="lCh-WA-G58" firstAttribute="leading" secondItem="jlt-dP-sou" secondAttribute="leading" id="Q0h-pJ-4eR"/>
+                                    <constraint firstItem="PAa-wQ-E8L" firstAttribute="leading" secondItem="jlt-dP-sou" secondAttribute="leading" id="mj5-r1-2md"/>
+                                    <constraint firstAttribute="bottom" secondItem="lCh-WA-G58" secondAttribute="bottom" id="sNd-yf-uit"/>
+                                    <constraint firstAttribute="trailing" secondItem="PAa-wQ-E8L" secondAttribute="trailing" id="z8Z-dx-yGz"/>
+                                </constraints>
+                            </view>
+                        </subviews>
+                        <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
+                    </clipView>
+                    <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="lJa-LQ-t6a">
+                        <rect key="frame" x="-100" y="-100" width="685" height="15"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </scroller>
+                    <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="JGk-Uc-9sS">
+                        <rect key="frame" x="-100" y="-100" width="15" height="667"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </scroller>
+                </scrollView>
+            </subviews>
+            <constraints>
+                <constraint firstItem="kXR-P8-kEz" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" constant="48" id="K7m-qE-Cbe"/>
+                <constraint firstAttribute="trailing" secondItem="kXR-P8-kEz" secondAttribute="trailing" constant="28" id="VPd-ma-QBA"/>
+                <constraint firstItem="kXR-P8-kEz" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" constant="48" id="WjW-AJ-53t"/>
+                <constraint firstAttribute="bottom" secondItem="kXR-P8-kEz" secondAttribute="bottom" constant="48" id="dAS-Gt-Pni"/>
+            </constraints>
+            <point key="canvasLocation" x="-436" y="281.5"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="KMImageNameHomeDeletNor" width="20" height="20"/>
+        <image name="KMImageNameUXIconHomeMoreNor" width="20" height="20"/>
+        <image name="KMImageNameUXIconHomeViewlistNor" width="20" height="20"/>
+        <image name="KMImageNameUXIconHomeViewthumbnailNor" width="20" height="20"/>
+        <image name="NSTouchBarGoBackTemplate" width="12" height="17"/>
+        <image name="NSTouchBarGoForwardTemplate" width="12" height="17"/>
+    </resources>
+</document>

+ 18 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/NoFileView/KMHomeNOFileView.swift

@@ -0,0 +1,18 @@
+//
+//  KMHomeNOFileView.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/10/30.
+//
+
+import Cocoa
+
+class KMHomeNOFileView: NSView {
+
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+}

+ 71 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/NoFileView/KMHomeNOFileView.xib

@@ -0,0 +1,71 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner"/>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe">
+            <rect key="frame" x="0.0" y="0.0" width="260" height="215"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <customView translatesAutoresizingMaskIntoConstraints="NO" id="Rqu-VJ-nd2">
+                    <rect key="frame" x="0.0" y="0.0" width="260" height="215"/>
+                    <subviews>
+                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="EpA-iG-2fX">
+                            <rect key="frame" x="-2" y="42" width="264" height="17"/>
+                            <textFieldCell key="cell" alignment="center" title="No recently opened file" id="jxf-2m-h5S">
+                                <font key="font" metaFont="systemSemibold" size="14"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                        <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="kgz-YX-oag">
+                            <rect key="frame" x="60" y="75" width="140" height="140"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="140" id="BKm-Q1-YeQ"/>
+                                <constraint firstAttribute="height" constant="140" id="Gbg-Xa-qLe"/>
+                            </constraints>
+                            <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameUXIconImgEmpthHome" id="aSM-Nq-t67"/>
+                        </imageView>
+                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1Gc-Xd-aZe">
+                            <rect key="frame" x="-2" y="0.0" width="264" height="34"/>
+                            <textFieldCell key="cell" alignment="center" title="Click Add files or drag-and-drop files here to open them" id="NHF-rt-7Js">
+                                <font key="font" metaFont="system" size="14"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                            </textFieldCell>
+                        </textField>
+                    </subviews>
+                    <constraints>
+                        <constraint firstItem="EpA-iG-2fX" firstAttribute="leading" secondItem="Rqu-VJ-nd2" secondAttribute="leading" id="0NT-wi-bcZ"/>
+                        <constraint firstAttribute="trailing" secondItem="EpA-iG-2fX" secondAttribute="trailing" id="0pK-A5-6rf"/>
+                        <constraint firstItem="1Gc-Xd-aZe" firstAttribute="top" secondItem="EpA-iG-2fX" secondAttribute="bottom" constant="8" id="8jo-O3-gaQ"/>
+                        <constraint firstItem="kgz-YX-oag" firstAttribute="centerX" secondItem="Rqu-VJ-nd2" secondAttribute="centerX" id="Gep-uT-FZ0"/>
+                        <constraint firstItem="EpA-iG-2fX" firstAttribute="top" secondItem="kgz-YX-oag" secondAttribute="bottom" constant="16" id="Jvc-cu-Cr5"/>
+                        <constraint firstItem="1Gc-Xd-aZe" firstAttribute="leading" secondItem="Rqu-VJ-nd2" secondAttribute="leading" id="M6N-2l-Shn"/>
+                        <constraint firstAttribute="trailing" secondItem="1Gc-Xd-aZe" secondAttribute="trailing" id="Vo0-Pq-pLX"/>
+                        <constraint firstAttribute="trailing" secondItem="kgz-YX-oag" secondAttribute="trailing" constant="60" id="Zrc-C2-nxF"/>
+                        <constraint firstAttribute="bottom" secondItem="1Gc-Xd-aZe" secondAttribute="bottom" id="bA8-JM-AxD"/>
+                        <constraint firstItem="kgz-YX-oag" firstAttribute="top" secondItem="Rqu-VJ-nd2" secondAttribute="top" id="eac-A1-5Qr"/>
+                        <constraint firstItem="kgz-YX-oag" firstAttribute="leading" secondItem="Rqu-VJ-nd2" secondAttribute="leading" constant="60" id="lJC-gg-ouc"/>
+                    </constraints>
+                </customView>
+            </subviews>
+            <constraints>
+                <constraint firstItem="Rqu-VJ-nd2" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" id="Cgz-Ps-JpD"/>
+                <constraint firstAttribute="bottom" secondItem="Rqu-VJ-nd2" secondAttribute="bottom" id="IAk-5A-JSN"/>
+                <constraint firstAttribute="trailing" secondItem="Rqu-VJ-nd2" secondAttribute="trailing" id="IE3-rQ-cTx"/>
+                <constraint firstItem="Rqu-VJ-nd2" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="QS4-UF-nef"/>
+            </constraints>
+            <point key="canvasLocation" x="-54" y="108"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="KMImageNameUXIconImgEmpthHome" width="140" height="141"/>
+    </resources>
+</document>

+ 98 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/QucikTools/KMQucikToolsView.swift

@@ -0,0 +1,98 @@
+//
+//  KMQucikToolsView.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/10/27.
+//
+
+import Cocoa
+
+class KMQucikToolsView: KMBaseXibView {
+    @IBOutlet weak var collectionView: NSCollectionView!
+    
+    var data: [KMQucikToolsModel] = []
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        // Drawing code here.
+    }
+    
+    override func setup() {
+        //设置代理
+        let layout = NSCollectionViewFlowLayout()
+        layout.scrollDirection = .horizontal
+        layout.minimumLineSpacing = 10
+        layout.minimumInteritemSpacing = 10
+        // 设置布局到 NSCollectionView
+        self.collectionView.collectionViewLayout = layout
+        
+        self.collectionView.delegate = self
+        self.collectionView.dataSource = self
+        //是否可选中
+        self.collectionView.isSelectable = true
+        //注册cell
+        self.collectionView.register(KMQucikToolCollectionViewItem.self, forItemWithIdentifier: NSUserInterfaceItemIdentifier(rawValue: "KMQucikToolCollectionViewItem"))
+        
+//        self.backgroundColor(KMAppearance.Layout.l0Color())
+    }
+    
+    override func reloadData() {
+        self.data.removeAll()
+        
+        for type in KMQucikToolsModel.allType() {
+            self.data.append(KMQucikToolsModel.init(type: type))
+        }
+        self.collectionView.reloadData()
+    }
+}
+
+extension KMQucikToolsView: NSCollectionViewDelegate {
+    //当item被选中
+    public func collectionView(_ collectionView: NSCollectionView, didSelectItemsAt indexPaths: Set<IndexPath>) {
+        print("点击")
+        let view = collectionView.item(at: indexPaths.first!) as! KMQucikToolCollectionViewItem
+        
+//        let content = view.model
+        
+//        guard let callBack = didSelect else { return }
+//        
+//        content?.index = indexPaths.first!.item
+//        callBack(self, content!)
+    }
+    
+   //当item取消选中
+    public func collectionView(_ collectionView: NSCollectionView, didDeselectItemsAt indexPaths: Set<IndexPath>) {
+        _ = collectionView.item(at: indexPaths.first!) as! KMQucikToolCollectionViewItem
+    }
+}
+
+extension KMQucikToolsView: NSCollectionViewDataSource {
+    public func numberOfSections(in collectionView: NSCollectionView) -> Int {
+        return 1
+    }
+    
+    public func collectionView(_ collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int {
+        return self.data.count
+    }
+    
+    //返回对应的item自定义个体
+    public func collectionView(_ collectionView: NSCollectionView, itemForRepresentedObjectAt indexPath: IndexPath) -> NSCollectionViewItem {
+        let view = collectionView.makeItem(withIdentifier: NSUserInterfaceItemIdentifier(rawValue: "KMQucikToolCollectionViewItem"), for: indexPath) as! KMQucikToolCollectionViewItem
+        if self.data.count > indexPath.item {
+            view.model = self.data[indexPath.item]
+        }
+        return view
+    }
+    
+}
+
+extension KMQucikToolsView: NSCollectionViewDelegateFlowLayout {
+    
+    public func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> NSSize {
+        return NSSize(width: 216, height: 96)
+    }
+    
+    public func collectionView(_ collectionView: NSCollectionView, layout collectionViewLayout: NSCollectionViewLayout, insetForSectionAt section: Int) -> NSEdgeInsets {
+        return NSEdgeInsets(top: 10, left: 10, bottom: 10, right: 10)
+    }
+}

+ 56 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/QucikTools/KMQucikToolsView.xib

@@ -0,0 +1,56 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMQucikToolsView" customModule="PDF_Master" customModuleProvider="target">
+            <connections>
+                <outlet property="collectionView" destination="yOH-Gk-DXG" id="HWt-h6-8Wn"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="c22-O7-iKe">
+            <rect key="frame" x="0.0" y="0.0" width="621" height="175"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <scrollView wantsLayer="YES" borderType="none" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasHorizontalScroller="NO" hasVerticalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kBd-Wh-qT6">
+                    <rect key="frame" x="0.0" y="0.0" width="621" height="175"/>
+                    <clipView key="contentView" drawsBackground="NO" id="bai-5O-0kt">
+                        <rect key="frame" x="0.0" y="0.0" width="621" height="175"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <collectionView id="yOH-Gk-DXG">
+                                <rect key="frame" x="0.0" y="0.0" width="621" height="158"/>
+                                <autoresizingMask key="autoresizingMask" widthSizable="YES"/>
+                                <collectionViewFlowLayout key="collectionViewLayout" minimumInteritemSpacing="10" minimumLineSpacing="10" id="Boi-ZL-7EE">
+                                    <size key="itemSize" width="50" height="50"/>
+                                </collectionViewFlowLayout>
+                                <color key="primaryBackgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
+                            </collectionView>
+                        </subviews>
+                        <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
+                    </clipView>
+                    <scroller key="horizontalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="iOy-A9-wuo" customClass="KMToolSetScroller" customModule="PDF_Master" customModuleProvider="target">
+                        <rect key="frame" x="-100" y="-100" width="233" height="15"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </scroller>
+                    <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="ASj-Kc-swn">
+                        <rect key="frame" x="-100" y="-100" width="15" height="143"/>
+                        <autoresizingMask key="autoresizingMask"/>
+                    </scroller>
+                </scrollView>
+            </subviews>
+            <constraints>
+                <constraint firstItem="kBd-Wh-qT6" firstAttribute="leading" secondItem="c22-O7-iKe" secondAttribute="leading" id="KAN-eN-rGv"/>
+                <constraint firstItem="kBd-Wh-qT6" firstAttribute="top" secondItem="c22-O7-iKe" secondAttribute="top" id="KAb-VE-iHG"/>
+                <constraint firstAttribute="trailing" secondItem="kBd-Wh-qT6" secondAttribute="trailing" id="Qhy-st-hr6"/>
+                <constraint firstAttribute="bottom" secondItem="kBd-Wh-qT6" secondAttribute="bottom" id="nEX-md-hgZ"/>
+            </constraints>
+            <point key="canvasLocation" x="392.5" y="168.5"/>
+        </customView>
+    </objects>
+</document>

+ 116 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/QucikTools/Model/KMQucikToolsModel.swift

@@ -0,0 +1,116 @@
+//
+//  KMQucikToolsModel.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/10/30.
+//
+
+import Cocoa
+
+class KMQucikToolsModel: NSObject {
+    init(type: DataNavigationViewButtonActionType? = nil) {
+        self.type = type
+    }
+    
+    var type: DataNavigationViewButtonActionType?
+    
+    static func allType() -> [DataNavigationViewButtonActionType] {
+        let array: [DataNavigationViewButtonActionType] = [.Batch, .ConvertPDF, .PDFToWord, .PDFToExcel, .FileCompare, .PDFToPPT, .ImageToPDF, .OCR, .PageEdit, .MergePDF, .BreakUp, .Insert, .Compression, .Security, .Watermark, .Background, .HeaderAndFooter, .BatesCode, .Print, .Print, .Print]
+        return array
+    }
+    
+    func titleString() -> String {
+        var string = ""
+        
+        switch self.type {
+        case .ConvertPDF: string = "Convert PDF"
+        case .PDFToWord: string = "PDF To Word"
+        case .PDFToExcel: string = "PDF To Excel"
+        case .PDFToPPT: string = "PDF To PPT"
+        case .ImageToPDF: string = "Image To PDF"
+        case .OCR: string = "OCR"
+        case .PageEdit: string = "Page Edit"
+        case .MergePDF: string = "Merge"
+        case .BreakUp: string = "Split"
+        case .Insert: string = "Insert"
+        case .Compression: string = "Compress"
+        case .Security: string = "Security"
+        case .Watermark: string = "Watermark"
+        case .Background: string = "Background"
+        case .HeaderAndFooter: string = "Header & Footer"
+        case .BatesCode: string = "Bates Numbers"
+//        case .Print: string = "Poster"
+//        case .Print: string = "Multiple"
+//        case .Print: string = "Booklet"
+        case .Batch: string = "Batch"
+        case .FileCompare: string = "Compare Files"
+        default: string = ""
+        }
+            
+        return string
+    }
+    
+    func subTitleString() -> String {
+        var string = ""
+        
+        switch self.type {
+        case .ConvertPDF: string = "Convert PDFs to Word/HTML/TXT/JPEG/PNG files"
+        case .PDFToWord: string = "Convert PDFs to Word, Fonts & formatting get converted"
+        case .PDFToExcel: string = "Turn PDF table into a formatted Excel file"
+        case .PDFToPPT: string = "Turn your PDF into a formatted PPT file that you can edit"
+        case .ImageToPDF: string = "Convert JPEG/JPG/PNG/TIFF/BMP/PSD files to PDFs"
+        case .OCR: string = "Recognize text from images or scanned PDF with OCR"
+        case .PageEdit: string = "Insert/delete/extract/rotate/reposition/replace PDF pages"
+        case .MergePDF: string = "Combine multiple documents into a new PDF file"
+        case .BreakUp: string = "Split and save selected PDF pages as a new document"
+        case .Insert: string = "Inserting pages into an existing PDF"
+        case .Compression: string = "Reduce files size to make sure you can easily send them by email."
+        case .Security: string = "Easily batch encrypt PDFs or decrypt the protected files"
+        case .Watermark: string = "Protect PDFs with image/text watermarks from plagiarism"
+        case .Background: string = "Customize PDFs background with colors or images"
+        case .HeaderAndFooter: string = "Customize PDFs header & footer or add page numbers"
+        case .BatesCode: string = "Easily retrieval indexing legal documents by Bates Numbers"
+//        case .Print: string = "Divide large PDF page(s) into multiple smaller pages"
+//        case .Print: string = "Print multiple PDF pages on a single sheet of paper"
+//        case .Print: string = "Print a multipage document as a booklet"
+        case .Batch: string = "Batch convert, compress, secure, watermark PDFs"
+        case .FileCompare: string = "Compare the differences between two files"
+        default: string = ""
+        }
+            
+        return string
+    }
+    
+    func iconImage() -> NSImage {
+        var string = ""
+        
+        switch self.type {
+        case .ConvertPDF: string = "KMImageNameUXIconHomeQuicktoolConvertNor"
+        case .PDFToWord: string = "KMImageNameUXIconHomeQuicktoolWordNor"
+        case .PDFToExcel: string = "KMImageNameUXIconHomeQuicktoolExcelNor"
+        case .PDFToPPT: string = "KMImageNameUXIconHomeQuicktoolPPTNor"
+        case .ImageToPDF: string = "KMImageNameUXIconHomeQuicktoolPdftoimgNor"
+        case .OCR: string = "KMImageNameUXIconHomeQuicktoolOcrNor"
+        case .PageEdit: string = "KMImageNameUXIconHomeQuicktoolPageeditNor"
+        case .MergePDF: string = "KMImageNameUXIconHomeQuicktoolMergeNor"
+        case .BreakUp: string = "KMImageNameUXIconHomeQuicktoolSplitNor"
+        case .Insert: string = "KMImageNameUXIconHomeQuicktoolInsertNor"
+        case .Compression: string = "KMImageNameUXIconHomeQuicktoolComprison"
+        case .Security: string = "KMImageNameUXIconHomeQuicktoolSafeNor"
+        case .Watermark: string = "KMImageNameUXIconHomeQuicktoolWatermarkNor"
+        case .Background: string = "KMImageNameUXIconHomeQuicktoolBackgroundNor"
+        case .HeaderAndFooter: string = "KMImageNameUXIconHomeQuicktoolHeaderandfooterNor"
+        case .BatesCode: string = "KMImageNameUXIconHomeQuicktoolBatesNor"
+//        case .Print: string = "KMImageNameUXIconHomeQuicktoolPosterNor"
+//        case .Print: string = "KMImageNameUXIconHomeQuicktoolMultipageNor"
+//        case .Print: string = "KMImageNameUXIconHomeQuicktoolBookNor"
+        case .Batch: string = "KMImageNameUXIconHomeQuicktoolBatchNor"
+        case .FileCompare: string = "KMHomeQuickToolsItemTypePDFComparison"
+        default: string = ""
+        }
+            
+        return NSImage(named: string) ?? NSImage()
+    }
+}
+
+

+ 123 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/QucikTools/View/KMQucikToolCollectionViewItem.swift

@@ -0,0 +1,123 @@
+//
+//  KMQucikToolCollectionViewItem.swift
+//  PDF Master
+//
+//  Created by lizhe on 2023/10/27.
+//
+
+import Cocoa
+
+class KMQucikToolCollectionViewItem: NSCollectionViewItem {
+    @IBOutlet weak var contentBox: KMBox!
+    @IBOutlet weak var iconImageView: NSImageView!
+    @IBOutlet weak var titleLabel: NSTextField!
+    @IBOutlet weak var subTitleLabel: NSTextField!
+    
+    @IBOutlet weak var handleView: NSView!
+    @IBOutlet weak var addBox: KMBox!
+    @IBOutlet weak var addButton: KMButton!
+    @IBOutlet weak var removeBox: KMBox!
+    @IBOutlet weak var removeButton: KMButton!
+    
+    @IBOutlet weak var tagView: NSView!
+    @IBOutlet weak var tagLabel: NSTextField!
+    
+    
+    var model: KMQucikToolsModel? {
+        didSet {
+            self.reloadData()
+        }
+    }
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        // Do view setup here.
+        self.setup()
+    }
+    
+    override func viewDidLayout() {
+        self.view.addTrackingRect(self.view.bounds, owner: self, userData: nil, assumeInside: false)
+    }
+    
+    func setup() {
+        self.tagView.isHidden = true
+        
+        self.handleView.isHidden = true
+        self.addBox.borderColor = KMAppearance.Layout.w70Color()
+        self.addBox.borderWidth = 1.0
+        
+        self.addButton.title = "+" + NSLocalizedString("Add", comment: "")
+        self.addButton.contentTintColor = KMAppearance.Layout.w0Color()
+        
+        self.addBox.moveCallback = { [unowned self] mouseEntered, mouseBox in
+            if mouseEntered {
+                self.addButton.backgroundColor(KMAppearance.Status.preColor())
+            } else {
+                self.addButton.backgroundColor(NSColor.clear)
+            }
+        }
+
+        self.removeBox.borderColor = KMAppearance.Layout.w70Color()
+        self.removeBox.borderWidth = 1.0
+        
+        self.removeButton.title = "+" + NSLocalizedString("Remove", comment: "")
+        self.removeButton.contentTintColor = KMAppearance.Layout.w0Color()
+        self.removeButton.backgroundColor(KMAppearance.Status.preColor())
+        
+        self.removeBox.moveCallback = { [unowned self] mouseEntered, mouseBox in
+            if mouseEntered {
+                self.removeButton.backgroundColor(KMAppearance.Status.preColor())
+            } else {
+                self.removeButton.backgroundColor(NSColor.clear)
+            }
+        }
+        
+        self.contentBox.borderColor = KMAppearance.Interactive.s0Color()
+        self.contentBox.borderWidth = 1.0;
+        self.titleLabel.textColor = KMAppearance.Layout.h0Color()
+        self.subTitleLabel.textColor = KMAppearance.Layout.h1Color()
+        self.contentBox.fillColor = KMAppearance.Layout.l1Color()
+        self.contentBox.moveCallback = { [unowned self] mouseEntered, mouseBox in
+            if (mouseEntered) {
+//                if (blockSelf.mouseMoveCallback) {
+//                    blockSelf.mouseMoveCallback(YES);
+//                }
+            } else {
+//                if (blockSelf.mouseMoveCallback) {
+//                    blockSelf.mouseMoveCallback(NO);
+//                }
+            }
+        }
+        
+        self.tagView.backgroundColor(NSColor(red: 0.0/255.0, green: 207.0/255.0, blue: 133.0/255.0, alpha: 1))
+        self.tagView.layer?.masksToBounds = true
+        self.tagView.layer?.cornerRadius = 8
+    }
+    
+    func reloadData() {
+        guard let model = model else { return }
+        
+        self.titleLabel.stringValue = model.titleString()
+        self.subTitleLabel.stringValue = model.subTitleString()
+        self.iconImageView.image = model.iconImage()
+        
+    }
+    
+    @IBAction func removeButtonAction(_ sender: Any) {
+        
+    }
+    @IBAction func addButtonAction(_ sender: Any) {
+        
+    }
+    
+}
+
+extension KMQucikToolCollectionViewItem {
+    override func mouseEntered(with event: NSEvent) {
+        self.view.backgroundColor(NSColor.green)
+    }
+    
+    override func mouseExited(with event: NSEvent) {
+        self.view.backgroundColor(NSColor.red)
+    }
+    
+}

+ 204 - 0
PDF Office/PDF Master/Class/Home/View/HomeContentView/QucikTools/View/KMQucikToolCollectionViewItem.xib

@@ -0,0 +1,204 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+    <dependencies>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
+        <capability name="Named colors" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <customObject id="-2" userLabel="File's Owner" customClass="KMQucikToolCollectionViewItem" customModule="PDF_Master" customModuleProvider="target">
+            <connections>
+                <outlet property="addBox" destination="WpY-hX-Iuh" id="fMG-vu-eRc"/>
+                <outlet property="addButton" destination="Sfr-Rz-iNv" id="t4A-h4-K0f"/>
+                <outlet property="contentBox" destination="Mqk-nf-F6P" id="NYS-b5-WXO"/>
+                <outlet property="handleView" destination="5hE-EB-Fbu" id="26F-NC-WO7"/>
+                <outlet property="iconImageView" destination="Vlz-sL-oSP" id="B0h-Nl-Kpf"/>
+                <outlet property="removeBox" destination="4I9-UP-8io" id="MX1-8C-cop"/>
+                <outlet property="removeButton" destination="HWd-oT-cNf" id="ZKr-wg-jc0"/>
+                <outlet property="subTitleLabel" destination="xUh-Dj-kJH" id="Tpg-Qr-ffJ"/>
+                <outlet property="tagLabel" destination="E0R-9e-vEN" id="bAB-No-8Yn"/>
+                <outlet property="tagView" destination="MKg-Pm-wMc" id="dRm-b8-PGC"/>
+                <outlet property="titleLabel" destination="CuI-0G-xl6" id="Isf-Kn-kGP"/>
+                <outlet property="view" destination="Hz6-mo-xeY" id="0bl-1N-x8E"/>
+            </connections>
+        </customObject>
+        <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
+        <customObject id="-3" userLabel="Application" customClass="NSObject"/>
+        <customView id="Hz6-mo-xeY">
+            <rect key="frame" x="0.0" y="0.0" width="216" height="96"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
+            <subviews>
+                <box boxType="custom" borderWidth="0.0" translatesAutoresizingMaskIntoConstraints="NO" id="Mqk-nf-F6P" customClass="KMBox" customModule="PDF_Master" customModuleProvider="target">
+                    <rect key="frame" x="0.0" y="0.0" width="216" height="96"/>
+                    <view key="contentView" id="bYU-P3-vtp">
+                        <rect key="frame" x="0.0" y="0.0" width="216" height="96"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <subviews>
+                            <view translatesAutoresizingMaskIntoConstraints="NO" id="B7V-zv-Z6E">
+                                <rect key="frame" x="0.0" y="0.0" width="216" height="96"/>
+                                <subviews>
+                                    <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="Vlz-sL-oSP">
+                                        <rect key="frame" x="16" y="56" width="20" height="20"/>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="20" id="FfB-eG-3tH"/>
+                                            <constraint firstAttribute="width" constant="20" id="ZYz-CL-Mkm"/>
+                                        </constraints>
+                                        <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameHomeBackground" id="5wv-kB-Bkg"/>
+                                    </imageView>
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="CuI-0G-xl6">
+                                        <rect key="frame" x="42" y="57" width="42" height="17"/>
+                                        <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="wMS-Vz-yLV">
+                                            <font key="font" metaFont="systemBold" size="14"/>
+                                            <color key="textColor" name="KMGray6Color"/>
+                                            <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                        </textFieldCell>
+                                    </textField>
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="xUh-Dj-kJH">
+                                        <rect key="frame" x="42" y="19" width="160" height="34"/>
+                                        <constraints>
+                                            <constraint firstAttribute="height" constant="34" id="gc3-Ff-Nhi"/>
+                                        </constraints>
+                                        <textFieldCell key="cell" title="Label" id="ynF-CO-E0E">
+                                            <font key="font" metaFont="cellTitle"/>
+                                            <color key="textColor" name="KMGrayColor"/>
+                                            <color key="backgroundColor" name="KMGray2Color"/>
+                                        </textFieldCell>
+                                    </textField>
+                                    <customView fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="MKg-Pm-wMc">
+                                        <rect key="frame" x="180" y="80" width="44" height="24"/>
+                                        <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMinY="YES"/>
+                                        <subviews>
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" fixedFrame="YES" translatesAutoresizingMaskIntoConstraints="NO" id="E0R-9e-vEN">
+                                                <rect key="frame" x="0.0" y="0.0" width="36" height="14"/>
+                                                <autoresizingMask key="autoresizingMask" flexibleMinX="YES" flexibleMaxY="YES"/>
+                                                <textFieldCell key="cell" lineBreakMode="clipping" alignment="center" title="New" id="LoG-mu-nCH">
+                                                    <font key="font" metaFont="miniSystemBold"/>
+                                                    <color key="textColor" name="KMWhiteColor"/>
+                                                    <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
+                                                </textFieldCell>
+                                            </textField>
+                                        </subviews>
+                                    </customView>
+                                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="5hE-EB-Fbu">
+                                        <rect key="frame" x="16" y="8" width="184" height="44"/>
+                                        <subviews>
+                                            <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="4I9-UP-8io" customClass="KMBox" customModule="PDF_Master" customModuleProvider="target">
+                                                <rect key="frame" x="96" y="10" width="88" height="24"/>
+                                                <view key="contentView" id="xxV-Ig-q6L">
+                                                    <rect key="frame" x="0.0" y="0.0" width="88" height="24"/>
+                                                    <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                                    <subviews>
+                                                        <button translatesAutoresizingMaskIntoConstraints="NO" id="HWd-oT-cNf" customClass="KMButton">
+                                                            <rect key="frame" x="0.0" y="0.0" width="88" height="24"/>
+                                                            <buttonCell key="cell" type="square" title="- Remove" bezelStyle="shadowlessSquare" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="lIK-U7-kOI">
+                                                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                                <font key="font" metaFont="system"/>
+                                                            </buttonCell>
+                                                            <connections>
+                                                                <action selector="removeButtonAction:" target="-2" id="dBj-wp-gqD"/>
+                                                            </connections>
+                                                        </button>
+                                                    </subviews>
+                                                    <constraints>
+                                                        <constraint firstItem="HWd-oT-cNf" firstAttribute="leading" secondItem="xxV-Ig-q6L" secondAttribute="leading" id="1vi-ws-tgb"/>
+                                                        <constraint firstAttribute="trailing" secondItem="HWd-oT-cNf" secondAttribute="trailing" id="7Wj-x2-AL1"/>
+                                                        <constraint firstAttribute="bottom" secondItem="HWd-oT-cNf" secondAttribute="bottom" id="hge-ov-hqL"/>
+                                                        <constraint firstItem="HWd-oT-cNf" firstAttribute="top" secondItem="xxV-Ig-q6L" secondAttribute="top" id="yMa-2W-bm2"/>
+                                                    </constraints>
+                                                </view>
+                                                <constraints>
+                                                    <constraint firstAttribute="height" constant="24" id="ZZ8-sN-RHF"/>
+                                                    <constraint firstAttribute="width" constant="88" id="mSV-Jb-zUY"/>
+                                                </constraints>
+                                                <color key="fillColor" white="1" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            </box>
+                                            <box boxType="custom" borderWidth="0.0" cornerRadius="1" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="WpY-hX-Iuh" customClass="KMBox" customModule="PDF_Master" customModuleProvider="target">
+                                                <rect key="frame" x="0.0" y="10" width="88" height="24"/>
+                                                <view key="contentView" id="G5Y-6x-Ziw">
+                                                    <rect key="frame" x="0.0" y="0.0" width="88" height="24"/>
+                                                    <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                                                    <subviews>
+                                                        <button translatesAutoresizingMaskIntoConstraints="NO" id="Sfr-Rz-iNv" customClass="KMButton">
+                                                            <rect key="frame" x="0.0" y="0.0" width="88" height="24"/>
+                                                            <buttonCell key="cell" type="square" title="+ Add" bezelStyle="shadowlessSquare" alignment="center" imageScaling="proportionallyUpOrDown" inset="2" id="ION-oS-3z4">
+                                                                <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
+                                                                <font key="font" metaFont="system"/>
+                                                            </buttonCell>
+                                                            <connections>
+                                                                <action selector="addButtonAction:" target="-2" id="gN0-OC-odq"/>
+                                                            </connections>
+                                                        </button>
+                                                    </subviews>
+                                                    <constraints>
+                                                        <constraint firstAttribute="trailing" secondItem="Sfr-Rz-iNv" secondAttribute="trailing" id="9Tw-Za-Sz7"/>
+                                                        <constraint firstItem="Sfr-Rz-iNv" firstAttribute="leading" secondItem="G5Y-6x-Ziw" secondAttribute="leading" id="FlI-ZO-GLr"/>
+                                                        <constraint firstItem="Sfr-Rz-iNv" firstAttribute="top" secondItem="G5Y-6x-Ziw" secondAttribute="top" id="Rmu-2s-nSn"/>
+                                                        <constraint firstAttribute="bottom" secondItem="Sfr-Rz-iNv" secondAttribute="bottom" id="vsw-nH-T6p"/>
+                                                    </constraints>
+                                                </view>
+                                                <constraints>
+                                                    <constraint firstAttribute="height" constant="24" id="L9o-vl-BZL"/>
+                                                    <constraint firstAttribute="width" constant="88" id="lQZ-xc-ZE5"/>
+                                                </constraints>
+                                                <color key="fillColor" white="1" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                            </box>
+                                        </subviews>
+                                        <constraints>
+                                            <constraint firstAttribute="trailing" secondItem="4I9-UP-8io" secondAttribute="trailing" id="H7I-ef-a1Z"/>
+                                            <constraint firstItem="WpY-hX-Iuh" firstAttribute="centerY" secondItem="5hE-EB-Fbu" secondAttribute="centerY" id="PCT-YL-AFj"/>
+                                            <constraint firstItem="4I9-UP-8io" firstAttribute="leading" secondItem="WpY-hX-Iuh" secondAttribute="trailing" constant="8" id="chG-Dz-V3u"/>
+                                            <constraint firstItem="4I9-UP-8io" firstAttribute="centerY" secondItem="WpY-hX-Iuh" secondAttribute="centerY" id="hCY-iE-6l4"/>
+                                            <constraint firstItem="WpY-hX-Iuh" firstAttribute="leading" secondItem="5hE-EB-Fbu" secondAttribute="leading" id="hH9-RV-mUU"/>
+                                        </constraints>
+                                    </customView>
+                                </subviews>
+                                <constraints>
+                                    <constraint firstAttribute="bottom" secondItem="5hE-EB-Fbu" secondAttribute="bottom" constant="8" id="D7T-JK-rEj"/>
+                                    <constraint firstItem="xUh-Dj-kJH" firstAttribute="leading" secondItem="CuI-0G-xl6" secondAttribute="leading" id="N72-QY-RBz"/>
+                                    <constraint firstItem="CuI-0G-xl6" firstAttribute="leading" secondItem="Vlz-sL-oSP" secondAttribute="trailing" constant="8" id="WfY-mk-msC"/>
+                                    <constraint firstItem="CuI-0G-xl6" firstAttribute="top" secondItem="B7V-zv-Z6E" secondAttribute="top" constant="22" id="YjZ-Fj-3Oa"/>
+                                    <constraint firstItem="5hE-EB-Fbu" firstAttribute="leading" secondItem="B7V-zv-Z6E" secondAttribute="leading" constant="16" id="Z1n-qt-ohg"/>
+                                    <constraint firstItem="xUh-Dj-kJH" firstAttribute="top" secondItem="CuI-0G-xl6" secondAttribute="bottom" constant="4" id="bxk-x0-9pl"/>
+                                    <constraint firstAttribute="trailing" secondItem="5hE-EB-Fbu" secondAttribute="trailing" constant="16" id="fM1-OU-rRd"/>
+                                    <constraint firstItem="5hE-EB-Fbu" firstAttribute="top" secondItem="Vlz-sL-oSP" secondAttribute="bottom" constant="4" id="kxS-do-AqU"/>
+                                    <constraint firstItem="Vlz-sL-oSP" firstAttribute="top" secondItem="B7V-zv-Z6E" secondAttribute="top" constant="20" id="pxK-L8-ix9"/>
+                                    <constraint firstItem="Vlz-sL-oSP" firstAttribute="leading" secondItem="B7V-zv-Z6E" secondAttribute="leading" constant="16" id="s3q-BH-Q5c"/>
+                                    <constraint firstAttribute="trailing" secondItem="xUh-Dj-kJH" secondAttribute="trailing" constant="16" id="zX8-gf-kxj"/>
+                                </constraints>
+                            </view>
+                        </subviews>
+                        <constraints>
+                            <constraint firstAttribute="bottom" secondItem="B7V-zv-Z6E" secondAttribute="bottom" id="RMC-p6-6zB"/>
+                            <constraint firstItem="B7V-zv-Z6E" firstAttribute="leading" secondItem="bYU-P3-vtp" secondAttribute="leading" id="gnz-eK-PvV"/>
+                            <constraint firstAttribute="trailing" secondItem="B7V-zv-Z6E" secondAttribute="trailing" id="om2-p7-jaY"/>
+                            <constraint firstItem="B7V-zv-Z6E" firstAttribute="top" secondItem="bYU-P3-vtp" secondAttribute="top" id="ueL-23-WOe"/>
+                        </constraints>
+                    </view>
+                </box>
+            </subviews>
+            <constraints>
+                <constraint firstAttribute="bottom" secondItem="Mqk-nf-F6P" secondAttribute="bottom" id="Ryz-Ce-hvn"/>
+                <constraint firstAttribute="trailing" secondItem="Mqk-nf-F6P" secondAttribute="trailing" id="SZx-GQ-4io"/>
+                <constraint firstItem="Mqk-nf-F6P" firstAttribute="leading" secondItem="Hz6-mo-xeY" secondAttribute="leading" id="fiI-MU-6go"/>
+                <constraint firstItem="Mqk-nf-F6P" firstAttribute="top" secondItem="Hz6-mo-xeY" secondAttribute="top" id="rFA-23-wjT"/>
+            </constraints>
+            <point key="canvasLocation" x="-160" y="64"/>
+        </customView>
+    </objects>
+    <resources>
+        <image name="KMImageNameHomeBackground" width="40" height="40"/>
+        <namedColor name="KMGray2Color">
+            <color red="0.96078431372549022" green="0.96470588235294119" blue="0.98039215686274506" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+        <namedColor name="KMGray6Color">
+            <color red="0.396078431372549" green="0.41176470588235292" blue="0.4392156862745098" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+        <namedColor name="KMGrayColor">
+            <color red="0.32899999618530273" green="0.32400000095367432" blue="0.4779999852180481" alpha="0.33000001311302185" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+        <namedColor name="KMWhiteColor">
+            <color red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+        </namedColor>
+    </resources>
+</document>

+ 1 - 1
PDF Office/PDF Master/Class/Home/ViewController/KMFastToolCollectionViewItem.swift

@@ -7,7 +7,7 @@
 
 import Cocoa
 
-public enum DataNavigationViewButtonActionType : Int {
+public enum DataNavigationViewButtonActionType : Int, CaseIterable {
     case Batch = 0      // 批量处理
     case ConvertPDF     // 转换PDF
     case ImageToPDF     // 图片转PDF

+ 5 - 5
PDF Office/PDF Master/Class/Home/ViewController/KMFastToolCollectionViewItem.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -43,7 +43,7 @@
                                 </constraints>
                                 <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMHomeFastToolBatch" id="nx5-26-1QI"/>
                             </imageView>
-                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qVZ-dA-Abp">
+                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="qVZ-dA-Abp">
                                 <rect key="frame" x="58" y="71" width="156" height="19"/>
                                 <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="kCy-le-pux">
                                     <font key="font" metaFont="system" size="16"/>
@@ -51,7 +51,7 @@
                                     <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                 </textFieldCell>
                             </textField>
-                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Mun-eL-flY">
+                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Mun-eL-flY">
                                 <rect key="frame" x="14" y="14" width="200" height="40"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="40" id="DYh-wg-zW1"/>
@@ -68,7 +68,7 @@
                                     <rect key="frame" x="0.0" y="0.0" width="33" height="14"/>
                                     <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                     <subviews>
-                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5R2-cg-5CN">
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="5R2-cg-5CN">
                                             <rect key="frame" x="-2" y="-1" width="37" height="16"/>
                                             <textFieldCell key="cell" lineBreakMode="clipping" alignment="center" title="add" id="wp5-o2-BpP">
                                                 <font key="font" usesAppearanceFont="YES"/>

+ 9 - 8
PDF Office/PDF Master/Class/Home/ViewController/KMHistoryFileCollectionViewItem.xib

@@ -1,7 +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="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -39,14 +40,14 @@
                                         </imageView>
                                         <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="aI1-x1-Rrt">
                                             <rect key="frame" x="203" y="155" width="16" height="22"/>
-                                            <constraints>
-                                                <constraint firstAttribute="width" constant="16" id="GvL-SF-NNB"/>
-                                                <constraint firstAttribute="height" constant="16" id="je1-2J-vPy"/>
-                                            </constraints>
                                             <buttonCell key="cell" type="bevel" title="Button" bezelStyle="rounded" image="NSActionTemplate" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="xih-IJ-6Lu">
                                                 <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                 <font key="font" metaFont="system"/>
                                             </buttonCell>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="16" id="GvL-SF-NNB"/>
+                                                <constraint firstAttribute="height" constant="16" id="je1-2J-vPy"/>
+                                            </constraints>
                                             <connections>
                                                 <action selector="favoriteButtonAction:" target="-2" id="Woj-0j-TND"/>
                                             </connections>
@@ -66,7 +67,7 @@
                                     <constraint firstAttribute="height" constant="180" id="w3o-wZ-CNv"/>
                                 </constraints>
                             </box>
-                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lue-CR-EiO">
+                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="lue-CR-EiO">
                                 <rect key="frame" x="-2" y="68" width="232" height="16"/>
                                 <textFieldCell key="cell" truncatesLastVisibleLine="YES" alignment="center" title="文档名称" id="qE9-hu-gK4">
                                     <font key="font" usesAppearanceFont="YES"/>
@@ -98,6 +99,6 @@
         </customView>
     </objects>
     <resources>
-        <image name="NSActionTemplate" width="15" height="15"/>
+        <image name="NSActionTemplate" width="20" height="20"/>
     </resources>
 </document>

+ 6 - 6
PDF Office/PDF Master/Class/Home/ViewController/KMHomeFastToolViewController.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="22155" 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="22155"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -31,7 +31,7 @@
                         <rect key="frame" x="0.0" y="0.0" width="66" height="28"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
-                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oSa-X8-Fv6">
+                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="oSa-X8-Fv6">
                                 <rect key="frame" x="-2" y="5" width="70" height="19"/>
                                 <textFieldCell key="cell" lineBreakMode="clipping" title="快捷工具" id="3bM-rD-uSs">
                                     <font key="font" metaFont="system" size="16"/>
@@ -84,11 +84,11 @@
                             <scrollView wantsLayer="YES" borderType="none" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" hasVerticalScroller="NO" usesPredominantAxisScrolling="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uso-UI-yCw">
                                 <rect key="frame" x="0.0" y="0.0" width="662" height="328"/>
                                 <clipView key="contentView" drawsBackground="NO" copiesOnScroll="NO" id="5Kk-ea-dV6">
-                                    <rect key="frame" x="0.0" y="0.0" width="662" height="328"/>
+                                    <rect key="frame" x="0.0" y="0.0" width="662" height="313"/>
                                     <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                     <subviews>
                                         <collectionView selectable="YES" id="uRS-jl-d4p" customClass="KMFastToolCollectionView" customModule="PDF_Master" customModuleProvider="target">
-                                            <rect key="frame" x="0.0" y="0.0" width="662" height="328"/>
+                                            <rect key="frame" x="0.0" y="0.0" width="662" height="313"/>
                                             <autoresizingMask key="autoresizingMask" heightSizable="YES"/>
                                             <collectionViewFlowLayout key="collectionViewLayout" minimumInteritemSpacing="10" minimumLineSpacing="10" scrollDirection="horizontal" id="ISw-7m-91E">
                                                 <size key="itemSize" width="50" height="50"/>
@@ -103,7 +103,7 @@
                                     <color key="backgroundColor" red="1" green="0.99843658091226151" blue="0.99619259258638859" alpha="0.0" colorSpace="custom" customColorSpace="sRGB"/>
                                 </clipView>
                                 <scroller key="horizontalScroller" wantsLayer="YES" verticalHuggingPriority="750" horizontal="YES" id="sRD-Yg-vn1" customClass="KMToolSetScroller" customModule="PDF_Master" customModuleProvider="target">
-                                    <rect key="frame" x="0.0" y="312" width="662" height="16"/>
+                                    <rect key="frame" x="0.0" y="313" width="662" height="15"/>
                                     <autoresizingMask key="autoresizingMask"/>
                                 </scroller>
                                 <scroller key="verticalScroller" hidden="YES" wantsLayer="YES" verticalHuggingPriority="750" doubleValue="1" horizontal="NO" id="lpk-Q5-DdG">

+ 13 - 13
PDF Office/PDF Master/Class/Home/ViewController/KMHomeHistoryFileViewController.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="22155" 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="22155"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -56,7 +56,7 @@
                                             </constraints>
                                             <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="KOq-0P-sP7"/>
                                         </imageView>
-                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="itC-bM-NsD">
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="itC-bM-NsD">
                                             <rect key="frame" x="-2" y="18" width="665" height="16"/>
                                             <textFieldCell key="cell" alignment="center" title="Label" id="U1g-Yg-acv">
                                                 <font key="font" metaFont="system"/>
@@ -64,7 +64,7 @@
                                                 <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                             </textFieldCell>
                                         </textField>
-                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="TPr-pg-J3o">
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="TPr-pg-J3o">
                                             <rect key="frame" x="-2" y="0.0" width="665" height="16"/>
                                             <textFieldCell key="cell" alignment="center" title="Label" id="LXV-F0-Kpc">
                                                 <font key="font" metaFont="system"/>
@@ -131,7 +131,7 @@
                         <rect key="frame" x="0.0" y="0.0" width="54" height="28"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                         <subviews>
-                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Gz5-CK-8t7">
+                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Gz5-CK-8t7">
                                 <rect key="frame" x="-2" y="6" width="58" height="16"/>
                                 <textFieldCell key="cell" lineBreakMode="clipping" title="最近打开" id="9hO-pC-qyS">
                                     <font key="font" usesAppearanceFont="YES"/>
@@ -307,7 +307,7 @@
                                                                                 </constraints>
                                                                                 <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="gl5-8t-bO5"/>
                                                                             </imageView>
-                                                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="puB-4O-CjH">
+                                                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="puB-4O-CjH">
                                                                                 <rect key="frame" x="449" y="30" width="110" height="16"/>
                                                                                 <constraints>
                                                                                     <constraint firstAttribute="width" constant="106" id="7NU-ee-KGa"/>
@@ -318,7 +318,7 @@
                                                                                     <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                                                 </textFieldCell>
                                                                             </textField>
-                                                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vh7-Qm-ZYX">
+                                                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="vh7-Qm-ZYX">
                                                                                 <rect key="frame" x="173" y="30" width="264" height="16"/>
                                                                                 <constraints>
                                                                                     <constraint firstAttribute="width" constant="260" id="0N6-Kd-s2c"/>
@@ -331,14 +331,14 @@
                                                                             </textField>
                                                                             <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="LlT-U5-9ck">
                                                                                 <rect key="frame" x="573" y="30" width="16" height="16"/>
-                                                                                <constraints>
-                                                                                    <constraint firstAttribute="width" constant="16" id="onN-E5-GUa"/>
-                                                                                    <constraint firstAttribute="height" constant="16" id="py5-ca-3rH"/>
-                                                                                </constraints>
                                                                                 <buttonCell key="cell" type="bevel" title="Button" bezelStyle="rounded" image="icon_btn_more_false_false" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="TvJ-sI-i3v">
                                                                                     <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                                                     <font key="font" metaFont="system"/>
                                                                                 </buttonCell>
+                                                                                <constraints>
+                                                                                    <constraint firstAttribute="width" constant="16" id="onN-E5-GUa"/>
+                                                                                    <constraint firstAttribute="height" constant="16" id="py5-ca-3rH"/>
+                                                                                </constraints>
                                                                                 <connections>
                                                                                     <action selector="moreButtonAction:" target="kZK-Bs-0PF" id="KgU-oC-kf8"/>
                                                                                 </connections>
@@ -346,7 +346,7 @@
                                                                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="5Mc-aq-fMe">
                                                                                 <rect key="frame" x="68" y="25" width="89" height="26"/>
                                                                                 <subviews>
-                                                                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="91U-Kg-YfD">
+                                                                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="91U-Kg-YfD">
                                                                                         <rect key="frame" x="-2" y="2" width="93" height="22"/>
                                                                                         <constraints>
                                                                                             <constraint firstAttribute="height" constant="22" id="RnG-se-20f"/>
@@ -357,7 +357,7 @@
                                                                                             <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                                                                         </textFieldCell>
                                                                                     </textField>
-                                                                                    <textField hidden="YES" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yBF-Ah-dXA">
+                                                                                    <textField hidden="YES" focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="yBF-Ah-dXA">
                                                                                         <rect key="frame" x="-2" y="0.0" width="93" height="1"/>
                                                                                         <constraints>
                                                                                             <constraint firstAttribute="height" constant="1" id="YG3-8v-oqS"/>

+ 6 - 0
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController.swift

@@ -60,6 +60,8 @@ import Cocoa
     
     @IBOutlet weak var creatPDFView: KMCreatPDFView!
     
+    //HomeContentView
+    @IBOutlet weak var homeContentView: KMHomeContentView!
     //广告 互推
     @IBOutlet weak var advertisementTableView: KMAdvertisementTableView!
     @IBOutlet weak var advertisementTableViewHeightConstraint: NSLayoutConstraint!
@@ -189,6 +191,10 @@ import Cocoa
         self.creatPDFView.creatPDFAction = { [unowned self] view, sender in
             self.creatPDFAction(sender)
         }
+        
+        self.homeContentView.historyDidSelect = { [unowned self] view, url in
+            self.openFile(withFilePath: url)
+        }
     }
     
     // MARK: Init

+ 9 - 1
PDF Office/PDF Master/Class/Home/ViewController/KMHomeViewController.xib

@@ -31,6 +31,7 @@
                 <outlet property="dragView" destination="3Ej-3j-QZ3" id="KI9-gS-ovH"/>
                 <outlet property="fastToolViewController" destination="O3f-x2-y6f" id="QUu-yY-afK"/>
                 <outlet property="historyFileViewController" destination="UcW-Sh-zFW" id="4rg-j2-0qB"/>
+                <outlet property="homeContentView" destination="gve-l2-Bcq" id="5SL-s0-RBk"/>
                 <outlet property="homeRightScrollViewView" destination="Fsd-Oz-v7c" id="AOG-NU-G8N"/>
                 <outlet property="homeSplitView" destination="yVp-SB-ljO" id="zSV-aW-5He"/>
                 <outlet property="leftBox" destination="ndG-c5-lCg" id="Gx0-kb-H6N"/>
@@ -323,7 +324,7 @@ Gw
                                 <rect key="frame" x="0.0" y="0.0" width="803" height="820"/>
                                 <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                 <subviews>
-                                    <scrollView borderType="none" autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" verticalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="Fsd-Oz-v7c">
+                                    <scrollView hidden="YES" borderType="none" autohidesScrollers="YES" horizontalLineScroll="10" horizontalPageScroll="10" verticalLineScroll="10" verticalPageScroll="10" usesPredominantAxisScrolling="NO" horizontalScrollElasticity="none" verticalScrollElasticity="none" translatesAutoresizingMaskIntoConstraints="NO" id="Fsd-Oz-v7c">
                                         <rect key="frame" x="0.0" y="0.0" width="803" height="820"/>
                                         <clipView key="contentView" drawsBackground="NO" id="4Wb-9e-EKY">
                                             <rect key="frame" x="0.0" y="0.0" width="803" height="820"/>
@@ -387,9 +388,16 @@ Gw
                                             <autoresizingMask key="autoresizingMask"/>
                                         </scroller>
                                     </scrollView>
+                                    <customView translatesAutoresizingMaskIntoConstraints="NO" id="gve-l2-Bcq" customClass="KMHomeContentView" customModule="PDF_Master" customModuleProvider="target">
+                                        <rect key="frame" x="0.0" y="0.0" width="803" height="820"/>
+                                    </customView>
                                 </subviews>
                                 <constraints>
+                                    <constraint firstAttribute="trailing" secondItem="gve-l2-Bcq" secondAttribute="trailing" id="1fY-PK-HV3"/>
+                                    <constraint firstItem="gve-l2-Bcq" firstAttribute="leading" secondItem="GVB-Xu-zsZ" secondAttribute="leading" id="2Kb-Ah-fD1"/>
                                     <constraint firstItem="Fsd-Oz-v7c" firstAttribute="top" secondItem="GVB-Xu-zsZ" secondAttribute="top" id="87S-Rb-bey"/>
+                                    <constraint firstItem="gve-l2-Bcq" firstAttribute="top" secondItem="GVB-Xu-zsZ" secondAttribute="top" id="UW2-JT-Fef"/>
+                                    <constraint firstAttribute="bottom" secondItem="gve-l2-Bcq" secondAttribute="bottom" id="dMX-bL-bAs"/>
                                     <constraint firstAttribute="bottom" secondItem="Fsd-Oz-v7c" secondAttribute="bottom" id="jKH-5n-L9g"/>
                                     <constraint firstItem="Fsd-Oz-v7c" firstAttribute="leading" secondItem="GVB-Xu-zsZ" secondAttribute="leading" id="v17-bP-0x9"/>
                                     <constraint firstAttribute="trailing" secondItem="Fsd-Oz-v7c" secondAttribute="trailing" id="xDo-M4-zHj"/>

+ 11 - 10
PDF Office/PDF Master/Class/Home/WindowController/KMAITranslationConfirmWindowController.xib

@@ -1,7 +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="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -49,7 +50,7 @@
                                         <rect key="frame" x="1" y="1" width="76" height="26"/>
                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="deL-QF-z0s">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="deL-QF-z0s">
                                                 <rect key="frame" x="20" y="5" width="37" height="16"/>
                                                 <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="FIx-7a-CCI">
                                                     <font key="font" usesAppearanceFont="YES"/>
@@ -88,7 +89,7 @@
                                         <rect key="frame" x="1" y="1" width="76" height="26"/>
                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nFO-mt-ZB4">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nFO-mt-ZB4">
                                                 <rect key="frame" x="20" y="5" width="37" height="16"/>
                                                 <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="UTP-2e-VlX">
                                                     <font key="font" usesAppearanceFont="YES"/>
@@ -138,7 +139,7 @@
                     <customView translatesAutoresizingMaskIntoConstraints="NO" id="iMz-Q5-D6R">
                         <rect key="frame" x="16" y="226" width="596" height="50"/>
                         <subviews>
-                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="aq8-Ah-UWm">
+                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="aq8-Ah-UWm">
                                 <rect key="frame" x="-2" y="17" width="600" height="16"/>
                                 <textFieldCell key="cell" alignment="left" title="Label" id="F7x-HZ-dOf">
                                     <font key="font" usesAppearanceFont="YES"/>
@@ -167,7 +168,7 @@
                             <customView translatesAutoresizingMaskIntoConstraints="NO" id="wV9-Le-UHj">
                                 <rect key="frame" x="122" y="0.0" width="474" height="162"/>
                                 <subviews>
-                                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zlV-ti-gJ9">
+                                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="zlV-ti-gJ9">
                                         <rect key="frame" x="-2" y="146" width="478" height="16"/>
                                         <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="ken-B3-K7v">
                                             <font key="font" usesAppearanceFont="YES"/>
@@ -181,7 +182,7 @@
                                             <rect key="frame" x="1" y="1" width="219" height="30"/>
                                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                             <subviews>
-                                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Rva-eU-GRw">
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Rva-eU-GRw">
                                                     <rect key="frame" x="6" y="7" width="189" height="16"/>
                                                     <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="0g8-wy-2we">
                                                         <font key="font" usesAppearanceFont="YES"/>
@@ -246,7 +247,7 @@
                                                     </constraints>
                                                     <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="icon_btn_arrow_gray_down_s_norm_false" id="8cp-o3-LWj"/>
                                                 </imageView>
-                                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nfg-7P-9zD">
+                                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="nfg-7P-9zD">
                                                     <rect key="frame" x="6" y="7" width="189" height="16"/>
                                                     <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="CJ2-nQ-Ths">
                                                         <font key="font" usesAppearanceFont="YES"/>
@@ -292,7 +293,7 @@
                                                 </constraints>
                                                 <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="image_btn_tips" id="yV6-OA-rAL"/>
                                             </imageView>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7Ui-Xy-UA6">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="7Ui-Xy-UA6">
                                                 <rect key="frame" x="18" y="2" width="458" height="16"/>
                                                 <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="ao3-xG-chl">
                                                     <font key="font" metaFont="system"/>
@@ -321,7 +322,7 @@
                                                 </constraints>
                                                 <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="image_btn_tips" id="Eu3-jj-OHz"/>
                                             </imageView>
-                                            <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="pdX-rR-ESN">
+                                            <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="pdX-rR-ESN">
                                                 <rect key="frame" x="18" y="0.0" width="458" height="70"/>
                                                 <textFieldCell key="cell" title="Label" id="t5Z-wu-5ot">
                                                     <font key="font" metaFont="system"/>

+ 29 - 28
PDF Office/PDF Master/Class/Home/WindowController/KMAITranslationWindowController.xib

@@ -1,7 +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="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -44,7 +45,7 @@
                 <rect key="frame" x="0.0" y="0.0" width="588" height="343"/>
                 <autoresizingMask key="autoresizingMask"/>
                 <subviews>
-                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="0Om-aJ-sAu">
+                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="0Om-aJ-sAu">
                         <rect key="frame" x="14" y="256" width="154" height="16"/>
                         <constraints>
                             <constraint firstAttribute="width" constant="150" id="enB-Az-ZLZ"/>
@@ -69,7 +70,7 @@
                             <rect key="frame" x="1" y="1" width="177" height="38"/>
                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                             <subviews>
-                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WqQ-Zq-YmZ">
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="WqQ-Zq-YmZ">
                                     <rect key="frame" x="14" y="11" width="133" height="16"/>
                                     <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="UG2-nF-ECS">
                                         <font key="font" usesAppearanceFont="YES"/>
@@ -126,7 +127,7 @@
                                     </constraints>
                                     <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="icon_btn_arrow_gray_down_s_norm_false" id="VHi-NG-0v5"/>
                                 </imageView>
-                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="CSz-xA-SxI">
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="CSz-xA-SxI">
                                     <rect key="frame" x="14" y="11" width="133" height="16"/>
                                     <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="l7v-Rp-PN4">
                                         <font key="font" usesAppearanceFont="YES"/>
@@ -167,7 +168,7 @@
                             <rect key="frame" x="1" y="1" width="268" height="178"/>
                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                             <subviews>
-                                <textField verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hdM-Q0-JDl">
+                                <textField focusRingType="none" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hdM-Q0-JDl">
                                     <rect key="frame" x="18" y="16" width="232" height="146"/>
                                     <textFieldCell key="cell" selectable="YES" editable="YES" sendsActionOnEndEditing="YES" id="hLa-1M-WD4">
                                         <font key="font" metaFont="system"/>
@@ -178,7 +179,7 @@
                                         <outlet property="delegate" destination="-2" id="rAU-a1-LDX"/>
                                     </connections>
                                 </textField>
-                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="roT-Vm-vRn">
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="roT-Vm-vRn">
                                     <rect key="frame" x="221" y="8" width="37" height="16"/>
                                     <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="BCa-6w-gQj">
                                         <font key="font" usesAppearanceFont="YES"/>
@@ -252,7 +253,7 @@
                                             </constraints>
                                             <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="sao-NL-irT"/>
                                         </imageView>
-                                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sSR-RP-4JK">
+                                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="sSR-RP-4JK">
                                             <rect key="frame" x="18" y="146" width="236" height="16"/>
                                             <textFieldCell key="cell" title="Label" id="5Hn-wR-mC6">
                                                 <font key="font" metaFont="system"/>
@@ -295,7 +296,7 @@
                             <rect key="frame" x="0.0" y="0.0" width="97" height="24"/>
                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                             <subviews>
-                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GAn-bi-jA2">
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="GAn-bi-jA2">
                                     <rect key="frame" x="30" y="4" width="37" height="16"/>
                                     <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="bX0-0T-yRv">
                                         <font key="font" usesAppearanceFont="YES"/>
@@ -334,7 +335,7 @@
                             <rect key="frame" x="0.0" y="0.0" width="97" height="24"/>
                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                             <subviews>
-                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="p7M-Ry-WqB">
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="p7M-Ry-WqB">
                                     <rect key="frame" x="30" y="4" width="37" height="16"/>
                                     <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="Jr1-ms-0zG">
                                         <font key="font" usesAppearanceFont="YES"/>
@@ -373,7 +374,7 @@
                             <rect key="frame" x="0.0" y="0.0" width="588" height="50"/>
                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                             <subviews>
-                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="f5X-7w-lzl">
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="f5X-7w-lzl">
                                     <rect key="frame" x="98" y="17" width="37" height="16"/>
                                     <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="fbW-8e-acd">
                                         <font key="font" usesAppearanceFont="YES"/>
@@ -381,16 +382,16 @@
                                         <color key="backgroundColor" name="textBackgroundColor" catalog="System" colorSpace="catalog"/>
                                     </textFieldCell>
                                 </textField>
-                                <button verticalHuggingPriority="750" imageHugsTitle="YES" translatesAutoresizingMaskIntoConstraints="NO" id="YZR-Hn-fi0">
+                                <button imageHugsTitle="YES" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="YZR-Hn-fi0">
                                     <rect key="frame" x="137" y="17" width="16" height="16"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="16" id="ZnO-ex-r7r"/>
-                                        <constraint firstAttribute="width" constant="16" id="zSz-ja-uLb"/>
-                                    </constraints>
                                     <buttonCell key="cell" type="bevel" bezelStyle="rounded" image="image_btn_tips" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="ZYQ-5T-eyl">
                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                         <font key="font" metaFont="system"/>
                                     </buttonCell>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="16" id="ZnO-ex-r7r"/>
+                                        <constraint firstAttribute="width" constant="16" id="zSz-ja-uLb"/>
+                                    </constraints>
                                     <connections>
                                         <action selector="tipsButtonAction:" target="-2" id="uEQ-Q1-e4g"/>
                                     </connections>
@@ -411,39 +412,39 @@
                                         </box>
                                         <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="ZOC-Aw-6KM">
                                             <rect key="frame" x="16" y="14" width="12" height="12"/>
-                                            <constraints>
-                                                <constraint firstAttribute="height" constant="12" id="a4H-40-9Uj"/>
-                                                <constraint firstAttribute="width" constant="12" id="vkQ-6b-9SB"/>
-                                            </constraints>
                                             <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="icon_btn_window_close" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="xpR-Cp-ha8">
                                                 <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                 <font key="font" metaFont="system"/>
                                             </buttonCell>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="12" id="a4H-40-9Uj"/>
+                                                <constraint firstAttribute="width" constant="12" id="vkQ-6b-9SB"/>
+                                            </constraints>
                                             <connections>
                                                 <action selector="closeButtonAction:" target="-2" id="6Ai-Bp-mkK"/>
                                             </connections>
                                         </button>
                                         <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="cad-Hf-ffb">
                                             <rect key="frame" x="36" y="14" width="12" height="12"/>
-                                            <constraints>
-                                                <constraint firstAttribute="height" constant="12" id="TBm-QM-cwh"/>
-                                                <constraint firstAttribute="width" constant="12" id="Zx7-ky-pv7"/>
-                                            </constraints>
                                             <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="icon_groping_default" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="4rY-Hh-ylK">
                                                 <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                 <font key="font" metaFont="system"/>
                                             </buttonCell>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="12" id="TBm-QM-cwh"/>
+                                                <constraint firstAttribute="width" constant="12" id="Zx7-ky-pv7"/>
+                                            </constraints>
                                         </button>
                                         <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="IxO-9g-nPH">
                                             <rect key="frame" x="56" y="14" width="12" height="12"/>
-                                            <constraints>
-                                                <constraint firstAttribute="height" constant="12" id="6ma-3Z-P0K"/>
-                                                <constraint firstAttribute="width" constant="12" id="joB-Lk-3dV"/>
-                                            </constraints>
                                             <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="icon_groping_default" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="Vab-Th-pen">
                                                 <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                                 <font key="font" metaFont="system"/>
                                             </buttonCell>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="12" id="6ma-3Z-P0K"/>
+                                                <constraint firstAttribute="width" constant="12" id="joB-Lk-3dV"/>
+                                            </constraints>
                                         </button>
                                     </subviews>
                                     <constraints>

+ 4 - 3
PDF Office/PDF Master/Class/Home/WindowController/KMHistoryFileDeleteWindowController.xib

@@ -1,7 +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="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21507"/>
+        <deployment identifier="macosx"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -24,7 +25,7 @@
                 <rect key="frame" x="0.0" y="0.0" width="260" height="213"/>
                 <autoresizingMask key="autoresizingMask"/>
                 <subviews>
-                    <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="pp4-jZ-PBy">
+                    <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="pp4-jZ-PBy">
                         <rect key="frame" x="14" y="93" width="232" height="16"/>
                         <constraints>
                             <constraint firstAttribute="width" constant="228" id="SGg-Fg-WbD"/>

+ 1 - 1
PDF Office/PDF Master/Class/Home/WindowController/KMURLToPDFWindowController/KMURLToPDFWindowController.xib

@@ -261,7 +261,7 @@ Gw
             <connections>
                 <outlet property="delegate" destination="-2" id="0bl-1N-AYu"/>
             </connections>
-            <point key="canvasLocation" x="311" y="255.5"/>
+            <point key="canvasLocation" x="698" y="201"/>
         </window>
     </objects>
 </document>

+ 6 - 0
PDF Office/PDF Master/Class/KMAdvertisement/Source/KMAdvertisement.xcassets/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

+ 23 - 0
PDF Office/PDF Master/Class/KMAdvertisement/Source/KMAdvertisement.xcassets/ad_cancel_button00.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "filename" : "ad_cancel_button00.png",
+      "idiom" : "universal",
+      "scale" : "1x"
+    },
+    {
+      "filename" : "ad_cancel_button00@2x.png",
+      "idiom" : "universal",
+      "scale" : "2x"
+    },
+    {
+      "filename" : "ad_cancel_button00@3x.png",
+      "idiom" : "universal",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "author" : "xcode",
+    "version" : 1
+  }
+}

BIN
PDF Office/PDF Master/Class/KMAdvertisement/Source/KMAdvertisement.xcassets/ad_cancel_button00.imageset/ad_cancel_button00.png


BIN
PDF Office/PDF Master/Class/KMAdvertisement/Source/KMAdvertisement.xcassets/ad_cancel_button00.imageset/ad_cancel_button00@2x.png


BIN
PDF Office/PDF Master/Class/KMAdvertisement/Source/KMAdvertisement.xcassets/ad_cancel_button00.imageset/ad_cancel_button00@3x.png


+ 1 - 1
PDF Office/PDF Master/Class/KMAdvertisement/View/Tableview/KMAdvertisementTableView.swift

@@ -89,7 +89,7 @@ typealias KMAdvertisementTableViewDidSelect = (_ view: KMAdvertisementTableView,
         //注册cell
         self.collectionView.register(KMAdvertisementCollectionViewItem.self, forItemWithIdentifier: NSUserInterfaceItemIdentifier(rawValue: "KMAdvertisementCollectionViewItem"))
         
-        self.backgroundColor(KMAppearance.Layout.l0Color())
+//        self.backgroundColor(KMAppearance.Layout.l0Color())
     }
     
     func reloadData() {

+ 2 - 2
PDF Office/PDF Master/Class/KMAdvertisement/View/View/KMAdvertisementShowView.swift

@@ -53,7 +53,7 @@ class KMAdvertisementShowView: NSView {
     }
     
     func setup() {
-        self.backgroundColor(NSColor.black)
+//        self.backgroundColor(NSColor.black)
     }
     
     func reloadData() {
@@ -66,6 +66,6 @@ class KMAdvertisementShowView: NSView {
     }
     
     @IBAction func closeButtonAction(_ sender: Any) {
-        
+        self.removeFromSuperview()
     }
 }

+ 4 - 4
PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/ComparativeView/KMComparativeOutlineView.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -70,7 +70,7 @@
                         <customView translatesAutoresizingMaskIntoConstraints="NO" id="Day-pV-XEE">
                             <rect key="frame" x="646" y="16" width="126" height="22"/>
                             <subviews>
-                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1Wx-Ri-paS">
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="1Wx-Ri-paS">
                                     <rect key="frame" x="28" y="3" width="70" height="16"/>
                                     <textFieldCell key="cell" lineBreakMode="clipping" title="Registered" id="tEL-FU-hD1">
                                         <font key="font" usesAppearanceFont="YES"/>
@@ -89,7 +89,7 @@
                         <customView translatesAutoresizingMaskIntoConstraints="NO" id="IbW-xH-P0o">
                             <rect key="frame" x="520" y="16" width="126" height="22"/>
                             <subviews>
-                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="v3A-gL-7XA">
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="v3A-gL-7XA">
                                     <rect key="frame" x="22" y="3" width="83" height="16"/>
                                     <textFieldCell key="cell" lineBreakMode="clipping" title="Unregistered" id="kIf-38-Jua">
                                         <font key="font" usesAppearanceFont="YES"/>

+ 6 - 6
PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/ComparativeView/View/KMComparativeOutlineCell.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="21701" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="21701"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -24,7 +24,7 @@
             <rect key="frame" x="0.0" y="0.0" width="784" height="44"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMinY="YES"/>
             <subviews>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="u22-yU-gpo">
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="u22-yU-gpo">
                     <rect key="frame" x="6" y="14" width="394" height="16"/>
                     <textFieldCell key="cell" lineBreakMode="clipping" title="Label" id="Oah-fo-Tas">
                         <font key="font" usesAppearanceFont="YES"/>
@@ -43,7 +43,7 @@
                             </constraints>
                             <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="icon_comparative_hook" id="gbd-gH-Kp4"/>
                         </imageView>
-                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NrT-Ja-To6">
+                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="NrT-Ja-To6">
                             <rect key="frame" x="6" y="15" width="114" height="16"/>
                             <textFieldCell key="cell" lineBreakMode="clipping" alignment="center" title="Label" id="rII-xy-11h">
                                 <font key="font" metaFont="system"/>
@@ -74,7 +74,7 @@
                             </constraints>
                             <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="icon_comparative_hook" id="zYa-4Q-cE2"/>
                         </imageView>
-                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Jzd-Mg-rfa">
+                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="Jzd-Mg-rfa">
                             <rect key="frame" x="6" y="15" width="114" height="16"/>
                             <textFieldCell key="cell" alignment="center" title="Label" id="46S-yl-Zwl">
                                 <font key="font" metaFont="system"/>
@@ -105,7 +105,7 @@
                             </constraints>
                             <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="icon_comparative_hook" id="IYc-dA-3hY"/>
                         </imageView>
-                        <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="kLh-ev-nDz">
+                        <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="kLh-ev-nDz">
                             <rect key="frame" x="6" y="15" width="114" height="16"/>
                             <textFieldCell key="cell" lineBreakMode="clipping" alignment="center" title="Label" id="oTb-sT-L9u">
                                 <font key="font" metaFont="system"/>

+ 7 - 7
PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/KMComparativeView.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22146" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22146"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -79,7 +79,7 @@
                             <rect key="frame" x="40" y="20" width="727" height="20"/>
                             <subviews>
                                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="rP2-sO-AA6">
-                                    <rect key="frame" x="384" y="2" width="107" height="16"/>
+                                    <rect key="frame" x="384" y="2" width="106" height="16"/>
                                     <buttonCell key="cell" type="square" title="Terms of Service" bezelStyle="shadowlessSquare" alignment="center" imageScaling="proportionallyDown" inset="2" id="ply-Hb-Jcv">
                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                         <font key="font" metaFont="system"/>
@@ -96,7 +96,7 @@
                                     </constraints>
                                 </customView>
                                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="hY1-Tk-GCi">
-                                    <rect key="frame" x="254" y="2" width="89" height="16"/>
+                                    <rect key="frame" x="255" y="2" width="88" height="16"/>
                                     <buttonCell key="cell" type="square" title="Privacy Policy" bezelStyle="shadowlessSquare" alignment="center" imageScaling="proportionallyDown" inset="2" id="Z32-Nt-dbF">
                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                         <font key="font" metaFont="system"/>
@@ -127,8 +127,8 @@
                                     </constraints>
                                     <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="Upgrade your plan" id="Qxe-i0-Wsc"/>
                                 </imageView>
-                                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="MnS-Io-H7L">
-                                    <rect key="frame" x="82" y="8" width="117" height="16"/>
+                                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="MnS-Io-H7L">
+                                    <rect key="frame" x="82" y="8" width="116" height="16"/>
                                     <textFieldCell key="cell" lineBreakMode="clipping" title="Upgrade your plan" id="YKh-hc-g1N">
                                         <font key="font" metaFont="system"/>
                                         <color key="textColor" name="labelColor" catalog="System" colorSpace="catalog"/>
@@ -146,7 +146,7 @@
                                     </connections>
                                 </button>
                                 <button verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="t36-hD-ZhM">
-                                    <rect key="frame" x="205" y="8" width="16" height="16"/>
+                                    <rect key="frame" x="204" y="8" width="16" height="16"/>
                                     <buttonCell key="cell" type="square" bezelStyle="shadowlessSquare" image="icon_info" imagePosition="only" alignment="center" imageScaling="proportionallyDown" inset="2" id="bFX-Ce-vIG">
                                         <behavior key="behavior" pushIn="YES" lightByBackground="YES" lightByGray="YES"/>
                                         <font key="font" metaFont="system"/>

+ 2 - 2
PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/View/KMComparativeViewCollectionItem.xib

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

+ 3 - 3
PDF Office/PDF Master/Class/KMLightMember/Controller/ComparativeTable/View/KMComparativeView/View/KMComparativeViewCollectionItemItem.xib

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22146" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
+<document type="com.apple.InterfaceBuilder3.Cocoa.XIB" version="3.0" toolsVersion="22155" targetRuntime="MacOSX.Cocoa" propertyAccessControl="none" useAutolayout="YES" customObjectInstantitationMethod="direct">
     <dependencies>
         <deployment identifier="macosx"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22146"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.CocoaPlugin" version="22155"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -27,7 +27,7 @@
                     </constraints>
                     <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" id="2Ns-FZ-peU"/>
                 </imageView>
-                <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="77S-IT-dI0">
+                <textField focusRingType="none" horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="77S-IT-dI0">
                     <rect key="frame" x="22" y="14" width="264" height="16"/>
                     <textFieldCell key="cell" title="Label" id="6Xk-Wh-SL6">
                         <font key="font" metaFont="system"/>

+ 2 - 2
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/Thumbnail/KMThumbnailViewController.xib

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