patch: apply somehow - make double click on splitter reset to default proportions

This commit is contained in:
Aleksey Pivovarov
2016-04-26 14:57:26 +03:00
committed by Aleksey Pivovarov
parent f6f7db0bcf
commit aa69c1db04
3 changed files with 18 additions and 4 deletions
@@ -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));
}
@@ -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();
}
}
}
@@ -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);