summaryrefslogtreecommitdiff
path: root/apps/gui
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui')
-rw-r--r--apps/gui/gwps.c5
-rw-r--r--apps/gui/gwps.h5
-rw-r--r--apps/gui/quickscreen.c61
-rw-r--r--apps/gui/quickscreen.h18
4 files changed, 64 insertions, 25 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
381void wps_state_init(void); 382void 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 */
386void wps_state_update_ff_rew(bool ff_rew); 387void 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
46void gui_quickscreen_draw(struct gui_quickscreen * qs, struct screen * display) 46void 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