Settings re-org (prep for separate hour and minute colors)

This commit is contained in:
2026-06-27 19:59:14 -04:00
parent 7c1aa5b484
commit 206b066a58
5 changed files with 100 additions and 62 deletions
+42 -32
View File
@@ -58,7 +58,7 @@ static void toggle_fuel_warning_state(bool enable_warning, bool force) {
if (!force && (enable_warning == s_fuel_is_warning)) {
return;
}
GColor dst = enable_warning ? settings.ColorWarning : settings.ColorFG;
GColor dst = enable_warning ? settings.ColorWarning : settings.ColorLetters;
if (s_first_settings_application && !enable_warning && dst.argb == s_applied_e_f.argb) {
// at startup, s_applied_e.argb is GColorWhite
// for those using white fg, do not pointlessly replace white at startup if that is the destination anyway
@@ -74,7 +74,7 @@ static void toggle_temp_warning_state(bool enable_warning, bool force) {
if (!force && (enable_warning == s_temp_is_warning)) {
return;
}
GColor dst = enable_warning ? settings.ColorWarning : settings.ColorFG;
GColor dst = enable_warning ? settings.ColorWarning : settings.ColorLetters;
if (s_first_settings_application && !enable_warning && dst.argb == s_applied_c_h.argb) {
// at startup, s_applied_c_h.argb is GColorWhite
// for those using white fg, do not pointlessly replace white at startup if that is the destination anyway
@@ -87,7 +87,7 @@ static void toggle_temp_warning_state(bool enable_warning, bool force) {
}
static void bt_callback(bool connected) {
GColor dst = connected ? settings.ColorFG : settings.ColorWarning;
GColor dst = connected ? settings.ColorHours : settings.ColorWarning;
if (s_first_settings_application && connected && dst.argb == s_applied_time_date.argb) {
// at startup, s_applied_time_date.argb is GColorWhite
// for those using white fg, do not pointlessly replace white at startup if that is the destination anyway
@@ -528,57 +528,65 @@ static void inbox_received_handler(DictionaryIterator *iter, void *context) {
// CLAY SETTINGS
Tuple *enable_peek_tuple = dict_find(iter, MESSAGE_KEY_CLAY_ENABLE_PEEK);
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 *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 *track_bt_status_tuple = dict_find(iter, MESSAGE_KEY_CLAY_TRACK_BT_STATUS);
Tuple *date_timeout_secs_tuple = dict_find(iter, MESSAGE_KEY_CLAY_DATE_TIMEOUT_SECS);
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_bg_tuple = dict_find(iter, MESSAGE_KEY_CLAY_BG_COLOR);
Tuple *color_mg_bar_tuple = dict_find(iter, MESSAGE_KEY_CLAY_BAR_MG_COLOR);
Tuple *color_cool_bar_tuple = dict_find(iter, MESSAGE_KEY_CLAY_BAR_COOL_COLOR);
Tuple *color_hot_bar_tuple = dict_find(iter, MESSAGE_KEY_CLAY_BAR_HOT_COLOR);
Tuple *color_mg_time_tuple = dict_find(iter, MESSAGE_KEY_CLAY_TIME_MG_COLOR);
Tuple *color_fg_tuple = dict_find(iter, MESSAGE_KEY_CLAY_FG_COLOR);
Tuple *color_warning_tuple = dict_find(iter, MESSAGE_KEY_CLAY_WARNING_COLOR);
Tuple *use_custom_led_tuple = dict_find(iter, MESSAGE_KEY_CLAY_USE_CUSTOM_LED);
Tuple *color_led_tuple = dict_find(iter, MESSAGE_KEY_CLAY_COLOR_LED);
Tuple *color_bg_tuple = dict_find(iter, MESSAGE_KEY_CLAY_COLOR_BG);
Tuple *color_bar_mg_tuple = dict_find(iter, MESSAGE_KEY_CLAY_COLOR_BAR_MG);
Tuple *color_bar_cool_tuple = dict_find(iter, MESSAGE_KEY_CLAY_COLOR_BAR_COOL);
Tuple *color_bar_hot_tuple = dict_find(iter, MESSAGE_KEY_CLAY_COLOR_BAR_HOT);
Tuple *color_time_mg_tuple = dict_find(iter, MESSAGE_KEY_CLAY_COLOR_TIME_MG);
Tuple *color_letters_tuple = dict_find(iter, MESSAGE_KEY_CLAY_COLOR_LETTERS);
Tuple *color_hours_tuple = dict_find(iter, MESSAGE_KEY_CLAY_COLOR_HOURS);
Tuple *color_minutes_tuple = dict_find(iter, MESSAGE_KEY_CLAY_COLOR_MINUTES);
Tuple *color_warning_tuple = dict_find(iter, MESSAGE_KEY_CLAY_COLOR_WARNING);
if (enable_peek_tuple) {
settings.EnablePeek = enable_peek_tuple->value->uint8;
}
if (track_bt_tuple) {
settings.TrackBTStatus = track_bt_tuple->value->uint8;
}
if (show_time_mg_tuple) {
settings.ShowTimeMG = show_time_mg_tuple->value->uint8;
}
if (use_custom_led_tuple) {
settings.UseCustomLED = use_custom_led_tuple->value->uint8;
if (track_bt_status_tuple) {
settings.TrackBTStatus = track_bt_status_tuple->value->uint8;
}
if (date_timeout_tuple) {
settings.DateTimeoutSecs = date_timeout_tuple->value->uint8;
if (date_timeout_secs_tuple) {
settings.DateTimeoutSecs = date_timeout_secs_tuple->value->uint8;
}
if (low_fuel_percent_tuple) {
settings.LowFuelPercent = low_fuel_percent_tuple->value->uint8;
}
if (use_custom_led_tuple) {
settings.UseCustomLED = use_custom_led_tuple->value->uint8;
}
if (color_led_tuple) {
settings.ColorLED = GColorFromHEX(color_led_tuple->value->int32);
}
if (color_bg_tuple) {
settings.ColorBG = GColorFromHEX(color_bg_tuple->value->int32);
}
if (color_mg_bar_tuple) {
settings.ColorMGBars = GColorFromHEX(color_mg_bar_tuple->value->int32);
if (color_bar_mg_tuple) {
settings.ColorMGBars = GColorFromHEX(color_bar_mg_tuple->value->int32);
}
if (color_cool_bar_tuple) {
settings.ColorBarsCool = GColorFromHEX(color_cool_bar_tuple->value->int32);
if (color_bar_cool_tuple) {
settings.ColorBarsCool = GColorFromHEX(color_bar_cool_tuple->value->int32);
}
if (color_hot_bar_tuple) {
settings.ColorBarsHot = GColorFromHEX(color_hot_bar_tuple->value->int32);
if (color_bar_hot_tuple) {
settings.ColorBarsHot = GColorFromHEX(color_bar_hot_tuple->value->int32);
}
if (color_mg_time_tuple) {
settings.ColorMGTime = GColorFromHEX(color_mg_time_tuple->value->int32);
if (color_time_mg_tuple) {
settings.ColorMGTime = GColorFromHEX(color_time_mg_tuple->value->int32);
}
if (color_fg_tuple) {
settings.ColorFG = GColorFromHEX(color_fg_tuple->value->int32);
if (color_letters_tuple) {
settings.ColorLetters = GColorFromHEX(color_letters_tuple->value->int32);
}
if (color_hours_tuple) {
settings.ColorHours = GColorFromHEX(color_hours_tuple->value->int32);
}
if (color_minutes_tuple) {
settings.ColorMinutes = GColorFromHEX(color_minutes_tuple->value->int32);
}
if (color_warning_tuple) {
settings.ColorWarning = GColorFromHEX(color_warning_tuple->value->int32);
@@ -604,7 +612,9 @@ static void init() {
settings.ColorBarsCool = GColorDukeBlue;
settings.ColorBarsHot = GColorRed;
settings.ColorMGTime = GColorDarkGray;
settings.ColorFG = GColorWhite;
settings.ColorLetters = GColorWhite;
settings.ColorHours = GColorWhite;
settings.ColorMinutes = GColorWhite;
settings.ColorWarning = GColorChromeYellow;
}