IFT-437 Fix enabling lessons in new UI by registry key

GitOrigin-RevId: ed7ef3a728134c066b31d9851416107e38149219
This commit is contained in:
Konstantin Hudyakov
2023-01-23 20:05:50 +02:00
committed by intellij-monorepo-bot
parent ff878dd67d
commit 9148daa232
3 changed files with 8 additions and 9 deletions

View File

@@ -11,7 +11,6 @@ import com.intellij.openapi.project.Project
import com.intellij.openapi.ui.SimpleToolWindowPanel
import com.intellij.openapi.util.registry.Registry
import com.intellij.openapi.wm.ToolWindow
import com.intellij.ui.ExperimentalUI
import com.intellij.ui.GotItTooltip
import com.intellij.ui.components.JBLabel
import com.intellij.ui.components.JBScrollPane
@@ -24,6 +23,7 @@ import training.learn.LearnBundle
import training.learn.lesson.LessonManager
import training.ui.views.LearnPanel
import training.ui.views.ModulesPanel
import training.util.enableLessonsAndPromoters
import training.util.getActionById
import java.awt.Color
import java.util.concurrent.TimeUnit
@@ -98,7 +98,7 @@ private class ScrollModulesPanel(val modulesPanel: ModulesPanel?) :
private fun adjustModulesPanel(contentPanel: JPanel): JPanel {
if (!ExperimentalUI.isNewUI()) {
if (enableLessonsAndPromoters) {
return contentPanel
}
return JPanel().apply {

View File

@@ -4,7 +4,6 @@ package training.ui.views
import com.intellij.ide.plugins.newui.VerticalLayout
import com.intellij.openapi.project.DumbService
import com.intellij.openapi.project.Project
import com.intellij.ui.ExperimentalUI
import com.intellij.ui.JBColor
import com.intellij.ui.components.JBLabel
import com.intellij.ui.components.panels.NonOpaquePanel
@@ -62,7 +61,7 @@ class LearningItems(private val project: Project) : JPanel() {
it.foreground = JBUI.CurrentTheme.Link.Foreground.ENABLED
}
val clickAction: () -> Unit = l@{
if (ExperimentalUI.isNewUI()) return@l
if (!enableLessonsAndPromoters) return@l
val cantBeOpenedInDumb = DumbService.getInstance(project).isDumb && !lesson.properties.canStartInDumbMode
if (cantBeOpenedInDumb && !LessonManager.instance.lessonShouldBeOpenedCompleted(lesson)) {
val balloon = createBalloon(LearnBundle.message("indexing.message"))
@@ -71,7 +70,7 @@ class LearningItems(private val project: Project) : JPanel() {
}
CourseManager.instance.openLesson(project, lesson, LessonStartingWay.LEARN_TAB)
}
val result = if (ExperimentalUI.isNewUI()) NonOpaquePanel() else LearningItemPanel(clickAction)
val result = if (!enableLessonsAndPromoters) NonOpaquePanel() else LearningItemPanel(clickAction)
result.layout = BoxLayout(result, BoxLayout.X_AXIS)
result.alignmentX = LEFT_ALIGNMENT
result.border = EmptyBorder(JBUI.scale(7), JBUI.scale(7), JBUI.scale(6), JBUI.scale(7))
@@ -88,7 +87,7 @@ class LearningItems(private val project: Project) : JPanel() {
}
result.add(Box.createHorizontalGlue())
if (ExperimentalUI.isNewUI()) {
if (!enableLessonsAndPromoters) {
checkmarkIconLabel.isEnabled = false
name.foreground = JBUI.CurrentTheme.Link.Foreground.DISABLED
}

View File

@@ -7,7 +7,6 @@ import com.intellij.openapi.wm.InteractiveCourseData
import com.intellij.openapi.wm.InteractiveCourseFactory
import com.intellij.openapi.wm.impl.welcomeScreen.learnIde.InteractiveCoursePanel
import com.intellij.ui.ColorUtil
import com.intellij.ui.ExperimentalUI
import com.intellij.ui.HyperlinkAdapter
import com.intellij.util.ui.HTMLEditorKitBuilder
import com.intellij.util.ui.JBUI
@@ -19,6 +18,7 @@ import training.learn.LearnBundle
import training.learn.OpenLessonActivities
import training.learn.course.IftModule
import training.ui.views.NewContentLabel
import training.util.enableLessonsAndPromoters
import training.util.iftPluginIsUsing
import training.util.learningPanelWasOpenedInCurrentVersion
import java.awt.Color
@@ -35,9 +35,9 @@ internal class IFTInteractiveCourse : InteractiveCourseFactory {
override fun getInteractiveCourseComponent(): JComponent = IFTInteractiveCoursePanel()
}
private class IFTInteractiveCoursePanel : InteractiveCoursePanel(IFTInteractiveCourseData(), !ExperimentalUI.isNewUI()) {
private class IFTInteractiveCoursePanel : InteractiveCoursePanel(IFTInteractiveCourseData(), enableLessonsAndPromoters) {
init {
if (ExperimentalUI.isNewUI()) {
if (!enableLessonsAndPromoters) {
add(JTextPane().apply {
contentType = "text/html"
addHyperlinkListener(object : HyperlinkAdapter() {