From 2d0a662ade8af96a6d84b307d66554689b8ef45f Mon Sep 17 00:00:00 2001 From: Robert Goldmann <deadlocker@gmx.de> Date: Sun, 12 Dec 2021 21:04:56 +0100 Subject: [PATCH] #157 - fixed css generation --- .../resources/style/modern-pad-cue-in.css | 4 ++ .../src/main/resources/style/modern-pad.css | 7 +--- .../design/ModernCartDesignHandlerImpl.scala | 41 ++++++++++++++----- 3 files changed, 35 insertions(+), 17 deletions(-) create mode 100644 PlayWall/src/main/resources/style/modern-pad-cue-in.css 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 00000000..65ea71f1 --- /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 abd17dbd..11df504e 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 df9c1917..945eddab 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]) } } -- GitLab