diff options
author | Zakk Roberts <midk@rockbox.org> | 2006-04-02 10:41:16 +0000 |
---|---|---|
committer | Zakk Roberts <midk@rockbox.org> | 2006-04-02 10:41:16 +0000 |
commit | 15b2eefd6b7bbea7b253d2526b0cb445af348f5e (patch) | |
tree | 0c7be5194ec195a6ec0130d115325529961ad8c3 /apps | |
parent | 12e528ccd9f8764e745a4b634cc1d4f798fe44d8 (diff) | |
download | rockbox-15b2eefd6b7bbea7b253d2526b0cb445af348f5e.tar.gz rockbox-15b2eefd6b7bbea7b253d2526b0cb445af348f5e.zip |
Updated quickscreens, now they look better than before while still retaining the ability to scroll - this is about as good as it gets until viewports are implemented. Also enabled the quickscreen for iPods.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@9421 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/gui/gwps.c | 5 | ||||
-rw-r--r-- | apps/gui/gwps.h | 5 | ||||
-rw-r--r-- | apps/gui/quickscreen.c | 61 | ||||
-rw-r--r-- | apps/gui/quickscreen.h | 18 | ||||
-rw-r--r-- | apps/screens.c | 17 | ||||
-rw-r--r-- | apps/tree.h | 1 |
6 files changed, 81 insertions, 26 deletions
diff --git a/apps/gui/gwps.c b/apps/gui/gwps.c index 5c68ac40b0..a43f2e41fd 100644 --- a/apps/gui/gwps.c +++ b/apps/gui/gwps.c | |||
@@ -569,8 +569,9 @@ long gui_wps_show(void) | |||
569 | break; | 569 | break; |
570 | #endif | 570 | #endif |
571 | 571 | ||
572 | #if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD) \ | 572 | #if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD) ||\ |
573 | || (CONFIG_KEYPAD == IRIVER_H300_PAD) | 573 | (CONFIG_KEYPAD == IRIVER_H300_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) ||\ |
574 | (CONFIG_KEYPAD == IPOD_4G_PAD) | ||
574 | /* play settings */ | 575 | /* play settings */ |
575 | case WPS_QUICK: | 576 | case WPS_QUICK: |
576 | #ifdef WPS_RC_QUICK | 577 | #ifdef WPS_RC_QUICK |
diff --git a/apps/gui/gwps.h b/apps/gui/gwps.h index 377fc590c8..e02eb0b66c 100644 --- a/apps/gui/gwps.h +++ b/apps/gui/gwps.h | |||
@@ -194,6 +194,7 @@ | |||
194 | #define WPS_BROWSE_PRE BUTTON_SELECT | 194 | #define WPS_BROWSE_PRE BUTTON_SELECT |
195 | #define WPS_EXIT (BUTTON_PLAY | BUTTON_REPEAT) | 195 | #define WPS_EXIT (BUTTON_PLAY | BUTTON_REPEAT) |
196 | #define WPS_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT) | 196 | #define WPS_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT) |
197 | #define WPS_QUICK (BUTTON_MENU | BUTTON_REPEAT) | ||
197 | 198 | ||
198 | #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD | 199 | #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD |
199 | 200 | ||
@@ -342,7 +343,7 @@ struct wps_data | |||
342 | int curr_subline[WPS_MAX_LINES]; | 343 | int curr_subline[WPS_MAX_LINES]; |
343 | int progress_height; | 344 | int progress_height; |
344 | int progress_start; | 345 | int progress_start; |
345 | int progress_end; | 346 | int progress_end; |
346 | bool wps_loaded; | 347 | bool wps_loaded; |
347 | bool peak_meter_enabled; | 348 | bool peak_meter_enabled; |
348 | #ifdef HAVE_LCD_COLOR | 349 | #ifdef HAVE_LCD_COLOR |
@@ -381,7 +382,7 @@ struct wps_state | |||
381 | void wps_state_init(void); | 382 | void wps_state_init(void); |
382 | 383 | ||
383 | /* change the ff/rew-status | 384 | /* change the ff/rew-status |
384 | if ff_rew = true then we are in skipping mode | 385 | if ff_rew = true then we are in skipping mode |
385 | else we are in normal mode */ | 386 | else we are in normal mode */ |
386 | void wps_state_update_ff_rew(bool ff_rew); | 387 | void wps_state_update_ff_rew(bool ff_rew); |
387 | 388 | ||
diff --git a/apps/gui/quickscreen.c b/apps/gui/quickscreen.c index 570907195b..0cee6fd927 100644 --- a/apps/gui/quickscreen.c +++ b/apps/gui/quickscreen.c | |||
@@ -45,44 +45,69 @@ void gui_quickscreen_init(struct gui_quickscreen * qs, | |||
45 | 45 | ||
46 | void gui_quickscreen_draw(struct gui_quickscreen * qs, struct screen * display) | 46 | void gui_quickscreen_draw(struct gui_quickscreen * qs, struct screen * display) |
47 | { | 47 | { |
48 | char buffer[30]; | 48 | char buffer[30], line_text[40]; |
49 | const unsigned char *option; | 49 | const unsigned char *option; |
50 | const unsigned char *title; | 50 | const unsigned char *title; |
51 | const unsigned char *left_right_title; | 51 | const unsigned char *left_right_title; |
52 | char line_text[40]; | 52 | int w; |
53 | bool statusbar = global_settings.statusbar; | ||
53 | #ifdef HAS_BUTTONBAR | 54 | #ifdef HAS_BUTTONBAR |
54 | display->has_buttonbar=false; | 55 | display->has_buttonbar=false; |
55 | #endif | 56 | #endif |
56 | gui_textarea_clear(display); | 57 | gui_textarea_clear(display); |
57 | display->setfont(FONT_SYSFIXED); | 58 | display->setfont(FONT_SYSFIXED); |
58 | left_right_title=(unsigned char *)qs->left_right_title; | 59 | left_right_title=(unsigned char *)qs->left_right_title; |
60 | |||
59 | /* Displays the icons */ | 61 | /* Displays the icons */ |
60 | display->mono_bitmap(bitmap_icons_7x8[Icon_FastBackward], 1, 8, 7, 8); | ||
61 | display->mono_bitmap(bitmap_icons_7x8[Icon_DownArrow], 1, 24, 7, 8); | ||
62 | display->mono_bitmap(bitmap_icons_7x8[Icon_FastForward], 1, 40, 7, 8); | ||
63 | 62 | ||
64 | /* Displays the first line of text */ | 63 | /* Displays the first line of text */ |
65 | option=(unsigned char *)option_select_get_text(qs->left_option, buffer, | 64 | option=(unsigned char *)option_select_get_text(qs->left_option, buffer, |
66 | sizeof buffer); | 65 | sizeof buffer); |
67 | title=(unsigned char *)qs->left_option->title; | 66 | title=(unsigned char *)qs->left_option->title; |
68 | snprintf(line_text, sizeof(line_text), "%s %s", title, left_right_title); | 67 | snprintf(line_text, sizeof(line_text), "%s %s", title, left_right_title); |
69 | display->puts_scroll(0, 0+!(global_settings.statusbar), line_text); | 68 | display->puts_scroll(2, !statusbar, line_text); |
70 | display->puts_scroll(3, 1+!(global_settings.statusbar), option); | 69 | display->puts_scroll(2, 1+!statusbar, option); |
70 | display->mono_bitmap(bitmap_icons_7x8[Icon_FastBackward], 1, 8, 7, 8); | ||
71 | 71 | ||
72 | /* Displays the second line of text */ | 72 | /* Displays the second line of text */ |
73 | option=(unsigned char *)option_select_get_text(qs->bottom_option, buffer, | ||
74 | sizeof buffer); | ||
75 | title=(unsigned char *)qs->bottom_option->title; | ||
76 | display->puts_scroll(0, 2+!(global_settings.statusbar), title); | ||
77 | display->puts_scroll(3, 3+!(global_settings.statusbar), option); | ||
78 | |||
79 | /* Displays the third line of text */ | ||
80 | option=(unsigned char *)option_select_get_text(qs->right_option, buffer, | 73 | option=(unsigned char *)option_select_get_text(qs->right_option, buffer, |
81 | sizeof buffer); | 74 | sizeof buffer); |
82 | title=(unsigned char *)qs->right_option->title; | 75 | title=(unsigned char *)qs->right_option->title; |
83 | snprintf(line_text, sizeof(line_text), "%s %s", title, left_right_title); | 76 | snprintf(line_text, sizeof(line_text), "%s %s", title, left_right_title); |
84 | display->puts_scroll(0, 4+!(global_settings.statusbar), line_text); | 77 | display->getstringsize(line_text, &w, NULL); |
85 | display->puts_scroll(3, 5+!(global_settings.statusbar), option); | 78 | if(w > LCD_WIDTH-8) |
79 | { | ||
80 | display->puts_scroll(2, 2+!statusbar, line_text); | ||
81 | display->mono_bitmap(bitmap_icons_7x8[Icon_FastForward], 1, 24, 7, 8); | ||
82 | } | ||
83 | else | ||
84 | { | ||
85 | display->putsxy(LCD_WIDTH-w-12, 24, line_text); | ||
86 | display->mono_bitmap(bitmap_icons_7x8[Icon_FastForward], LCD_WIDTH-8, 24, 7, 8); | ||
87 | } | ||
88 | display->getstringsize(option, &w, NULL); | ||
89 | if(w > LCD_WIDTH) | ||
90 | display->puts_scroll(0, 3+!statusbar, option); | ||
91 | else | ||
92 | display->putsxy(LCD_WIDTH-w-12, 32, option); | ||
93 | |||
94 | /* Displays the third line of text */ | ||
95 | option=(unsigned char *)option_select_get_text(qs->bottom_option, buffer, | ||
96 | sizeof buffer); | ||
97 | title=(unsigned char *)qs->bottom_option->title; | ||
98 | |||
99 | display->getstringsize(title, &w, NULL); | ||
100 | if(w > LCD_WIDTH) | ||
101 | display->puts_scroll(0, 4+!statusbar, line_text); | ||
102 | else | ||
103 | display->putsxy(LCD_WIDTH/2-w/2, 40, title); | ||
104 | |||
105 | display->getstringsize(option, &w, NULL); | ||
106 | if(w > LCD_WIDTH) | ||
107 | display->puts_scroll(0, 5+!statusbar, option); | ||
108 | else | ||
109 | display->putsxy(LCD_WIDTH/2-w/2, 48, option); | ||
110 | display->mono_bitmap(bitmap_icons_7x8[Icon_DownArrow], LCD_WIDTH/2-4, 56, 7, 8); | ||
86 | 111 | ||
87 | gui_textarea_update(display); | 112 | gui_textarea_update(display); |
88 | display->setfont(FONT_UI); | 113 | display->setfont(FONT_UI); |
@@ -127,14 +152,18 @@ bool gui_quickscreen_do_button(struct gui_quickscreen * qs, int button) | |||
127 | option_select_next(qs->right_option); | 152 | option_select_next(qs->right_option); |
128 | return(true); | 153 | return(true); |
129 | 154 | ||
155 | #ifdef QUICKSCREEN_BOTTOM_INV | ||
130 | case QUICKSCREEN_BOTTOM_INV : | 156 | case QUICKSCREEN_BOTTOM_INV : |
131 | case QUICKSCREEN_BOTTOM_INV | BUTTON_REPEAT : | 157 | case QUICKSCREEN_BOTTOM_INV | BUTTON_REPEAT : |
158 | #endif | ||
132 | #ifdef QUICKSCREEN_RC_BOTTOM_INV | 159 | #ifdef QUICKSCREEN_RC_BOTTOM_INV |
133 | case QUICKSCREEN_RC_BOTTOM_INV : | 160 | case QUICKSCREEN_RC_BOTTOM_INV : |
134 | case QUICKSCREEN_RC_BOTTOM_INV | BUTTON_REPEAT : | 161 | case QUICKSCREEN_RC_BOTTOM_INV | BUTTON_REPEAT : |
135 | #endif | 162 | #endif |
163 | #if defined(QUICKSCREEN_RC_BOTTOM_INV) || defined(QUICKSCREEN_BOTTOM_INV) | ||
136 | option_select_prev(qs->bottom_option); | 164 | option_select_prev(qs->bottom_option); |
137 | return(true); | 165 | return(true); |
166 | #endif | ||
138 | } | 167 | } |
139 | return(false); | 168 | return(false); |
140 | } | 169 | } |
diff --git a/apps/gui/quickscreen.h b/apps/gui/quickscreen.h index fdbe4db386..e6e04c94ae 100644 --- a/apps/gui/quickscreen.h +++ b/apps/gui/quickscreen.h | |||
@@ -19,7 +19,8 @@ | |||
19 | #include "button.h" | 19 | #include "button.h" |
20 | #include "config.h" | 20 | #include "config.h" |
21 | #if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD) ||\ | 21 | #if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD) ||\ |
22 | (CONFIG_KEYPAD == IRIVER_H300_PAD) | 22 | (CONFIG_KEYPAD == IRIVER_H300_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) ||\ |
23 | (CONFIG_KEYPAD == IPOD_3G_PAD) | ||
23 | 24 | ||
24 | #ifndef _GUI_QUICKSCREEN_H_ | 25 | #ifndef _GUI_QUICKSCREEN_H_ |
25 | #define _GUI_QUICKSCREEN_H_ | 26 | #define _GUI_QUICKSCREEN_H_ |
@@ -30,14 +31,21 @@ | |||
30 | #include "screen_access.h" | 31 | #include "screen_access.h" |
31 | 32 | ||
32 | #define QUICKSCREEN_LEFT BUTTON_LEFT | 33 | #define QUICKSCREEN_LEFT BUTTON_LEFT |
33 | #define QUICKSCREEN_BOTTOM BUTTON_DOWN | ||
34 | #define QUICKSCREEN_BOTTOM_INV BUTTON_UP | ||
35 | #define QUICKSCREEN_RIGHT BUTTON_RIGHT | 34 | #define QUICKSCREEN_RIGHT BUTTON_RIGHT |
36 | 35 | ||
36 | #if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) ||\ | ||
37 | (CONFIG_KEYPAD == RECORDER_PAD) | ||
38 | #define QUICKSCREEN_BOTTOM BUTTON_DOWN | ||
39 | #define QUICKSCREEN_BOTTOM_INV BUTTON_UP | ||
40 | #elif (CONFIG_KEYPAD == IPOD_4G_PAD) || (CONFIG_KEYPAD == IPOD_3G_PAD) | ||
41 | #define QUICKSCREEN_BOTTOM BUTTON_PLAY | ||
42 | #define QUICKSCREEN_QUIT BUTTON_MENU | ||
43 | #define QUICKSCREEN_QUIT2 BUTTON_SELECT | ||
44 | #endif | ||
37 | 45 | ||
38 | #if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) | 46 | #if (CONFIG_KEYPAD == IRIVER_H100_PAD) || (CONFIG_KEYPAD == IRIVER_H300_PAD) |
39 | #define QUICKSCREEN_QUIT BUTTON_MODE | 47 | #define QUICKSCREEN_QUIT BUTTON_MODE |
40 | #define QUICKSCREEN_QUIT2 BUTTON_OFF | 48 | #define QUICKSCREEN_QUIT2 BUTTON_OFF |
41 | #define QUICKSCREEN_RC_QUIT BUTTON_RC_MODE | 49 | #define QUICKSCREEN_RC_QUIT BUTTON_RC_MODE |
42 | #ifdef CONFIG_REMOTE_KEYPAD | 50 | #ifdef CONFIG_REMOTE_KEYPAD |
43 | #define QUICKSCREEN_RC_LEFT BUTTON_RC_REW | 51 | #define QUICKSCREEN_RC_LEFT BUTTON_RC_REW |
diff --git a/apps/screens.c b/apps/screens.c index 69ccbc035f..4da56776aa 100644 --- a/apps/screens.c +++ b/apps/screens.c | |||
@@ -461,7 +461,8 @@ bool pitch_screen(void) | |||
461 | #endif | 461 | #endif |
462 | 462 | ||
463 | #if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD) ||\ | 463 | #if (CONFIG_KEYPAD == RECORDER_PAD) || (CONFIG_KEYPAD == IRIVER_H100_PAD) ||\ |
464 | (CONFIG_KEYPAD == IRIVER_H300_PAD) | 464 | (CONFIG_KEYPAD == IRIVER_H300_PAD) || (CONFIG_KEYPAD == IPOD_4G_PAD) ||\ |
465 | (CONFIG_KEYPAD == IPOD_3G_PAD) | ||
465 | #define bool_to_int(b)\ | 466 | #define bool_to_int(b)\ |
466 | b?1:0 | 467 | b?1:0 |
467 | #define int_to_bool(i)\ | 468 | #define int_to_bool(i)\ |
@@ -480,6 +481,12 @@ bool quick_screen_quick(int button_enter) | |||
480 | struct option_select left_option; | 481 | struct option_select left_option; |
481 | struct option_select bottom_option; | 482 | struct option_select bottom_option; |
482 | struct option_select right_option; | 483 | struct option_select right_option; |
484 | int old_x_margin, old_y_margin; | ||
485 | |||
486 | old_x_margin = lcd_getxmargin(); | ||
487 | old_y_margin = lcd_getymargin(); | ||
488 | lcd_setmargins(0, 0); | ||
489 | |||
483 | static const struct opt_items left_items[] = { | 490 | static const struct opt_items left_items[] = { |
484 | [0]={ STR(LANG_OFF) }, | 491 | [0]={ STR(LANG_OFF) }, |
485 | [1]={ STR(LANG_ON) } | 492 | [1]={ STR(LANG_ON) } |
@@ -541,6 +548,7 @@ bool quick_screen_quick(int button_enter) | |||
541 | } | 548 | } |
542 | settings_save(); | 549 | settings_save(); |
543 | } | 550 | } |
551 | lcd_setmargins(old_x_margin, old_y_margin); | ||
544 | return(res); | 552 | return(res); |
545 | } | 553 | } |
546 | 554 | ||
@@ -563,6 +571,12 @@ bool quick_screen_f3(int button_enter) | |||
563 | struct option_select left_option; | 571 | struct option_select left_option; |
564 | struct option_select bottom_option; | 572 | struct option_select bottom_option; |
565 | struct option_select right_option; | 573 | struct option_select right_option; |
574 | int old_x_margin, old_y_margin; | ||
575 | |||
576 | old_x_margin = lcd_getxmargin(); | ||
577 | old_y_margin = lcd_getymargin(); | ||
578 | lcd_setmargins(0, 0); | ||
579 | |||
566 | static const struct opt_items onoff_items[] = { | 580 | static const struct opt_items onoff_items[] = { |
567 | [0]={ STR(LANG_OFF) }, | 581 | [0]={ STR(LANG_OFF) }, |
568 | [1]={ STR(LANG_ON) } | 582 | [1]={ STR(LANG_ON) } |
@@ -594,6 +608,7 @@ bool quick_screen_f3(int button_enter) | |||
594 | res=gui_syncquickscreen_run(&qs, button_enter); | 608 | res=gui_syncquickscreen_run(&qs, button_enter); |
595 | if(!res) | 609 | if(!res) |
596 | settings_save(); | 610 | settings_save(); |
611 | lcd_setmargins(old_x_margin, old_y_margin); | ||
597 | return(res); | 612 | return(res); |
598 | } | 613 | } |
599 | #endif /* BUTTON_F3 */ | 614 | #endif /* BUTTON_F3 */ |
diff --git a/apps/tree.h b/apps/tree.h index 6f91f7fcd1..c632ccdb52 100644 --- a/apps/tree.h +++ b/apps/tree.h | |||
@@ -129,6 +129,7 @@ | |||
129 | #define TREE_WPS (BUTTON_PLAY | BUTTON_REL) | 129 | #define TREE_WPS (BUTTON_PLAY | BUTTON_REL) |
130 | #define TREE_WPS_PRE BUTTON_PLAY | 130 | #define TREE_WPS_PRE BUTTON_PLAY |
131 | #define TREE_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT) | 131 | #define TREE_CONTEXT (BUTTON_SELECT | BUTTON_REPEAT) |
132 | #define TREE_QUICK (BUTTON_MENU | BUTTON_REPEAT) | ||
132 | 133 | ||
133 | #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD | 134 | #elif CONFIG_KEYPAD == IRIVER_IFP7XX_PAD |
134 | 135 | ||