aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/theming/lib/controller/themingcontroller.php5
-rw-r--r--apps/theming/lib/util.php15
-rw-r--r--apps/theming/tests/lib/UtilTest.php10
3 files changed, 28 insertions, 2 deletions
diff --git a/apps/theming/lib/controller/themingcontroller.php b/apps/theming/lib/controller/themingcontroller.php
index eb377f27ff8..32d96203d62 100644
--- a/apps/theming/lib/controller/themingcontroller.php
+++ b/apps/theming/lib/controller/themingcontroller.php
@@ -214,6 +214,7 @@ class ThemingController extends Controller {
$cacheBusterValue = $this->config->getAppValue('theming', 'cachebuster', '0');
$responseCss = '';
$color = $this->config->getAppValue($this->appName, 'color');
+ $elementColor = Util::elementColor($color);
if($color !== '') {
$responseCss .= sprintf(
'#body-user #header,#body-settings #header,#body-public #header,#body-login,.searchbox input[type="search"]:focus,.searchbox input[type="search"]:active,.searchbox input[type="search"]:valid {background-color: %s}',
@@ -221,11 +222,11 @@ class ThemingController extends Controller {
);
$responseCss .= sprintf('
input[type="checkbox"].checkbox:checked + label:before {
- background-image:url(/core/img/actions/checkmark-white.svg);
+ background-image:url(\'' . \OC::$WEBROOT . '/core/img/actions/checkmark-white.svg\');
background-color: %s; background-position: center center; background-size:contain;
width:12px; height:12px; padding:0; margin:1px 6px 7px 2px;
}',
- $color
+ $elementColor
);
}
$logo = $this->config->getAppValue($this->appName, 'logoMime');
diff --git a/apps/theming/lib/util.php b/apps/theming/lib/util.php
index 2088650b19d..d342073d83e 100644
--- a/apps/theming/lib/util.php
+++ b/apps/theming/lib/util.php
@@ -39,6 +39,21 @@ class Util {
}
/**
+ * get color for on-page elements:
+ * theme color by default, grey if theme color is to bright
+ * @param $color
+ * @return string
+ */
+ public static function elementColor($color) {
+ $l = self::calculateLuminance($color);
+ if($l>0.8) {
+ return '#969696';
+ } else {
+ return $color;
+ }
+ }
+
+ /**
* @param string $color rgb color value
* @return float
*/
diff --git a/apps/theming/tests/lib/UtilTest.php b/apps/theming/tests/lib/UtilTest.php
index 9ebb11d6288..6451b65d027 100644
--- a/apps/theming/tests/lib/UtilTest.php
+++ b/apps/theming/tests/lib/UtilTest.php
@@ -65,4 +65,14 @@ class UtilTest extends TestCase {
$invert = Util::invertTextColor('');
$this->assertEquals(false, $invert);
}
+
+ public function testElementColorDefault() {
+ $elementColor = Util::elementColor("#000000");
+ $this->assertEquals('#000000', $elementColor);
+ }
+
+ public function testElementColorOnBrightBackground() {
+ $elementColor = Util::elementColor('#ffffff');
+ $this->assertEquals('#969696', $elementColor);
+ }
}