diff --git a/python/ide/src/com/jetbrains/python/PythonSdkChooserCombo.java b/python/ide/src/com/jetbrains/python/PythonSdkChooserCombo.java index 032bda6b3741..1affe3370eeb 100644 --- a/python/ide/src/com/jetbrains/python/PythonSdkChooserCombo.java +++ b/python/ide/src/com/jetbrains/python/PythonSdkChooserCombo.java @@ -27,7 +27,6 @@ import com.intellij.ui.ComboboxWithBrowseButton; import com.intellij.util.containers.ContainerUtil; import com.jetbrains.python.configuration.PyConfigurableInterpreterList; import com.jetbrains.python.sdk.PySdkListCellRenderer; -import com.jetbrains.python.sdk.PySdkService; import com.jetbrains.python.sdk.PythonSdkDetailsStep; import javax.swing.*; @@ -77,9 +76,6 @@ public class PythonSdkChooserCombo extends ComboboxWithBrowseButton { final Sdk oldSelectedSdk = (Sdk)comboBox.getSelectedItem(); PythonSdkDetailsStep.show(project, sdks, null, this, getButton().getLocationOnScreen(), sdk -> { if (sdk == null) return; - final PySdkService sdkService = PySdkService.getInstance(); - sdkService.restoreSdk(sdk); - final ProjectSdksModel projectSdksModel = interpreterList.getModel(); if (projectSdksModel.findSdk(sdk) == null) { projectSdksModel.addSdk(sdk); diff --git a/python/ide/src/com/jetbrains/python/newProject/actions/PythonGenerateProjectCallback.java b/python/ide/src/com/jetbrains/python/newProject/actions/PythonGenerateProjectCallback.java index d2030822d229..accace38f836 100644 --- a/python/ide/src/com/jetbrains/python/newProject/actions/PythonGenerateProjectCallback.java +++ b/python/ide/src/com/jetbrains/python/newProject/actions/PythonGenerateProjectCallback.java @@ -116,7 +116,6 @@ public class PythonGenerateProjectCallback implements NullableConsumer result) { - final PySdkService sdkService = PySdkService.getInstance(); final List sdkHomes = new ArrayList<>(); sdkHomes.addAll(VirtualEnvSdkFlavor.INSTANCE.suggestHomePaths()); for (PythonSdkFlavor flavor : PythonSdkFlavor.getApplicableFlavors()) { @@ -84,16 +84,9 @@ public class PyConfigurableInterpreterList { sdkHomes.addAll(flavor.suggestHomePaths()); } Collections.sort(sdkHomes); - sdkHomes.addAll(sdkService.getAddedSdks()); for (String sdkHome : SdkConfigurationUtil.filterExistingPaths(PythonSdkType.getInstance(), sdkHomes, getModel().getSdks())) { result.add(new PyDetectedSdk(sdkHome)); } - Iterables.removeIf(result, new Predicate() { - @Override - public boolean apply(@Nullable Sdk input) { - return input != null && sdkService.isRemoved(input); - } - }); } public List getAllPythonSdks() { diff --git a/python/python-community-configure/src/com/jetbrains/python/configuration/PythonSdkDetailsDialog.java b/python/python-community-configure/src/com/jetbrains/python/configuration/PythonSdkDetailsDialog.java index 521e3e982f6e..9fbec16b0f34 100644 --- a/python/python-community-configure/src/com/jetbrains/python/configuration/PythonSdkDetailsDialog.java +++ b/python/python-community-configure/src/com/jetbrains/python/configuration/PythonSdkDetailsDialog.java @@ -154,6 +154,7 @@ public class PythonSdkDetailsDialog extends DialogWrapper { updateOkButton(); } }) + .setRemoveActionUpdater(e -> !(getSelectedSdk() instanceof PyDetectedSdk)) .addExtraAction(new ToggleVirtualEnvFilterButton()) .addExtraAction(new ShowPathButton()); @@ -279,9 +280,6 @@ public class PythonSdkDetailsDialog extends DialogWrapper { private void addCreatedSdk(@Nullable final Sdk sdk, boolean newVirtualEnv) { if (sdk != null) { - final PySdkService sdkService = PySdkService.getInstance(); - sdkService.restoreSdk(sdk); - boolean isVirtualEnv = PythonSdkType.isVirtualEnv(sdk); if (isVirtualEnv && !newVirtualEnv) { AddVEnvOptionsDialog dialog = new AddVEnvOptionsDialog(myMainPanel); @@ -390,8 +388,6 @@ public class PythonSdkDetailsDialog extends DialogWrapper { final Sdk currentSdk = getSelectedSdk(); if (currentSdk != null) { final Sdk sdk = myProjectSdksModel.findSdk(currentSdk); - final PySdkService sdkService = PySdkService.getInstance(); - sdkService.removeSdk(currentSdk); DumbService.allowStartingDumbModeInside(DumbModePermission.MAY_START_MODAL, () -> SdkConfigurationUtil.removeSdk(sdk)); myProjectSdksModel.removeSdk(sdk); diff --git a/python/src/META-INF/python-core-common.xml b/python/src/META-INF/python-core-common.xml index 28636cc51b6d..ddbefb393665 100644 --- a/python/src/META-INF/python-core-common.xml +++ b/python/src/META-INF/python-core-common.xml @@ -428,8 +428,6 @@ serviceImplementation="com.jetbrains.python.codeInsight.PyCodeInsightSettings"/> - { - - public static PySdkService getInstance() { - return ServiceManager.getService(PySdkService.class); - } - - public Set REMOVED_SDKS = new HashSet<>(); - public Set ADDED_SDKS = new HashSet<>(); - - public void removeSdk(@NotNull final Sdk sdk) { - final String homePath = sdk.getHomePath(); - if (ADDED_SDKS.contains(homePath)) - ADDED_SDKS.remove(homePath); - REMOVED_SDKS.add(homePath); - } - - public void addSdk(@NotNull final Sdk sdk) { - ADDED_SDKS.add(sdk.getHomePath()); - } - - public Set getAddedSdks() { - return ADDED_SDKS; - } - - public void restoreSdk(@NotNull final Sdk sdk) { - final String homePath = sdk.getHomePath(); - if (REMOVED_SDKS.contains(homePath)) { - REMOVED_SDKS.remove(homePath); - } - } - - public boolean isRemoved(@NotNull final Sdk sdk) { - final String homePath = sdk.getHomePath(); - return REMOVED_SDKS.contains(homePath); - } - - public void solidifySdk(@NotNull final Sdk sdk) { - final String homePath = sdk.getHomePath(); - if (ADDED_SDKS.contains(homePath)) { - ADDED_SDKS.remove(homePath); - } - } - - @Override - public PySdkService getState() { - return this; - } - - @Override - public void loadState(PySdkService state) { - XmlSerializerUtil.copyBean(state, this); - } -} diff --git a/python/src/com/jetbrains/python/sdk/PythonSdkDetailsStep.java b/python/src/com/jetbrains/python/sdk/PythonSdkDetailsStep.java index abd080c2714b..755858b51c8d 100644 --- a/python/src/com/jetbrains/python/sdk/PythonSdkDetailsStep.java +++ b/python/src/com/jetbrains/python/sdk/PythonSdkDetailsStep.java @@ -45,7 +45,6 @@ import java.awt.*; import java.util.ArrayList; import java.util.Collection; import java.util.List; -import java.util.Set; public class PythonSdkDetailsStep extends BaseListPopupStep { @Nullable private DialogWrapper myMore; @@ -174,10 +173,6 @@ public class PythonSdkDetailsStep extends BaseListPopupStep { allSdks.add(new PyDetectedSdk(string)); } } - final Set sdks = PySdkService.getInstance().getAddedSdks(); - for (String string : SdkConfigurationUtil.filterExistingPaths(PythonSdkType.getInstance(), sdks, myExistingSdks)) { - allSdks.add(new PyDetectedSdk(string)); - } if (myProject != null) { dialog = new CreateVirtualEnvDialog(myProject, allSdks); }