summaryrefslogtreecommitdiff
path: root/python/edu/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java
diff options
context:
space:
mode:
Diffstat (limited to 'python/edu/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java')
-rw-r--r--python/edu/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java45
1 files changed, 38 insertions, 7 deletions
diff --git a/python/edu/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java b/python/edu/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java
index ecf3d79a6424..2954f7c5b706 100644
--- a/python/edu/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java
+++ b/python/edu/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java
@@ -35,14 +35,15 @@ import com.intellij.openapi.fileTypes.FileTypeManager;
import com.intellij.openapi.keymap.Keymap;
import com.intellij.openapi.keymap.ex.KeymapManagerEx;
import com.intellij.openapi.keymap.impl.KeymapImpl;
+import com.intellij.openapi.project.DumbAwareRunnable;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.project.ProjectManager;
import com.intellij.openapi.project.ProjectManagerAdapter;
import com.intellij.openapi.project.ex.ProjectManagerEx;
+import com.intellij.openapi.startup.StartupManager;
+import com.intellij.openapi.util.registry.Registry;
import com.intellij.openapi.vfs.VfsUtil;
-import com.intellij.openapi.wm.ToolWindowEP;
-import com.intellij.openapi.wm.ToolWindowId;
-import com.intellij.openapi.wm.WindowManager;
+import com.intellij.openapi.wm.*;
import com.intellij.platform.DirectoryProjectConfigurator;
import com.intellij.platform.PlatformProjectViewOpener;
import com.intellij.psi.codeStyle.CodeStyleSettings;
@@ -62,9 +63,9 @@ import java.util.Set;
*/
@SuppressWarnings({"UtilityClassWithoutPrivateConstructor", "UtilityClassWithPublicConstructor"})
public class PyCharmEduInitialConfigurator {
- @NonNls private static final String DISPLAYED_PROPERTY = "PyCharm.initialConfigurationShown";
+ @NonNls private static final String DISPLAYED_PROPERTY = "PyCharmEDU.initialConfigurationShown";
- @NonNls private static final String CONFIGURED = "PyCharm.InitialConfiguration";
+ @NonNls private static final String CONFIGURED = "PyCharmEDU.InitialConfiguration";
public static class First {
@@ -93,6 +94,8 @@ public class PyCharmEduInitialConfigurator {
uiSettings.SHOW_MAIN_TOOLBAR = false;
codeInsightSettings.REFORMAT_ON_PASTE = CodeInsightSettings.NO_REFORMAT;
+ Registry.get("ide.new.settings.dialog").setValue(true);
+
GeneralSettings.getInstance().setShowTipsOnStartup(false);
EditorSettingsExternalizable.getInstance().setVirtualSpace(false);
@@ -113,7 +116,7 @@ public class PyCharmEduInitialConfigurator {
});
}
});
- PyCodeInsightSettings.getInstance().SHOW_IMPORT_POPUP = true;
+ PyCodeInsightSettings.getInstance().SHOW_IMPORT_POPUP = false;
}
if (!propertiesComponent.isValueSet(DISPLAYED_PROPERTY)) {
@@ -147,6 +150,29 @@ public class PyCharmEduInitialConfigurator {
}
patchProjectAreaExtensions(project);
+
+ StartupManager.getInstance(project).runWhenProjectIsInitialized(new DumbAwareRunnable() {
+ @Override
+ public void run() {
+ if (project.isDisposed()) return;
+
+ ToolWindowManager.getInstance(project).invokeLater(new Runnable() {
+ int count = 0;
+
+ public void run() {
+ if (project.isDisposed()) return;
+ if (count++ < 3) { // we need to call this after ToolWindowManagerImpl.registerToolWindowsFromBeans
+ ToolWindowManager.getInstance(project).invokeLater(this);
+ return;
+ }
+ ToolWindow toolWindow = ToolWindowManager.getInstance(project).getToolWindow("Project");
+ if (toolWindow.getType() != ToolWindowType.SLIDING) {
+ toolWindow.activate(null);
+ }
+ }
+ });
+ }
+ });
}
});
}
@@ -205,6 +231,11 @@ public class PyCharmEduInitialConfigurator {
private static void showInitialConfigurationDialog() {
final JFrame frame = WindowManager.getInstance().findVisibleFrame();
- new InitialConfigurationDialog(frame, "Python").show();
+ new InitialConfigurationDialog(frame, "Python") {
+ @Override
+ protected boolean canCreateLauncherScript() {
+ return false;
+ }
+ }.show();
}
}