Icons in the menus. Thanks midkay for them.
Any menus which dont yet show them are not converted to the new system.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12300 a1c6a512-1295-4272-9138-f99709370657
diff --git a/apps/menu.c b/apps/menu.c
index f1738e7..200dd5b 100644
--- a/apps/menu.c
+++ b/apps/menu.c
@@ -374,12 +374,43 @@
}
return P2STR(menu->callback_and_desc->desc);
}
+#ifdef HAVE_LCD_BITMAP
+static void menu_get_icon(int selected_item, void * data, ICON * icon)
+{
+ const struct menu_item_ex *menu = (const struct menu_item_ex *)data;
+ selected_item = get_menu_selection(selected_item, menu);
+
+ menu = menu->submenus[selected_item];
+ switch (menu->flags&MENU_TYPE_MASK)
+ {
+ case MT_SETTING:
+ *icon = bitmap_icons_6x8[Icon_Menu_setting];
+ break;
+ case MT_MENU:
+ if (menu->callback_and_desc->icon == NOICON)
+ *icon = bitmap_icons_6x8[Icon_Submenu];
+ else
+ *icon = menu->callback_and_desc->icon;
+ break;
+ case MT_FUNCTION_CALL:
+ case MT_FUNCTION_WITH_PARAM:
+ if (menu->callback_and_desc->icon == NOICON)
+ *icon = bitmap_icons_6x8[Icon_Menu_functioncall];
+ else
+ *icon = menu->callback_and_desc->icon;
+ break;
+ default:
+ *icon = NOICON;
+ }
+}
+#endif
static void init_menu_lists(const struct menu_item_ex *menu,
struct gui_synclist *lists, int selected, bool callback)
{
int i, count = (menu->flags&MENU_COUNT_MASK)>>MENU_COUNT_SHIFT;
menu_callback_type menu_callback = NULL;
+ ICON icon = NOICON;
current_subitems_count = 0;
for (i=0; i<count; i++)
{
@@ -401,8 +432,21 @@
}
gui_synclist_init(lists,get_menu_item_name,(void*)menu,false,1);
- gui_synclist_set_title(lists, P2STR(menu->callback_and_desc->desc), NOICON);
- gui_synclist_set_icon_callback(lists,NULL);
+#ifdef HAVE_LCD_BITMAP
+ if (global_settings.show_icons == false)
+ icon = NOICON;
+ else if (menu->callback_and_desc->icon == NOICON)
+ icon = bitmap_icons_6x8[Icon_Submenu_Entered];
+ else
+ icon = menu->callback_and_desc->icon;
+#endif
+ gui_synclist_set_title(lists, P2STR(menu->callback_and_desc->desc), icon);
+#ifdef HAVE_LCD_BITMAP
+ if (global_settings.show_icons)
+ gui_synclist_set_icon_callback(lists, menu_get_icon);
+ else
+#endif
+ gui_synclist_set_icon_callback(lists, NULL);
gui_synclist_set_nb_items(lists,current_subitems_count);
gui_synclist_limit_scroll(lists,true);
gui_synclist_select_item(lists, selected);
diff --git a/apps/menu.h b/apps/menu.h
index a192df3..3555cd2 100644
--- a/apps/menu.h
+++ b/apps/menu.h
@@ -21,6 +21,9 @@
#define __MENU_H__
#include <stdbool.h>
+#include "icon.h"
+#include "icons.h"
+
struct menu_item {
unsigned char *desc; /* string or ID */
@@ -90,6 +93,9 @@
int (*menu_callback)(int action,
const struct menu_item_ex *this_item);
unsigned char *desc; /* string or ID */
+#ifdef HAVE_LCD_BITMAP
+ ICON icon; /* Icon to display */
+#endif
} *callback_and_desc;
};
};
@@ -119,26 +125,28 @@
and its return value will be the index of the chosen item */
#define MENUITEM_STRINGLIST(name, str, callback, ... ) \
static const char *name##_[] = {__VA_ARGS__}; \
- static const struct menu_callback_with_desc name##__ = {callback,str}; \
+ static const struct menu_callback_with_desc name##__ = {callback,str, NOICON};\
static const struct menu_item_ex name = \
{MT_RETURN_ID|MENU_HAS_DESC| \
MENU_ITEM_COUNT(sizeof( name##_)/sizeof(*name##_)), \
{ .submenus = name##_},{.callback_and_desc = & name##__}};
+
+#ifdef HAVE_LCD_BITMAP /* Kill the player port already.... PLEASE!! */
/* This one should be static'ed also,
but cannot be done untill settings menu is done */
/* Use this to put a function call into the menu.
When the user selects this item the function will be run,
when it exits the user will be back in the menu. return value is ignored */
-#define MENUITEM_FUNCTION(name, str, func, callback) \
- static const struct menu_callback_with_desc name##_ = {callback,str}; \
+#define MENUITEM_FUNCTION(name, str, func, callback, icon) \
+ static const struct menu_callback_with_desc name##_ = {callback,str,icon}; \
const struct menu_item_ex name = \
{ MT_FUNCTION_CALL|MENU_HAS_DESC, { .function = func}, \
{.callback_and_desc = & name##_}};
/* Same as above, except the function will be called with a (void*)param. */
-#define MENUITEM_FUNCTION_WPARAM(name, str, func, param, callback) \
- static const struct menu_callback_with_desc name##_ = {callback,str}; \
+#define MENUITEM_FUNCTION_WPARAM(name, str, func, param, callback, icon) \
+ static const struct menu_callback_with_desc name##_ = {callback,str,icon}; \
static const struct menu_func_with_param name##__ = {func, param}; \
static const struct menu_item_ex name = \
{ MT_FUNCTION_WITH_PARAM|MENU_HAS_DESC, \
@@ -147,11 +155,35 @@
/* Use this to actually create a menu. the ... argument is a list of pointers
to any of the above macro'd variables. (It can also have other menus in the list. */
-#define MAKE_MENU( name, str, callback, ... ) \
+#define MAKE_MENU( name, str, callback, icon, ... ) \
static const struct menu_item_ex *name##_[] = {__VA_ARGS__}; \
- static const struct menu_callback_with_desc name##__ = {callback,str}; \
+ static const struct menu_callback_with_desc name##__ = {callback,str,icon};\
const struct menu_item_ex name = \
{MT_MENU|MENU_HAS_DESC| \
MENU_ITEM_COUNT(sizeof( name##_)/sizeof(*name##_)), \
{ (void*)name##_},{.callback_and_desc = & name##__}};
+
+#else /* HAVE_LCD_BITMAP */
+#define MENUITEM_FUNCTION(name, str, func, callback, icon) \
+ static const struct menu_callback_with_desc name##_ = {callback,str}; \
+ const struct menu_item_ex name = \
+ { MT_FUNCTION_CALL|MENU_HAS_DESC, { .function = func}, \
+ {.callback_and_desc = & name##_}};
+#define MENUITEM_FUNCTION_WPARAM(name, str, func, param, callback, icon) \
+ static const struct menu_callback_with_desc name##_ = {callback,str}; \
+ static const struct menu_func_with_param name##__ = {func, param}; \
+ static const struct menu_item_ex name = \
+ { MT_FUNCTION_WITH_PARAM|MENU_HAS_DESC, \
+ { .func_with_param = &name##__}, \
+ {.callback_and_desc = & name##_}};
+#define MAKE_MENU( name, str, callback, icon, ... ) \
+ static const struct menu_item_ex *name##_[] = {__VA_ARGS__}; \
+ static const struct menu_callback_with_desc name##__ = {callback,str};\
+ const struct menu_item_ex name = \
+ {MT_MENU|MENU_HAS_DESC| \
+ MENU_ITEM_COUNT(sizeof( name##_)/sizeof(*name##_)), \
+ { (void*)name##_},{.callback_and_desc = & name##__}};
+
+#endif /* HAVE_LCD_BITMAP */
+
#endif /* End __MENU_H__ */
diff --git a/apps/menus/display_menu.c b/apps/menus/display_menu.c
index f445613..adb2439 100644
--- a/apps/menus/display_menu.c
+++ b/apps/menus/display_menu.c
@@ -29,4 +29,5 @@
#include "settings_menu.h"
bool display_settings_menu(void); /* from ../settings_menu.c */
-MENUITEM_FUNCTION(display_menu,ID2P(LANG_DISPLAY),(menu_function)display_settings_menu,NULL);
+MENUITEM_FUNCTION(display_menu,ID2P(LANG_DISPLAY),
+ (menu_function)display_settings_menu,NULL, bitmap_icons_6x8[Icon_Display_menu]);
diff --git a/apps/menus/main_menu.c b/apps/menus/main_menu.c
index da9d47e..8867118 100644
--- a/apps/menus/main_menu.c
+++ b/apps/menus/main_menu.c
@@ -58,23 +58,24 @@
return rockbox_browse(info->dir, info->show_options);
}
MENUITEM_FUNCTION_WPARAM(browse_themes, ID2P(LANG_CUSTOM_THEME),
- browse_folder, (void*)&theme, NULL);
+ browse_folder, (void*)&theme, NULL, bitmap_icons_6x8[Icon_Folder]);
MENUITEM_FUNCTION_WPARAM(browse_plugins, ID2P(LANG_PLUGINS),
- browse_folder, (void*)&rocks, NULL);
+ browse_folder, (void*)&rocks, NULL, bitmap_icons_6x8[Icon_Plugin]);
#ifdef CONFIG_TUNER
MENUITEM_FUNCTION(load_radio_screen, ID2P(LANG_FM_RADIO),
- (menu_function)radio_screen, dynamicitem_callback);
+ (menu_function)radio_screen, dynamicitem_callback,
+ bitmap_icons_6x8[Icon_Radio_screen]);
#endif
#include "settings_menu.h"
MENUITEM_FUNCTION(manage_settings_menu_item, ID2P(LANG_MANAGE_MENU),
- (menu_function)manage_settings_menu, NULL);
+ (menu_function)manage_settings_menu, NULL, bitmap_icons_6x8[Icon_Config]);
bool info_menu(void); /* from apps/main_menu.c TEMP*/
MENUITEM_FUNCTION(info_menu_item, ID2P(LANG_INFO),
- (menu_function)info_menu, NULL);
+ (menu_function)info_menu, NULL, bitmap_icons_6x8[Icon_Questionmark]);
MENUITEM_FUNCTION(mrb_bookmarks, ID2P(LANG_BOOKMARK_MENU_RECENT_BOOKMARKS),
- (menu_function)bookmark_mrb_load, NULL);
+ (menu_function)bookmark_mrb_load, NULL, bitmap_icons_6x8[Icon_Bookmark]);
#ifdef HAVE_LCD_CHARCELLS
static int do_shutdown(void)
@@ -82,12 +83,12 @@
sys_poweroff();
return 0;
}
-MENUITEM_FUNCTION(do_shutdown_item, ID2P(LANG_SHUTDOWN), do_shutdown, NULL);
+MENUITEM_FUNCTION(do_shutdown_item, ID2P(LANG_SHUTDOWN), do_shutdown, NULL, NOICON);
#endif
/* NOTE: This title will be translatable once we decide what to call this menu
when the root menu comes in... hopefully in the next few days */
-MAKE_MENU(main_menu_, "Rockbox Main Menu", NULL,
+MAKE_MENU(main_menu_, "Rockbox Main Menu", NULL, bitmap_icons_6x8[Icon_Submenu_Entered],
&mrb_bookmarks, &sound_settings,
&settings_menu_item, &manage_settings_menu_item, &browse_themes,
#ifdef CONFIG_TUNER
diff --git a/apps/menus/playback_menu.c b/apps/menus/playback_menu.c
index 74a6483..7c0f751 100644
--- a/apps/menus/playback_menu.c
+++ b/apps/menus/playback_menu.c
@@ -60,7 +60,7 @@
MENUITEM_SETTING(ff_rewind_accel, &global_settings.ff_rewind_accel, NULL);
MENUITEM_SETTING(ff_rewind_min_step, &global_settings.ff_rewind_min_step, NULL);
-MAKE_MENU(ff_rewind_settings_menu, ID2P(LANG_WIND_MENU), 0,
+MAKE_MENU(ff_rewind_settings_menu, ID2P(LANG_WIND_MENU), 0, NOICON,
&ff_rewind_min_step, &ff_rewind_accel);
#if CONFIG_CODEC == SWCODEC
int buffermargin_callback(int action,const struct menu_item_ex *this_item)
@@ -95,7 +95,7 @@
&global_settings.crossfade_fade_out_duration, setcrossfadeonexit_callback);
MENUITEM_SETTING(crossfade_fade_out_mixmode,
&global_settings.crossfade_fade_out_mixmode,NULL);
-MAKE_MENU(crossfade_settings_menu,ID2P(LANG_CROSSFADE),0,
+MAKE_MENU(crossfade_settings_menu,ID2P(LANG_CROSSFADE),0, NOICON,
&crossfade, &crossfade_fade_in_delay, &crossfade_fade_in_duration,
&crossfade_fade_out_delay, &crossfade_fade_out_duration,
&crossfade_fade_out_mixmode);
@@ -117,7 +117,7 @@
MENUITEM_SETTING(replaygain_noclip, &global_settings.replaygain_noclip ,replaygain_callback);
MENUITEM_SETTING(replaygain_type, &global_settings.replaygain_type ,replaygain_callback);
MENUITEM_SETTING(replaygain_preamp, &global_settings.replaygain_preamp ,replaygain_callback);
-MAKE_MENU(replaygain_settings_menu,ID2P(LANG_REPLAYGAIN),0,
+MAKE_MENU(replaygain_settings_menu,ID2P(LANG_REPLAYGAIN),0, NOICON,
&replaygain,&replaygain_noclip,
&replaygain_type,&replaygain_preamp);
@@ -150,11 +150,12 @@
MENUITEM_SETTING(unplug_mode, &global_settings.unplug_mode, NULL);
MENUITEM_SETTING(unplug_rw, &global_settings.unplug_rw, NULL);
MENUITEM_SETTING(unplug_autoresume, &global_settings.unplug_autoresume, NULL);
-MAKE_MENU(unplug_menu, ID2P(LANG_UNPLUG), 0,
+MAKE_MENU(unplug_menu, ID2P(LANG_UNPLUG), 0, NOICON,
&unplug_mode, &unplug_rw, &unplug_autoresume);
#endif
MAKE_MENU(playback_menu_item,ID2P(LANG_PLAYBACK),0,
+ bitmap_icons_6x8[Icon_Playback_menu],
&shuffle_item, &repeat_mode, &play_selected, &resume,
&ff_rewind_settings_menu,
&buffer_margin, &fade_on_stop, &party_mode,
diff --git a/apps/menus/playlist_menu.c b/apps/menus/playlist_menu.c
index d9e6f78..f179265 100644
--- a/apps/menus/playlist_menu.c
+++ b/apps/menus/playlist_menu.c
@@ -63,17 +63,18 @@
return 0;
}
MENUITEM_FUNCTION(create_playlist_item, ID2P(LANG_CREATE_PLAYLIST),
- (int(*)(void))create_playlist, NULL);
+ (int(*)(void))create_playlist, NULL, NOICON);
MENUITEM_FUNCTION(view_playlist, ID2P(LANG_VIEW_DYNAMIC_PLAYLIST),
- (int(*)(void))playlist_viewer, NULL);
+ (int(*)(void))playlist_viewer, NULL, NOICON);
MENUITEM_FUNCTION_WPARAM(save_playlist, ID2P(LANG_SAVE_DYNAMIC_PLAYLIST),
- (int(*)(void*))save_playlist_screen, NULL, NULL);
+ (int(*)(void*))save_playlist_screen, NULL, NULL, NOICON);
MENUITEM_FUNCTION(catalog, ID2P(LANG_CATALOG),
- (int(*)(void))catalog_view_playlists, NULL);
+ (int(*)(void))catalog_view_playlists, NULL, NOICON);
MENUITEM_SETTING(recursive_dir_insert, &global_settings.recursive_dir_insert, NULL);
MENUITEM_SETTING(warn_on_erase, &global_settings.warnon_erase_dynplaylist, NULL);
MAKE_MENU(playlist_menu_item, ID2P(LANG_PLAYLIST_MENU), NULL,
+ bitmap_icons_6x8[Icon_Playlist],
&create_playlist_item, &view_playlist, &save_playlist, &catalog,
&recursive_dir_insert, &warn_on_erase);
diff --git a/apps/menus/recording_menu.c b/apps/menus/recording_menu.c
index 84a3bc5..0b4ba52 100644
--- a/apps/menus/recording_menu.c
+++ b/apps/menus/recording_menu.c
@@ -30,12 +30,13 @@
#ifdef HAVE_RECORDING
MENUITEM_FUNCTION(rec_menu_recording_screen_item, ID2P(LANG_RECORDING_MENU),
- (menu_function)recording_screen, NULL);
+ (menu_function)recording_screen, NULL, NOICON);
/* TEMP */
bool recording_menu(bool no_source); /* from apps/sound_menu.h */
MENUITEM_FUNCTION_WPARAM(recording_settings, ID2P(LANG_RECORDING_SETTINGS),
- (int (*)(void*))recording_menu,0, NULL);
+ (int (*)(void*))recording_menu,0, NULL, NOICON);
-MAKE_MENU(recording_settings_menu,ID2P(LANG_RECORDING),0,
+MAKE_MENU(recording_settings_menu,ID2P(LANG_RECORDING),
+ 0, bitmap_icons_6x8[Icon_Recording],
&rec_menu_recording_screen_item, &recording_settings);
#endif
diff --git a/apps/menus/settings_menu.c b/apps/menus/settings_menu.c
index df39dc2..9743907 100644
--- a/apps/menus/settings_menu.c
+++ b/apps/menus/settings_menu.c
@@ -47,15 +47,15 @@
#endif
MENUITEM_SETTING(tagcache_autoupdate, &global_settings.tagcache_autoupdate, NULL);
MENUITEM_FUNCTION(tc_init, ID2P(LANG_TAGCACHE_FORCE_UPDATE),
- (int(*)(void))tagcache_rebuild, NULL);
+ (int(*)(void))tagcache_rebuild, NULL, NOICON);
MENUITEM_FUNCTION(tc_update, ID2P(LANG_TAGCACHE_UPDATE),
- (int(*)(void))tagcache_update, NULL);
+ (int(*)(void))tagcache_update, NULL, NOICON);
MENUITEM_SETTING(runtimedb, &global_settings.runtimedb, NULL);
MENUITEM_FUNCTION(tc_export, ID2P(LANG_TAGCACHE_EXPORT),
- (int(*)(void))tagtree_export, NULL);
+ (int(*)(void))tagtree_export, NULL, NOICON);
MENUITEM_FUNCTION(tc_import, ID2P(LANG_TAGCACHE_IMPORT),
- (int(*)(void))tagtree_import, NULL);
-MAKE_MENU(tagcache_menu, ID2P(LANG_TAGCACHE), 0,
+ (int(*)(void))tagtree_import, NULL, NOICON);
+MAKE_MENU(tagcache_menu, ID2P(LANG_TAGCACHE), 0, NOICON,
#ifdef HAVE_TC_RAMCACHE
&tagcache_ram,
#endif
@@ -92,7 +92,8 @@
return action;
}
-MAKE_MENU(file_menu, ID2P(LANG_FILE), 0, &sort_case, &sort_dir, &sort_file,
+MAKE_MENU(file_menu, ID2P(LANG_FILE), 0, NOICON,
+ &sort_case, &sort_dir, &sort_file,
&dirfilter, &browse_current, &show_icons, &show_path_in_browser,
#ifdef HAVE_TAGCACHE
&tagcache_menu
@@ -125,7 +126,7 @@
MENUITEM_SETTING(usb_charging, &global_settings.usb_charging, usbcharging_callback);
#endif
#endif
-MAKE_MENU(battery_menu, ID2P(LANG_BATTERY_MENU), 0,
+MAKE_MENU(battery_menu, ID2P(LANG_BATTERY_MENU), 0, NOICON,
&battery_capacity,
#if BATTERY_TYPES_COUNT > 1
&battery_type,
@@ -164,7 +165,7 @@
}
MENUITEM_SETTING(dircache, &global_settings.dircache, dircache_callback);
#endif
-MAKE_MENU(disk_menu, ID2P(LANG_DISK_MENU), 0,
+MAKE_MENU(disk_menu, ID2P(LANG_DISK_MENU), 0, NOICON,
&disk_spindown,
#ifdef HAVE_DIRCACHE
&dircache,
@@ -204,9 +205,9 @@
return result;
}
-MENUITEM_FUNCTION(time_set, ID2P(LANG_TIME), timedate_set, NULL);
+MENUITEM_FUNCTION(time_set, ID2P(LANG_TIME), timedate_set, NULL, NOICON);
MENUITEM_SETTING(timeformat, &global_settings.timeformat, NULL);
-MAKE_MENU(time_menu, ID2P(LANG_TIME_MENU), 0, &time_set, &timeformat);
+MAKE_MENU(time_menu, ID2P(LANG_TIME_MENU), 0, NOICON, &time_set, &timeformat);
#endif
/* System menu */
@@ -241,16 +242,16 @@
&sleep_timer_set, 5, 0, 300, sleep_timer_formatter);
}
-MENUITEM_FUNCTION(sleep_timer_call, ID2P(LANG_SLEEP_TIMER), sleep_timer, NULL);
+MENUITEM_FUNCTION(sleep_timer_call, ID2P(LANG_SLEEP_TIMER), sleep_timer, NULL, NOICON);
#ifdef HAVE_ALARM_MOD
MENUITEM_FUNCTION(alarm_screen_call, ID2P(LANG_ALARM_MOD_ALARM_MENU),
- (menu_function)alarm_screen, NULL);
+ (menu_function)alarm_screen, NULL, NOICON);
#endif
/* Limits menu */
MENUITEM_SETTING(max_files_in_dir, &global_settings.max_files_in_dir, NULL);
MENUITEM_SETTING(max_files_in_playlist, &global_settings.max_files_in_playlist, NULL);
-MAKE_MENU(limits_menu, ID2P(LANG_LIMITS_MENU), 0,
+MAKE_MENU(limits_menu, ID2P(LANG_LIMITS_MENU), 0, NOICON,
&max_files_in_dir, &max_files_in_playlist);
#if CONFIG_CODEC == MAS3507D
@@ -274,7 +275,8 @@
MENUITEM_SETTING(car_adapter_mode, &global_settings.car_adapter_mode, NULL);
#endif
-MAKE_MENU(system_menu, ID2P(LANG_SYSTEM), 0,
+MAKE_MENU(system_menu, ID2P(LANG_SYSTEM),
+ 0, bitmap_icons_6x8[Icon_System_menu],
#ifndef SIMULATOR
&battery_menu,
#endif
@@ -326,6 +328,7 @@
MENUITEM_SETTING(autoloadbookmark, &global_settings.autoloadbookmark, NULL);
MENUITEM_SETTING(usemrb, &global_settings.usemrb, NULL);
MAKE_MENU(bookmark_settings_menu, ID2P(LANG_BOOKMARK_SETTINGS), 0,
+ bitmap_icons_6x8[Icon_Bookmark],
&autocreatebookmark, &autoloadbookmark, &usemrb);
/* BOOKMARK MENU */
/***********************************/
@@ -359,7 +362,7 @@
}
return action;
}
-MAKE_MENU(voice_settings_menu, ID2P(LANG_VOICE), 0,
+MAKE_MENU(voice_settings_menu, ID2P(LANG_VOICE), 0, bitmap_icons_6x8[Icon_Voice],
&talk_menu, &talk_dir, &talk_file_item);
/* VOICE MENU */
/***********************************/
@@ -370,9 +373,11 @@
{
return (int)rockbox_browse(LANG_DIR, SHOW_LNG);
}
-MENUITEM_FUNCTION(browse_langs, ID2P(LANG_LANGUAGE), language_browse, NULL);
+MENUITEM_FUNCTION(browse_langs, ID2P(LANG_LANGUAGE), language_browse,
+ NULL, bitmap_icons_6x8[Icon_Language]);
MAKE_MENU(settings_menu_item, ID2P(LANG_GENERAL_SETTINGS), 0,
+ bitmap_icons_6x8[Icon_General_settings_menu],
&playback_menu_item, &file_menu, &display_menu, &system_menu,
&bookmark_settings_menu, &browse_langs, &voice_settings_menu );
/* SETTINGS MENU */
diff --git a/apps/menus/sound_menu.c b/apps/menus/sound_menu.c
index 8366981..a8e86a7 100644
--- a/apps/menus/sound_menu.c
+++ b/apps/menus/sound_menu.c
@@ -75,17 +75,17 @@
&global_settings.crossfeed_hf_attenuation, soundmenu_callback);
MENUITEM_SETTING(crossfeed_hf_cutoff,
&global_settings.crossfeed_hf_cutoff, soundmenu_callback);
- MAKE_MENU(crossfeed_menu,ID2P(LANG_CROSSFEED),soundmenu_callback,
+ MAKE_MENU(crossfeed_menu,ID2P(LANG_CROSSFEED),soundmenu_callback, NOICON,
&crossfeed, &crossfeed_direct_gain, &crossfeed_cross_gain,
&crossfeed_hf_attenuation, &crossfeed_hf_cutoff);
MENUITEM_FUNCTION(equalizer_menu, ID2P(LANG_EQUALIZER),
- (int(*)(void))eq_menu, NULL);
+ (int(*)(void))eq_menu, NULL, NOICON);
MENUITEM_SETTING(dithering_enabled,
&global_settings.dithering_enabled, soundmenu_callback);
#ifdef HAVE_WM8758
MENUITEM_FUNCTION(hw_equalizer_menu, ID2P(LANG_EQUALIZER_HARDWARE),
- (int(*)(void))eq_hw_menu, NULL);
+ (int(*)(void))eq_hw_menu, NULL, NOICON);
#endif
#endif
@@ -102,7 +102,7 @@
-MAKE_MENU(sound_settings, ID2P(LANG_SOUND_SETTINGS), NULL,
+MAKE_MENU(sound_settings, ID2P(LANG_SOUND_SETTINGS), NULL, bitmap_icons_6x8[Icon_Audio],
&volume,
#ifndef HAVE_TLV320
&bass,&treble,
diff --git a/apps/recorder/icons.c b/apps/recorder/icons.c
index 4e1496e..216486e 100644
--- a/apps/recorder/icons.c
+++ b/apps/recorder/icons.c
@@ -56,12 +56,24 @@
{ 0x3e, 0x2a, 0x3e, 0x2a, 0x2a, 0x3e }, /* Language file */
{ 0x4e, 0x51, 0x51, 0x40, 0x55, 0x55 }, /* Config file */
{ 0x0a, 0x0a, 0x5f, 0x4e, 0x24, 0x18 }, /* Plugin file */
- { 0xff, 0x81, 0xaf, 0xaa, 0x8c, 0xf8 }, /* Bookmark file */
+ { 0x7f, 0x41, 0x4f, 0x4a, 0x4c, 0x78 }, /* Bookmark file */
{ 0x5f, 0x45, 0x5b, 0x40, 0x55, 0x55 }, /* Preset file */
{ 0x77, 0x55, 0x55, 0x55, 0x55, 0x77 }, /* Queued Item */
{ 0x3e, 0x41, 0x3e, 0x1c, 0x1c, 0x08 }, /* Moving Item */
{ 0x7f, 0x7f, 0x1c, 0x3e, 0x77, 0x63 }, /* Keyboard file */
{ 0x00, 0x00, 0x00, 0x08, 0x1c, 0x3e }, /* Reverse Cursor / Marker */
+ { 0x06, 0x03, 0x5b, 0x5b, 0x0f, 0x06 }, /* question mark */
+ { 0x00, 0x18, 0x24, 0x24, 0x18, 0x00 }, /* Menu Settings */
+ { 0x00, 0x18, 0x3c, 0x3c, 0x18, 0x00 }, /* function call from the menu */
+ { 0x18, 0x18, 0x7e, 0x7e, 0x18, 0x18 }, /* sub menu */
+ { 0x01, 0x55, 0x01, 0x55, 0x54, 0x54 }, /* in submenu */
+ { 0x1c, 0x3e, 0x7f, 0x7f, 0x3e, 0x1c }, /* Recording menu */
+ { 0x1c, 0x1c, 0x22, 0x41, 0x7f, 0x00 }, /* voice menu */
+ { 0x06, 0x0f, 0x78, 0x78, 0x0f, 0x06 }, /* general settings menu */
+ { 0x1e, 0x22, 0x49, 0x49, 0x22, 0x1e }, /* system menu */
+ { 0x7f, 0x7f, 0x3e, 0x1c, 0x08, 0x00 }, /* playback menu */
+ { 0x1f, 0x51, 0x71, 0x71, 0x51, 0x1f }, /* display menu */
+ { 0x03, 0x05, 0x7f, 0x05, 0x03, 0x00 }, /* radio */
};
const unsigned char bitmap_icons_7x8[][7] =
diff --git a/apps/recorder/icons.h b/apps/recorder/icons.h
index 5aec073..7b10f0c 100644
--- a/apps/recorder/icons.h
+++ b/apps/recorder/icons.h
@@ -19,6 +19,8 @@
#ifndef _ICONS_H_
#define _ICONS_H_
+#ifndef PLUGIN
+
#include <lcd.h>
#ifdef HAVE_LCD_BITMAP
@@ -64,6 +66,18 @@
Icon_Moving,
Icon_Keyboard,
Icon_Reverse_Cursor,
+ Icon_Questionmark,
+ Icon_Menu_setting,
+ Icon_Menu_functioncall,
+ Icon_Submenu,
+ Icon_Submenu_Entered,
+ Icon_Recording,
+ Icon_Voice,
+ Icon_General_settings_menu,
+ Icon_System_menu,
+ Icon_Playback_menu,
+ Icon_Display_menu,
+ Icon_Radio_screen,
Icon6x8Last,
};
@@ -163,5 +177,5 @@
#endif
#endif /* End HAVE_LCD_BITMAP */
-
+#endif /* PLUGIN */
#endif /* _ICONS_H_ */
diff --git a/apps/settings.c b/apps/settings.c
index 52cfb6e..f424b44 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -1096,7 +1096,13 @@
else oldvalue = *(bool*)variable;
gui_synclist_init(&lists,value_setting_get_name_cb,(void*)cb_data,false,1);
- gui_synclist_set_title(&lists, (char*)string, NOICON);
+ gui_synclist_set_title(&lists, (char*)string,
+#ifdef HAVE_LCD_BITMAP
+ bitmap_icons_6x8[Icon_Questionmark]
+#else
+ NOICON
+#endif
+ );
gui_synclist_set_icon_callback(&lists,NULL);
gui_synclist_set_nb_items(&lists,nb_items);
gui_synclist_limit_scroll(&lists,true);
diff --git a/uisimulator/common/stubs.c b/uisimulator/common/stubs.c
index c4130f1..a993a9e 100644
--- a/uisimulator/common/stubs.c
+++ b/uisimulator/common/stubs.c
@@ -24,7 +24,6 @@
#include "screens.h"
#include "button.h"
-#include "menu.h"
#include "string.h"
#include "lcd.h"