diff --git a/README.md b/README.md index 5371e5262..d5f2457d7 100644 --- a/README.md +++ b/README.md @@ -1594,6 +1594,11 @@ android { It is discussed in [this issue](https://github.com/takahirom/roborazzi/issues/272). Additionally, it might be worth trying to run your tests with VisualVM to monitor memory usage and identify potential leaks. +### Q: [IDEA Plugin] Roborazzi Gradle task is not displayed in Tool Window. + +**A:** It is discussed in [this issue](https://github.com/takahirom/roborazzi/issues/493). +To enable the display of Roborazzi tasks, please enable ***Configure all Gradle tasks during Gradle Sync (this can make Gradle Sync slower)*** in the Settings | Experimental | Gradle. + ### LICENSE diff --git a/docs/topics/faq.md b/docs/topics/faq.md index f9434c080..414ec06f8 100644 --- a/docs/topics/faq.md +++ b/docs/topics/faq.md @@ -126,3 +126,9 @@ android { ``` It is discussed in [this issue](https://github.com/takahirom/roborazzi/issues/272). Additionally, it might be worth trying to run your tests with VisualVM to monitor memory usage and identify potential leaks. + +### Q: [IDEA Plugin] Roborazzi Gradle task is not displayed in Tool Window. + +**A:** It is discussed in [this issue](https://github.com/takahirom/roborazzi/issues/493). +To enable the display of Roborazzi tasks, please enable ***Configure all Gradle tasks during Gradle Sync (this can make Gradle Sync slower)*** in the Settings | Experimental | Gradle. + \ No newline at end of file diff --git a/roborazzi-idea-plugin/src/main/kotlin/com/github/takahirom/roborazzi/idea/settings/AppSettingsComponent.kt b/roborazzi-idea-plugin/src/main/kotlin/com/github/takahirom/roborazzi/idea/settings/AppSettingsComponent.kt index eb7636e0b..ddc1c1e78 100644 --- a/roborazzi-idea-plugin/src/main/kotlin/com/github/takahirom/roborazzi/idea/settings/AppSettingsComponent.kt +++ b/roborazzi-idea-plugin/src/main/kotlin/com/github/takahirom/roborazzi/idea/settings/AppSettingsComponent.kt @@ -3,26 +3,46 @@ package com.github.takahirom.roborazzi.idea.settings import com.intellij.ui.components.JBLabel import com.intellij.ui.components.JBTextField import com.intellij.util.ui.FormBuilder +import java.awt.Dimension +import javax.swing.Box +import javax.swing.BoxLayout import javax.swing.JComponent +import javax.swing.JLabel import javax.swing.JPanel +import javax.swing.JSeparator /** * Supports creating and managing a [JPanel] for the Settings Dialog. */ class AppSettingsComponent { - private val myMainPanel: JPanel - private val imagesPathFromModuleText: JBTextField = JBTextField() - - init { - myMainPanel = FormBuilder.createFormBuilder() - .addLabeledComponent(JBLabel("Enter images directory path from module: "), imagesPathFromModuleText, 1, false) - .addComponentFillVertically(JPanel(), 0) - .getPanel() - } + private val myMainPanel: JPanel + private val imagesPathFromModuleText: JBTextField = JBTextField() + + private val descriptionText = """ + To enable the display of Roborazzi tasks, please enable
+ Configure all Gradle tasks during Gradle Sync (this can make Gradle Sync slower) in the Settings | Experimental | Gradle. +""".trimIndent() + init { + myMainPanel = FormBuilder.createFormBuilder() + .addLabeledComponent( + JBLabel("Enter images directory path from module: "), + imagesPathFromModuleText, + 1, + false + ) + // adjust margin between components + .addVerticalGap(8) + .addComponent(createNoteSection()) + .addComponent(JBLabel(descriptionText).apply { + verticalAlignment = JBLabel.TOP + preferredSize = Dimension(400, 200) + }) + .addComponentFillVertically(JPanel(), 0) + .panel + } val panel: JPanel get() = myMainPanel - val preferredFocusedComponent: JComponent get() = imagesPathFromModuleText @@ -31,4 +51,20 @@ class AppSettingsComponent { set(newText) { imagesPathFromModuleText.setText(newText) } + + private fun createNoteSection(): JPanel { + val panel = JPanel() + panel.layout = BoxLayout(panel, BoxLayout.X_AXIS) + + val label = JLabel("Note") + val separator = JSeparator().apply { + alignmentY = 0f + } + + panel.add(label) + panel.add(Box.createHorizontalStrut(8)) + panel.add(separator) + + return panel + } } \ No newline at end of file