[git] add a border for the update project filter in git settings

GitOrigin-RevId: b8757eb7201bf4927dcb22e434dd12a2e2e053a2
This commit is contained in:
Julia Beliaeva
2020-06-17 16:35:16 +03:00
committed by intellij-monorepo-bot
parent ab59d20bf2
commit e3489f3445
2 changed files with 21 additions and 13 deletions
@@ -26,7 +26,8 @@ import java.util.function.Supplier;
public abstract class VcsLogPopupComponent extends JPanel {
private static final int GAP_BEFORE_ARROW = 3;
private static final int BORDER_SIZE = 2;
protected static final int BORDER_SIZE = 2;
protected static final int ARC_SIZE = 10;
private final PopupState myPopupState = new PopupState();
@NotNull private final Supplier<String> myDisplayName;
@@ -42,7 +43,7 @@ public abstract class VcsLogPopupComponent extends JPanel {
myValueLabel = new DynamicLabel(this::getCurrentText);
setDefaultForeground();
setFocusable(true);
setBorder(createUnfocusedBorder());
setBorder(wrapBorder(createUnfocusedBorder()));
setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
if (myNameLabel != null) add(myNameLabel);
@@ -90,12 +91,12 @@ public abstract class VcsLogPopupComponent extends JPanel {
addFocusListener(new FocusAdapter() {
@Override
public void focusGained(@NotNull FocusEvent e) {
setBorder(createFocusedBorder());
setBorder(wrapBorder(createFocusedBorder()));
}
@Override
public void focusLost(@NotNull FocusEvent e) {
setBorder(createUnfocusedBorder());
setBorder(wrapBorder(createUnfocusedBorder()));
}
});
}
@@ -164,20 +165,23 @@ public abstract class VcsLogPopupComponent extends JPanel {
}
private static Border createFocusedBorder() {
return BorderFactory.createCompoundBorder(new FilledRoundedBorder(UIUtil.getFocusedBorderColor(), 10, BORDER_SIZE),
JBUI.Borders.empty(2));
return new FilledRoundedBorder(UIUtil.getFocusedBorderColor(), ARC_SIZE, BORDER_SIZE);
}
private static Border createUnfocusedBorder() {
return BorderFactory.createCompoundBorder(JBUI.Borders.empty(BORDER_SIZE), JBUI.Borders.empty(2));
protected Border createUnfocusedBorder() {
return JBUI.Borders.empty(BORDER_SIZE);
}
private static class FilledRoundedBorder implements Border {
private static Border wrapBorder(Border outerBorder) {
return BorderFactory.createCompoundBorder(outerBorder, JBUI.Borders.empty(2));
}
public static class FilledRoundedBorder implements Border {
private final Color myColor;
private final int myThickness;
private final int myArcSize;
FilledRoundedBorder(@NotNull Color color, int arcSize, int thickness) {
public FilledRoundedBorder(@NotNull Color color, int arcSize, int thickness) {
myColor = color;
myThickness = thickness;
myArcSize = arcSize;
@@ -23,13 +23,12 @@ import com.intellij.openapi.util.registry.Registry
import com.intellij.openapi.vcs.ProjectLevelVcsManager
import com.intellij.openapi.vcs.changes.VcsDirtyScopeManager
import com.intellij.openapi.vcs.update.AbstractCommonUpdateAction
import com.intellij.ui.CollectionComboBoxModel
import com.intellij.ui.EnumComboBoxModel
import com.intellij.ui.SimpleListCellRenderer
import com.intellij.ui.*
import com.intellij.ui.components.JBLabel
import com.intellij.ui.components.fields.ExpandableTextField
import com.intellij.ui.layout.*
import com.intellij.util.execution.ParametersListUtil
import com.intellij.util.ui.JBUI
import com.intellij.util.ui.UIUtil
import com.intellij.util.ui.VcsExecutablePathSelector
import com.intellij.vcs.log.VcsLogFilterCollection.STRUCTURE_FILTER
@@ -37,6 +36,7 @@ import com.intellij.vcs.log.impl.MainVcsLogUiProperties
import com.intellij.vcs.log.ui.VcsLogColorManagerImpl
import com.intellij.vcs.log.ui.filter.StructureFilterPopupComponent
import com.intellij.vcs.log.ui.filter.VcsLogClassicFilterUi
import com.intellij.vcs.log.ui.filter.VcsLogPopupComponent
import git4idea.GitVcs
import git4idea.branch.GitBranchIncomingOutgoingManager
import git4idea.i18n.GitBundle
@@ -48,6 +48,7 @@ import org.jetbrains.annotations.CalledInAny
import java.awt.Color
import java.util.function.Consumer
import javax.swing.JLabel
import javax.swing.border.Border
private fun projectSettings(project: Project) = GitVcsSettings.getInstance(project)
private val applicationSettings get() = GitVcsApplicationSettings.getInstance()
@@ -347,6 +348,9 @@ internal class GitVcsPanel(private val project: Project) :
override fun shouldDrawLabel(): Boolean = false
override fun shouldIndicateHovering(): Boolean = false
override fun getDefaultSelectorForeground(): Color = UIUtil.getLabelForeground()
override fun createUnfocusedBorder(): Border {
return FilledRoundedBorder(JBColor.namedColor("Component.borderColor", Gray.xBF), ARC_SIZE, 1)
}
}.initUi()
label(message("settings.filter.update.info"))