Skip to content

Commit

Permalink
[ML4SE-137] Refactored system to use EmotionConfig
Browse files Browse the repository at this point in the history
  • Loading branch information
mikrise2 committed Oct 11, 2023
1 parent 82a8f92 commit 2ed00af
Show file tree
Hide file tree
Showing 18 changed files with 83 additions and 342 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ class EmojiAction : AnAction(), TooltipDescriptionProvider {
override fun getActionUpdateThread() = ActionUpdateThread.EDT

override fun update(e: AnActionEvent) {
val emoji = GlobalPluginStorage.currentEmotion
e.presentation.icon = emoji.icon
val emotion = GlobalPluginStorage.currentEmotion
e.presentation.icon = emotion.icon
// To be able to show the description in several lines
e.presentation.text = ""
e.presentation.description = emoji.getRandomAffirmDescription()
e.presentation.description = emotion.randomAffirmDescription
super.update(e)
}
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
package org.jetbrains.research.tasktracker.actions.emoji

import org.jetbrains.research.tasktracker.actions.BaseWrapper
import javax.swing.*
import org.jetbrains.research.tasktracker.config.emoji.Emotion
import javax.swing.Icon

class EmojiDialogWrapper(emotion: EmotionType) : BaseWrapper() {
class EmojiDialogWrapper(emotion: Emotion) : BaseWrapper() {
override val icon: Icon? = emotion.modalWindowIcon
override val text: String = emotion.getRandomAdviceDescription()
override val text: String = emotion.randomAdviceDescription

init {
isResizable = false
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import org.jetbrains.research.tasktracker.config.content.FinalPageContentConfig
import org.jetbrains.research.tasktracker.config.content.MainPageContentConfig
import org.jetbrains.research.tasktracker.config.content.ServerErrorPageConfig
import org.jetbrains.research.tasktracker.config.content.TaskContentConfig
import org.jetbrains.research.tasktracker.config.emoji.EmojiConfig
import org.jetbrains.research.tasktracker.config.emoji.EmotionConfig
import org.jetbrains.research.tasktracker.config.ide.inspection.InspectionConfig
import org.jetbrains.research.tasktracker.config.ide.settings.SettingsConfig
import org.jetbrains.research.tasktracker.config.scenario.ScenarioConfig
Expand All @@ -31,7 +31,7 @@ object DefaultConfigsFactory {
FinalPageContentConfig.CONFIG_FILE_PREFIX,
ServerErrorPageConfig.CONFIG_FILE_PREFIX,
SurveyConfig.CONFIG_FILE_PREFIX,
EmojiConfig.CONFIG_FILE_PREFIX
EmotionConfig.CONFIG_FILE_PREFIX
)

fun createDefaultConfigs() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import org.jetbrains.research.tasktracker.config.content.FinalPageContentConfig
import org.jetbrains.research.tasktracker.config.content.MainPageContentConfig
import org.jetbrains.research.tasktracker.config.content.ServerErrorPageConfig
import org.jetbrains.research.tasktracker.config.content.TaskContentConfig
import org.jetbrains.research.tasktracker.config.emoji.EmojiConfig
import org.jetbrains.research.tasktracker.config.emoji.EmotionConfig
import org.jetbrains.research.tasktracker.config.ide.MainIdeConfig
import org.jetbrains.research.tasktracker.config.scenario.ScenarioConfig
import org.jetbrains.research.tasktracker.config.survey.SurveyConfig
Expand All @@ -31,7 +31,7 @@ data class MainTaskTrackerConfig(
var mainPageConfig: MainPageContentConfig? = null,
var finalPageConfig: FinalPageContentConfig? = null,
var serverErrorPageConfig: ServerErrorPageConfig? = null,
var emojiConfig: EmojiConfig? = null,
var emotionConfig: EmotionConfig? = null,

var scenarioConfig: ScenarioConfig? = null,
var surveyConfig: SurveyConfig? = null,
Expand All @@ -46,7 +46,7 @@ data class MainTaskTrackerConfig(
mainPageConfig,
finalPageConfig,
serverErrorPageConfig,
emojiConfig
emotionConfig
)

companion object {
Expand All @@ -60,6 +60,7 @@ data class MainTaskTrackerConfig(
private fun File.isConfigFile() = this.extension == "yaml"

// TODO: add a builder for server-based properties
@Suppress("LongMethod")
fun buildConfig(pluginProperties: PluginProperties, configRoot: File): MainTaskTrackerConfig {
val mainConfig = MainTaskTrackerConfig(pluginProperties)

Expand Down Expand Up @@ -122,9 +123,9 @@ data class MainTaskTrackerConfig(
)
}

fileName.startsWith(EmojiConfig.CONFIG_FILE_PREFIX) -> {
mainConfig.emojiConfig = buildBaseConfig(
mainConfig.emojiConfig, configFile, EmojiConfig::buildConfig, logger
fileName.startsWith(EmotionConfig.CONFIG_FILE_PREFIX) -> {
mainConfig.emotionConfig = buildBaseConfig(
mainConfig.emotionConfig, configFile, EmotionConfig::buildConfig, logger
)
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
package org.jetbrains.research.tasktracker.config.emoji

// TODO make 2 config types?
object DefaultEmotion : Emotion(
-1,
"DEFAULT",
listOf("New beginnings bring the promise of unexplored opportunities and the chance to create a brighter future."),
listOf(
buildString {
append("<p>Here, you’ll find advice on handling your current emotions.</p>")
append("<p>Since you just started, we haven’t tracked your emotions yet.</p>")
append("<p>Please check back later!</p>")
}
)
) {
override val iconName: String
get() = "sun_with_face.png"
override val modalWindowIconName: String
get() = "modal_sun_with_face.png"
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,24 +6,24 @@ import kotlinx.serialization.Transient
import javax.swing.Icon

@Serializable
data class Emoji(
open class Emotion(
val modelPosition: Int,
val name: String,
private val affirmDescriptions: List<String>,
private val adviceDescriptions: List<String> = emptyList()
) {
private val iconName: String? = null
private val modalWindowIconName: String? = null
protected open val iconName: String? = null
protected open val modalWindowIconName: String? = null

@Transient
val icon: Icon? = iconName?.let { IconLoader.getIcon(it, Emoji::class.java) }
val icon: Icon? = iconName?.let { IconLoader.getIcon(it, Emotion::class.java) }

@Transient
val modalWindowIcon: Icon? = modalWindowIconName?.let { IconLoader.getIcon(it, Emoji::class.java) }
val modalWindowIcon: Icon? = modalWindowIconName?.let { IconLoader.getIcon(it, Emotion::class.java) }

val randomAffirmDescription
get() = affirmDescriptions.random()

val randomAdviceDescription
get() = adviceDescriptions.random()
}
}
Loading

0 comments on commit 2ed00af

Please sign in to comment.