summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2007-02-14 06:58:30 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2007-02-14 06:58:30 +0000
commit5599d6806d12d22b724d7967717edae07db3e08f (patch)
treeaccbaab8ecb8b3d7078daeb2df1d76a4b0ab67df /apps
parent7df87126f0ff5fea2554928db3d8ab7af06c6737 (diff)
downloadrockbox-5599d6806d12d22b724d7967717edae07db3e08f.tar.gz
rockbox-5599d6806d12d22b724d7967717edae07db3e08f.tar.bz2
rockbox-5599d6806d12d22b724d7967717edae07db3e08f.zip
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
Diffstat (limited to 'apps')
-rw-r--r--apps/menu.c48
-rw-r--r--apps/menu.h46
-rw-r--r--apps/menus/display_menu.c3
-rw-r--r--apps/menus/main_menu.c17
-rw-r--r--apps/menus/playback_menu.c9
-rw-r--r--apps/menus/playlist_menu.c9
-rw-r--r--apps/menus/recording_menu.c7
-rw-r--r--apps/menus/settings_menu.c37
-rw-r--r--apps/menus/sound_menu.c8
-rw-r--r--apps/recorder/icons.c14
-rw-r--r--apps/recorder/icons.h16
-rw-r--r--apps/settings.c8
12 files changed, 170 insertions, 52 deletions
diff --git a/apps/menu.c b/apps/menu.c
index f1738e7284..200dd5b983 100644
--- a/apps/menu.c
+++ b/apps/menu.c
@@ -374,12 +374,43 @@ static char * get_menu_item_name(int selected_item,void * data, char *buffer)
}
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 @@ static void init_menu_lists(const struct menu_item_ex *menu,
}
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 a192df3073..3555cd2de6 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 @@ struct menu_item_ex {
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 @@ int do_menu(const struct menu_item_ex *menu);
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 @@ int do_menu(const struct menu_item_ex *menu);
/* 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,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}; \
+ 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 f44561338d..adb24395fa 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 da9d47e767..886711853b 100644
--- a/apps/menus/main_menu.c
+++ b/apps/menus/main_menu.c
@@ -58,23 +58,24 @@ static int browse_folder(void *param)
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 @@ static int do_shutdown(void)
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 74a64831dd..7c0f75198d 100644
--- a/apps/menus/playback_menu.c
+++ b/apps/menus/playback_menu.c
@@ -60,7 +60,7 @@ MENUITEM_SETTING(resume, &global_settings.resume, NULL);
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 @@ MENUITEM_SETTING(crossfade_fade_out_duration,
&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, &global_settings.replaygain ,replaygain_callback);
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(audioscrobbler, &global_settings.audioscrobbler, audioscrobbler
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 d9e6f780f7..f179265279 100644
--- a/apps/menus/playlist_menu.c
+++ b/apps/menus/playlist_menu.c
@@ -63,17 +63,18 @@ int save_playlist_screen(struct playlist_info* playlist)
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 84a3bc5402..0b4ba52715 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 df39dc20ad..9743907344 100644
--- a/apps/menus/settings_menu.c
+++ b/apps/menus/settings_menu.c
@@ -47,15 +47,15 @@ MENUITEM_SETTING(tagcache_ram, &global_settings.tagcache_ram, NULL);
#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 @@ static int fileview_callback(int action,const struct menu_item_ex *this_item)
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 @@ static int usbcharging_callback(int action,const struct menu_item_ex *this_item)
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 @@ static int dircache_callback(int action,const struct menu_item_ex *this_item)
}
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 @@ static int timedate_set(void)
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 @@ static int sleep_timer(void)
&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(line_in, &global_settings.line_in, linein_callback);
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(autocreatebookmark,
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 @@ static int talk_callback(int action,const struct menu_item_ex *this_item)
}
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 @@ static int language_browse(void)
{
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 8366981742..a8e86a7eed 100644
--- a/apps/menus/sound_menu.c
+++ b/apps/menus/sound_menu.c
@@ -75,17 +75,17 @@ MENUITEM_SETTING(stereo_width, &global_settings.stereo_width, soundmenu_callback
&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 @@ MENUITEM_SETTING(stereo_width, &global_settings.stereo_width, soundmenu_callback
-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 4e1496e721..216486effb 100644
--- a/apps/recorder/icons.c
+++ b/apps/recorder/icons.c
@@ -56,12 +56,24 @@ const unsigned char bitmap_icons_6x8[][6] =
{ 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 5aec0730c6..7b10f0c44a 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 @@ enum icons_6x8 {
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 @@ extern void statusbar_led(void);
#endif
#endif /* End HAVE_LCD_BITMAP */
-
+#endif /* PLUGIN */
#endif /* _ICONS_H_ */
diff --git a/apps/settings.c b/apps/settings.c
index 52cfb6ed48..f424b44d43 100644
--- a/apps/settings.c
+++ b/apps/settings.c
@@ -1096,7 +1096,13 @@ static bool do_set_setting(const unsigned char* string, void *variable,
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);