diff options
Diffstat (limited to 'python/edu/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java')
-rw-r--r-- | python/edu/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java | 45 |
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(); } } |