From 7e566a6aabe5da666047d5c78ce7943cba04e53e Mon Sep 17 00:00:00 2001 From: Sergey Malenkov Date: Thu, 15 Sep 2016 19:59:44 +0300 Subject: [PATCH] Registry: remove "ide.scroll.new.layout" property --- .../console/LanguageConsoleImpl.java | 14 +----- .../intellij/ui/components/JBScrollBar.java | 7 +-- .../intellij/ui/components/JBScrollPane.java | 2 +- .../intellij/ui/components/JBViewport.java | 47 +------------------ .../util/ui/ButtonlessScrollBarUI.java | 29 +----------- .../ui/laf/darcula/ui/DarculaScrollBarUI.java | 15 +++--- .../impl/NotificationsManagerImpl.java | 3 -- .../openapi/editor/impl/EditorImpl.java | 29 +++--------- .../editor/impl/EditorMarkupModelImpl.java | 13 ----- .../keymap/impl/ui/ShortcutDialog.java | 5 -- .../options/newEditor/SettingsTreeView.java | 3 -- .../util/resources/misc/registry.properties | 1 - .../changes/ui/CommitChangeListDialog.java | 5 -- 13 files changed, 18 insertions(+), 155 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java index 5a1cefeae19e..9053311700aa 100644 --- a/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java +++ b/platform/lang-impl/src/com/intellij/execution/console/LanguageConsoleImpl.java @@ -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() { diff --git a/platform/platform-api/src/com/intellij/ui/components/JBScrollBar.java b/platform/platform-api/src/com/intellij/ui/components/JBScrollBar.java index 049a3f33c80e..871b8505ae33 100644 --- a/platform/platform-api/src/com/intellij/ui/components/JBScrollBar.java +++ b/platform/platform-api/src/com/intellij/ui/components/JBScrollBar.java @@ -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(); } } diff --git a/platform/platform-api/src/com/intellij/ui/components/JBScrollPane.java b/platform/platform-api/src/com/intellij/ui/components/JBScrollPane.java index f0548c285039..68f4f2071b9f 100644 --- a/platform/platform-api/src/com/intellij/ui/components/JBScrollPane.java +++ b/platform/platform-api/src/com/intellij/ui/components/JBScrollPane.java @@ -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(); diff --git a/platform/platform-api/src/com/intellij/ui/components/JBViewport.java b/platform/platform-api/src/com/intellij/ui/components/JBViewport.java index 25f6acdb898e..f491ff872639 100644 --- a/platform/platform-api/src/com/intellij/ui/components/JBViewport.java +++ b/platform/platform-api/src/com/intellij/ui/components/JBViewport.java @@ -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)); diff --git a/platform/platform-api/src/com/intellij/util/ui/ButtonlessScrollBarUI.java b/platform/platform-api/src/com/intellij/util/ui/ButtonlessScrollBarUI.java index b97308dc62c1..b41d7c54c6b7 100644 --- a/platform/platform-api/src/com/intellij/util/ui/ButtonlessScrollBarUI.java +++ b/platform/platform-api/src/com/intellij/util/ui/ButtonlessScrollBarUI.java @@ -52,6 +52,7 @@ public class ButtonlessScrollBarUI extends BasicScrollBarUI { * @see RegionPainter * @see UIUtil#putClientProperty */ + @Deprecated public static final Key> 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 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())); diff --git a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaScrollBarUI.java b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaScrollBarUI.java index 3ae3269777b4..24e3813f900d 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaScrollBarUI.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/laf/darcula/ui/DarculaScrollBarUI.java @@ -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(); } diff --git a/platform/platform-impl/src/com/intellij/notification/impl/NotificationsManagerImpl.java b/platform/platform-impl/src/com/intellij/notification/impl/NotificationsManagerImpl.java index 50d419855806..80b6dc907612 100644 --- a/platform/platform-impl/src/com/intellij/notification/impl/NotificationsManagerImpl.java +++ b/platform/platform-impl/src/com/intellij/notification/impl/NotificationsManagerImpl.java @@ -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); diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java index b40ff9cacdb8..caf4c5b9facc 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorImpl.java @@ -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(); diff --git a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java index 29709482e141..37e1bfcb0e09 100644 --- a/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java +++ b/platform/platform-impl/src/com/intellij/openapi/editor/impl/EditorMarkupModelImpl.java @@ -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); } } diff --git a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/ShortcutDialog.java b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/ShortcutDialog.java index 6b8c088aa8b5..28aa6b96a918 100644 --- a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/ShortcutDialog.java +++ b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/ShortcutDialog.java @@ -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 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); diff --git a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/SettingsTreeView.java b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/SettingsTreeView.java index 4ee4aa62017b..869d409f20c0 100644 --- a/platform/platform-impl/src/com/intellij/openapi/options/newEditor/SettingsTreeView.java +++ b/platform/platform-impl/src/com/intellij/openapi/options/newEditor/SettingsTreeView.java @@ -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); diff --git a/platform/util/resources/misc/registry.properties b/platform/util/resources/misc/registry.properties index 9bcdb971016f..8c1f1f7a439e 100644 --- a/platform/util/resources/misc/registry.properties +++ b/platform/util/resources/misc/registry.properties @@ -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 diff --git a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java index 19de6eb510c9..b75d14bb19aa 100644 --- a/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java +++ b/platform/vcs-impl/src/com/intellij/openapi/vcs/changes/ui/CommitChangeListDialog.java @@ -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)));