IDEA-122292 Plugins list: checkbox missing padding/not usable

This commit is contained in:
Konstantin Bulenkov
2014-04-11 16:01:50 +02:00
parent 3a1128a828
commit 82739861af
2 changed files with 34 additions and 2 deletions
@@ -28,6 +28,7 @@ import com.intellij.openapi.updateSettings.impl.UpdateChecker;
import com.intellij.openapi.updateSettings.impl.UpdateSettings;
import com.intellij.openapi.util.Condition;
import com.intellij.openapi.util.JDOMExternalizableStringList;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.openapi.vcs.FileStatus;
import com.intellij.openapi.vfs.VfsUtil;
@@ -76,7 +77,11 @@ public class InstalledPluginsTableModel extends PluginTableModel {
public InstalledPluginsTableModel() {
super.columns = new ColumnInfo[]{new MyPluginManagerColumnInfo(), new EnabledPluginInfo()};
final MyPluginManagerColumnInfo infoColumn = new MyPluginManagerColumnInfo();
final EnabledPluginInfo enabledColumn = new EnabledPluginInfo();
final Spacer spacer = new Spacer();
super.columns = SystemInfo.isMac ? new ColumnInfo[]{infoColumn, enabledColumn, spacer}
:new ColumnInfo[]{infoColumn, enabledColumn};
view = new ArrayList<IdeaPluginDescriptor>(Arrays.asList(PluginManager.getPlugins()));
view.addAll(myInstalled);
reset(view);
@@ -85,7 +90,6 @@ public class InstalledPluginsTableModel extends PluginTableModel {
@NonNls final String s = iterator.next().getPluginId().getIdString();
if ("com.intellij".equals(s)) iterator.remove();
}
setSortKey(new RowSorter.SortKey(getNameColumn(), SortOrder.ASCENDING));
}
@@ -373,6 +377,30 @@ public class InstalledPluginsTableModel extends PluginTableModel {
return true;
}
private class Spacer extends ColumnInfo<IdeaPluginDescriptor, Object> {
public Spacer() {
super("");
}
public Object valueOf(IdeaPluginDescriptor ideaPluginDescriptor) {
return null;
}
public boolean isCellEditable(final IdeaPluginDescriptor ideaPluginDescriptor) {
return false;
}
@Nullable
@Override
public TableCellRenderer getRenderer(IdeaPluginDescriptor descriptor) {
return new DefaultTableCellRenderer();
}
public Class getColumnClass() {
return Spacer.class;
}
}
private class EnabledPluginInfo extends ColumnInfo<IdeaPluginDescriptor, Boolean> {
public EnabledPluginInfo() {
@@ -15,6 +15,7 @@
*/
package com.intellij.ide.plugins;
import com.intellij.openapi.util.SystemInfo;
import com.intellij.openapi.util.text.StringUtil;
import com.intellij.ui.TableUtil;
import com.intellij.ui.table.JBTable;
@@ -85,6 +86,9 @@ 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);
}
}
}