diff options
author | Jens Arnold <amiconn@rockbox.org> | 2005-11-22 11:31:28 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2005-11-22 11:31:28 +0000 |
commit | fd02642ee0238ae2b32b7a5ea7005abf0e72489d (patch) | |
tree | 9e1b3eb683698210e439fb3867b0709d6f1bb03a | |
parent | be15957c247acf928ebb07f2bc327fffa6a34baa (diff) | |
download | rockbox-fd02642ee0238ae2b32b7a5ea7005abf0e72489d.tar.gz rockbox-fd02642ee0238ae2b32b7a5ea7005abf0e72489d.zip |
Fixed truncated option strings for numeric settings.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8043 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | apps/gui/option_select.c | 7 | ||||
-rw-r--r-- | apps/gui/option_select.h | 4 | ||||
-rw-r--r-- | apps/gui/quickscreen.c | 6 | ||||
-rw-r--r-- | apps/gui/select.c | 3 |
4 files changed, 12 insertions, 8 deletions
diff --git a/apps/gui/option_select.c b/apps/gui/option_select.c index 0e169617c4..68103c77c3 100644 --- a/apps/gui/option_select.c +++ b/apps/gui/option_select.c | |||
@@ -90,13 +90,14 @@ void option_select_prev(struct option_select * opt) | |||
90 | opt->option-=opt->step; | 90 | opt->option-=opt->step; |
91 | } | 91 | } |
92 | 92 | ||
93 | const char * option_select_get_text(struct option_select * opt, char * buffer) | 93 | const char * option_select_get_text(struct option_select * opt, char * buffer, |
94 | int buffersize) | ||
94 | { | 95 | { |
95 | if(opt->items) | 96 | if(opt->items) |
96 | return(P2STR(opt->items[opt->option].string)); | 97 | return(P2STR(opt->items[opt->option].string)); |
97 | if(!opt->formatter) | 98 | if(!opt->formatter) |
98 | snprintf(buffer, sizeof buffer,"%d %s", opt->option, opt->extra_string); | 99 | snprintf(buffer, buffersize,"%d %s", opt->option, opt->extra_string); |
99 | else | 100 | else |
100 | opt->formatter(buffer, sizeof buffer, opt->option, opt->extra_string); | 101 | opt->formatter(buffer, buffersize, opt->option, opt->extra_string); |
101 | return(buffer); | 102 | return(buffer); |
102 | } | 103 | } |
diff --git a/apps/gui/option_select.h b/apps/gui/option_select.h index c6a5e196f0..f667993781 100644 --- a/apps/gui/option_select.h +++ b/apps/gui/option_select.h | |||
@@ -77,7 +77,9 @@ extern void option_select_init_items(struct option_select * opt, | |||
77 | * - buffer : a buffer to eventually format the option | 77 | * - buffer : a buffer to eventually format the option |
78 | * Returns the selected option | 78 | * Returns the selected option |
79 | */ | 79 | */ |
80 | extern const char * option_select_get_text(struct option_select * opt, char * buffer); | 80 | extern const char * option_select_get_text(struct option_select * opt, |
81 | char * buffer, | ||
82 | int buffersize); | ||
81 | 83 | ||
82 | /* | 84 | /* |
83 | * Selects the next value | 85 | * Selects the next value |
diff --git a/apps/gui/quickscreen.c b/apps/gui/quickscreen.c index 760c1bdb00..a11107cb51 100644 --- a/apps/gui/quickscreen.c +++ b/apps/gui/quickscreen.c | |||
@@ -66,14 +66,14 @@ void gui_quickscreen_draw(struct gui_quickscreen * qs, struct screen * display) | |||
66 | 66 | ||
67 | /* Displays the left's text */ | 67 | /* Displays the left's text */ |
68 | title=option_select_get_title(qs->left_option); | 68 | title=option_select_get_title(qs->left_option); |
69 | option=option_select_get_text(qs->left_option, buffer); | 69 | option=option_select_get_text(qs->left_option, buffer, sizeof buffer); |
70 | display->putsxy(0, display->height/2 - h*2, title); | 70 | display->putsxy(0, display->height/2 - h*2, title); |
71 | display->putsxy(0, display->height/2 - h, qs->left_right_title); | 71 | display->putsxy(0, display->height/2 - h, qs->left_right_title); |
72 | display->putsxy(0, display->height/2, option); | 72 | display->putsxy(0, display->height/2, option); |
73 | 73 | ||
74 | /* Displays the bottom's text */ | 74 | /* Displays the bottom's text */ |
75 | title=option_select_get_title(qs->bottom_option); | 75 | title=option_select_get_title(qs->bottom_option); |
76 | option=option_select_get_text(qs->bottom_option, buffer); | 76 | option=option_select_get_text(qs->bottom_option, buffer, sizeof buffer); |
77 | display->getstringsize(title, &w, &h); | 77 | display->getstringsize(title, &w, &h); |
78 | display->putsxy((display->width-w)/2, display->height - h*2, title); | 78 | display->putsxy((display->width-w)/2, display->height - h*2, title); |
79 | display->getstringsize(option, &w, &h); | 79 | display->getstringsize(option, &w, &h); |
@@ -81,7 +81,7 @@ void gui_quickscreen_draw(struct gui_quickscreen * qs, struct screen * display) | |||
81 | 81 | ||
82 | /* Displays the right's text */ | 82 | /* Displays the right's text */ |
83 | title=option_select_get_title(qs->right_option); | 83 | title=option_select_get_title(qs->right_option); |
84 | option=option_select_get_text(qs->right_option, buffer); | 84 | option=option_select_get_text(qs->right_option, buffer, sizeof buffer); |
85 | display->getstringsize(title,&w,&h); | 85 | display->getstringsize(title,&w,&h); |
86 | display->putsxy(display->width - w, display->height/2 - h*2, title); | 86 | display->putsxy(display->width - w, display->height/2 - h*2, title); |
87 | display->getstringsize(qs->left_right_title,&w,&h); | 87 | display->getstringsize(qs->left_right_title,&w,&h); |
diff --git a/apps/gui/select.c b/apps/gui/select.c index b632177fd7..2f3bddec68 100644 --- a/apps/gui/select.c +++ b/apps/gui/select.c | |||
@@ -54,7 +54,8 @@ void gui_select_init_items(struct gui_select * select, | |||
54 | void gui_select_draw(struct gui_select * select, struct screen * display) | 54 | void gui_select_draw(struct gui_select * select, struct screen * display) |
55 | { | 55 | { |
56 | char buffer[30]; | 56 | char buffer[30]; |
57 | const char * selected=option_select_get_text(&(select->options), buffer); | 57 | const char * selected=option_select_get_text(&(select->options), buffer, |
58 | sizeof buffer); | ||
58 | #ifdef HAVE_LCD_BITMAP | 59 | #ifdef HAVE_LCD_BITMAP |
59 | screen_set_xmargin(display, 0); | 60 | screen_set_xmargin(display, 0); |
60 | #endif | 61 | #endif |