Allow using system backlight color
This commit is contained in:
@@ -2,3 +2,4 @@
|
|||||||
/.clangd
|
/.clangd
|
||||||
/.lock-waf*
|
/.lock-waf*
|
||||||
/package-lock.json
|
/package-lock.json
|
||||||
|
/node_modules
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
"PKJS_TEMP_BAR_COUNT",
|
"PKJS_TEMP_BAR_COUNT",
|
||||||
"CLAY_BT_INDICATOR",
|
"CLAY_BT_INDICATOR",
|
||||||
"CLAY_SHOW_TIME_MG",
|
"CLAY_SHOW_TIME_MG",
|
||||||
|
"CLAY_USE_CUSTOM_LED",
|
||||||
"CLAY_DATE_TIMEOUT",
|
"CLAY_DATE_TIMEOUT",
|
||||||
"CLAY_LOW_FUEL_PERCENT",
|
"CLAY_LOW_FUEL_PERCENT",
|
||||||
"CLAY_LED_COLOR",
|
"CLAY_LED_COLOR",
|
||||||
|
|||||||
+10
-1
@@ -218,7 +218,11 @@ static void accel_tap_handler(AccelAxisType axis, int32_t direction) {
|
|||||||
|
|
||||||
static void apply_settings(bool first_run) {
|
static void apply_settings(bool first_run) {
|
||||||
// LED&BG
|
// LED&BG
|
||||||
light_set_color(settings.ColorLED); // no-op on unsupported platforms
|
if (settings.UseCustomLED) {
|
||||||
|
light_set_color(settings.ColorLED); // no-op on unsupported platforms
|
||||||
|
} else {
|
||||||
|
light_set_system_color();
|
||||||
|
}
|
||||||
window_set_background_color(s_main_window, settings.ColorBG);
|
window_set_background_color(s_main_window, settings.ColorBG);
|
||||||
|
|
||||||
// TIME MG
|
// TIME MG
|
||||||
@@ -381,6 +385,7 @@ static void inbox_received_handler(DictionaryIterator *iter, void *context) {
|
|||||||
// CLAY SETTINGS
|
// CLAY SETTINGS
|
||||||
Tuple *track_bt_tuple = dict_find(iter, MESSAGE_KEY_CLAY_BT_INDICATOR);
|
Tuple *track_bt_tuple = dict_find(iter, MESSAGE_KEY_CLAY_BT_INDICATOR);
|
||||||
Tuple *show_time_mg_tuple = dict_find(iter, MESSAGE_KEY_CLAY_SHOW_TIME_MG);
|
Tuple *show_time_mg_tuple = dict_find(iter, MESSAGE_KEY_CLAY_SHOW_TIME_MG);
|
||||||
|
Tuple *use_custom_led_tuple = dict_find(iter, MESSAGE_KEY_CLAY_USE_CUSTOM_LED);
|
||||||
Tuple *date_timeout_tuple = dict_find(iter, MESSAGE_KEY_CLAY_DATE_TIMEOUT);
|
Tuple *date_timeout_tuple = dict_find(iter, MESSAGE_KEY_CLAY_DATE_TIMEOUT);
|
||||||
Tuple *low_fuel_percent_tuple = dict_find(iter, MESSAGE_KEY_CLAY_LOW_FUEL_PERCENT);
|
Tuple *low_fuel_percent_tuple = dict_find(iter, MESSAGE_KEY_CLAY_LOW_FUEL_PERCENT);
|
||||||
Tuple *color_led_tuple = dict_find(iter, MESSAGE_KEY_CLAY_LED_COLOR);
|
Tuple *color_led_tuple = dict_find(iter, MESSAGE_KEY_CLAY_LED_COLOR);
|
||||||
@@ -397,6 +402,9 @@ static void inbox_received_handler(DictionaryIterator *iter, void *context) {
|
|||||||
if (show_time_mg_tuple) {
|
if (show_time_mg_tuple) {
|
||||||
settings.ShowTimeMG = show_time_mg_tuple->value->uint8;
|
settings.ShowTimeMG = show_time_mg_tuple->value->uint8;
|
||||||
}
|
}
|
||||||
|
if (use_custom_led_tuple) {
|
||||||
|
settings.UseCustomLED = use_custom_led_tuple->value->uint8;
|
||||||
|
}
|
||||||
if (date_timeout_tuple) {
|
if (date_timeout_tuple) {
|
||||||
settings.DateTimeoutSecs = date_timeout_tuple->value->uint8;
|
settings.DateTimeoutSecs = date_timeout_tuple->value->uint8;
|
||||||
}
|
}
|
||||||
@@ -438,6 +446,7 @@ static void init() {
|
|||||||
} else {
|
} else {
|
||||||
settings.TrackBTStatus = false;
|
settings.TrackBTStatus = false;
|
||||||
settings.ShowTimeMG = false;
|
settings.ShowTimeMG = false;
|
||||||
|
settings.UseCustomLED = false;
|
||||||
settings.DateTimeoutSecs = 3;
|
settings.DateTimeoutSecs = 3;
|
||||||
settings.LowFuelPercent = 20;
|
settings.LowFuelPercent = 20;
|
||||||
settings.ColorLED = GColorWhite;
|
settings.ColorLED = GColorWhite;
|
||||||
|
|||||||
@@ -6,6 +6,7 @@
|
|||||||
typedef struct ClaySettings {
|
typedef struct ClaySettings {
|
||||||
bool TrackBTStatus;
|
bool TrackBTStatus;
|
||||||
bool ShowTimeMG;
|
bool ShowTimeMG;
|
||||||
|
bool UseCustomLED;
|
||||||
uint8_t DateTimeoutSecs;
|
uint8_t DateTimeoutSecs;
|
||||||
uint8_t LowFuelPercent;
|
uint8_t LowFuelPercent;
|
||||||
GColor ColorLED;
|
GColor ColorLED;
|
||||||
|
|||||||
+9
-1
@@ -89,12 +89,20 @@ module.exports = [
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"id": "custom_led_toggle",
|
||||||
|
"type": "toggle",
|
||||||
|
"messageKey": "CLAY_USE_CUSTOM_LED",
|
||||||
|
"defaultValue": false,
|
||||||
|
"label": "Use custom backlight color",
|
||||||
|
"description": "Enable to override your system-wide setting.",
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"id": "custom_color_led",
|
"id": "custom_color_led",
|
||||||
"type": "color",
|
"type": "color",
|
||||||
"messageKey": "CLAY_LED_COLOR",
|
"messageKey": "CLAY_LED_COLOR",
|
||||||
"defaultValue": "ffffff",
|
"defaultValue": "ffffff",
|
||||||
"label": "Backlight color (Time 2)",
|
"label": "Backlight color",
|
||||||
"sunlight": false,
|
"sunlight": false,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
+18
-1
@@ -4,11 +4,21 @@ module.exports = function (minified) {
|
|||||||
var $ = minified.$;
|
var $ = minified.$;
|
||||||
var HTML = minified.HTML;
|
var HTML = minified.HTML;
|
||||||
|
|
||||||
|
function toggleCustomBacklight() {
|
||||||
|
if (this.get()) {
|
||||||
|
clayConfig.getItemById('custom_color_led').enable();
|
||||||
|
} else {
|
||||||
|
clayConfig.getItemById('custom_color_led').disable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function setColorsToPreset() {
|
function setColorsToPreset() {
|
||||||
var selectedPreset = clayConfig.getItemById('color_preset_selector').get();
|
var selectedPreset = clayConfig.getItemById('color_preset_selector').get();
|
||||||
switch (selectedPreset) {
|
switch (selectedPreset) {
|
||||||
case 'civic_si':
|
case 'civic_si':
|
||||||
|
clayConfig.getItemById('custom_led_toggle').set(true); // override system with red backlight
|
||||||
clayConfig.getItemById('custom_color_led').set('ff0000');
|
clayConfig.getItemById('custom_color_led').set('ff0000');
|
||||||
|
|
||||||
clayConfig.getItemById('custom_color_bg').set('000000');
|
clayConfig.getItemById('custom_color_bg').set('000000');
|
||||||
clayConfig.getItemById('custom_color_mg_bars').set('555555');
|
clayConfig.getItemById('custom_color_mg_bars').set('555555');
|
||||||
clayConfig.getItemById('custom_color_cool_bars').set('0000aa');
|
clayConfig.getItemById('custom_color_cool_bars').set('0000aa');
|
||||||
@@ -18,7 +28,8 @@ module.exports = function (minified) {
|
|||||||
clayConfig.getItemById('custom_color_warning').set('ffaa00');
|
clayConfig.getItemById('custom_color_warning').set('ffaa00');
|
||||||
break
|
break
|
||||||
default:
|
default:
|
||||||
clayConfig.getItemById('custom_color_led').set('ffffff');
|
clayConfig.getItemById('custom_led_toggle').set(false); // use system LED color
|
||||||
|
|
||||||
clayConfig.getItemById('custom_color_bg').set('0000ff');
|
clayConfig.getItemById('custom_color_bg').set('0000ff');
|
||||||
clayConfig.getItemById('custom_color_mg_bars').set('555555');
|
clayConfig.getItemById('custom_color_mg_bars').set('555555');
|
||||||
clayConfig.getItemById('custom_color_cool_bars').set('0000aa');
|
clayConfig.getItemById('custom_color_cool_bars').set('0000aa');
|
||||||
@@ -32,6 +43,7 @@ module.exports = function (minified) {
|
|||||||
function toggleCustomColors() {
|
function toggleCustomColors() {
|
||||||
if (this.get()) {
|
if (this.get()) {
|
||||||
clayConfig.getItemById('color_preset_selector').hide();
|
clayConfig.getItemById('color_preset_selector').hide();
|
||||||
|
clayConfig.getItemById('custom_led_toggle').show();
|
||||||
clayConfig.getItemById('custom_color_led').show();
|
clayConfig.getItemById('custom_color_led').show();
|
||||||
clayConfig.getItemById('custom_color_bg').show();
|
clayConfig.getItemById('custom_color_bg').show();
|
||||||
clayConfig.getItemById('custom_color_mg_bars').show();
|
clayConfig.getItemById('custom_color_mg_bars').show();
|
||||||
@@ -43,6 +55,7 @@ module.exports = function (minified) {
|
|||||||
} else {
|
} else {
|
||||||
setColorsToPreset();
|
setColorsToPreset();
|
||||||
clayConfig.getItemById('color_preset_selector').show();
|
clayConfig.getItemById('color_preset_selector').show();
|
||||||
|
clayConfig.getItemById('custom_led_toggle').hide();
|
||||||
clayConfig.getItemById('custom_color_led').hide();
|
clayConfig.getItemById('custom_color_led').hide();
|
||||||
clayConfig.getItemById('custom_color_bg').hide();
|
clayConfig.getItemById('custom_color_bg').hide();
|
||||||
clayConfig.getItemById('custom_color_mg_bars').hide();
|
clayConfig.getItemById('custom_color_mg_bars').hide();
|
||||||
@@ -59,6 +72,10 @@ module.exports = function (minified) {
|
|||||||
toggleCustomColors.call(customColorsToggle);
|
toggleCustomColors.call(customColorsToggle);
|
||||||
customColorsToggle.on('change', toggleCustomColors);
|
customColorsToggle.on('change', toggleCustomColors);
|
||||||
|
|
||||||
|
var customBacklightToggle = clayConfig.getItemById('custom_led_toggle');
|
||||||
|
toggleCustomBacklight.call(customBacklightToggle);
|
||||||
|
customBacklightToggle.on('change', toggleCustomBacklight);
|
||||||
|
|
||||||
clayConfig.getItemById('color_preset_selector').on('change', setColorsToPreset);
|
clayConfig.getItemById('color_preset_selector').on('change', setColorsToPreset);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user