summaryrefslogtreecommitdiffstats
path: root/apps/menus/theme_menu.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/menus/theme_menu.c')
-rw-r--r--apps/menus/theme_menu.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/apps/menus/theme_menu.c b/apps/menus/theme_menu.c
index b4505de4b3..38e052b262 100644
--- a/apps/menus/theme_menu.c
+++ b/apps/menus/theme_menu.c
@@ -38,6 +38,7 @@
#include "backdrop.h"
#include "exported_menus.h"
#include "appevents.h"
+#include "viewport.h"
#if LCD_DEPTH > 1
/**
@@ -177,6 +178,20 @@ static int statusbar_callback(int action,const struct menu_item_ex *this_item)
{
return statusbar_callback_ex(action, this_item, SCREEN_MAIN);
}
+
+#ifdef HAVE_BUTTONBAR
+static int buttonbar_callback(int action, const struct menu_item_ex *this_item)
+{
+ (void)this_item;
+ switch (action)
+ {
+ case ACTION_EXIT_MENUITEM:
+ viewportmanager_theme_changed(THEME_BUTTONBAR);
+ break;
+ }
+ return ACTION_REDRAW;
+}
+#endif
MENUITEM_SETTING(scrollbar_item, &global_settings.scrollbar, NULL);
MENUITEM_SETTING(scrollbar_width, &global_settings.scrollbar_width, NULL);
MENUITEM_SETTING(statusbar, &global_settings.statusbar,
@@ -185,8 +200,8 @@ MENUITEM_SETTING(statusbar, &global_settings.statusbar,
MENUITEM_SETTING(remote_statusbar, &global_settings.remote_statusbar,
statusbar_callback_remote);
#endif
-#if CONFIG_KEYPAD == RECORDER_PAD
-MENUITEM_SETTING(buttonbar, &global_settings.buttonbar, NULL);
+#ifdef HAVE_BUTTONBAR
+MENUITEM_SETTING(buttonbar, &global_settings.buttonbar, buttonbar_callback);
#endif
MENUITEM_SETTING(volume_type, &global_settings.volume_type, NULL);
MENUITEM_SETTING(battery_display, &global_settings.battery_display, NULL);