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 | 91 |
1 files changed, 27 insertions, 64 deletions
diff --git a/python/edu/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java b/python/edu/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java index 451c5193645e..ecf3d79a6424 100644 --- a/python/edu/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java +++ b/python/edu/src/com/jetbrains/python/edu/PyCharmEduInitialConfigurator.java @@ -25,10 +25,8 @@ import com.intellij.ide.RecentProjectsManagerBase; import com.intellij.ide.SelectInTarget; import com.intellij.ide.ui.UISettings; import com.intellij.ide.util.PropertiesComponent; -import com.intellij.ide.util.TipDialog; import com.intellij.notification.EventLog; import com.intellij.openapi.application.ApplicationManager; -import com.intellij.openapi.application.ModalityState; import com.intellij.openapi.editor.ex.EditorSettingsExternalizable; import com.intellij.openapi.extensions.Extensions; import com.intellij.openapi.extensions.ExtensionsArea; @@ -41,8 +39,6 @@ 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.util.Disposer; -import com.intellij.openapi.util.Ref; import com.intellij.openapi.vfs.VfsUtil; import com.intellij.openapi.wm.ToolWindowEP; import com.intellij.openapi.wm.ToolWindowId; @@ -51,7 +47,6 @@ import com.intellij.platform.DirectoryProjectConfigurator; import com.intellij.platform.PlatformProjectViewOpener; import com.intellij.psi.codeStyle.CodeStyleSettings; import com.intellij.psi.codeStyle.CodeStyleSettingsManager; -import com.intellij.util.Alarm; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.messages.MessageBus; import com.jetbrains.python.PythonLanguage; @@ -91,13 +86,15 @@ public class PyCharmEduInitialConfigurator { RecentProjectsManagerBase recentProjectsManager) { if (!propertiesComponent.getBoolean(CONFIGURED, false)) { propertiesComponent.setValue(CONFIGURED, "true"); - recentProjectsManager.loadState(new RecentProjectsManagerBase.State()); propertiesComponent.setValue("toolwindow.stripes.buttons.info.shown", "true"); UISettings.getInstance().HIDE_TOOL_STRIPES = false; uiSettings.SHOW_MEMORY_INDICATOR = false; uiSettings.SHOW_DIRECTORY_FOR_NON_UNIQUE_FILENAMES = true; + uiSettings.SHOW_MAIN_TOOLBAR = false; codeInsightSettings.REFORMAT_ON_PASTE = CodeInsightSettings.NO_REFORMAT; + GeneralSettings.getInstance().setShowTipsOnStartup(false); + EditorSettingsExternalizable.getInstance().setVirtualSpace(false); final CodeStyleSettings settings = CodeStyleSettingsManager.getInstance().getCurrentSettings(); settings.ALIGN_MULTILINE_PARAMETERS_IN_CALLS = true; @@ -116,23 +113,31 @@ public class PyCharmEduInitialConfigurator { }); } }); - PyCodeInsightSettings.getInstance().SHOW_IMPORT_POPUP = false; + PyCodeInsightSettings.getInstance().SHOW_IMPORT_POPUP = true; } - bus.connect().subscribe(AppLifecycleListener.TOPIC, new AppLifecycleListener.Adapter() { - @Override - public void appFrameCreated(String[] commandLineArgs, @NotNull Ref<Boolean> willOpenProject) { - if (!propertiesComponent.isValueSet(DISPLAYED_PROPERTY)) { - GeneralSettings.getInstance().setShowTipsOnStartup(false); - showInitialConfigurationDialog(); - propertiesComponent.setValue(DISPLAYED_PROPERTY, "true"); + + if (!propertiesComponent.isValueSet(DISPLAYED_PROPERTY)) { + + bus.connect().subscribe(AppLifecycleListener.TOPIC, new AppLifecycleListener.Adapter() { + @Override + public void welcomeScreenDisplayed() { + + ApplicationManager.getApplication().invokeLater(new Runnable() { + @Override + public void run() { + if (!propertiesComponent.isValueSet(DISPLAYED_PROPERTY)) { + GeneralSettings.getInstance().setShowTipsOnStartup(false); + propertiesComponent.setValue(DISPLAYED_PROPERTY, "true"); + showInitialConfigurationDialog(); + + patchKeymap(); + } + } + }); } - } + }); + } - @Override - public void appStarting(Project projectFromCommandLine) { - patchKeymap(); - } - }); bus.connect().subscribe(ProjectManager.TOPIC, new ProjectManagerAdapter() { @Override public void projectOpened(final Project project) { @@ -142,58 +147,16 @@ 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) { - // ToolWindowManager.getInstance(project).invokeLater(this); - // return; - // } - // if (!propertiesComponent.isValueSet(INIT_DB_DIALOG_DISPLAYED)) { - // ToolWindow toolWindow = DatabaseView.getDatabaseToolWindow(project); - // if (toolWindow.getType() != ToolWindowType.SLIDING) { - // toolWindow.activate(null); - // } - // propertiesComponent.setValue(INIT_DB_DIALOG_DISPLAYED, "true"); - // onFirstProjectOpened(project); - // } - // } - // }); - // } - //}); } }); } - private static void onFirstProjectOpened(@NotNull final Project project) { - // show python console - - - GeneralSettings.getInstance().setShowTipsOnStartup(true); - - // show tips once - final Alarm alarm = new Alarm(project); - alarm.addRequest(new Runnable() { - @Override - public void run() { - Disposer.dispose(alarm); - TipDialog.createForProject(project).show(); - } - }, 2000, ModalityState.NON_MODAL); - } - private static void patchRootAreaExtensions() { ExtensionsArea rootArea = Extensions.getArea(null); for (ToolWindowEP ep : Extensions.getExtensions(ToolWindowEP.EP_NAME)) { - if (ToolWindowId.FAVORITES_VIEW.equals(ep.id) || ToolWindowId.TODO_VIEW.equals(ep.id) || EventLog.LOG_TOOL_WINDOW_ID.equals(ep.id)) { + if (ToolWindowId.FAVORITES_VIEW.equals(ep.id) || ToolWindowId.TODO_VIEW.equals(ep.id) || EventLog.LOG_TOOL_WINDOW_ID.equals(ep.id) + || "Structure".equals(ep.id)) { rootArea.getExtensionPoint(ToolWindowEP.EP_NAME).unregisterExtension(ep); } } |