mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
plugins: update existing descriptor if it exists (IDEA-77448 )
This commit is contained in:
@@ -104,7 +104,7 @@ public class ActionInstallPlugin extends AnAction implements DumbAware {
|
||||
}
|
||||
final InstalledPluginsTableModel installedPluginsModel = (InstalledPluginsTableModel)installed.getPluginsModel();
|
||||
for (PluginNode node : list) {
|
||||
installedPluginsModel.appendDescriptor(node);
|
||||
installedPluginsModel.appendOrUpdateDescriptor(node);
|
||||
}
|
||||
installed.setRequireShutdown(true);
|
||||
}
|
||||
|
||||
+1
-1
@@ -91,7 +91,7 @@ public class InstalledPluginsManagerMain extends PluginManagerMain {
|
||||
return;
|
||||
}
|
||||
PluginDownloader.install(file, file.getName());
|
||||
((InstalledPluginsTableModel)pluginsModel).appendDescriptor(pluginDescriptor);
|
||||
((InstalledPluginsTableModel)pluginsModel).appendOrUpdateDescriptor(pluginDescriptor);
|
||||
select(pluginDescriptor);
|
||||
setRequireShutdown(true);
|
||||
}
|
||||
|
||||
+11
-5
@@ -84,11 +84,17 @@ public class InstalledPluginsTableModel extends PluginTableModel {
|
||||
setSortKey(new RowSorter.SortKey(getNameColumn(), SortOrder.ASCENDING));
|
||||
}
|
||||
|
||||
public void appendDescriptor(IdeaPluginDescriptor descriptor) {
|
||||
myInstalled.add(descriptor);
|
||||
view.add(descriptor);
|
||||
setEnabled(descriptor, true);
|
||||
fireTableDataChanged();
|
||||
public void appendOrUpdateDescriptor(IdeaPluginDescriptor descriptor) {
|
||||
final PluginId descrId = descriptor.getPluginId();
|
||||
final IdeaPluginDescriptor existing = PluginManager.getPlugin(descrId);
|
||||
if (existing != null) {
|
||||
updateExistingPluginInfo(descriptor, existing);
|
||||
} else {
|
||||
myInstalled.add(descriptor);
|
||||
view.add(descriptor);
|
||||
setEnabled(descriptor, true);
|
||||
fireTableDataChanged();
|
||||
}
|
||||
}
|
||||
|
||||
public static int getCheckboxColumn() {
|
||||
|
||||
Reference in New Issue
Block a user