IDEA-149395 use opaque scroll bars for all tables
authorSergey Malenkov <sergey.malenkov@jetbrains.com>
Wed, 27 Jan 2016 18:22:36 +0000 (21:22 +0300)
committerSergey Malenkov <sergey.malenkov@jetbrains.com>
Wed, 27 Jan 2016 19:09:00 +0000 (22:09 +0300)
This fix also reverts hacks added to some tables

platform/lang-impl/src/com/intellij/profile/codeInspection/ui/inspectionsTree/InspectionsConfigTreeTable.java
platform/platform-api/src/com/intellij/ui/components/JBScrollPane.java
platform/platform-impl/src/com/intellij/ide/plugins/PluginTable.java
platform/platform-impl/src/com/intellij/ide/plugins/PluginsTableRenderer.java

index 7601d011b5e81eacfb14c11300d20254ec5f4a5c..df5bc763ca339b1520bd5e7b490bd5b9995f3bbe 100644 (file)
@@ -29,7 +29,6 @@ import com.intellij.openapi.diagnostic.Logger;
 import com.intellij.openapi.project.Project;
 import com.intellij.openapi.util.Comparing;
 import com.intellij.openapi.util.SystemInfo;
-import com.intellij.openapi.util.registry.Registry;
 import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.profile.codeInspection.ui.InspectionsAggregationUtil;
 import com.intellij.profile.codeInspection.ui.SingleInspectionProfilePanel;
@@ -37,7 +36,6 @@ import com.intellij.profile.codeInspection.ui.ToolDescriptors;
 import com.intellij.profile.codeInspection.ui.table.ScopesAndSeveritiesTable;
 import com.intellij.profile.codeInspection.ui.table.ThreeStateCheckBoxRenderer;
 import com.intellij.ui.DoubleClickListener;
-import com.intellij.ui.TableUtil;
 import com.intellij.ui.treeStructure.treetable.TreeTable;
 import com.intellij.ui.treeStructure.treetable.TreeTableModel;
 import com.intellij.ui.treeStructure.treetable.TreeTableTree;
@@ -74,7 +72,7 @@ public class InspectionsConfigTreeTable extends TreeTable {
   private final static int IS_ENABLED_COLUMN = 2;
 
   public static int getAdditionalPadding() {
-    return SystemInfo.isMac || Registry.is("ide.scroll.new.layout") ? 10 : 0;
+    return SystemInfo.isMac ? 10 : 0;
   }
 
   public static InspectionsConfigTreeTable create(final InspectionsConfigTreeTableSettings settings, Disposable parentDisposable) {
@@ -106,7 +104,7 @@ public class InspectionsConfigTreeTable extends TreeTable {
     severitiesColumn.setMaxWidth(20);
 
     final TableColumn isEnabledColumn = getColumnModel().getColumn(IS_ENABLED_COLUMN);
-    TableUtil.setupCheckboxColumn(isEnabledColumn, getAdditionalPadding());
+    isEnabledColumn.setMaxWidth(20 + getAdditionalPadding());
     isEnabledColumn.setCellRenderer(new ThreeStateCheckBoxRenderer());
     isEnabledColumn.setCellEditor(new ThreeStateCheckBoxRenderer());
 
index 7863f9ec68985d9fa3c03291fcae198c18d316bc..fa334ce3eee9bcb46b2f4dd73b5eb992ffb4cf92 100644 (file)
@@ -485,6 +485,7 @@ public class JBScrollPane extends JScrollPane {
       }
       Rectangle vsbBounds = new Rectangle(0, bounds.y - insets.top, 0, 0);
       if (vsb != null) {
+        if (!SystemInfo.isMac && view instanceof JTable) vsb.setOpaque(true);
         vsbOpaque = vsb.isOpaque();
         if (vsbNeeded) {
           adjustForVSB(bounds, insets, vsbBounds, vsbOpaque, vsbOnLeft);
@@ -504,6 +505,7 @@ public class JBScrollPane extends JScrollPane {
       }
       Rectangle hsbBounds = new Rectangle(bounds.x - insets.left, 0, 0, 0);
       if (hsb != null) {
+        if (!SystemInfo.isMac && view instanceof JTable) hsb.setOpaque(true);
         hsbOpaque = hsb.isOpaque();
         if (hsbNeeded) {
           adjustForHSB(bounds, insets, hsbBounds, hsbOpaque, hsbOnTop);
index a3331c4c6dafe470ad4c5d035ff8789a84a29a2b..f8463dff43326380dea8d9ef7797722a8d806607 100644 (file)
@@ -16,7 +16,6 @@
 package com.intellij.ide.plugins;
 
 import com.intellij.openapi.util.SystemInfo;
-import com.intellij.openapi.util.registry.Registry;
 import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.ui.TableUtil;
 import com.intellij.ui.table.JBTable;
@@ -48,8 +47,7 @@ public class PluginTable extends JBTable {
       final ColumnInfo columnInfo = model.getColumnInfos()[i];
       column.setCellEditor(columnInfo.getEditor(null));
       if (columnInfo.getColumnClass() == Boolean.class) {
-        int gap = !SystemInfo.isMac && Registry.is("ide.scroll.new.layout") ? 14 : 4;
-        TableUtil.setupCheckboxColumn(column, gap);
+        TableUtil.setupCheckboxColumn(column);
       }
     }
 
@@ -83,6 +81,7 @@ public class PluginTable extends JBTable {
       }
     });
     if (model.getColumnCount() > 1) {
+      setColumnWidth(1, new JCheckBox().getPreferredSize().width + 4);
       if (SystemInfo.isMac && model.getColumnCount() == 3) {
         setColumnWidth(2, 8);
       }
index f45045eb73ee1ca5aabd8c4646ca325ba06c95e6..71045b1e607ad724b585371349dc1d06dff8f7d0 100644 (file)
@@ -21,7 +21,6 @@ import com.intellij.openapi.application.ApplicationNamesInfo;
 import com.intellij.openapi.extensions.PluginId;
 import com.intellij.openapi.util.IconLoader;
 import com.intellij.openapi.util.SystemInfo;
-import com.intellij.openapi.util.registry.Registry;
 import com.intellij.openapi.util.text.StringUtil;
 import com.intellij.openapi.vcs.FileStatus;
 import com.intellij.psi.codeStyle.NameUtil;
@@ -34,7 +33,6 @@ import com.intellij.ui.speedSearch.SpeedSearchUtil;
 import com.intellij.util.Function;
 import com.intellij.util.text.DateFormatUtil;
 import com.intellij.util.text.Matcher;
-import com.intellij.util.ui.JBUI;
 import com.intellij.util.ui.UIUtil;
 
 import javax.swing.*;
@@ -91,8 +89,7 @@ public class PluginsTableRenderer extends DefaultTableCellRenderer {
       myInfoPanel.remove(myBottomPanel);
     }
 
-    int right = !SystemInfo.isMac && Registry.is("ide.scroll.new.layout") ? JBUI.scale(10) : 3;
-    myPanel.setBorder(UIUtil.isRetina() ? new EmptyBorder(4, 3, 4, right) : new EmptyBorder(2, 3, 2, right));
+    myPanel.setBorder(UIUtil.isRetina() ? new EmptyBorder(4, 3, 4, 3) : new EmptyBorder(2, 3, 2, 3));
   }
 
   private void createUIComponents() {