Registry: remove "ide.scroll.new.layout" property

This commit is contained in:
Sergey Malenkov
2016-09-15 21:52:36 +03:00
parent 5d8b405d2f
commit 7e566a6aab
13 changed files with 18 additions and 155 deletions
@@ -49,7 +49,6 @@ import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Comparing;
import com.intellij.openapi.util.Disposer;
import com.intellij.openapi.util.TextRange;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vfs.VirtualFile;
import com.intellij.psi.PsiFile;
@@ -197,18 +196,7 @@ public class LanguageConsoleImpl extends ConsoleViewImpl implements LanguageCons
private void setHistoryScrollBarVisible(boolean visible) {
JScrollBar prev = myHistoryViewer.getScrollPane().getHorizontalScrollBar();
if (Registry.is("ide.scroll.new.layout")) {
prev.setEnabled(visible);
return;
}
JScrollBar next;
if (visible) {
next = ((EmptyScrollBar)prev).original;
}
else {
next = new EmptyScrollBar(prev);
}
myHistoryViewer.getScrollPane().setHorizontalScrollBar(next);
prev.setEnabled(visible);
}
private void setupComponents() {
@@ -17,8 +17,6 @@ package com.intellij.ui.components;
import com.intellij.openapi.util.Key;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.util.ui.ButtonlessScrollBarUI;
import com.intellij.util.ui.RegionPainter;
import com.intellij.util.ui.UIUtil;
import org.intellij.lang.annotations.JdkConstants;
@@ -72,9 +70,6 @@ public class JBScrollBar extends JScrollBar {
*/
@SuppressWarnings("UnusedParameters")
public static ScrollBarUI createUI(JComponent c) {
if (Registry.is("ide.scroll.new.layout")) {
return SystemInfo.isMac ? new MacScrollBarUI() : new DefaultScrollBarUI();
}
return ButtonlessScrollBarUI.createNormal();
return SystemInfo.isMac ? new MacScrollBarUI() : new DefaultScrollBarUI();
}
}
@@ -149,7 +149,7 @@ public class JBScrollPane extends JScrollPane {
}
private void init(boolean setupCorners) {
setLayout(Registry.is("ide.scroll.new.layout") ? new Layout() : new ScrollPaneLayout());
setLayout(new Layout());
if (setupCorners) {
setupCorners();
@@ -44,7 +44,7 @@ public class JBViewport extends JViewport implements ZoomableViewport {
@Override
public void layoutContainer(Container parent) {
if (parent instanceof JViewport && Registry.is("ide.scroll.new.layout")) {
if (parent instanceof JViewport) {
JViewport viewport = (JViewport)parent;
Component view = viewport.getView();
if (view != null) {
@@ -56,38 +56,7 @@ public class JBViewport extends JViewport implements ZoomableViewport {
super.layoutContainer(parent);
}
}
return;
}
JBViewport viewport = (JBViewport)parent;
Component view = viewport.getView();
JBScrollPane scrollPane = UIUtil.getParentOfType(JBScrollPane.class, parent);
// do not force viewport size on editor component, e.g. EditorTextField and LanguageConsole
if (view == null || scrollPane == null || view instanceof TypingTarget) {
super.layoutContainer(parent);
return;
}
Dimension size = doSuperLayoutContainer(viewport);
Dimension visible = viewport.getExtentSize();
if (scrollPane.getHorizontalScrollBarPolicy() == ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER) {
size.width = visible.width;
}
if (scrollPane.getVerticalScrollBarPolicy() == ScrollPaneConstants.VERTICAL_SCROLLBAR_NEVER) {
size.height = visible.height;
}
viewport.setViewSize(size);
}
private Dimension doSuperLayoutContainer(JBViewport viewport) {
try {
viewport.mySaveTempViewSize = true;
super.layoutContainer(viewport);
}
finally {
viewport.mySaveTempViewSize = false;
}
return viewport.myTempViewSize;
}
};
@@ -96,8 +65,6 @@ public class JBViewport extends JViewport implements ZoomableViewport {
private ZoomingDelegate myZoomer;
private Dimension myTempViewSize;
private boolean mySaveTempViewSize;
private volatile boolean myBackgroundRequested; // avoid cyclic references
public JBViewport() {
@@ -147,18 +114,6 @@ public class JBViewport extends JViewport implements ZoomableViewport {
return ourLayoutManager;
}
@Override
public void setViewSize(Dimension newSize) {
// only store newSize from ViewportLayout.layoutContainer
// if we're going to fix it the next moment in our layoutContainer code
if (mySaveTempViewSize) {
myTempViewSize = newSize;
}
else {
super.setViewSize(newSize);
}
}
@Override
protected Graphics getComponentGraphics(Graphics graphics) {
return JBSwingUtilities.runGlobalCGTransform(this, super.getComponentGraphics(graphics));
@@ -52,6 +52,7 @@ public class ButtonlessScrollBarUI extends BasicScrollBarUI {
* @see RegionPainter
* @see UIUtil#putClientProperty
*/
@Deprecated
public static final Key<RegionPainter<Integer>> MAXI_THUMB = Key.create("BUTTONLESS_SCROLL_BAR_UI_MAXI_THUMB");
private static final Logger LOG = Logger.getInstance("#" + ButtonlessScrollBarUI.class.getName());
@@ -692,7 +693,7 @@ public class ButtonlessScrollBarUI extends BasicScrollBarUI {
if (isMacOverlayScrollbar()) {
paintMacThumb(g, thumbBounds);
}
else if (Registry.is("ide.scroll.new.layout")) {
else {
Rectangle bounds = new Rectangle(thumbBounds);
if (isThumbTranslucent()) {
Alignment alignment = Alignment.get(scrollbar);
@@ -744,17 +745,6 @@ public class ButtonlessScrollBarUI extends BasicScrollBarUI {
painter.paint((Graphics2D)g, bounds.x, bounds.y, bounds.width, bounds.height, value);
}
}
else {
RegionPainter<Integer> painter = UIUtil.getClientProperty(scrollbar, MAXI_THUMB);
if (painter != null) {
painter.paint((Graphics2D)g, thumbBounds.x, thumbBounds.y, thumbBounds.width, thumbBounds.height, myThumbFadeColorShift);
}
else {
g.translate(thumbBounds.x, thumbBounds.y);
paintMaxiThumb((Graphics2D)g, thumbBounds);
g.translate(-thumbBounds.x, -thumbBounds.y);
}
}
}
@Deprecated
@@ -1071,21 +1061,6 @@ public class ButtonlessScrollBarUI extends BasicScrollBarUI {
return false;
}
@Override
protected void paintThumb(Graphics g, JComponent c, Rectangle thumbBounds) {
if (!Registry.is("ide.scroll.new.layout") && !isMacOverlayScrollbar()) {
int half = getThickness() / 2;
int shiftX = isVertical() ? half - 1 : 0;
int shiftY = isVertical() ? 0 : half - 1;
g.translate(shiftX, shiftY);
super.paintThumb(g, c, thumbBounds);
g.translate(-shiftX, -shiftY);
}
else {
super.paintThumb(g, c, thumbBounds);
}
}
protected void paintMaxiThumb(Graphics2D g, Rectangle thumbBounds) {
int arc = JBUI.scale(3);
g.setColor(adjustColor(getGradientDarkColor()));
@@ -16,7 +16,6 @@
package com.intellij.ide.ui.laf.darcula.ui;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.util.ui.ButtonlessScrollBarUI;
import javax.swing.*;
@@ -32,14 +31,12 @@ public class DarculaScrollBarUI extends ButtonlessScrollBarUI {
@SuppressWarnings({"MethodOverridesStaticMethodOfSuperclass", "UnusedDeclaration"})
public static ComponentUI createUI(JComponent c) {
if (Registry.is("ide.scroll.new.layout")) {
try {
return (ComponentUI)newInstance(Class.forName(SystemInfo.isMac
? "com.intellij.ui.components.MacScrollBarUI"
: "com.intellij.ui.components.DefaultScrollBarUI"));
}
catch (Exception ignore) {
}
try {
return (ComponentUI)newInstance(Class.forName(SystemInfo.isMac
? "com.intellij.ui.components.MacScrollBarUI"
: "com.intellij.ui.components.DefaultScrollBarUI"));
}
catch (Exception ignore) {
}
return new DarculaScrollBarUI();
}
@@ -873,9 +873,6 @@ public class NotificationsManagerImpl extends NotificationsManager {
public static void configureBalloonScrollPane(@NotNull JScrollPane pane, @NotNull Color fillColor) {
pane.setOpaque(false);
pane.getViewport().setOpaque(false);
if (!Registry.is("ide.scroll.new.layout")) {
pane.getVerticalScrollBar().setUI(ButtonlessScrollBarUI.createTransparent());
}
pane.setBackground(fillColor);
pane.getViewport().setBackground(fillColor);
pane.getVerticalScrollBar().setBackground(fillColor);
@@ -5365,20 +5365,12 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi
assertIsDispatchThread();
int currentHorOffset = myScrollingModel.getHorizontalScrollOffset();
myScrollBarOrientation = type;
if (Registry.is("ide.scroll.new.layout")) {
myScrollPane.putClientProperty(JBScrollPane.Flip.class,
type == VERTICAL_SCROLLBAR_LEFT
? JBScrollPane.Flip.HORIZONTAL
: null);
JScrollBar vsb = myScrollPane.getVerticalScrollBar();
if (vsb != null) vsb.setOpaque(true);
}
else if (type == VERTICAL_SCROLLBAR_LEFT) {
myScrollPane.setLayout(new LeftHandScrollbarLayout());
}
else {
myScrollPane.setLayout(new ScrollPaneLayout());
}
myScrollPane.putClientProperty(JBScrollPane.Flip.class,
type == VERTICAL_SCROLLBAR_LEFT
? JBScrollPane.Flip.HORIZONTAL
: null);
JScrollBar vsb = myScrollPane.getVerticalScrollBar();
if (vsb != null) vsb.setOpaque(true);
myScrollingModel.scrollHorizontally(currentHorOffset);
}
@@ -7118,15 +7110,6 @@ public final class EditorImpl extends UserDataHolderBase implements EditorEx, Hi
return new MyScrollBar(Adjustable.VERTICAL);
}
@NotNull
@Override
public JScrollBar createHorizontalScrollBar() {
if (Registry.is("ide.scroll.new.layout")) {
return super.createHorizontalScrollBar();
}
return new MyScrollBar(Adjustable.HORIZONTAL);
}
@Override
protected void setupCorners() {
super.setupCorners();
@@ -563,21 +563,8 @@ public class EditorMarkupModelImpl extends MarkupModelImpl implements EditorMark
g2d.setTransform(old);
}
}
else if (Registry.is("ide.scroll.new.layout")) {
super.paintThumb(g, c, thumbBounds);
}
else {
int shift;
if (Registry.is("editor.full.width.scrollbar")) {
shift = isMirrored() ? -myMinMarkHeight + 1 : myMinMarkHeight;
}
else {
int half = getThickness() / 2;
shift = isMirrored() ? -half + 2 : half - 1;
}
g.translate(shift, 0);
super.paintThumb(g, c, thumbBounds);
g.translate(-shift, 0);
}
}
@@ -24,14 +24,12 @@ import com.intellij.openapi.keymap.KeyMapBundle;
import com.intellij.openapi.keymap.Keymap;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.ui.DialogWrapper;
import com.intellij.openapi.util.registry.Registry;
import com.intellij.ui.ScrollPaneFactory;
import com.intellij.ui.SimpleColoredComponent;
import com.intellij.ui.SimpleTextAttributes;
import com.intellij.ui.components.GradientViewport;
import com.intellij.ui.components.JBPanel;
import com.intellij.ui.components.panels.VerticalLayout;
import com.intellij.util.ui.ButtonlessScrollBarUI;
import com.intellij.util.ui.JBUI;
import org.jetbrains.annotations.Nullable;
@@ -160,9 +158,6 @@ abstract class ShortcutDialog<T extends Shortcut> extends DialogWrapper {
JScrollPane scroll = ScrollPaneFactory.createScrollPane(null, true);
scroll.setHorizontalScrollBarPolicy(ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER);
scroll.setViewport(new GradientViewport(myConflictsContainer, JBUI.insets(5), false));
if (!Registry.is("ide.scroll.new.layout")) {
scroll.getVerticalScrollBar().setUI(ButtonlessScrollBarUI.createTransparent());
}
scroll.getVerticalScrollBar().setOpaque(false);
scroll.getViewport().setOpaque(false);
scroll.setOpaque(false);
@@ -159,9 +159,6 @@ final class SettingsTreeView extends JComponent implements Accessible, Disposabl
return myHeader;
}
});
if (!Registry.is("ide.scroll.new.layout")) {
myScroller.getVerticalScrollBar().setUI(ButtonlessScrollBarUI.createTransparent());
}
if (!Registry.is("ide.scroll.background.auto")) {
myScroller.setBackground(UIUtil.SIDE_PANEL_BACKGROUND);
myScroller.getViewport().setBackground(UIUtil.SIDE_PANEL_BACKGROUND);
@@ -112,7 +112,6 @@ ide.splitter.mouseZone=6
ide.scroll.default.unit.increment=false
ide.scroll.default.unit.increment.description=Use default unit increment from Java (may decrease scrolling performance). // Malenkov
ide.scroll.new.layout=true
ide.scroll.align.component=true
ide.scroll.background.auto=true
ide.scroll.thumb.small.if.opaque=true
@@ -55,7 +55,6 @@ import com.intellij.util.Alarm;
import com.intellij.util.ObjectUtils;
import com.intellij.util.containers.ContainerUtil;
import com.intellij.util.ui.AbstractLayoutManager;
import com.intellij.util.ui.ButtonlessScrollBarUI;
import com.intellij.util.ui.GridBag;
import com.intellij.util.ui.JBUI;
import org.jetbrains.annotations.NonNls;
@@ -1009,10 +1008,6 @@ public class CommitChangeListDialog extends DialogWrapper implements CheckinProj
JPanel mainPanel;
if (myAdditionalOptionsPanel != null) {
JScrollPane optionsPane = ScrollPaneFactory.createScrollPane(myAdditionalOptionsPanel, true);
if (!Registry.is("ide.scroll.new.layout")) {
optionsPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
optionsPane.getVerticalScrollBar().setUI(ButtonlessScrollBarUI.createTransparent());
}
JPanel infoPanel = JBUI.Panels.simplePanel(optionsPane).withBorder(JBUI.Borders.emptyLeft(10));
mainPanel = new JPanel(new MyOptionsLayout(mySplitter, infoPanel, JBUI.scale(250)));