summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-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
-rw-r--r--apps/screens.c17
-rw-r--r--apps/tree.h1
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
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
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