1
0
Fork 0
forked from len0rd/rockbox

battery/volume status can be displayed numerically

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@2750 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Robert Hak 2002-10-26 05:26:23 +00:00
parent 061763b2a6
commit 5a9e8929cd
6 changed files with 148 additions and 82 deletions

View file

@ -1028,4 +1028,22 @@ desc: in settings_menu
eng: "Ask Once" eng: "Ask Once"
new: new:
id: LANG_BATTERY_DISPLAY
desc: Battery type title
eng: "Battery Display"
new:
id: LANG_VOLUME_DISPLAY
desc: Volume type title
eng: "Volume Display"
new:
id: LANG_DISPLAY_GRAPHIC
desc: Label for type of icon display
eng: "Graphic"
new:
id: LANG_DISPLAY_NUMERIC
desc: Label for type of icon display
eng: "Numeric"
new:

View file

@ -152,22 +152,38 @@ void statusbar_icon_battery(int percent, bool charging)
{ {
int i; int i;
int fill; int fill;
char buffer[5];
unsigned int width, height;
/* draw battery */ /* fill battery */
lcd_drawrect(ICON_BATTERY_X_POS, STATUSBAR_Y_POS, 17, 7); fill=percent;
for (i=2; i < 5; i++) if (fill < 0)
lcd_drawpixel(ICON_BATTERY_X_POS + 17, STATUSBAR_Y_POS + i); fill = 0;
if (fill > 100)
/* fill battery */ fill = 100;
fill=percent;
if (fill < 0)
fill = 0;
if (fill > 100)
fill = 100;
fill = fill * 15 / 100; if (global_settings.battery_type) {
lcd_fillrect(ICON_BATTERY_X_POS + 1, STATUSBAR_Y_POS + 1, fill, 5); /* Numeric display */
snprintf(buffer, sizeof(buffer), "%3d", percent);
lcd_setfont(FONT_SYSFIXED);
lcd_getstringsize(buffer, &width, &height);
if (height <= STATUSBAR_HEIGHT)
lcd_putsxy(ICON_BATTERY_X_POS + ICON_BATTERY_WIDTH / 2 -
width/2, STATUSBAR_Y_POS, buffer);
lcd_setfont(FONT_UI);
} else {
/* draw battery */
lcd_drawrect(ICON_BATTERY_X_POS, STATUSBAR_Y_POS, 17, 7);
for (i=2; i < 5; i++)
lcd_drawpixel(ICON_BATTERY_X_POS + 17, STATUSBAR_Y_POS + i);
fill = fill * 15 / 100;
lcd_fillrect(ICON_BATTERY_X_POS + 1, STATUSBAR_Y_POS + 1, fill, 5);
}
/* draw power plug if charging */ /* draw power plug if charging */
if (charging) if (charging)
@ -207,8 +223,11 @@ void statusbar_icon_volume(int percent)
switch_tick = current_tick + HZ; switch_tick = current_tick + HZ;
last_volume = volume; last_volume = volume;
} }
/* display volume lever numerical? */
if (TIME_BEFORE(current_tick,switch_tick)) { /* display volume level numerical? */
if (global_settings.volume_type ||
TIME_BEFORE(current_tick,switch_tick))
{
snprintf(buffer, sizeof(buffer), "%2d", percent); snprintf(buffer, sizeof(buffer), "%2d", percent);
lcd_setfont(FONT_SYSFIXED); lcd_setfont(FONT_SYSFIXED);
lcd_getstringsize(buffer, &width, &height); lcd_getstringsize(buffer, &width, &height);
@ -216,8 +235,8 @@ void statusbar_icon_volume(int percent)
lcd_putsxy(ICON_VOLUME_X_POS + ICON_VOLUME_WIDTH / 2 - lcd_putsxy(ICON_VOLUME_X_POS + ICON_VOLUME_WIDTH / 2 -
width/2, STATUSBAR_Y_POS, buffer); width/2, STATUSBAR_Y_POS, buffer);
lcd_setfont(FONT_UI); lcd_setfont(FONT_UI);
} } else {
else { /* display volume bar */ /* display volume bar */
volume = volume * 14 / 100; volume = volume * 14 / 100;
for(i=0; i < volume; i++) { for(i=0; i < volume; i++) {
if(i%2 == 0) if(i%2 == 0)

View file

@ -1,12 +1,13 @@
/*
# Map legend: # Map legend:
# #
# white space is clear back ground # 1 white space is clear back ground
# X = black back ground # 0 X = black back ground
# # = wall # 2 # = wall
# . = block destination # 3 . = block destination
# @ = starting position # 5 @ = starting position
# $ = movable block # 4 $ = movable block
# 7 % = a placed block
level: 1 level: 1
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
@ -70,7 +71,7 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXXXXXXX#####XXXXXX XXXXXXXXX#####XXXXXX
XXXXXX#### .#XXXXXX XXXXXX#### .#XXXXXX
XXXXXX# $ 7#XXXXXX XXXXXX# $ %#XXXXXX
XXXXXX# $$ $.#XXXXXX XXXXXX# $$ $.#XXXXXX
XXXXXX##@##..#XXXXXX XXXXXX##@##..#XXXXXX
XXXXXXX#######XXXXXX XXXXXXX#######XXXXXX
@ -180,7 +181,7 @@ XXXXXXXX#####XXXXXXX
XXXXXX### @#XXXXXXX XXXXXX### @#XXXXXXX
XXXXXX# $. ##XXXXXX XXXXXX# $. ##XXXXXX
XXXXXX# .$. #XXXXXX XXXXXX# .$. #XXXXXX
XXXXXX### 7$ #XXXXXX XXXXXX### %$ #XXXXXX
XXXXXXXX# ##XXXXXX XXXXXXXX# ##XXXXXX
XXXXXXXX#####XXXXXXX XXXXXXXX#####XXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
@ -196,7 +197,7 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXX########XXXXXX XXXXXX########XXXXXX
XXXXXX# # #XXXXXX XXXXXX# # #XXXXXX
XXXXXX# $..$ #XXXXXX XXXXXX# $..$ #XXXXXX
XXXXXX#@$.7 ##XXXXXX XXXXXX#@$.% ##XXXXXX
XXXXXX# $..$ #XXXXXX XXXXXX# $..$ #XXXXXX
XXXXXX# # #XXXXXX XXXXXX# # #XXXXXX
XXXXXX########XXXXXX XXXXXX########XXXXXX
@ -250,7 +251,7 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXX########XXXXX XXXXXXX########XXXXX
XXXXXXX# #. #XXXXX XXXXXXX# #. #XXXXX
XXXXXX## $...#XXXXX XXXXXX## $...#XXXXX
XXXXXX# $ #7.#XXXXX XXXXXX# $ #%.#XXXXX
XXXXX## ##$# ##XXXXX XXXXX## ##$# ##XXXXX
XXXXX# $ $ #XXXXX XXXXX# $ $ #XXXXX
XXXXX# # #XXXXX XXXXX# # #XXXXX
@ -338,11 +339,11 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXXX#########XXXXXX XXXXX#########XXXXXX
XXXXX# 7 #XXXXXX XXXXX# % #XXXXXX
XXXXX# $.$. @#XXXXXX XXXXX# $.$. @#XXXXXX
XXXXX# .$.$. #XXXXXX XXXXX# .$.$. #XXXXXX
XXXXX# $.$.$ #XXXXXX XXXXX# $.$.$ #XXXXXX
XXXXX# 7 #XXXXXX XXXXX# % #XXXXXX
XXXXX#########XXXXXX XXXXX#########XXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
@ -396,7 +397,7 @@ XXXXXX#####XXXXXXXXX
XXXXXX# ####XXXXXX XXXXXX# ####XXXXXX
XXXXX## #$ #XXXXXX XXXXX## #$ #XXXXXX
XXXXX# $ $$ #XXXXXX XXXXX# $ $$ #XXXXXX
XXXXX# #$#.7.#XXXXXX XXXXX# #$#.%.#XXXXXX
XXXXX# @...#XXXXXX XXXXX# @...#XXXXXX
XXXXX#########XXXXXX XXXXX#########XXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
@ -412,8 +413,8 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXX#####XXXXXX XXXXXXXXX#####XXXXXX
XXXXXX#### ##XXXXX XXXXXX#### ##XXXXX
XXXXXX# $ $ #XXXXX XXXXXX# $ $ #XXXXX
XXXXXX#@#.7.# #XXXXX XXXXXX#@#.%.# #XXXXX
XXXXXX# #.7.# #XXXXX XXXXXX# #.%.# #XXXXX
XXXXXX# $ $ #XXXXX XXXXXX# $ $ #XXXXX
XXXXXX## ####XXXXX XXXXXX## ####XXXXX
XXXXXXX#####XXXXXXXX XXXXXXX#####XXXXXXXX
@ -466,9 +467,9 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXXX#######XXXXXXXX XXXXX#######XXXXXXXX
XXXXX# #####XXXX XXXXX# #####XXXX
XXXXX# $ .7. $ #XXXX XXXXX# $ .%. $ #XXXX
XXXXX#@$.7 7.$ #XXXX XXXXX#@$.% %.$ #XXXX
XXXXX# $ .7. $ #XXXX XXXXX# $ .%. $ #XXXX
XXXXX###### #XXXX XXXXX###### #XXXX
XXXXXXXXXX######XXXX XXXXXXXXXX######XXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
@ -484,8 +485,8 @@ XXXXXXXXXXXXXXXXXXXX
XXXXX######XXXXXXXXX XXXXX######XXXXXXXXX
XXXXX# #XXXXXXXXX XXXXX# #XXXXXXXXX
XXXXX# $ ####XXXXXX XXXXX# $ ####XXXXXX
XXXXX# $7..7 #XXXXXX XXXXX# $%..% #XXXXXX
XXXXX# 7..7$ #XXXXXX XXXXX# %..%$ #XXXXXX
XXXXX#### $ #XXXXXX XXXXX#### $ #XXXXXX
XXXXXXXX# @ #XXXXXX XXXXXXXX# @ #XXXXXX
XXXXXXXX######XXXXXX XXXXXXXX######XXXXXX
@ -574,9 +575,9 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXXXX########XXXXXX XXXXXX########XXXXXX
XXXXXX# #.. ##XXXXX XXXXXX# #.. ##XXXXX
XXXXXX# $. $7 #XXXXX XXXXXX# $. $% #XXXXX
XXXXXX# $@$ #XXXXX XXXXXX# $@$ #XXXXX
XXXXXX# 7$ .$ #XXXXX XXXXXX# %$ .$ #XXXXX
XXXXXX## ..# #XXXXX XXXXXX## ..# #XXXXX
XXXXXXX########XXXXX XXXXXXX########XXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
@ -590,13 +591,13 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXXXX#######XXXXXXX XXXXXX#######XXXXXXX
XXXXX## 7 ##XXXXXX XXXXX## % ##XXXXXX
XXXXX# . . . #XXXXXX XXXXX# . . . #XXXXXX
XXXXX# $ 7 #XXXXXX XXXXX# $ % #XXXXXX
XXXXX#7$$7$$7#XXXXXX XXXXX#%$$%$$%#XXXXXX
XXXXX# 7 $ #XXXXXX XXXXX# % $ #XXXXXX
XXXXX# . .@. #XXXXXX XXXXX# . .@. #XXXXXX
XXXXX## 7 ##XXXXXX XXXXX## % ##XXXXXX
XXXXXX#######XXXXXXX XXXXXX#######XXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
@ -609,9 +610,9 @@ XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXXX#########XXXXXX XXXXX#########XXXXXX
XXXXX# .$ @#XXXXXX XXXXX# .$ @#XXXXXX
XXXXX# $ 7 $ #XXXXXX XXXXX# $ % $ #XXXXXX
XXXXX#7...7.7#XXXXXX XXXXX#%...%.%#XXXXXX
XXXXX# $$7 #XXXXXX XXXXX# $$% #XXXXXX
XXXXX# . $ #XXXXXX XXXXX# . $ #XXXXXX
XXXXX#########XXXXXX XXXXX#########XXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
@ -681,7 +682,7 @@ XXXXXXXX#######XXXXX
XXXXXX### #XXXXX XXXXXX### #XXXXX
XXXXX## # # #XXXXX XXXXX## # # #XXXXX
XXXXX# #.$$$ #XXXXX XXXXX# #.$$$ #XXXXX
XXXXX# #.7# ###XXXXX XXXXX# #.%# ###XXXXX
XXXXX# ..# #XXXXXXX XXXXX# ..# #XXXXXXX
XXXXX###..$ ##XXXXXX XXXXX###..$ ##XXXXXX
XXXXXXX#.# $ #XXXXXX XXXXXXX#.# $ #XXXXXX
@ -718,7 +719,7 @@ XXXXX# #XXXXXXX
XXXXX# @ $# #XXXXXXX XXXXX# @ $# #XXXXXXX
XXXXX## # #XXXXXXX XXXXX## # #XXXXXXX
XXXXX# $#.# #XXXXXXX XXXXX# $#.# #XXXXXXX
XXXXX# .7.$#XXXXXXX XXXXX# .%.$#XXXXXXX
XXXXX## #.# #XXXXXXX XXXXX## #.# #XXXXXXX
XXXXXX# #. ##XXXXXX XXXXXX# #. ##XXXXXX
XXXXX## $.# #XXXXXX XXXXX## $.# #XXXXXX
@ -737,7 +738,7 @@ XXXX#### #XXXXX
XXXX# .### ##XXXXX XXXX# .### ##XXXXX
XXXX# # # ##XXXXX XXXX# # # ##XXXXX
XXXX# # $ $#. #XXXXX XXXX# # $ $#. #XXXXX
XXXX# # 7 # #XXXXX XXXX# # % # #XXXXX
XXXX# .#$ $ # #XXXXX XXXX# .#$ $ # #XXXXX
XXXX## # # #XXXXX XXXX## # # #XXXXX
XXXXX# ###. #XXXXX XXXXX# ###. #XXXXX
@ -775,9 +776,9 @@ XXXXXX##$# .#XXXXXX
XXXXXXX# #$# #XXXXXX XXXXXXX# #$# #XXXXXX
XXXXXX##. . #XXXXXX XXXXXX##. . #XXXXXX
XXXXXX# ## #XXXXXX XXXXXX# ## #XXXXXX
XXXXXX# # 7#XXXXXX XXXXXX# # %#XXXXXX
XXXXXX# $ $ #XXXXXX XXXXXX# $ $ #XXXXXX
XXXXXX# $#7 @#XXXXXX XXXXXX# $#% @#XXXXXX
XXXXXX# #.###XXXXXX XXXXXX# #.###XXXXXX
XXXXXX######XXXXXXXX XXXXXX######XXXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
@ -807,11 +808,11 @@ XXXXXXXXX####XXXXXXX
XXXXXXX### ##XXXXXX XXXXXXX### ##XXXXXX
XXXXXX## ##XXXXX XXXXXX## ##XXXXX
XXXXXX# # ..#XXXXX XXXXXX# # ..#XXXXX
XXXXX## $#7#$.#XXXXX XXXXX## $#%#$.#XXXXX
XXXXX# $ # $.#XXXXX XXXXX# $ # $.#XXXXX
XXXXX# $ @ $.#XXXXX XXXXX# $ @ $.#XXXXX
XXXXX# $ # $.#XXXXX XXXXX# $ # $.#XXXXX
XXXXX##$$#7#$.#XXXXX XXXXX##$$#%#$.#XXXXX
XXXXXX#. # ..#XXXXX XXXXXX#. # ..#XXXXX
XXXXXX##. ##XXXXX XXXXXX##. ##XXXXX
XXXXXXX### ##XXXXXX XXXXXXX### ##XXXXXX
@ -894,16 +895,16 @@ level: 50
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXXX##########XXXXX XXXXX##########XXXXX
XXXXX#..$ $ 7.#XXXXX XXXXX#..$ $ %.#XXXXX
XXXXX#.7 $ $..#XXXXX XXXXX#.% $ $..#XXXXX
XXXXX##.$ $ 7##XXXXX XXXXX##.$ $ %##XXXXX
XXXXXX#7 $ $.#XXXXXX XXXXXX#% $ $.#XXXXXX
XXXXXX#.$ $ .#XXXXXX XXXXXX#.$ $ .#XXXXXX
XXXXXX#. $ $.#XXXXXX XXXXXX#. $ $.#XXXXXX
XXXXXX#.$@$ 7#XXXXXX XXXXXX#.$@$ %#XXXXXX
XXXXX##7 $ $.##XXXXX XXXXX##% $ $.##XXXXX
XXXXX#..$ $ 7.#XXXXX XXXXX#..$ $ %.#XXXXX
XXXXX#.7 $ $..#XXXXX XXXXX#.% $ $..#XXXXX
XXXXX##########XXXXX XXXXX##########XXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX
@ -1170,7 +1171,7 @@ XXX# # @ $ # $#XXXX
XXX# # $ ####X XXX# # $ ####X
XXX## ####$## #X XXX## ####$## #X
XXX# $#.....# # #X XXX# $#.....# # #X
XXX# $..77. $# ###X XXX# $..%%. $# ###X
XX## #.....# #XXX XX## #.....# #XXX
XX# ### #######XXX XX# ### #######XXX
XX# $$ # #XXXXXXXX XX# $$ # #XXXXXXXX
@ -1189,7 +1190,7 @@ XXXX# ## $ $ ##XXX
XXXX# $ ## ## .#XXX XXXX# $ ## ## .#XXX
XXXX# #$##$ #.#XXX XXXX# #$##$ #.#XXX
XXXX### $..##.#XXX XXXX### $..##.#XXX
XXXXX# #.7...#XXX XXXXX# #.%...#XXX
XXXXX# $$ #.....#XXX XXXXX# $$ #.....#XXX
XXXXX# #########XXX XXXXX# #########XXX
XXXXX# #XXXXXXXXXXX XXXXX# #XXXXXXXXXXX
@ -1261,9 +1262,9 @@ X# # $ # #$ ..#
X# # ### ## #.# X# # ### ## #.#
X# ### # # #$ ..# X# ### # # #$ ..#
X# # # $#### #.# X# # # $#### #.#
X# #$ $ $ #7 ..# X# #$ $ $ #% ..#
X# $ # $ $ # #.# X# $ # $ $ # #.#
X#### $### #7 ..# X#### $### #% ..#
XXXX# $$ ###....# XXXX# $$ ###....#
XXXX# ##X###### XXXX# ##X######
XXXX########XXXXXXXX XXXX########XXXXXXXX
@ -1421,8 +1422,8 @@ X## # # ######
X## # $#$#@ # # X## # $#$#@ # #
X# # $ # $ # X# # $ # $ #
X# ### ######### ## X# ### ######### ##
X# ## ..7..... # ## X# ## ..%..... # ##
X## ## 7.7..7.7 # ## X## ## %.%..%.% # ##
X# $########## ##$ # X# $########## ##$ #
X# $ $ $ $ # X# $ $ $ $ #
X# # # # # # X# # # # # #
@ -1756,11 +1757,11 @@ XXXXXXXXXXXXXXXXXXXX
level: 98 level: 98
XXXXX#########XXXXXX XXXXX#########XXXXXX
XXXXX#7.7#7.7#XXXXXX XXXXX#%.%#%.%#XXXXXX
XXXXX#.7.7.7.#XXXXXX XXXXX#.%.%.%.#XXXXXX
XXXXX#7.7.7.7#XXXXXX XXXXX#%.%.%.%#XXXXXX
XXXXX#.7.7.7.#XXXXXX XXXXX#.%.%.%.#XXXXXX
XXXXX#7.7.7.7#XXXXXX XXXXX#%.%.%.%#XXXXXX
XXXXX### ###XXXXXX XXXXX### ###XXXXXX
XXXXXXX# #XXXXXXXX XXXXXXX# #XXXXXXXX
XXX###### ######XXXX XXX###### ######XXXX
@ -1782,7 +1783,7 @@ XXX#### $ #XXXX
X### # ##### #XXXX X### # ##### #XXXX
X# # #....$ #XXXX X# # #....$ #XXXX
X# # $ ....# #XXXX X# # $ ....# #XXXX
X# $ # #.7..# #XXXX X# $ # #.%..# #XXXX
X### #### ### #XXXX X### #### ### #XXXX
XXX#### @$ ##$##XXX XXX#### @$ ##$##XXX
XXXXXX### $ #XXX XXXXXX### $ #XXX
@ -1793,9 +1794,9 @@ XXXXXXXXXXXXXXXXXXXX
level: 100 level: 100
XXXXXX############XX XXXXXX############XX
XXXXX##.. #XX XXXXX##.. #XX
XXXX##..7 $ $ #XX XXXX##..% $ $ #XX
XXX##..7.# # #$ ##XX XXX##..%.# # #$ ##XX
XXX#..7.# # # $ #XX XXX#..%.# # # $ #XX
####...# # # #XX ####...# # # #XX
# ## # #XX # ## # #XX
# @$ $ ### # # ##XX # @$ $ ### # # ##XX

View file

@ -82,7 +82,7 @@ offset abs
0x0d 0x21 <resume settings byte> 0x0d 0x21 <resume settings byte>
0x0e 0x22 <shuffle,dirfilter,sort_case,discharge,statusbar,show_hidden, 0x0e 0x22 <shuffle,dirfilter,sort_case,discharge,statusbar,show_hidden,
scroll bar> scroll bar>
0x0f 0x23 <scroll speed> 0x0f 0x23 <timeformat, scroll speed. volume type, battery type>
0x10 0x24 <ff/rewind min step, acceleration rate> 0x10 0x24 <ff/rewind min step, acceleration rate>
0x11 0x25 <AVC, channel config> 0x11 0x25 <AVC, channel config>
0x12 0x26 <(int) Resume playlist index, or -1 if no playlist resume> 0x12 0x26 <(int) Resume playlist index, or -1 if no playlist resume>
@ -294,10 +294,12 @@ int settings_save( void )
((global_settings.statusbar & 1) << 4) | ((global_settings.statusbar & 1) << 4) |
((global_settings.dirfilter & 2) << 4) | ((global_settings.dirfilter & 2) << 4) |
((global_settings.scrollbar & 1) << 6)); ((global_settings.scrollbar & 1) << 6));
config_block[0xf] = (unsigned char) config_block[0xf] = (unsigned char)
((global_settings.timeformat & 1) << 2) | (((global_settings.timeformat & 1) << 2) |
((global_settings.scroll_speed << 3)); ( global_settings.scroll_speed << 3) |
((global_settings.volume_type & 1) << 4) |
((global_settings.battery_type & 1) << 5));
config_block[0x10] = (unsigned char) config_block[0x10] = (unsigned char)
((global_settings.ff_rewind_min_step & 15) << 4 | ((global_settings.ff_rewind_min_step & 15) << 4 |
@ -466,6 +468,8 @@ void settings_load(void)
if (config_block[0xf] != 0xFF) { if (config_block[0xf] != 0xFF) {
global_settings.timeformat = (config_block[0xf] >> 2) & 1; global_settings.timeformat = (config_block[0xf] >> 2) & 1;
global_settings.scroll_speed = config_block[0xf] >> 3; global_settings.scroll_speed = config_block[0xf] >> 3;
global_settings.volume_type = (config_block[0xf] >> 4) & 1;
global_settings.battery_type = (config_block[0xf] >> 5) & 1;
} }
if (config_block[0x10] != 0xFF) { if (config_block[0x10] != 0xFF) {
@ -670,6 +674,8 @@ void settings_reset(void) {
global_settings.discharge = 0; global_settings.discharge = 0;
global_settings.total_uptime = 0; global_settings.total_uptime = 0;
global_settings.timeformat = 0; global_settings.timeformat = 0;
global_settings.volume_type = 0;
global_settings.battery_type = 0;
global_settings.scroll_speed = 8; global_settings.scroll_speed = 8;
global_settings.ff_rewind_min_step = DEFAULT_FF_REWIND_MIN_STEP; global_settings.ff_rewind_min_step = DEFAULT_FF_REWIND_MIN_STEP;
global_settings.ff_rewind_accel = DEFAULT_FF_REWIND_ACCEL_SETTING; global_settings.ff_rewind_accel = DEFAULT_FF_REWIND_ACCEL_SETTING;

View file

@ -87,6 +87,8 @@ struct user_settings
int repeat_mode; /* 0=off 1=repeat all 2=repeat one */ int repeat_mode; /* 0=off 1=repeat all 2=repeat one */
int dirfilter; /* 0=display all, 1=only supported, 2=only music */ int dirfilter; /* 0=display all, 1=only supported, 2=only music */
bool sort_case; /* dir sort order: 0=case insensitive, 1=sensitive */ bool sort_case; /* dir sort order: 0=case insensitive, 1=sensitive */
int volume_type; /* how volume is displayed: 0=graphic, 1=percent */
int battery_type;
int timeformat; /* time format: 0=24 hour clock, 1=12 hour clock */ int timeformat; /* time format: 0=24 hour clock, 1=12 hour clock */
int scroll_speed; /* long texts scrolling speed: 1-30 */ int scroll_speed; /* long texts scrolling speed: 1-30 */
bool playlist_shuffle; bool playlist_shuffle;

View file

@ -157,6 +157,24 @@ static bool sort_case(void)
return set_bool( str(LANG_SORT_CASE), &global_settings.sort_case ); return set_bool( str(LANG_SORT_CASE), &global_settings.sort_case );
} }
static bool battery_type(void)
{
char* names[] = { str(LANG_DISPLAY_GRAPHIC),
str(LANG_DISPLAY_NUMERIC) };
return set_option( str(LANG_BATTERY_DISPLAY),
&global_settings.battery_type, names, 2, NULL);
}
static bool volume_type(void)
{
char* names[] = { str(LANG_DISPLAY_GRAPHIC),
str(LANG_DISPLAY_NUMERIC) };
return set_option( str(LANG_VOLUME_DISPLAY), &global_settings.volume_type,
names, 2, NULL);
}
static bool resume(void) static bool resume(void)
{ {
char* names[] = { str(LANG_SET_BOOL_NO), char* names[] = { str(LANG_SET_BOOL_NO),
@ -427,6 +445,8 @@ static bool display_settings_menu(void)
{ str(LANG_CONTRAST), contrast }, { str(LANG_CONTRAST), contrast },
#ifdef HAVE_LCD_BITMAP #ifdef HAVE_LCD_BITMAP
{ str(LANG_PM_MENU), peak_meter_menu }, { str(LANG_PM_MENU), peak_meter_menu },
{ str(LANG_VOLUME_DISPLAY), volume_type },
{ str(LANG_BATTERY_DISPLAY), battery_type },
#endif #endif
}; };