|
@@ -278,7 +278,7 @@ extension KMMainViewController: KMToolbarControllerDelegate {
|
|
|
|
|
|
extension KMMainViewController : NSSplitViewDelegate {
|
|
|
func splitView(_ splitView: NSSplitView, canCollapseSubview subview: NSView) -> Bool {
|
|
|
- KMPrint("kk- canCollapseSubview")
|
|
|
+// KMPrint("kk- canCollapseSubview")
|
|
|
if splitView == self.mianSplitView {
|
|
|
// return (subview == self.listView) == false
|
|
|
} else if splitView == self.newPDFSplitView {
|
|
@@ -288,7 +288,7 @@ extension KMMainViewController : NSSplitViewDelegate {
|
|
|
}
|
|
|
|
|
|
func splitView(_ splitView: NSSplitView, shouldCollapseSubview subview: NSView, forDoubleClickOnDividerAt dividerIndex: Int) -> Bool {
|
|
|
- KMPrint("kk- shouldCollapseSubview")
|
|
|
+// KMPrint("kk- shouldCollapseSubview")
|
|
|
if splitView == self.newPDFSplitView {
|
|
|
if subview.isEqual(to: self.secondaryPdfContentView) {
|
|
|
var position = self.newPDFSplitView.maxPossiblePositionOfDivider(at: dividerIndex)
|
|
@@ -312,7 +312,7 @@ extension KMMainViewController : NSSplitViewDelegate {
|
|
|
}
|
|
|
|
|
|
func splitView(_ splitView: NSSplitView, shouldHideDividerAt dividerIndex: Int) -> Bool {
|
|
|
- KMPrint("kk- shouldHideDividerAt")
|
|
|
+// KMPrint("kk- shouldHideDividerAt")
|
|
|
if splitView == self.mianSplitView {
|
|
|
return splitView == self.mianSplitView
|
|
|
} else if splitView == self.newPDFSplitView {
|
|
@@ -323,7 +323,7 @@ extension KMMainViewController : NSSplitViewDelegate {
|
|
|
}
|
|
|
|
|
|
func splitView(_ splitView: NSSplitView, constrainMaxCoordinate proposedMaximumPosition: CGFloat, ofSubviewAt dividerIndex: Int) -> CGFloat {
|
|
|
- KMPrint("kk- constrainMaxCoordinate")
|
|
|
+// KMPrint("kk- constrainMaxCoordinate")
|
|
|
if splitView == mianSplitView {
|
|
|
let splitViewWidth = splitView.frame.width
|
|
|
let dividerIndexX0 = panelWidth + functionWidth
|
|
@@ -346,7 +346,7 @@ extension KMMainViewController : NSSplitViewDelegate {
|
|
|
}
|
|
|
|
|
|
func splitView(_ splitView: NSSplitView, constrainMinCoordinate proposedMinimumPosition: CGFloat, ofSubviewAt dividerIndex: Int) -> CGFloat {
|
|
|
- KMPrint("kk- constrainMinCoordinate")
|
|
|
+// KMPrint("kk- constrainMinCoordinate")
|
|
|
if splitView == mianSplitView {
|
|
|
let splitViewWidth = splitView.frame.width
|
|
|
let dividerIndexX1 = splitViewWidth - defaultRightWidth
|
|
@@ -362,7 +362,7 @@ extension KMMainViewController : NSSplitViewDelegate {
|
|
|
}
|
|
|
|
|
|
func splitView(_ splitView: NSSplitView, resizeSubviewsWithOldSize oldSize: NSSize) {
|
|
|
- KMPrint("kk- resizeSubviewsWithOldSize")
|
|
|
+// KMPrint("kk- resizeSubviewsWithOldSize")
|
|
|
if splitView.isEqual(to: mianSplitView) {
|
|
|
let leftView = splitView.subviews[0]
|
|
|
let centerView = splitView.subviews[1]
|
|
@@ -412,26 +412,37 @@ extension KMMainViewController : NSSplitViewDelegate {
|
|
|
}
|
|
|
centerView.setFrameSize(mainSize)
|
|
|
} else if splitView == self.newPDFSplitView {
|
|
|
- let left = splitView.subviews.first
|
|
|
- let right = splitView.subviews.last
|
|
|
- if left == right{
|
|
|
+ let firstV = splitView.subviews.first
|
|
|
+ let lastV = splitView.subviews.last
|
|
|
+ if firstV == lastV{
|
|
|
splitView.adjustSubviews()
|
|
|
return
|
|
|
}
|
|
|
- // 左边是否收起
|
|
|
- let leftCollapsed = splitView.isSubviewCollapsed(left!)
|
|
|
- // 右边是否收起
|
|
|
- let rightCollapsed = splitView.isSubviewCollapsed(right!)
|
|
|
-
|
|
|
- var contentSize = splitView.frame.size
|
|
|
- left?.setFrameSize(NSMakeSize(contentSize.width * 0.5, contentSize.height))
|
|
|
- right?.setFrameSize(NSMakeSize(contentSize.width * 0.5, contentSize.height))
|
|
|
+ if self.newPDFSplitView.isVertical { // 横向
|
|
|
+ // 左边是否收起
|
|
|
+ let leftCollapsed = splitView.isSubviewCollapsed(firstV!)
|
|
|
+ // 右边是否收起
|
|
|
+ let rightCollapsed = splitView.isSubviewCollapsed(lastV!)
|
|
|
+
|
|
|
+ var contentSize = splitView.frame.size
|
|
|
+ firstV?.setFrameSize(NSMakeSize(contentSize.width * 0.5, contentSize.height))
|
|
|
+ lastV?.setFrameSize(NSMakeSize(contentSize.width * 0.5, contentSize.height))
|
|
|
+ } else { // 纵向
|
|
|
+ // 左边是否收起
|
|
|
+ let leftCollapsed = splitView.isSubviewCollapsed(firstV!)
|
|
|
+ // 右边是否收起
|
|
|
+ let rightCollapsed = splitView.isSubviewCollapsed(lastV!)
|
|
|
+
|
|
|
+ var contentSize = splitView.frame.size
|
|
|
+ firstV?.setFrameSize(NSMakeSize(contentSize.width, contentSize.height * 0.5))
|
|
|
+ lastV?.setFrameSize(NSMakeSize(contentSize.width, contentSize.height * 0.5))
|
|
|
+ }
|
|
|
}
|
|
|
splitView.adjustSubviews()
|
|
|
}
|
|
|
|
|
|
func splitViewWillResizeSubviews(_ notification: Notification) {
|
|
|
- KMPrint("kk- splitViewWillResizeSubviews")
|
|
|
+// KMPrint("kk- splitViewWillResizeSubviews")
|
|
|
let defaultView = KMSplitView()
|
|
|
let sender : NSSplitView = notification.object as? NSSplitView ?? defaultView
|
|
|
if (sender == self.mianSplitView || sender == defaultView) && self.view.window?.frameAutosaveName != nil{
|
|
@@ -449,7 +460,7 @@ extension KMMainViewController : NSSplitViewDelegate {
|
|
|
}
|
|
|
|
|
|
func splitViewDidResizeSubviews(_ notification: Notification) {
|
|
|
- KMPrint("kk- splitViewDidResizeSubviews")
|
|
|
+// KMPrint("kk- splitViewDidResizeSubviews")
|
|
|
self.locationPageView.frame = CGRect(x: 0, y: self.listView.frame.maxY-32, width: self.listView.frame.width, height: 32)
|
|
|
let defaultView = KMSplitView()
|
|
|
let sender : NSSplitView = notification.object as? NSSplitView ?? defaultView
|
|
@@ -466,7 +477,7 @@ extension KMMainViewController : NSSplitViewDelegate {
|
|
|
}
|
|
|
|
|
|
func splitView(_ splitView: NSSplitView, constrainSplitPosition proposedPosition: CGFloat, ofSubviewAt dividerIndex: Int) -> CGFloat {
|
|
|
- KMPrint("kk- constrainSplitPosition")
|
|
|
+// KMPrint("kk- constrainSplitPosition")
|
|
|
if splitView == self.mianSplitView {
|
|
|
if dividerIndex == 0 {
|
|
|
if leftPanelOpen {
|