mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
moved getSettingsPanel and getSettings from DirectoryProjectGenerator to PythonProjectGenerator. We don't push other projects to change new project dialog.
This commit is contained in:
@@ -16,7 +16,7 @@ import org.jetbrains.annotations.Nullable;
|
||||
import javax.swing.*;
|
||||
import java.io.File;
|
||||
|
||||
public class PythonBaseProjectGenerator implements DirectoryProjectGenerator {
|
||||
public class PythonBaseProjectGenerator extends PythonProjectGenerator implements DirectoryProjectGenerator {
|
||||
@NotNull
|
||||
@Nls
|
||||
@Override
|
||||
@@ -37,7 +37,7 @@ public class PythonBaseProjectGenerator implements DirectoryProjectGenerator {
|
||||
}
|
||||
|
||||
@Override
|
||||
public Object getProjectSettings() throws ProcessCanceledException {
|
||||
public Object getProjectSettings() {
|
||||
return new PyNewProjectSettings();
|
||||
}
|
||||
|
||||
|
||||
@@ -54,7 +54,6 @@ import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.beans.PropertyChangeEvent;
|
||||
import java.beans.PropertyChangeListener;
|
||||
import java.io.File;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -180,18 +179,6 @@ public class PythonNewDirectoryProjectDialog extends NewDirectoryProjectDialog {
|
||||
}
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public JComponent getSettingsPanel(File baseDir) throws ProcessCanceledException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Object getProjectSettings() throws ProcessCanceledException {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Nullable
|
||||
@Override
|
||||
public Icon getLogo() {
|
||||
|
||||
+8
-1
@@ -15,11 +15,13 @@
|
||||
*/
|
||||
package com.jetbrains.python.newProject.actions;
|
||||
|
||||
import com.intellij.ide.util.projectWizard.WebProjectTemplate;
|
||||
import com.intellij.openapi.project.DumbAware;
|
||||
import com.intellij.openapi.ui.VerticalFlowLayout;
|
||||
import com.intellij.platform.DirectoryProjectGenerator;
|
||||
import com.intellij.ui.HideableDecorator;
|
||||
import com.intellij.util.NullableConsumer;
|
||||
import com.jetbrains.python.newProject.PythonProjectGenerator;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
@@ -35,7 +37,12 @@ public class ProjectSpecificSettingsStep extends AbstractProjectSettingsStep imp
|
||||
@Override
|
||||
@Nullable
|
||||
protected JPanel createAdvancedSettings() {
|
||||
final JComponent advancedSettings = myProjectGenerator.getSettingsPanel(myProjectDirectory);
|
||||
JComponent advancedSettings = null;
|
||||
if (myProjectGenerator instanceof PythonProjectGenerator)
|
||||
advancedSettings = ((PythonProjectGenerator)myProjectGenerator).getSettingsPanel(myProjectDirectory);
|
||||
else if (myProjectGenerator instanceof WebProjectTemplate) {
|
||||
advancedSettings = ((WebProjectTemplate)myProjectGenerator).getPeer().getComponent();
|
||||
}
|
||||
if (advancedSettings != null) {
|
||||
final JPanel jPanel = new JPanel(new VerticalFlowLayout());
|
||||
final HideableDecorator deco = new HideableDecorator(jPanel, "Mor&e Settings", false);
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
package com.jetbrains.python.newProject.actions;
|
||||
|
||||
import com.intellij.ide.GeneralSettings;
|
||||
import com.intellij.ide.util.projectWizard.WebProjectTemplate;
|
||||
import com.intellij.internal.statistic.UsageTrigger;
|
||||
import com.intellij.internal.statistic.beans.ConvertUsagesUtil;
|
||||
import com.intellij.openapi.actionSystem.DefaultActionGroup;
|
||||
@@ -44,6 +45,7 @@ import com.jetbrains.python.configuration.PyConfigurableInterpreterList;
|
||||
import com.jetbrains.python.newProject.PyFrameworkProjectGenerator;
|
||||
import com.jetbrains.python.newProject.PyNewProjectSettings;
|
||||
import com.jetbrains.python.newProject.PythonBaseProjectGenerator;
|
||||
import com.jetbrains.python.newProject.PythonProjectGenerator;
|
||||
import com.jetbrains.python.sdk.PyDetectedSdk;
|
||||
import com.jetbrains.python.sdk.PySdkService;
|
||||
import com.jetbrains.python.sdk.PythonSdkAdditionalData;
|
||||
@@ -140,7 +142,12 @@ public class PyCharmNewProjectStep extends DefaultActionGroup implements DumbAwa
|
||||
@Override
|
||||
public void projectOpened(Project project, Module module) {
|
||||
if (generator != null) {
|
||||
final Object projectSettings = generator.getProjectSettings();
|
||||
Object projectSettings = null;
|
||||
if (generator instanceof PythonProjectGenerator)
|
||||
projectSettings = ((PythonProjectGenerator)generator).getProjectSettings();
|
||||
else if (generator instanceof WebProjectTemplate) {
|
||||
projectSettings = ((WebProjectTemplate)generator).getPeer().getSettings();
|
||||
}
|
||||
if (projectSettings instanceof PyNewProjectSettings) {
|
||||
((PyNewProjectSettings)projectSettings).setSdk(settings.getSdk());
|
||||
((PyNewProjectSettings)projectSettings).setInstallFramework(settings.installFramework());
|
||||
|
||||
Reference in New Issue
Block a user