From dc3447dce472b079f30b46c63fde8eaabbed789f Mon Sep 17 00:00:00 2001 From: Konstantin Kolosovsky Date: Tue, 5 Jun 2018 15:18:16 +0300 Subject: [PATCH] vcs: Simplify commit options layout --- .../vcs/changes/ui/CommitOptionsPanel.kt | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitOptionsPanel.kt b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitOptionsPanel.kt index 6509efba67e7..01016b9e5c37 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitOptionsPanel.kt +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitOptionsPanel.kt @@ -2,6 +2,7 @@ package com.intellij.openapi.vcs.changes.ui import com.intellij.openapi.Disposable +import com.intellij.openapi.ui.VerticalFlowLayout import com.intellij.openapi.vcs.AbstractVcs import com.intellij.openapi.vcs.CheckinProjectPanel import com.intellij.openapi.vcs.VcsBundle.message @@ -21,6 +22,7 @@ import com.intellij.util.ui.UIUtil.removeMnemonic import com.intellij.util.ui.components.BorderLayoutPanel import java.util.Collections.unmodifiableList import javax.swing.Box +import javax.swing.JComponent import javax.swing.JPanel import kotlin.collections.component1 import kotlin.collections.component2 @@ -61,12 +63,11 @@ class CommitOptionsPanel(private val myCommitPanel: CheckinProjectPanel, } private fun init(vcses: Collection>): Boolean { - val borderTitleName = removeMnemonic(myCommitPanel.commitActionName) var hasVcsOptions = false val vcsCommitOptions = Box.createVerticalBox() for (vcs in vcses.sortedWith(VCS_COMPARATOR)) { vcs.checkinEnvironment?.createAdditionalOptionsPanel(myCommitPanel, additionalData)?.let { options -> - val vcsOptions = simplePanel(options.component).withBorder(createTitledBorder(vcs.displayName)) + val vcsOptions = verticalPanel(vcs.displayName).apply { add(options.component) } vcsCommitOptions.add(vcsOptions) myPerVcsOptionsPanels[vcs] = vcsOptions myAdditionalComponents.add(options) @@ -79,16 +80,17 @@ class CommitOptionsPanel(private val myCommitPanel: CheckinProjectPanel, var beforeVisible = false var afterVisible = false - val beforeBox = Box.createVerticalBox() - val afterBox = Box.createVerticalBox() + val actionName = removeMnemonic(myCommitPanel.commitActionName) + val beforeOptions = verticalPanel(message("border.standard.checkin.options.group", actionName)) + val afterOptions = verticalPanel(message("border.standard.after.checkin.options.group", actionName)) for (handler in myHandlers) { handler.beforeCheckinConfigurationPanel?.let { beforeVisible = true - addCheckinHandlerComponent(it, beforeBox) + addCheckinHandlerComponent(it, beforeOptions) } handler.getAfterCheckinConfigurationPanel(this)?.let { afterVisible = true - addCheckinHandlerComponent(it, afterBox) + addCheckinHandlerComponent(it, afterOptions) } } @@ -101,15 +103,11 @@ class CommitOptionsPanel(private val myCommitPanel: CheckinProjectPanel, } if (beforeVisible) { - beforeBox.add(Box.createVerticalGlue()) - optionsBox.add( - simplePanel(beforeBox).withBorder(createTitledBorder(message("border.standard.checkin.options.group", borderTitleName)))) + optionsBox.add(beforeOptions) } if (afterVisible) { - afterBox.add(Box.createVerticalGlue()) - optionsBox.add( - simplePanel(afterBox).withBorder(createTitledBorder(message("border.standard.after.checkin.options.group", borderTitleName)))) + optionsBox.add(afterOptions) } optionsBox.add(Box.createVerticalGlue()) @@ -118,7 +116,11 @@ class CommitOptionsPanel(private val myCommitPanel: CheckinProjectPanel, return false } - private fun addCheckinHandlerComponent(component: RefreshableOnComponent, container: Box) { + private fun verticalPanel(title: String) = JPanel(VerticalFlowLayout(0, 0)).apply { + border = createTitledBorder(title) + } + + private fun addCheckinHandlerComponent(component: RefreshableOnComponent, container: JComponent) { container.add(component.component) myAdditionalComponents.add(component) if (component is CheckinChangeListSpecificComponent) {