do not store installed plugin status in order to avoid download problems when plugin is no more acceptable by IDEA

This commit is contained in:
anna
2012-03-29 21:22:56 +02:00
parent 411c7ab318
commit 6385e3e227
5 changed files with 12 additions and 7 deletions
@@ -245,8 +245,8 @@ public class ActionInstallPlugin extends AnAction implements DumbAware {
for (PluginNode pluginNode : list) {
final String idString = pluginNode.getPluginId().getIdString();
final PluginManagerUISettings pluginManagerUISettings = PluginManagerUISettings.getInstance();
if (!pluginManagerUISettings.myInstalledPlugins.contains(idString)) {
pluginManagerUISettings.myInstalledPlugins.add(idString);
if (!pluginManagerUISettings.getInstalledPlugins().contains(idString)) {
pluginManagerUISettings.getInstalledPlugins().add(idString);
}
pluginManagerUISettings.myOutdatedPlugins.remove(idString);
}
@@ -106,7 +106,7 @@ public class ActionUninstallPlugin extends AnAction implements DumbAware {
try {
PluginInstaller.prepareToUninstall(pluginId);
final JDOMExternalizableStringList installedPlugins = PluginManagerUISettings.getInstance().myInstalledPlugins;
final JDOMExternalizableStringList installedPlugins = PluginManagerUISettings.getInstance().getInstalledPlugins();
final String pluginIdString = pluginId.getIdString();
while (installedPlugins.contains(pluginIdString)) {
installedPlugins.remove(pluginIdString);
@@ -255,7 +255,7 @@ public class InstalledPluginsTableModel extends PluginTableModel {
int state = StringUtil.compareVersionNumbers(descr.getVersion(), existing.getVersion());
final PluginId pluginId = existing.getPluginId();
final String idString = pluginId.getIdString();
final JDOMExternalizableStringList installedPlugins = PluginManagerUISettings.getInstance().myInstalledPlugins;
final JDOMExternalizableStringList installedPlugins = PluginManagerUISettings.getInstance().getInstalledPlugins();
if (!installedPlugins.contains(idString) && !((IdeaPluginDescriptorImpl)existing).isDeleted()){
installedPlugins.add(idString);
}
@@ -537,7 +537,7 @@ public class InstalledPluginsTableModel extends PluginTableModel {
}
myBundledLabel.setText("From " + presentableUrl);
} else {
if (PluginManagerUISettings.getInstance().myInstalledPlugins.contains(idString)) {
if (PluginManagerUISettings.getInstance().getInstalledPlugins().contains(idString)) {
myBundledLabel.setText("From repository");
} else {
myBundledLabel.setText("Custom");
@@ -120,7 +120,7 @@ class PluginManagerColumnInfo extends ColumnInfo<IdeaPluginDescriptor, String> {
if (PluginManager.isPluginInstalled(pluginId)) {
return false;
}
return PluginManagerUISettings.getInstance().myInstalledPlugins.contains(pluginId.getIdString());
return PluginManagerUISettings.getInstance().getInstalledPlugins().contains(pluginId.getIdString());
}
public Comparator<IdeaPluginDescriptor> getComparator() {
@@ -50,13 +50,18 @@ public class PluginManagerUISettings implements PersistentStateComponent<Element
public boolean AVAILABLE_SORT_BY_STATUS = false;
public boolean INSTALLED_SORT_BY_STATUS = false;
public JDOMExternalizableStringList myOutdatedPlugins = new JDOMExternalizableStringList();
public JDOMExternalizableStringList myInstalledPlugins = new JDOMExternalizableStringList();
private JDOMExternalizableStringList myInstalledPlugins = new JDOMExternalizableStringList();
@NonNls private static final String AVAILABLE_PROPORTIONS = "available-proportions";
private final SplitterProportionsData mySplitterProportionsData = new SplitterProportionsDataImpl();
private final SplitterProportionsData myAvailableSplitterProportionsData = new SplitterProportionsDataImpl();
public JDOMExternalizableStringList getInstalledPlugins() {
return myInstalledPlugins;
}
public static PluginManagerUISettings getInstance() {
return ServiceManager.getService(PluginManagerUISettings.class);
}