From aa69c1db045b27a23602b0c2a8e1f1ddd45d3895 Mon Sep 17 00:00:00 2001 From: Aleksey Pivovarov Date: Fri, 22 Apr 2016 12:26:44 +0300 Subject: [PATCH] patch: apply somehow - make double click on splitter reset to default proportions --- .../com/intellij/diff/tools/util/DiffSplitter.java | 6 ++++++ .../util/src/com/intellij/openapi/ui/Splitter.java | 13 +++++++++++-- .../changes/patch/tool/ApplyPatchMergeViewer.java | 3 +-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/platform/diff-impl/src/com/intellij/diff/tools/util/DiffSplitter.java b/platform/diff-impl/src/com/intellij/diff/tools/util/DiffSplitter.java index 241843064edd..1fa807c0a35c 100644 --- a/platform/diff-impl/src/com/intellij/diff/tools/util/DiffSplitter.java +++ b/platform/diff-impl/src/com/intellij/diff/tools/util/DiffSplitter.java @@ -41,6 +41,12 @@ public class DiffSplitter extends Splitter { @Nullable private AnAction myBottomAction; public DiffSplitter() { + this(.5f); + } + + public DiffSplitter(float proportion) { + super(false, proportion); + setDefaultProportion(proportion); setDividerWidth(JBUI.scale(30)); } diff --git a/platform/util/src/com/intellij/openapi/ui/Splitter.java b/platform/util/src/com/intellij/openapi/ui/Splitter.java index 9fab5dac40db..204651b6e39b 100644 --- a/platform/util/src/com/intellij/openapi/ui/Splitter.java +++ b/platform/util/src/com/intellij/openapi/ui/Splitter.java @@ -57,6 +57,7 @@ public class Splitter extends JPanel implements Splittable { private final float myMaxProp; + protected float myDefaultProportion = .5f; protected float myProportion;// first size divided by (first + second) protected final Divider myDivider; @@ -385,6 +386,14 @@ public class Splitter extends JPanel implements Splittable { repaint(); } + public void setDefaultProportion(float value) { + myDefaultProportion = value; + } + + public void resetProportion() { + setProportion(myDefaultProportion); + } + /** * Swaps components. */ @@ -570,7 +579,7 @@ public class Splitter extends JPanel implements Splittable { new ClickListener() { @Override public boolean onClick(@NotNull MouseEvent e, int clickCount) { - setProportion(.5f); + resetProportion(); return true; } }.installOn(splitCenterlabel); @@ -640,7 +649,7 @@ public class Splitter extends JPanel implements Splittable { Splitter.this.setOrientation(!Splitter.this.getOrientation()); } if (myResizeEnabled && e.getClickCount() == 2) { - Splitter.this.setProportion(.5f); + resetProportion(); } } } diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/tool/ApplyPatchMergeViewer.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/tool/ApplyPatchMergeViewer.java index 5115c0dea8a1..d9be826e2ccb 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/tool/ApplyPatchMergeViewer.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/patch/tool/ApplyPatchMergeViewer.java @@ -97,8 +97,7 @@ class ApplyPatchMergeViewer implements MergeTool.MergeViewer { patchPanel.add(myViewer.getPatchTitle(), BorderLayout.NORTH); - myPatchSplitter = new DiffSplitter(); - myPatchSplitter.setProportion(2f / 3); + myPatchSplitter = new DiffSplitter(2f / 3); myPatchSplitter.setFirstComponent(myViewer.getComponent()); myPatchSplitter.setSecondComponent(patchPanel); myPatchSplitter.setHonorComponentsMinimumSize(false);