summaryrefslogtreecommitdiff
path: root/apps/gui/color_picker.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/color_picker.c')
-rw-r--r--apps/gui/color_picker.c98
1 files changed, 11 insertions, 87 deletions
diff --git a/apps/gui/color_picker.c b/apps/gui/color_picker.c
index 4618cb6bc0..3decd30207 100644
--- a/apps/gui/color_picker.c
+++ b/apps/gui/color_picker.c
@@ -29,64 +29,11 @@
29#include "scrollbar.h" 29#include "scrollbar.h"
30#include "lang.h" 30#include "lang.h"
31#include "splash.h" 31#include "splash.h"
32#include "action.h"
32 33
33#define TEXT_MARGIN display->char_width+2 34#define TEXT_MARGIN display->char_width+2
34#define SLIDER_START 20 35#define SLIDER_START 20
35 36
36#if (CONFIG_KEYPAD == IRIVER_H300_PAD)
37#define SLIDER_UP BUTTON_UP
38#define SLIDER_DOWN BUTTON_DOWN
39#define SLIDER_LEFT BUTTON_LEFT
40#define SLIDER_RIGHT BUTTON_RIGHT
41#define SLIDER_OK BUTTON_ON
42#define SLIDER_OK2 BUTTON_SELECT
43#define SLIDER_CANCEL BUTTON_OFF
44
45#define SLIDER_RC_UP BUTTON_RC_REW
46#define SLIDER_RC_DOWN BUTTON_RC_FF
47#define SLIDER_RC_LEFT BUTTON_RC_SOURCE
48#define SLIDER_RC_RIGHT BUTTON_RC_BITRATE
49#define SLIDER_RC_OK BUTTON_RC_ON
50#define SLIDER_RC_CANCEL BUTTON_RC_STOP
51
52#elif (CONFIG_KEYPAD == GIGABEAT_PAD)
53#define SLIDER_UP BUTTON_UP
54#define SLIDER_DOWN BUTTON_DOWN
55#define SLIDER_LEFT BUTTON_LEFT
56#define SLIDER_RIGHT BUTTON_RIGHT
57#define SLIDER_OK BUTTON_POWER
58#define SLIDER_CANCEL BUTTON_A
59
60#elif (CONFIG_KEYPAD == IPOD_4G_PAD)
61#define SLIDER_UP BUTTON_LEFT
62#define SLIDER_DOWN BUTTON_RIGHT
63#define SLIDER_LEFT BUTTON_SCROLL_BACK
64#define SLIDER_RIGHT BUTTON_SCROLL_FWD
65#define SLIDER_OK BUTTON_SELECT
66#define SLIDER_CANCEL BUTTON_MENU
67
68#elif (CONFIG_KEYPAD == IAUDIO_X5_PAD)
69#define SLIDER_UP BUTTON_UP
70#define SLIDER_DOWN BUTTON_DOWN
71#define SLIDER_LEFT BUTTON_LEFT
72#define SLIDER_RIGHT BUTTON_RIGHT
73#define SLIDER_OK BUTTON_SELECT
74#define SLIDER_CANCEL BUTTON_PLAY
75
76/* FIXME: chosen at will to make it compile */
77#define SLIDER_RC_OK BUTTON_RC_PLAY
78#define SLIDER_RC_CANCEL BUTTON_RC_REC
79
80#elif (CONFIG_KEYPAD == IRIVER_H10_PAD)
81#define SLIDER_UP BUTTON_SCROLL_UP
82#define SLIDER_DOWN BUTTON_SCROLL_DOWN
83#define SLIDER_LEFT BUTTON_LEFT
84#define SLIDER_RIGHT BUTTON_RIGHT
85#define SLIDER_OK BUTTON_PLAY
86#define SLIDER_CANCEL BUTTON_POWER
87
88#endif
89
90static const int max_val[3] = {LCD_MAX_RED,LCD_MAX_GREEN,LCD_MAX_BLUE}; 37static const int max_val[3] = {LCD_MAX_RED,LCD_MAX_GREEN,LCD_MAX_BLUE};
91 38
92static void draw_screen(struct screen *display, char *title, 39static void draw_screen(struct screen *display, char *title,
@@ -237,50 +184,30 @@ bool set_color(struct screen *display,char *title, int* color, int banned_color)
237 draw_screen(&screens[i], title, rgb_val, newcolor, slider); 184 draw_screen(&screens[i], title, rgb_val, newcolor, slider);
238 } 185 }
239 186
240 button = button_get(true); 187 button = get_action(CONTEXT_SETTINGSGRAPHICAL,TIMEOUT_BLOCK);
241 switch (button) 188 switch (button)
242 { 189 {
243 case SLIDER_UP: 190 case ACTION_STD_PREV:
244#ifdef SLIDER_RC_UP
245 case SLIDER_RC_UP:
246#endif
247 slider = (slider+2)%3; 191 slider = (slider+2)%3;
248 break; 192 break;
249 193
250 case SLIDER_DOWN: 194 case ACTION_STD_NEXT:
251#ifdef SLIDER_RC_DOWN
252 case SLIDER_RC_DOWN:
253#endif
254 slider = (slider+1)%3; 195 slider = (slider+1)%3;
255 break; 196 break;
256 197
257 case SLIDER_RIGHT: 198 case ACTION_SETTINGS_INC:
258 case SLIDER_RIGHT|BUTTON_REPEAT: 199 case ACTION_SETTINGS_INCREPEAT:
259#ifdef SLIDER_RC_RIGHT
260 case SLIDER_RC_RIGHT:
261 case SLIDER_RC_RIGHT|BUTTON_REPEAT:
262#endif
263 if (rgb_val[slider] < max_val[slider]) 200 if (rgb_val[slider] < max_val[slider])
264 rgb_val[slider]++; 201 rgb_val[slider]++;
265 break; 202 break;
266 203
267 case SLIDER_LEFT: 204 case ACTION_SETTINGS_DEC:
268 case SLIDER_LEFT|BUTTON_REPEAT: 205 case ACTION_SETTINGS_DECREPEAT:
269#ifdef SLIDER_RC_LEFT
270 case SLIDER_RC_LEFT:
271 case SLIDER_RC_LEFT|BUTTON_REPEAT:
272#endif
273 if (rgb_val[slider] > 0) 206 if (rgb_val[slider] > 0)
274 rgb_val[slider]--; 207 rgb_val[slider]--;
275 break; 208 break;
276 209
277 case SLIDER_OK: 210 case ACTION_STD_OK:
278#ifdef HAVE_REMOTE_LCD
279 case SLIDER_RC_OK:
280#endif
281#ifdef SLIDER_OK2
282 case SLIDER_OK2:
283#endif
284 if ((banned_color!=-1) && (banned_color == newcolor)) 211 if ((banned_color!=-1) && (banned_color == newcolor))
285 { 212 {
286 gui_syncsplash(HZ*2,true,str(LANG_COLOR_UNACCEPTABLE)); 213 gui_syncsplash(HZ*2,true,str(LANG_COLOR_UNACCEPTABLE));
@@ -290,10 +217,7 @@ bool set_color(struct screen *display,char *title, int* color, int banned_color)
290 exit = 1; 217 exit = 1;
291 break; 218 break;
292 219
293 case SLIDER_CANCEL: 220 case ACTION_STD_CANCEL:
294#ifdef HAVE_REMOTE_LCD
295 case SLIDER_RC_CANCEL:
296#endif
297 exit = 1; 221 exit = 1;
298 break; 222 break;
299 223
@@ -306,6 +230,6 @@ bool set_color(struct screen *display,char *title, int* color, int banned_color)
306 } 230 }
307 } 231 }
308 display->set_foreground(fgcolor); 232 display->set_foreground(fgcolor);
309 233 action_signalscreenchange();
310 return false; 234 return false;
311} 235}