Browse Source

【左边栏】segment切换布局调整

tangchao 1 year ago
parent
commit
1eb7e89e6a

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

@@ -3490,6 +3490,9 @@
 		BBD1F79C296FF7A600343885 /* KMPageEditSplitSettingModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD1F79B296FF7A600343885 /* KMPageEditSplitSettingModel.swift */; };
 		BBD1F79D296FF7A600343885 /* KMPageEditSplitSettingModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD1F79B296FF7A600343885 /* KMPageEditSplitSettingModel.swift */; };
 		BBD1F79E296FF7A600343885 /* KMPageEditSplitSettingModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD1F79B296FF7A600343885 /* KMPageEditSplitSettingModel.swift */; };
+		BBD512A12B0DE86C005BFE8A /* KMBotaLeftView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD512A02B0DE86C005BFE8A /* KMBotaLeftView.swift */; };
+		BBD512A22B0DE86C005BFE8A /* KMBotaLeftView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD512A02B0DE86C005BFE8A /* KMBotaLeftView.swift */; };
+		BBD512A32B0DE86C005BFE8A /* KMBotaLeftView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BBD512A02B0DE86C005BFE8A /* KMBotaLeftView.swift */; };
 		BBD54ECA2A1C53A80012A230 /* libopencv_world.4.2.dylib in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = BB9DCC7D2A09FC740024A6F1 /* libopencv_world.4.2.dylib */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
 		BBD54ECD2A1C53B20012A230 /* ComDocumentAIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BB9DCC982A0A10400024A6F1 /* ComDocumentAIKit.framework */; };
 		BBD54ECE2A1C53B20012A230 /* ComDocumentAIKit.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = BB9DCC982A0A10400024A6F1 /* ComDocumentAIKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
@@ -5251,6 +5254,7 @@
 		BBD1F792296FE92500343885 /* KMPageEditSplitSettingView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPageEditSplitSettingView.swift; sourceTree = "<group>"; };
 		BBD1F797296FF78C00343885 /* KMPageEditSettingBaseModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPageEditSettingBaseModel.swift; sourceTree = "<group>"; };
 		BBD1F79B296FF7A600343885 /* KMPageEditSplitSettingModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMPageEditSplitSettingModel.swift; sourceTree = "<group>"; };
+		BBD512A02B0DE86C005BFE8A /* KMBotaLeftView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMBotaLeftView.swift; sourceTree = "<group>"; };
 		BBD54ED32A1CBD720012A230 /* NSView+KMExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "NSView+KMExtension.swift"; sourceTree = "<group>"; };
 		BBDA8A682A31B50C006A2C4E /* KMCustomStepperView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMCustomStepperView.swift; sourceTree = "<group>"; };
 		BBDA8A6C2A31F9A6006A2C4E /* KMDesignStepperView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = KMDesignStepperView.swift; sourceTree = "<group>"; };
@@ -5712,6 +5716,7 @@
 				BBC8A7672B05EB8000FA9377 /* KMThumbnailTableviewCell.swift */,
 				BB3A668B2B06FD0100575343 /* KMBotaEnum.swift */,
 				BB4F7E6F2B0C3DC40077EC8C /* KMButtonLayer.swift */,
+				BBD512A02B0DE86C005BFE8A /* KMBotaLeftView.swift */,
 				BB4F7E732B0C42160077EC8C /* KMPopupMenuObject.swift */,
 				BB6BA4C32B0B4A0F00462CAE /* KMLeftSideEmptyFileViewController.swift */,
 				BB6BA4C72B0B4A4100462CAE /* KMLeftSideEmptyFileViewController.xib */,
@@ -11512,6 +11517,7 @@
 				9F1FE4C329406E4700E952CA /* CTPageTransition.c in Sources */,
 				9FA607DE28FD4C9F00B46586 /* KMHomePopViewController.swift in Sources */,
 				BBDA8A692A31B50C006A2C4E /* KMCustomStepperView.swift in Sources */,
+				BBD512A12B0DE86C005BFE8A /* KMBotaLeftView.swift in Sources */,
 				BB162E9B295073B40088E9D1 /* KMWatermarkManager.swift in Sources */,
 				BB4BD9CC2909026500A66A65 /* KMRightSideViewController.swift in Sources */,
 				AD2D74B529F0D39500EDC5E4 /* KMCancellationSuccessView.swift in Sources */,
@@ -12697,6 +12703,7 @@
 				9F3D818F29A22AD90087B5AD /* Date+KMExtensions.swift in Sources */,
 				89E4E76229656A88002DBA6F /* KMAnnotationStampViewController.m in Sources */,
 				89E4E756296427E5002DBA6F /* NSImage_SKExtensions.m in Sources */,
+				BBD512A22B0DE86C005BFE8A /* KMBotaLeftView.swift in Sources */,
 				AD1D481A2AFB6B96007AC1F0 /* KMMergeWindowController.swift in Sources */,
 				BB897276294DC04F0045787C /* KMWatermartAdjectivePageRangeView.swift in Sources */,
 				ADBC373329CA95AA00D93208 /* KMComparativeModel.swift in Sources */,
@@ -13326,6 +13333,7 @@
 				899700E128F3A9F2009AF911 /* KMHomeWindowController.swift in Sources */,
 				BB9DCCA12A0A2B0A0024A6F1 /* KMConvertSettingView.swift in Sources */,
 				ADE86A822B02220700414DFA /* KMSecurityView.swift in Sources */,
+				BBD512A32B0DE86C005BFE8A /* KMBotaLeftView.swift in Sources */,
 				BB671A032AD2D2A0003D44D5 /* CPDFStampAnnotation+PDFListView.swift in Sources */,
 				BB8F4578295AFA2D0037EA22 /* KMHeaderFooterAdjectiveInfoBaseView.swift in Sources */,
 				F3F0B27529B8ACD000722957 /* CPDFListViewDragObject.m in Sources */,

+ 4 - 4
PDF Office/PDF Master.xcodeproj/xcuserdata/kdanmobile.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -494,8 +494,8 @@
             filePath = "PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1362"
-            endingLineNumber = "1362"
+            startingLineNumber = "1361"
+            endingLineNumber = "1361"
             landmarkName = "leftSideViewMoreButtonAction(_:)"
             landmarkType = "7">
          </BreakpointContent>
@@ -510,8 +510,8 @@
             filePath = "PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift"
             startingColumnNumber = "9223372036854775807"
             endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "1049"
-            endingLineNumber = "1049"
+            startingLineNumber = "1048"
+            endingLineNumber = "1048"
             landmarkName = "displayFind()"
             landmarkType = "7">
          </BreakpointContent>

+ 89 - 0
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMBotaLeftView.swift

@@ -0,0 +1,89 @@
+//
+//  KMBotaLeftView.swift
+//  PDF Master
+//
+//  Created by tangchao on 2023/11/22.
+//
+
+import Cocoa
+
+class KMBotaLeftView: NSView {
+    var segmentedControl: KMSegmentedControl = {
+        let view = KMSegmentedControl()
+        return view
+    }()
+    
+    override init(frame frameRect: NSRect) {
+        super.init(frame: frameRect)
+        
+        self.initSubview()
+        self.initDefaultValue()
+    }
+    
+    required init?(coder: NSCoder) {
+        super.init(coder: coder)
+        
+        self.initSubview()
+        self.initDefaultValue()
+    }
+    
+    func initSubview() {
+        self.addSubview(self.segmentedControl)
+    }
+    
+    func initDefaultValue() {
+        self.segmentedControl.direction = .vertical
+        self.segmentedControl.segmentCount = 5
+        self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarThumbnailNor)!, for: 0)
+        self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarOutlineNor)!, for: 1)
+        self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarAnnotationNor)!, for: 2)
+        self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarSnapshotNor)!, for: 3)
+        self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarSearchNor)!, for: 4)
+        self.segmentedControl.setToolTip(KMLocalizedString("View Thumbnails", nil), for: 0)
+        self.segmentedControl.setToolTip(KMLocalizedString("View Outline", nil), for: 1)
+        self.segmentedControl.setToolTip(KMLocalizedString("View Notes", nil), for: 2)
+        self.segmentedControl.setToolTip(KMLocalizedString("View Snapshots", nil), for: 3)
+        self.segmentedControl.setToolTip(KMLocalizedString("Search", nil), for: 4)
+        self.segmentedControl.selectedSegment = 0
+//        [segmentedControl bind:@"selectedSegment" toObject:mainController withKeyPath:@"leftSidePaneState" options:nil];
+//        [mainController bind:@"leftSidePaneState" toObject:segmentedControl withKeyPath:@"selectedSegment" options:nil];
+        self.segmentedControl.wantsLayer = true
+        self.segmentedControl.layer?.backgroundColor = KMAppearance.Layout.l_1Color().cgColor
+//        self.segmentedControl.block = { [unowned self] segIndex in
+//            self.toolButtonBox.isHidden = false
+//            self.toolButtonBoxLayoutConstraint.constant = 40.0
+            
+//            if (segIndex == 0) {
+//                self.toolButtonBox.contentView = self.thumbnailView
+//                self.displayThumbnailViewAnimating(true)
+//            } else if (segIndex == 1) {
+//                self.toolButtonBox.contentView = self.outlineView
+//                self.displayTocViewAnimating(false)
+//            } else if (segIndex == 2) {
+//                self.toolButtonBox.contentView = self.noteView
+//                self.displayNoteViewAnimating(false)
+//            } else if (segIndex == 3) {
+//                self.toolButtonBox.contentView = self.snapshotNormalView
+//                self.displaySnapshotViewAnimating(false)
+//                self.updataLeftSideSnapView()
+//            } else if (segIndex == 4) {
+//                self.toolButtonBox.isHidden = true
+//                self.toolButtonBoxLayoutConstraint.constant = 0
+//                self.displayFindViewAnimating(false)
+//            }
+//        }
+    }
+    
+    override func layout() {
+        super.layout()
+        
+        self.segmentedControl.frame = self.bounds
+    }
+
+    override func draw(_ dirtyRect: NSRect) {
+        super.draw(dirtyRect)
+
+        
+    }
+    
+}

+ 27 - 28
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMLeftSideViewController.swift

@@ -447,12 +447,25 @@ class KMLeftSideViewController: KMSideViewController {
     }()
     
     var preThumbnailRow: Int = 0
+    var leftMargin: CGFloat = 0
+    
+    lazy var leftView: KMBotaLeftView = {
+        let view = KMBotaLeftView()
+        return view
+    }()
     
     override func loadView() {
         super.loadView()
         
         self.view.wantsLayer = true
         self.view.layer?.backgroundColor = KMAppearance.Layout.l0Color().cgColor
+        
+        self.view.addSubview(self.leftView)
+        self.leftView.frame = NSMakeRect(0, 0, 44, NSHeight(self.view.frame))
+        self.leftView.autoresizingMask = [.height]
+        self.leftView.wantsLayer = true
+        self.leftView.layer?.backgroundColor = .white
+        
         self.outlineView.wantsLayer = true
         self.outlineView.layer?.backgroundColor = KMAppearance.Layout.l0Color().cgColor
         self.noteView.wantsLayer = true
@@ -723,24 +736,7 @@ class KMLeftSideViewController: KMSideViewController {
             }
         }
 //        [mainController bind:@"findPaneState" toObject:searchViewController.segmentedControl withKeyPath:@"selectedSegment" options:nil];
-
-        self.segmentedControl.segmentCount = 5
-        self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarThumbnailNor)!, for: 0)
-        self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarOutlineNor)!, for: 1)
-        self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarAnnotationNor)!, for: 2)
-        self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarSnapshotNor)!, for: 3)
-        self.segmentedControl.setImage(NSImage(named: KMImageNameUXIconSidetabbarSearchNor)!, for: 4)
-        self.segmentedControl.setToolTip(KMLocalizedString("View Thumbnails", nil), for: 0)
-        self.segmentedControl.setToolTip(KMLocalizedString("View Outline", nil), for: 1)
-        self.segmentedControl.setToolTip(KMLocalizedString("View Notes", nil), for: 2)
-        self.segmentedControl.setToolTip(KMLocalizedString("View Snapshots", nil), for: 3)
-        self.segmentedControl.setToolTip(KMLocalizedString("Search", nil), for: 4)
-        self.segmentedControl.selectedSegment = 0
-//        [segmentedControl bind:@"selectedSegment" toObject:mainController withKeyPath:@"leftSidePaneState" options:nil];
-//        [mainController bind:@"leftSidePaneState" toObject:segmentedControl withKeyPath:@"selectedSegment" options:nil];
-        self.segmentedControl.wantsLayer = true
-        self.segmentedControl.layer?.backgroundColor = KMAppearance.Layout.l_1Color().cgColor
-        self.segmentedControl.block = { [unowned self] segIndex in
+        self.leftView.segmentedControl.block = { [unowned self] segIndex in
             self.toolButtonBox.isHidden = false
             self.toolButtonBoxLayoutConstraint.constant = 40.0
             
@@ -834,20 +830,23 @@ class KMLeftSideViewController: KMSideViewController {
         
         var frame = self.thumbnailTableView.enclosingScrollView?.frame ?? .zero
         frame.origin.y = 0
+        frame.origin.x = self.leftMargin
         frame.size.height = self.thumbnailTableView.enclosingScrollView?.superview?.frame.size.height ?? 0
         self.thumbnailTableView.enclosingScrollView?.frame = frame
         
         self.resetThumbnails()
         
-//        frame = rightSideController.noteOutlineView.enclosingScrollView.frame;
-//        frame.origin.y = 0;
-//        frame.size.height = rightSideController.noteOutlineView.enclosingScrollView.superview.frame.size.height;
-//        rightSideController.noteOutlineView.enclosingScrollView.frame = frame;
+        frame = self.noteOutlineView.enclosingScrollView?.frame ?? .zero
+        frame.origin.y = 0
+        frame.origin.x = self.leftMargin
+        frame.size.height = self.noteOutlineView.enclosingScrollView?.superview?.frame.size.height ?? 0
+        self.noteOutlineView.enclosingScrollView?.frame = frame
         
-//        frame = rightSideController.snapshotTableView.enclosingScrollView.frame;
-//        frame.origin.y = 0;
-//        frame.size.height = rightSideController.snapshotTableView.enclosingScrollView.superview.frame.size.height;
-//        rightSideController.snapshotTableView.enclosingScrollView.frame = frame;
+        frame = self.snapshotTableView.enclosingScrollView?.frame ?? .zero
+        frame.origin.y = 0
+        frame.origin.x = self.leftMargin
+        frame.size.height = self.snapshotTableView.enclosingScrollView?.superview?.frame.size.height ?? 0
+        self.snapshotTableView.enclosingScrollView?.frame = frame
         
 //        [self updateThumbnailSelection];
     }
@@ -3262,7 +3261,7 @@ extension KMLeftSideViewController: NSOutlineViewDelegate, NSOutlineViewDataSour
                     self.leftSideEmptyVC.exportAnnotationBtn.isEnabled = false
                     self.leftSideEmptyVC.deleteAnnotationBtn.isEnabled = false
 //
-                    if (self.segmentedControl.selectedSegment == KMSelectedSegmentType.annotation.rawValue) {
+                    if (self.leftView.segmentedControl.selectedSegment == KMSelectedSegmentType.annotation.rawValue) {
                         self.noteHeaderView.isHidden = true
                         self.toolButtonBoxLayoutConstraint.constant = 40.0
                     }
@@ -3276,7 +3275,7 @@ extension KMLeftSideViewController: NSOutlineViewDelegate, NSOutlineViewDataSour
                     self.leftSideEmptyVC.exportAnnotationBtn.isEnabled = true
                     self.leftSideEmptyVC.deleteAnnotationBtn.isEnabled = true
 //
-                    if (self.segmentedControl.selectedSegment == KMSelectedSegmentType.annotation.rawValue) {
+                    if (self.leftView.segmentedControl.selectedSegment == KMSelectedSegmentType.annotation.rawValue) {
                         self.noteHeaderView.isHidden = false
                         self.toolButtonBoxLayoutConstraint.constant = 64.0
                     }

+ 36 - 3
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/KMSegmentedControl.swift

@@ -7,8 +7,12 @@
 
 import Cocoa
 
+enum KMSegmenteDirection: Int {
+    case vertical = 0
+    case horizontal = 1
+}
+
 class KMSegmentedControl: NSControl {
-    
     private var _segmentCount: UInt8 = 0
     var segmentCount: UInt8 {
         get {
@@ -115,6 +119,12 @@ class KMSegmentedControl: NSControl {
             return self._contentView
         }
     }
+    
+    var direction: KMSegmenteDirection = .horizontal {
+        didSet {
+            self.needsLayout = true
+        }
+    }
 
     override func updateLayer() {
         super.updateLayer()
@@ -136,8 +146,8 @@ class KMSegmentedControl: NSControl {
         self._contentView = NSView()
         let x = (self.frame.size.width - (Float(self.segmentCount) * width).cgFloat) / 2.0
         let y = (self.frame.size.height-height)/2.0
-        self._contentView?.frame = NSMakeRect(x, y, (Float(self.segmentCount)*width).cgFloat, height)
-        self._contentView?.autoresizingMask = [.minXMargin, .maxXMargin, .minYMargin, .maxYMargin]
+        self._contentView?.frame = NSMakeRect(x, 0, (Float(self.segmentCount)*width).cgFloat, height)
+        self._contentView?.autoresizingMask = [.minXMargin, .maxXMargin, .maxYMargin, .height]
         self.addSubview(self.contentView!)
         
         self._segments.removeAll()
@@ -156,6 +166,10 @@ class KMSegmentedControl: NSControl {
         }
     }
     
+    override var isFlipped: Bool {
+        return true
+    }
+    
     func setImage(_ image: NSImage, for segment: UInt8) {
         if (segment >= self.segments.count) {
             return
@@ -172,6 +186,25 @@ class KMSegmentedControl: NSControl {
         let button = self.segments[Int(segment)]
         button.toolTip = toolTip
     }
+    
+    override func layout() {
+        super.layout()
+        
+        let width = NSWidth(self.contentView?.bounds ?? .zero)
+        let height = NSHeight(self.contentView?.bounds ?? .zero)
+         
+        let itemSize = NSMakeSize(44, 44)
+        var itemY: CGFloat = 0
+        for i in 0 ..< self.segments.count {
+            let button = self.segments[i]
+            if self.direction == .horizontal {
+                button.frame = NSMakeRect((CGFloat(i)*itemSize.width), 0, itemSize.width, itemSize.height)
+            } else {
+                itemY = height - CGFloat(i)*itemSize.height - itemSize.height
+                button.frame = NSMakeRect(0, itemY, itemSize.width, itemSize.height)
+            }
+        }
+    }
 }
 
 // MARK: - Private Methods

+ 12 - 12
PDF Office/PDF Master/Class/PDFWindowController/Side/LeftSide/LeftSideView.xib

@@ -65,7 +65,7 @@
             <rect key="frame" x="0.0" y="0.0" width="200" height="400"/>
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
             <subviews>
-                <customView id="134">
+                <customView hidden="YES" id="134">
                     <rect key="frame" x="0.0" y="364" width="200" height="36"/>
                     <autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
                     <subviews>
@@ -87,9 +87,9 @@
                     </constraints>
                 </customView>
                 <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="RIE-9E-Klr">
-                    <rect key="frame" x="0.0" y="324" width="200" height="40"/>
+                    <rect key="frame" x="44" y="360" width="156" height="40"/>
                     <view key="contentView" id="HGY-wu-TyY">
-                        <rect key="frame" x="0.0" y="0.0" width="200" height="40"/>
+                        <rect key="frame" x="0.0" y="0.0" width="156" height="40"/>
                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                     </view>
                     <constraints>
@@ -97,20 +97,20 @@
                     </constraints>
                 </box>
                 <customView translatesAutoresizingMaskIntoConstraints="NO" id="icw-iz-c9C">
-                    <rect key="frame" x="0.0" y="0.0" width="200" height="324"/>
+                    <rect key="frame" x="44" y="0.0" width="156" height="360"/>
                     <subviews>
                         <customView id="142">
-                            <rect key="frame" x="0.0" y="0.0" width="200" height="324"/>
+                            <rect key="frame" x="0.0" y="0.0" width="156" height="360"/>
                             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                             <subviews>
                                 <box boxType="custom" borderWidth="0.0" title="Box" translatesAutoresizingMaskIntoConstraints="NO" id="luU-CI-1RC">
-                                    <rect key="frame" x="0.0" y="74" width="200" height="176"/>
+                                    <rect key="frame" x="0.0" y="274" width="156" height="176"/>
                                     <view key="contentView" id="YZn-Xi-c3Y">
-                                        <rect key="frame" x="0.0" y="0.0" width="200" height="176"/>
+                                        <rect key="frame" x="0.0" y="0.0" width="156" height="176"/>
                                         <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
                                         <subviews>
                                             <imageView horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="c5p-O5-UGT">
-                                                <rect key="frame" x="30" y="36" width="140" height="140"/>
+                                                <rect key="frame" x="8" y="36" width="140" height="140"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="140" id="B5o-8D-EWK"/>
                                                     <constraint firstAttribute="width" constant="140" id="Zt9-dK-Y1O"/>
@@ -118,7 +118,7 @@
                                                 <imageCell key="cell" refusesFirstResponder="YES" alignment="left" imageScaling="proportionallyDown" image="KMImageNameEmptySearch" id="iTU-Mu-Ivw"/>
                                             </imageView>
                                             <textField horizontalHuggingPriority="251" verticalHuggingPriority="750" translatesAutoresizingMaskIntoConstraints="NO" id="goc-q3-DCs">
-                                                <rect key="frame" x="80" y="0.0" width="41" height="20"/>
+                                                <rect key="frame" x="58" y="0.0" width="41" height="20"/>
                                                 <constraints>
                                                     <constraint firstAttribute="height" constant="20" id="kF2-kX-RYZ"/>
                                                 </constraints>
@@ -153,9 +153,9 @@
                 <constraint firstAttribute="trailing" secondItem="RIE-9E-Klr" secondAttribute="trailing" id="BhS-Z4-XXB"/>
                 <constraint firstAttribute="trailing" secondItem="icw-iz-c9C" secondAttribute="trailing" id="LHz-Nw-7L4"/>
                 <constraint firstItem="icw-iz-c9C" firstAttribute="top" secondItem="RIE-9E-Klr" secondAttribute="bottom" id="Zho-Re-t0F"/>
-                <constraint firstItem="icw-iz-c9C" firstAttribute="leading" secondItem="85" secondAttribute="leading" id="v0B-po-EOX"/>
-                <constraint firstItem="RIE-9E-Klr" firstAttribute="top" secondItem="134" secondAttribute="bottom" id="ws9-TO-idn"/>
-                <constraint firstItem="RIE-9E-Klr" firstAttribute="leading" secondItem="85" secondAttribute="leading" id="x14-0y-hF6"/>
+                <constraint firstItem="icw-iz-c9C" firstAttribute="leading" secondItem="85" secondAttribute="leading" constant="44" id="v0B-po-EOX"/>
+                <constraint firstItem="RIE-9E-Klr" firstAttribute="top" secondItem="85" secondAttribute="top" id="ws9-TO-idn"/>
+                <constraint firstItem="RIE-9E-Klr" firstAttribute="leading" secondItem="85" secondAttribute="leading" constant="44" id="x14-0y-hF6"/>
             </constraints>
             <point key="canvasLocation" x="-716" y="272"/>
         </customView>

+ 4 - 0
PDF Office/PDF Master/Class/PDFWindowController/ViewController/KMMainViewController.swift

@@ -365,6 +365,10 @@ import Cocoa
     
     //MARK: - PDFListView
     func initPDFLeftViewVC() {
+        var frame = self.leftView.frame
+        frame.size.width += 44
+        self.leftView.frame = frame
+        
         leftSideViewController.listView = self.listView ?? CPDFListView()
         leftSideViewController.view.frame = CGRect(x: 0, y:0 , width: self.leftView.frame.size.width, height: self.leftView.frame.size.height)
         leftSideViewController.view.autoresizingMask = [.height,.width]