[IFT] Take default learn window anchor from LangSupport

Fix learn window anchor overloading for all Swift lessons

IJ-CR-13196

GitOrigin-RevId: 2f8113b133babb9da8407f09b65aff4c8398e84c
This commit is contained in:
Konstantin Hudyakov
2021-08-19 09:59:03 +00:00
committed by intellij-monorepo-bot
parent 5531028914
commit 064b127d6b
2 changed files with 6 additions and 6 deletions
@@ -316,13 +316,14 @@ internal object OpenLessonActivities {
invokeLater {
openReadme(project)
hideOtherViews(project)
showLearnPanel(project)
val anchor = LangManager.getInstance().getLangSupport()?.getToolWindowAnchor() ?: ToolWindowAnchor.LEFT
showLearnPanel(project, anchor)
CourseManager.instance.unfoldModuleOnInit = null
// Try to fix PyCharm double startup indexing :(
val openWhenSmart = {
showLearnPanel(project)
showLearnPanel(project, anchor)
DumbService.getInstance(project).runWhenSmart {
showLearnPanel(project)
showLearnPanel(project, anchor)
}
}
Alarm().addRequest(openWhenSmart, 500)
@@ -331,7 +332,7 @@ internal object OpenLessonActivities {
}
}
private fun showLearnPanel(project: Project, preferredAnchor: ToolWindowAnchor = ToolWindowAnchor.LEFT): Boolean {
private fun showLearnPanel(project: Project, preferredAnchor: ToolWindowAnchor): Boolean {
val learn = learningToolWindow(project) ?: return false
if (learn.anchor != preferredAnchor && learn.type == ToolWindowType.DOCKED) {
learn.setAnchor(preferredAnchor, null)
@@ -2,7 +2,6 @@
package training.learn.course
import com.intellij.openapi.project.Project
import com.intellij.openapi.wm.ToolWindowAnchor
import org.jetbrains.annotations.Nls
import training.lang.LangSupport
@@ -16,5 +15,5 @@ class LearningModule(@Nls name: String,
override val sanitizedName: String
get() = sampleFileName ?: error("Module $name for ${primaryLanguage?.primaryLanguage} does not define its default name for samples.")
override fun preferredLearnWindowAnchor(project: Project) = ToolWindowAnchor.LEFT
override fun preferredLearnWindowAnchor(project: Project) = primaryLanguage!!.getToolWindowAnchor()
}