diff --git a/apps/menus/eq_menu.c b/apps/menus/eq_menu.c index 656fe7b282..79389ae561 100644 --- a/apps/menus/eq_menu.c +++ b/apps/menus/eq_menu.c @@ -51,6 +51,8 @@ #include "option_select.h" #include "string-extra.h" +static void eq_apply(void); + /* * Utility functions */ @@ -69,6 +71,12 @@ const char* eq_precut_format(char* buffer, size_t buffer_size, int value, const return buffer; } +void eq_enabled_option_callback(bool enabled) +{ + (void)enabled; + eq_apply(); +} + /* * Settings functions */ diff --git a/apps/menus/eq_menu.h b/apps/menus/eq_menu.h index 04e8be2ead..f99f83d94f 100644 --- a/apps/menus/eq_menu.h +++ b/apps/menus/eq_menu.h @@ -48,4 +48,7 @@ const char* eq_q_format(char* buffer, size_t buffer_size, int value, const char* eq_precut_format(char* buffer, size_t buffer_size, int value, const char* unit); +/* callbacks for settings_list.c */ +void eq_enabled_option_callback(bool enabled); + #endif diff --git a/apps/settings_list.c b/apps/settings_list.c index 5464416b21..ab99b58a1c 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c @@ -1570,7 +1570,7 @@ const struct settings_list settings[] = { /* equalizer */ OFFON_SETTING(F_EQSETTING, eq_enabled, LANG_EQUALIZER_ENABLED, false, - "eq enabled", NULL), + "eq enabled", eq_enabled_option_callback), INT_SETTING_NOWRAP(F_EQSETTING, eq_precut, LANG_EQUALIZER_PRECUT, 0, "eq precut", UNIT_DB, 0, 240, 1, eq_precut_format,