mirror of
https://github.com/TermoraDev/termora.git
synced 2026-01-16 02:12:58 +08:00
chore: remember the colspan state of the fence layout
This commit is contained in:
@@ -72,10 +72,12 @@ class TermoraFencePanel(
|
|||||||
leftTreePanel.addComponentListener(object : ComponentAdapter() {
|
leftTreePanel.addComponentListener(object : ComponentAdapter() {
|
||||||
override fun componentHidden(e: ComponentEvent) {
|
override fun componentHidden(e: ComponentEvent) {
|
||||||
toolbar.isVisible = true
|
toolbar.isVisible = true
|
||||||
|
enableManager.setFlag("Termora.Fence.colspan", true)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun componentShown(e: ComponentEvent) {
|
override fun componentShown(e: ComponentEvent) {
|
||||||
toolbar.isVisible = false
|
toolbar.isVisible = false
|
||||||
|
enableManager.setFlag("Termora.Fence.colspan", false)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
@@ -86,6 +88,16 @@ class TermoraFencePanel(
|
|||||||
toolkit.menuShortcutKeyMaskEx or KeyEvent.SHIFT_DOWN_MASK
|
toolkit.menuShortcutKeyMaskEx or KeyEvent.SHIFT_DOWN_MASK
|
||||||
), "toggle"
|
), "toggle"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
splitPane.addPropertyChangeListener("dividerLocation") {
|
||||||
|
if (leftTreePanel.isVisible)
|
||||||
|
enableManager.setFlag("Termora.Fence.dividerLocation", max(splitPane.dividerLocation, 10))
|
||||||
|
}
|
||||||
|
|
||||||
|
if (enableManager.getFlag("Termora.Fence.colspan", false)) {
|
||||||
|
toggle()
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private inner class LeftTreePanel : JPanel(BorderLayout()), Disposable {
|
private inner class LeftTreePanel : JPanel(BorderLayout()), Disposable {
|
||||||
@@ -144,19 +156,19 @@ class TermoraFencePanel(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun actionPerformed(evt: AnActionEvent) {
|
override fun actionPerformed(evt: AnActionEvent) {
|
||||||
|
toggle()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun toggle() {
|
||||||
if (leftTreePanel.isVisible) dividerLocation = splitPane.dividerLocation
|
if (leftTreePanel.isVisible) dividerLocation = splitPane.dividerLocation
|
||||||
leftTreePanel.isVisible = leftTreePanel.isVisible.not()
|
leftTreePanel.isVisible = leftTreePanel.isVisible.not()
|
||||||
if (leftTreePanel.isVisible) splitPane.dividerLocation = dividerLocation
|
if (leftTreePanel.isVisible) splitPane.dividerLocation = dividerLocation
|
||||||
}
|
mySplitPane.doLayout()
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
override fun dispose() {
|
|
||||||
if (leftTreePanel.isVisible)
|
|
||||||
enableManager.setFlag("Termora.Fence.dividerLocation", max(splitPane.dividerLocation, 10))
|
|
||||||
}
|
|
||||||
|
|
||||||
fun getHostTree(): NewHostTree {
|
fun getHostTree(): NewHostTree {
|
||||||
return leftTreePanel.hostTree
|
return leftTreePanel.hostTree
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user