diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/gui/color_picker.c | 2 | ||||
-rw-r--r-- | apps/gui/list.c | 25 | ||||
-rw-r--r-- | apps/lang/english.lang | 92 | ||||
-rw-r--r-- | apps/menus/display_menu.c | 55 | ||||
-rw-r--r-- | apps/recorder/recording.c | 36 | ||||
-rw-r--r-- | apps/screen_access.c | 5 | ||||
-rw-r--r-- | apps/screen_access.h | 5 | ||||
-rw-r--r-- | apps/settings.c | 3 | ||||
-rw-r--r-- | apps/settings.h | 6 | ||||
-rw-r--r-- | apps/settings_list.c | 18 |
10 files changed, 220 insertions, 27 deletions
diff --git a/apps/gui/color_picker.c b/apps/gui/color_picker.c index 1116aaae23..513db74bf9 100644 --- a/apps/gui/color_picker.c +++ b/apps/gui/color_picker.c | |||
@@ -200,7 +200,7 @@ static void draw_screen(struct screen *display, char *title, | |||
200 | set_drawinfo(display, DRMODE_SOLID, text_color, | 200 | set_drawinfo(display, DRMODE_SOLID, text_color, |
201 | background_color); | 201 | background_color); |
202 | 202 | ||
203 | if (global_settings.invert_cursor) | 203 | if (global_settings.cursor_style != 0) |
204 | { | 204 | { |
205 | /* Draw solid bar selection bar */ | 205 | /* Draw solid bar selection bar */ |
206 | display->fillrect(0, | 206 | display->fillrect(0, |
diff --git a/apps/gui/list.c b/apps/gui/list.c index a8bbce8cda..6a7d21cc4b 100644 --- a/apps/gui/list.c +++ b/apps/gui/list.c | |||
@@ -141,7 +141,7 @@ static void gui_list_flash(struct gui_list * gui_list) | |||
141 | int selected_line=gui_list->selected_item-gui_list->start_item+SHOW_LIST_TITLE; | 141 | int selected_line=gui_list->selected_item-gui_list->start_item+SHOW_LIST_TITLE; |
142 | #ifdef HAVE_LCD_BITMAP | 142 | #ifdef HAVE_LCD_BITMAP |
143 | int line_ypos=display->getymargin()+display->char_height*selected_line; | 143 | int line_ypos=display->getymargin()+display->char_height*selected_line; |
144 | if (global_settings.invert_cursor) | 144 | if (global_settings.cursor_style) |
145 | { | 145 | { |
146 | int line_xpos=display->getxmargin(); | 146 | int line_xpos=display->getxmargin(); |
147 | display->set_drawmode(DRMODE_COMPLEMENT); | 147 | display->set_drawmode(DRMODE_COMPLEMENT); |
@@ -313,7 +313,7 @@ static void gui_list_draw_smart(struct gui_list *gui_list) | |||
313 | draw_scrollbar = (global_settings.scrollbar && | 313 | draw_scrollbar = (global_settings.scrollbar && |
314 | lines < gui_list->nb_items); | 314 | lines < gui_list->nb_items); |
315 | 315 | ||
316 | draw_cursor = !global_settings.invert_cursor && | 316 | draw_cursor = !global_settings.cursor_style && |
317 | gui_list->show_selection_marker; | 317 | gui_list->show_selection_marker; |
318 | text_pos = 0; /* here it's in pixels */ | 318 | text_pos = 0; /* here it's in pixels */ |
319 | if(draw_scrollbar || SHOW_LIST_TITLE) /* indent if there's | 319 | if(draw_scrollbar || SHOW_LIST_TITLE) /* indent if there's |
@@ -390,11 +390,28 @@ static void gui_list_draw_smart(struct gui_list *gui_list) | |||
390 | current_item < gui_list->selected_item + gui_list->selected_size) | 390 | current_item < gui_list->selected_item + gui_list->selected_size) |
391 | {/* The selected item must be displayed scrolling */ | 391 | {/* The selected item must be displayed scrolling */ |
392 | #ifdef HAVE_LCD_BITMAP | 392 | #ifdef HAVE_LCD_BITMAP |
393 | if (global_settings.invert_cursor)/* Display inverted-line-style*/ | 393 | if (global_settings.cursor_style == 1 |
394 | #ifdef HAVE_REMOTE_LCD | ||
395 | || display->screen_type == SCREEN_REMOTE | ||
396 | #endif | ||
397 | ) | ||
394 | { | 398 | { |
399 | /* Display inverted-line-style */ | ||
395 | style |= STYLE_INVERT; | 400 | style |= STYLE_INVERT; |
396 | } | 401 | } |
397 | else /* if (!global_settings.invert_cursor) */ | 402 | #ifdef HAVE_LCD_COLOR |
403 | else if (global_settings.cursor_style == 2) | ||
404 | { | ||
405 | /* Display colour line selector */ | ||
406 | style |= STYLE_COLORBAR; | ||
407 | } | ||
408 | else if (global_settings.cursor_style == 3) | ||
409 | { | ||
410 | /* Display gradient line selector */ | ||
411 | style |= STYLE_GRADIENT; | ||
412 | } | ||
413 | #endif | ||
414 | else /* if (!global_settings.cursor_style) */ | ||
398 | { | 415 | { |
399 | if (current_item % gui_list->selected_size != 0) | 416 | if (current_item % gui_list->selected_size != 0) |
400 | draw_cursor = false; | 417 | draw_cursor = false; |
diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 490f6d38b0..de254a3b1d 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang | |||
@@ -2899,15 +2899,15 @@ | |||
2899 | user: | 2899 | user: |
2900 | <source> | 2900 | <source> |
2901 | *: none | 2901 | *: none |
2902 | lcd_bitmap: "Line Selector" | 2902 | lcd_bitmap: "Line Selector Type" |
2903 | </source> | 2903 | </source> |
2904 | <dest> | 2904 | <dest> |
2905 | *: none | 2905 | *: none |
2906 | lcd_bitmap: "Line Selector" | 2906 | lcd_bitmap: "Line Selector Type" |
2907 | </dest> | 2907 | </dest> |
2908 | <voice> | 2908 | <voice> |
2909 | *: none | 2909 | *: none |
2910 | lcd_bitmap: "Line Selector" | 2910 | lcd_bitmap: "Line Selector Type" |
2911 | </voice> | 2911 | </voice> |
2912 | </phrase> | 2912 | </phrase> |
2913 | <phrase> | 2913 | <phrase> |
@@ -11242,3 +11242,89 @@ | |||
11242 | usbstack: "Device Driver" | 11242 | usbstack: "Device Driver" |
11243 | </voice> | 11243 | </voice> |
11244 | </phrase> | 11244 | </phrase> |
11245 | <phrase> | ||
11246 | id: LANG_SELECTOR_START_COLOR | ||
11247 | desc: line selector color option | ||
11248 | user: | ||
11249 | <source> | ||
11250 | *: none | ||
11251 | lcd_color: "Line Selector Primary Colour" | ||
11252 | </source> | ||
11253 | <dest> | ||
11254 | *: none | ||
11255 | lcd_color: "Line Selector Primary Colour" | ||
11256 | </dest> | ||
11257 | <voice> | ||
11258 | *: none | ||
11259 | lcd_color: "Line Selector Primary Colour" | ||
11260 | </voice> | ||
11261 | </phrase> | ||
11262 | <phrase> | ||
11263 | id: LANG_SELECTOR_END_COLOR | ||
11264 | desc: line selector color option | ||
11265 | user: | ||
11266 | <source> | ||
11267 | *: none | ||
11268 | lcd_color: "Line Selector Secondary Colour" | ||
11269 | </source> | ||
11270 | <dest> | ||
11271 | *: none | ||
11272 | lcd_color: "Line Selector Secondary Colour" | ||
11273 | </dest> | ||
11274 | <voice> | ||
11275 | *: none | ||
11276 | lcd_color: "Line Selector Secondary Colour" | ||
11277 | </voice> | ||
11278 | </phrase> | ||
11279 | <phrase> | ||
11280 | id: LANG_SELECTOR_TEXT_COLOR | ||
11281 | desc: line selector text color option | ||
11282 | user: | ||
11283 | <source> | ||
11284 | *: none | ||
11285 | lcd_color: "Line Selector Text Colour" | ||
11286 | </source> | ||
11287 | <dest> | ||
11288 | *: none | ||
11289 | lcd_color: "Line Selector Text Colour" | ||
11290 | </dest> | ||
11291 | <voice> | ||
11292 | *: none | ||
11293 | lcd_color: "Line Selector Text Colour" | ||
11294 | </voice> | ||
11295 | </phrase> | ||
11296 | <phrase> | ||
11297 | id: LANG_INVERT_CURSOR_COLOR | ||
11298 | desc: in settings_menu | ||
11299 | user: | ||
11300 | <source> | ||
11301 | *: none | ||
11302 | lcd_color: "Bar (Solid Colour)" | ||
11303 | </source> | ||
11304 | <dest> | ||
11305 | *: none | ||
11306 | lcd_color: "Bar (Solid Colour)" | ||
11307 | </dest> | ||
11308 | <voice> | ||
11309 | *: none | ||
11310 | lcd_color: "Bar (Solid Colour)" | ||
11311 | </voice> | ||
11312 | </phrase> | ||
11313 | <phrase> | ||
11314 | id: LANG_INVERT_CURSOR_GRADIENT | ||
11315 | desc: in settings_menu | ||
11316 | user: | ||
11317 | <source> | ||
11318 | *: none | ||
11319 | lcd_color: "Bar (Gradient Colour)" | ||
11320 | </source> | ||
11321 | <dest> | ||
11322 | *: none | ||
11323 | lcd_color: "Bar (Gradient Colour)" | ||
11324 | </dest> | ||
11325 | <voice> | ||
11326 | *: none | ||
11327 | lcd_color: "Bar (Gradient Colour)" | ||
11328 | </voice> | ||
11329 | </phrase> | ||
11330 | |||
diff --git a/apps/menus/display_menu.c b/apps/menus/display_menu.c index c1e574a974..11d1f25e7f 100644 --- a/apps/menus/display_menu.c +++ b/apps/menus/display_menu.c | |||
@@ -115,7 +115,7 @@ MENUITEM_SETTING(invert, &global_settings.invert, NULL); | |||
115 | #ifdef HAVE_LCD_FLIP | 115 | #ifdef HAVE_LCD_FLIP |
116 | MENUITEM_SETTING(flip_display, &global_settings.flip_display, flipdisplay_callback); | 116 | MENUITEM_SETTING(flip_display, &global_settings.flip_display, flipdisplay_callback); |
117 | #endif | 117 | #endif |
118 | MENUITEM_SETTING(invert_cursor, &global_settings.invert_cursor, NULL); | 118 | MENUITEM_SETTING(cursor_style, &global_settings.cursor_style, NULL); |
119 | #endif /* HAVE_LCD_BITMAP */ | 119 | #endif /* HAVE_LCD_BITMAP */ |
120 | #if LCD_DEPTH > 1 | 120 | #if LCD_DEPTH > 1 |
121 | /** | 121 | /** |
@@ -157,13 +157,55 @@ static int set_bg_color(void) | |||
157 | settings_save(); | 157 | settings_save(); |
158 | return res; | 158 | return res; |
159 | } | 159 | } |
160 | |||
161 | /* Line selector colour */ | ||
162 | static int set_lss_color(void) | ||
163 | { | ||
164 | int res; | ||
165 | res = (int)set_color(&screens[SCREEN_MAIN],str(LANG_SELECTOR_START_COLOR), | ||
166 | &global_settings.lss_color,-1); | ||
167 | |||
168 | screens[SCREEN_MAIN].set_selector_start(global_settings.lss_color); | ||
169 | settings_save(); | ||
170 | return res; | ||
171 | } | ||
172 | |||
173 | static int set_lse_color(void) | ||
174 | { | ||
175 | int res; | ||
176 | res = (int)set_color(&screens[SCREEN_MAIN],str(LANG_SELECTOR_END_COLOR), | ||
177 | &global_settings.lse_color,-1); | ||
178 | |||
179 | screens[SCREEN_MAIN].set_selector_end(global_settings.lse_color); | ||
180 | settings_save(); | ||
181 | return res; | ||
182 | } | ||
183 | |||
184 | /* Line selector text colour */ | ||
185 | static int set_lst_color(void) | ||
186 | { | ||
187 | int res; | ||
188 | res = (int)set_color(&screens[SCREEN_MAIN],str(LANG_SELECTOR_TEXT_COLOR), | ||
189 | &global_settings.lst_color,global_settings.lss_color); | ||
190 | |||
191 | screens[SCREEN_MAIN].set_selector_text(global_settings.lst_color); | ||
192 | settings_save(); | ||
193 | return res; | ||
194 | } | ||
195 | |||
160 | static int reset_color(void) | 196 | static int reset_color(void) |
161 | { | 197 | { |
162 | global_settings.fg_color = LCD_DEFAULT_FG; | 198 | global_settings.fg_color = LCD_DEFAULT_FG; |
163 | global_settings.bg_color = LCD_DEFAULT_BG; | 199 | global_settings.bg_color = LCD_DEFAULT_BG; |
200 | global_settings.lss_color = LCD_DEFAULT_LS; | ||
201 | global_settings.lse_color = LCD_DEFAULT_BG; | ||
202 | global_settings.lst_color = LCD_DEFAULT_FG; | ||
164 | 203 | ||
165 | screens[SCREEN_MAIN].set_foreground(global_settings.fg_color); | 204 | screens[SCREEN_MAIN].set_foreground(global_settings.fg_color); |
166 | screens[SCREEN_MAIN].set_background(global_settings.bg_color); | 205 | screens[SCREEN_MAIN].set_background(global_settings.bg_color); |
206 | screens[SCREEN_MAIN].set_selector_start(global_settings.lss_color); | ||
207 | screens[SCREEN_MAIN].set_selector_end(global_settings.lse_color); | ||
208 | screens[SCREEN_MAIN].set_selector_text(global_settings.lst_color); | ||
167 | settings_save(); | 209 | settings_save(); |
168 | return 0; | 210 | return 0; |
169 | } | 211 | } |
@@ -171,6 +213,12 @@ MENUITEM_FUNCTION(set_bg_col, 0, ID2P(LANG_BACKGROUND_COLOR), | |||
171 | set_bg_color, NULL, NULL, Icon_NOICON); | 213 | set_bg_color, NULL, NULL, Icon_NOICON); |
172 | MENUITEM_FUNCTION(set_fg_col, 0, ID2P(LANG_FOREGROUND_COLOR), | 214 | MENUITEM_FUNCTION(set_fg_col, 0, ID2P(LANG_FOREGROUND_COLOR), |
173 | set_fg_color, NULL, NULL, Icon_NOICON); | 215 | set_fg_color, NULL, NULL, Icon_NOICON); |
216 | MENUITEM_FUNCTION(set_lss_col, 0, ID2P(LANG_SELECTOR_START_COLOR), | ||
217 | set_lss_color, NULL, NULL, Icon_NOICON); | ||
218 | MENUITEM_FUNCTION(set_lse_col, 0, ID2P(LANG_SELECTOR_END_COLOR), | ||
219 | set_lse_color, NULL, NULL, Icon_NOICON); | ||
220 | MENUITEM_FUNCTION(set_lst_col, 0, ID2P(LANG_SELECTOR_TEXT_COLOR), | ||
221 | set_lst_color, NULL, NULL, Icon_NOICON); | ||
174 | MENUITEM_FUNCTION(reset_colors, 0, ID2P(LANG_RESET_COLORS), | 222 | MENUITEM_FUNCTION(reset_colors, 0, ID2P(LANG_RESET_COLORS), |
175 | reset_color, NULL, NULL, Icon_NOICON); | 223 | reset_color, NULL, NULL, Icon_NOICON); |
176 | #endif | 224 | #endif |
@@ -208,8 +256,11 @@ MAKE_MENU(lcd_settings,ID2P(LANG_LCD_MENU), | |||
208 | # ifdef HAVE_LCD_FLIP | 256 | # ifdef HAVE_LCD_FLIP |
209 | ,&flip_display | 257 | ,&flip_display |
210 | # endif | 258 | # endif |
211 | ,&invert_cursor | 259 | ,&cursor_style |
212 | #endif /* HAVE_LCD_BITMAP */ | 260 | #endif /* HAVE_LCD_BITMAP */ |
261 | #ifdef HAVE_LCD_COLOR | ||
262 | ,&set_lss_col, &set_lse_col, &set_lst_col | ||
263 | #endif | ||
213 | #if LCD_DEPTH > 1 | 264 | #if LCD_DEPTH > 1 |
214 | ,&clear_main_bd, | 265 | ,&clear_main_bd, |
215 | #endif | 266 | #endif |
diff --git a/apps/recorder/recording.c b/apps/recorder/recording.c index f643b8442a..bd04d26929 100644 --- a/apps/recorder/recording.c +++ b/apps/recorder/recording.c | |||
@@ -857,6 +857,16 @@ bool recording_screen(bool no_source) | |||
857 | ID2P(LANG_GIGABYTE) | 857 | ID2P(LANG_GIGABYTE) |
858 | }; | 858 | }; |
859 | 859 | ||
860 | int style = STYLE_INVERT; | ||
861 | #ifdef HAVE_LCD_COLOR | ||
862 | if (global_settings.cursor_style == 2) { | ||
863 | style |= STYLE_COLORBAR; | ||
864 | } | ||
865 | else if (global_settings.cursor_style == 3) { | ||
866 | style |= STYLE_GRADIENT; | ||
867 | } | ||
868 | #endif | ||
869 | |||
860 | struct audio_recording_options rec_options; | 870 | struct audio_recording_options rec_options; |
861 | if (check_dir(global_settings.rec_directory) == false) | 871 | if (check_dir(global_settings.rec_directory) == false) |
862 | { | 872 | { |
@@ -930,7 +940,7 @@ bool recording_screen(bool no_source) | |||
930 | { | 940 | { |
931 | screens[i].setfont(FONT_SYSFIXED); | 941 | screens[i].setfont(FONT_SYSFIXED); |
932 | screens[i].getstringsize("M", &w, &h); | 942 | screens[i].getstringsize("M", &w, &h); |
933 | screens[i].setmargins(global_settings.invert_cursor ? 0 : w, 8); | 943 | screens[i].setmargins(global_settings.cursor_style ? 0 : w, 8); |
934 | filename_offset[i] = ((screens[i].height >= 80) ? 1 : 0); | 944 | filename_offset[i] = ((screens[i].height >= 80) ? 1 : 0); |
935 | pm_y[i] = 8 + h * (2 + filename_offset[i]); | 945 | pm_y[i] = 8 + h * (2 + filename_offset[i]); |
936 | } | 946 | } |
@@ -1331,7 +1341,7 @@ bool recording_screen(bool no_source) | |||
1331 | { | 1341 | { |
1332 | screens[i].setfont(FONT_SYSFIXED); | 1342 | screens[i].setfont(FONT_SYSFIXED); |
1333 | screens[i].setmargins( | 1343 | screens[i].setmargins( |
1334 | global_settings.invert_cursor ? 0 : w, 8); | 1344 | global_settings.cursor_style ? 0 : w, 8); |
1335 | } | 1345 | } |
1336 | } | 1346 | } |
1337 | } | 1347 | } |
@@ -1555,11 +1565,11 @@ bool recording_screen(bool no_source) | |||
1555 | global_settings.volume, | 1565 | global_settings.volume, |
1556 | buf2, sizeof(buf2))); | 1566 | buf2, sizeof(buf2))); |
1557 | 1567 | ||
1558 | if (global_settings.invert_cursor && (pos++ == cursor)) | 1568 | if (global_settings.cursor_style && (pos++ == cursor)) |
1559 | { | 1569 | { |
1560 | for(i = 0; i < screen_update; i++) | 1570 | for(i = 0; i < screen_update; i++) |
1561 | screens[i].puts_style_offset(0, filename_offset[i] + | 1571 | screens[i].puts_style_offset(0, filename_offset[i] + |
1562 | PM_HEIGHT + 2, buf, STYLE_INVERT,0); | 1572 | PM_HEIGHT + 2, buf, style,0); |
1563 | } | 1573 | } |
1564 | else | 1574 | else |
1565 | { | 1575 | { |
@@ -1574,11 +1584,11 @@ bool recording_screen(bool no_source) | |||
1574 | fmt_gain(SOUND_MIC_GAIN, | 1584 | fmt_gain(SOUND_MIC_GAIN, |
1575 | global_settings.rec_mic_gain, | 1585 | global_settings.rec_mic_gain, |
1576 | buf2, sizeof(buf2))); | 1586 | buf2, sizeof(buf2))); |
1577 | if(global_settings.invert_cursor && ((1==cursor)||(2==cursor))) | 1587 | if(global_settings.cursor_style && ((1==cursor)||(2==cursor))) |
1578 | { | 1588 | { |
1579 | for(i = 0; i < screen_update; i++) | 1589 | for(i = 0; i < screen_update; i++) |
1580 | screens[i].puts_style_offset(0, filename_offset[i] + | 1590 | screens[i].puts_style_offset(0, filename_offset[i] + |
1581 | PM_HEIGHT + 3, buf, STYLE_INVERT,0); | 1591 | PM_HEIGHT + 3, buf, style,0); |
1582 | } | 1592 | } |
1583 | else | 1593 | else |
1584 | { | 1594 | { |
@@ -1598,11 +1608,11 @@ bool recording_screen(bool no_source) | |||
1598 | fmt_gain(SOUND_LEFT_GAIN, | 1608 | fmt_gain(SOUND_LEFT_GAIN, |
1599 | global_settings.rec_left_gain, | 1609 | global_settings.rec_left_gain, |
1600 | buf2, sizeof(buf2))); | 1610 | buf2, sizeof(buf2))); |
1601 | if(global_settings.invert_cursor && ((1==cursor)||(2==cursor))) | 1611 | if(global_settings.cursor_style && ((1==cursor)||(2==cursor))) |
1602 | { | 1612 | { |
1603 | for(i = 0; i < screen_update; i++) | 1613 | for(i = 0; i < screen_update; i++) |
1604 | screens[i].puts_style_offset(0, filename_offset[i] + | 1614 | screens[i].puts_style_offset(0, filename_offset[i] + |
1605 | PM_HEIGHT + 3, buf, STYLE_INVERT,0); | 1615 | PM_HEIGHT + 3, buf, style,0); |
1606 | } | 1616 | } |
1607 | else | 1617 | else |
1608 | { | 1618 | { |
@@ -1616,11 +1626,11 @@ bool recording_screen(bool no_source) | |||
1616 | fmt_gain(SOUND_RIGHT_GAIN, | 1626 | fmt_gain(SOUND_RIGHT_GAIN, |
1617 | global_settings.rec_right_gain, | 1627 | global_settings.rec_right_gain, |
1618 | buf2, sizeof(buf2))); | 1628 | buf2, sizeof(buf2))); |
1619 | if(global_settings.invert_cursor && ((1==cursor)||(3==cursor))) | 1629 | if(global_settings.cursor_style && ((1==cursor)||(3==cursor))) |
1620 | { | 1630 | { |
1621 | for(i = 0; i < screen_update; i++) | 1631 | for(i = 0; i < screen_update; i++) |
1622 | screens[i].puts_style_offset(0, filename_offset[i] + | 1632 | screens[i].puts_style_offset(0, filename_offset[i] + |
1623 | PM_HEIGHT + 4, buf, STYLE_INVERT,0); | 1633 | PM_HEIGHT + 4, buf, style,0); |
1624 | } | 1634 | } |
1625 | else | 1635 | else |
1626 | { | 1636 | { |
@@ -1701,11 +1711,11 @@ bool recording_screen(bool no_source) | |||
1701 | global_settings.rec_right_gain)/2, | 1711 | global_settings.rec_right_gain)/2, |
1702 | buf2, sizeof(buf2))); | 1712 | buf2, sizeof(buf2))); |
1703 | 1713 | ||
1704 | if(global_settings.invert_cursor && ((cursor==4) || (cursor==5))) | 1714 | if(global_settings.cursor_style && ((cursor==4) || (cursor==5))) |
1705 | { | 1715 | { |
1706 | for(i = 0; i < screen_update; i++) | 1716 | for(i = 0; i < screen_update; i++) |
1707 | screens[i].puts_style_offset(0, filename_offset[i] + | 1717 | screens[i].puts_style_offset(0, filename_offset[i] + |
1708 | PM_HEIGHT + line[i], buf, STYLE_INVERT,0); | 1718 | PM_HEIGHT + line[i], buf, style,0); |
1709 | } | 1719 | } |
1710 | else if ( | 1720 | else if ( |
1711 | global_settings.rec_source == AUDIO_SRC_MIC | 1721 | global_settings.rec_source == AUDIO_SRC_MIC |
@@ -1737,7 +1747,7 @@ bool recording_screen(bool no_source) | |||
1737 | } | 1747 | } |
1738 | #endif /* HAVE_AGC */ | 1748 | #endif /* HAVE_AGC */ |
1739 | 1749 | ||
1740 | if(!global_settings.invert_cursor) { | 1750 | if(!global_settings.cursor_style) { |
1741 | switch(cursor) | 1751 | switch(cursor) |
1742 | { | 1752 | { |
1743 | case 1: | 1753 | case 1: |
diff --git a/apps/screen_access.c b/apps/screen_access.c index 251bd7e848..a10e96475e 100644 --- a/apps/screen_access.c +++ b/apps/screen_access.c | |||
@@ -77,6 +77,11 @@ struct screen screens[NB_SCREENS] = | |||
77 | .get_foreground=&lcd_get_foreground, | 77 | .get_foreground=&lcd_get_foreground, |
78 | .set_background=&lcd_set_background, | 78 | .set_background=&lcd_set_background, |
79 | .set_foreground=&lcd_set_foreground, | 79 | .set_foreground=&lcd_set_foreground, |
80 | #ifdef HAVE_LCD_COLOR | ||
81 | .set_selector_start=&lcd_set_selector_start, | ||
82 | .set_selector_end=&lcd_set_selector_end, | ||
83 | .set_selector_text=&lcd_set_selector_text, | ||
84 | #endif | ||
80 | #endif /* LCD_DEPTH > 1 */ | 85 | #endif /* LCD_DEPTH > 1 */ |
81 | .update_rect=&lcd_update_rect, | 86 | .update_rect=&lcd_update_rect, |
82 | .fillrect=&lcd_fillrect, | 87 | .fillrect=&lcd_fillrect, |
diff --git a/apps/screen_access.h b/apps/screen_access.h index 05a53d5d0f..6333251d29 100644 --- a/apps/screen_access.h +++ b/apps/screen_access.h | |||
@@ -107,6 +107,11 @@ struct screen | |||
107 | void (*set_background)(unsigned background); | 107 | void (*set_background)(unsigned background); |
108 | void (*set_foreground)(unsigned foreground); | 108 | void (*set_foreground)(unsigned foreground); |
109 | #endif /* (LCD_DEPTH > 1) || (LCD_REMOTE_DEPTH > 1) */ | 109 | #endif /* (LCD_DEPTH > 1) || (LCD_REMOTE_DEPTH > 1) */ |
110 | #if defined(HAVE_LCD_COLOR) | ||
111 | void (*set_selector_start)(unsigned selector); | ||
112 | void (*set_selector_end)(unsigned selector); | ||
113 | void (*set_selector_text)(unsigned selector_text); | ||
114 | #endif | ||
110 | void (*update_rect)(int x, int y, int width, int height); | 115 | void (*update_rect)(int x, int y, int width, int height); |
111 | void (*fillrect)(int x, int y, int width, int height); | 116 | void (*fillrect)(int x, int y, int width, int height); |
112 | void (*drawrect)(int x, int y, int width, int height); | 117 | void (*drawrect)(int x, int y, int width, int height); |
diff --git a/apps/settings.c b/apps/settings.c index 6e26574f6a..a020c18e1b 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -778,6 +778,9 @@ void settings_apply(void) | |||
778 | #ifdef HAVE_LCD_COLOR | 778 | #ifdef HAVE_LCD_COLOR |
779 | screens[SCREEN_MAIN].set_foreground(global_settings.fg_color); | 779 | screens[SCREEN_MAIN].set_foreground(global_settings.fg_color); |
780 | screens[SCREEN_MAIN].set_background(global_settings.bg_color); | 780 | screens[SCREEN_MAIN].set_background(global_settings.bg_color); |
781 | screens[SCREEN_MAIN].set_selector_start(global_settings.lss_color); | ||
782 | screens[SCREEN_MAIN].set_selector_end(global_settings.lse_color); | ||
783 | screens[SCREEN_MAIN].set_selector_text(global_settings.lst_color); | ||
781 | #endif | 784 | #endif |
782 | 785 | ||
783 | #if defined(HAVE_REMOTE_LCD) && (NB_SCREENS > 1) | 786 | #if defined(HAVE_REMOTE_LCD) && (NB_SCREENS > 1) |
diff --git a/apps/settings.h b/apps/settings.h index 72f607d693..ee8fd48831 100644 --- a/apps/settings.h +++ b/apps/settings.h | |||
@@ -412,8 +412,7 @@ struct user_settings | |||
412 | int contrast; /* lcd contrast */ | 412 | int contrast; /* lcd contrast */ |
413 | #endif | 413 | #endif |
414 | bool invert; /* invert display */ | 414 | bool invert; /* invert display */ |
415 | bool invert_cursor; /* invert the current file in dir browser and menu | 415 | int cursor_style; /* style of the selection cursor */ |
416 | instead of using the default cursor */ | ||
417 | bool flip_display; /* turn display (and button layout) by 180 degrees */ | 416 | bool flip_display; /* turn display (and button layout) by 180 degrees */ |
418 | int poweroff; /* power off timer */ | 417 | int poweroff; /* power off timer */ |
419 | int backlight_timeout; /* backlight off timeout: 0-18 0=never, | 418 | int backlight_timeout; /* backlight off timeout: 0-18 0=never, |
@@ -641,6 +640,9 @@ struct user_settings | |||
641 | #ifdef HAVE_LCD_COLOR | 640 | #ifdef HAVE_LCD_COLOR |
642 | int bg_color; /* background color native format */ | 641 | int bg_color; /* background color native format */ |
643 | int fg_color; /* foreground color native format */ | 642 | int fg_color; /* foreground color native format */ |
643 | int lss_color; /* background color for the selector or start color for the gradient */ | ||
644 | int lse_color; /* end color for the selector gradient */ | ||
645 | int lst_color; /* color of the text for the selector */ | ||
644 | #endif | 646 | #endif |
645 | bool party_mode; /* party mode - unstoppable music */ | 647 | bool party_mode; /* party mode - unstoppable music */ |
646 | 648 | ||
diff --git a/apps/settings_list.c b/apps/settings_list.c index 176d1cee69..51ac3eb473 100644 --- a/apps/settings_list.c +++ b/apps/settings_list.c | |||
@@ -457,8 +457,16 @@ const struct settings_list settings[] = { | |||
457 | OFFON_SETTING(0,flip_display, LANG_FLIP_DISPLAY, false,"flip display", NULL), | 457 | OFFON_SETTING(0,flip_display, LANG_FLIP_DISPLAY, false,"flip display", NULL), |
458 | #endif | 458 | #endif |
459 | /* display */ | 459 | /* display */ |
460 | BOOL_SETTING(F_TEMPVAR, invert_cursor, LANG_INVERT_CURSOR, true ,"invert cursor", off_on, | 460 | CHOICE_SETTING(F_TEMPVAR|F_THEMESETTING, cursor_style, LANG_INVERT_CURSOR, 1, |
461 | LANG_INVERT_CURSOR_BAR, LANG_INVERT_CURSOR_POINTER, NULL), | 461 | #ifdef HAVE_LCD_COLOR |
462 | "selector type", "pointer,bar (inverse),bar (color),bar (gradient)", | ||
463 | NULL, 4, | ||
464 | ID2P(LANG_INVERT_CURSOR_POINTER), ID2P(LANG_INVERT_CURSOR_BAR), | ||
465 | ID2P(LANG_INVERT_CURSOR_COLOR), ID2P(LANG_INVERT_CURSOR_GRADIENT)), | ||
466 | #else | ||
467 | "selector type", "pointer,bar (inverse)", NULL, 2, | ||
468 | ID2P(LANG_INVERT_CURSOR_POINTER), ID2P(LANG_INVERT_CURSOR_BAR)), | ||
469 | #endif | ||
462 | OFFON_SETTING(F_THEMESETTING|F_TEMPVAR, statusbar, | 470 | OFFON_SETTING(F_THEMESETTING|F_TEMPVAR, statusbar, |
463 | LANG_STATUS_BAR, true,"statusbar", NULL), | 471 | LANG_STATUS_BAR, true,"statusbar", NULL), |
464 | OFFON_SETTING(0,scrollbar, LANG_SCROLL_BAR, true,"scrollbar", NULL), | 472 | OFFON_SETTING(0,scrollbar, LANG_SCROLL_BAR, true,"scrollbar", NULL), |
@@ -625,6 +633,12 @@ const struct settings_list settings[] = { | |||
625 | "foreground color",NULL,UNUSED}, | 633 | "foreground color",NULL,UNUSED}, |
626 | {F_T_INT|F_RGB|F_THEMESETTING ,&global_settings.bg_color,-1,INT(LCD_DEFAULT_BG), | 634 | {F_T_INT|F_RGB|F_THEMESETTING ,&global_settings.bg_color,-1,INT(LCD_DEFAULT_BG), |
627 | "background color",NULL,UNUSED}, | 635 | "background color",NULL,UNUSED}, |
636 | {F_T_INT|F_RGB|F_THEMESETTING ,&global_settings.lss_color,-1,INT(LCD_DEFAULT_LS), | ||
637 | "line selector start color",NULL,UNUSED}, | ||
638 | {F_T_INT|F_RGB|F_THEMESETTING ,&global_settings.lse_color,-1,INT(LCD_DEFAULT_BG), | ||
639 | "line selector end color",NULL,UNUSED}, | ||
640 | {F_T_INT|F_RGB|F_THEMESETTING ,&global_settings.lst_color,-1,INT(LCD_DEFAULT_FG), | ||
641 | "line selector text color",NULL,UNUSED}, | ||
628 | #endif | 642 | #endif |
629 | /* more playback */ | 643 | /* more playback */ |
630 | OFFON_SETTING(0,play_selected,LANG_PLAY_SELECTED,true,"play selected",NULL), | 644 | OFFON_SETTING(0,play_selected,LANG_PLAY_SELECTED,true,"play selected",NULL), |