diff --git a/PlayWall/src/main/resources/style/modern-pad-cue-in.css b/PlayWall/src/main/resources/style/modern-pad-cue-in.css new file mode 100644 index 0000000000000000000000000000000000000000..65ea71f1be01bb6a98b7e566b10c8e995bd4c33d --- /dev/null +++ b/PlayWall/src/main/resources/style/modern-pad-cue-in.css @@ -0,0 +1,4 @@ + +.pad${#prefix}-cue-in { + -fx-background-color: ${#padCueInColor} !important; +} \ No newline at end of file diff --git a/PlayWall/src/main/resources/style/modern-pad.css b/PlayWall/src/main/resources/style/modern-pad.css index abd17dbdf936ab7d80a0c9fd7a022c98935d9669..11df504e7820334526c06d2003bd0ce425313b1c 100644 --- a/PlayWall/src/main/resources/style/modern-pad.css +++ b/PlayWall/src/main/resources/style/modern-pad.css @@ -21,15 +21,10 @@ -fx-background-color: ${#padColor}; } -.pad${#prefix}-cue-in${#class} { - -fx-background-color: ${#padCueInColor}; -} - - .pad${#prefix}-info${#class} { -fx-text-fill: ${#fontColor}; } .pad${#prefix}-title${#class} { -fx-text-fill: ${#fontColor}; -} \ No newline at end of file +} diff --git a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala index df9c1917a1986100f3c224d401e673f550e2ce23..945eddab9b05903d35ceed1e7b0b189be15315fb 100644 --- a/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala +++ b/PlayWall/src/main/scala/de/tobias/playpad/design/ModernCartDesignHandlerImpl.scala @@ -19,25 +19,24 @@ class ModernCartDesignHandlerImpl extends ModernCartDesignHandler { if(design.isEnableCustomBackgroundColor) { - result += generateCss(design, flat, classSuffix, design.getBackgroundColor) - generateCss(design, flat, classSuffix, design.getBackgroundColor, s":${PseudoClasses.WARN_CLASS.getPseudoClassName}") + result += generatePadCss(design, flat, classSuffix, design.getBackgroundColor) + result += generatePadCss(design, flat, classSuffix, design.getBackgroundColor, s":${PseudoClasses.WARN_CLASS.getPseudoClassName}") } if(design.isEnableCustomPlayColor) { - result += generateCss(design, flat, classSuffix, design.getPlayColor, s":${PseudoClasses.PLAY_CLASS.getPseudoClassName}") + result += generatePadCss(design, flat, classSuffix, design.getPlayColor, s":${PseudoClasses.PLAY_CLASS.getPseudoClassName}") + } + + if(design.isEnableCustomCueInColor) + { + result += generateCueInCss(design, flat, classSuffix) } result } - private def generateCss(design: ModernCartDesign, flat: Boolean, padIdentifier: String, color: ModernColor, styleState: String = ""): String = { - val expressionParser: ExpressionParser = new SpelExpressionParser() - val context = new StandardEvaluationContext() - - val resource = ApplicationUtils.getApplication.getClasspathResource("style/modern-pad.css") - val string = Minifier minify resource.getAsString - + private def generatePadCss(design: ModernCartDesign, flat: Boolean, padIdentifier: String, color: ModernColor, styleState: String = ""): String = { val values: Map[String, AnyRef] = Map( "prefix" -> padIdentifier, "class" -> styleState, @@ -49,7 +48,27 @@ class ModernCartDesignHandlerImpl extends ModernCartDesignHandler { "fontColor" -> color.getFontColor ) + generateCss("style/modern-pad.css", values) + } + + private def generateCueInCss(design: ModernCartDesign, flat: Boolean, padIdentifier: String): String = { + val values: Map[String, AnyRef] = Map( + "prefix" -> padIdentifier, + "padCueInColor" -> (if (flat) design.getCueInColor.paint() else design.getCueInColor.linearGradient()) + ) + + generateCss("style/modern-pad-cue-in.css", values) + } + + private def generateCss(templatePath: String, values: Map[String, AnyRef]): String = + { + val expressionParser: ExpressionParser = new SpelExpressionParser() + val context = new StandardEvaluationContext() + + val resource = ApplicationUtils.getApplication.getClasspathResource(templatePath) + val content = Minifier minify resource.getAsString + context.setVariables(values.asJava) - expressionParser.parseExpression(string, new TemplateParserContext("${", "}")).getValue(context, classOf[String]) + expressionParser.parseExpression(content, new TemplateParserContext("${", "}")).getValue(context, classOf[String]) } }