diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/lang/english.lang | 16 | ||||
-rw-r--r-- | apps/screen_access.c | 27 | ||||
-rw-r--r-- | apps/screen_access.h | 9 | ||||
-rw-r--r-- | apps/settings.c | 15 | ||||
-rw-r--r-- | apps/settings.h | 12 | ||||
-rw-r--r-- | apps/settings_menu.c | 57 |
6 files changed, 89 insertions, 47 deletions
diff --git a/apps/lang/english.lang b/apps/lang/english.lang index 2a54a6d79f..8c551b443d 100644 --- a/apps/lang/english.lang +++ b/apps/lang/english.lang | |||
@@ -8514,4 +8514,18 @@ | |||
8514 | <voice> | 8514 | <voice> |
8515 | *: "Invalid Filename" | 8515 | *: "Invalid Filename" |
8516 | </voice> | 8516 | </voice> |
8517 | </phrase> \ No newline at end of file | 8517 | </phrase> |
8518 | <phrase> | ||
8519 | id: LANG_REMOTE_SCROLL_SETS | ||
8520 | desc: "Remote Scrolling Options" Submenu in "Scrolling Options" menu | ||
8521 | user: | ||
8522 | <source> | ||
8523 | *: "Remote Scrolling Options" | ||
8524 | </source> | ||
8525 | <dest> | ||
8526 | *: "Remote Scrolling Options" | ||
8527 | </dest> | ||
8528 | <voice> | ||
8529 | *: "Remote Scrolling Options" | ||
8530 | </voice> | ||
8531 | </phrase> | ||
diff --git a/apps/screen_access.c b/apps/screen_access.c index 1dc8734462..5e3dfd8505 100644 --- a/apps/screen_access.c +++ b/apps/screen_access.c | |||
@@ -147,6 +147,8 @@ void screen_init(struct screen * screen, enum screen_type screen_type) | |||
147 | screen->drawline=&lcd_drawline; | 147 | screen->drawline=&lcd_drawline; |
148 | screen->vline=&lcd_vline; | 148 | screen->vline=&lcd_vline; |
149 | screen->hline=&lcd_hline; | 149 | screen->hline=&lcd_hline; |
150 | screen->scroll_speed=&lcd_scroll_speed; | ||
151 | screen->scroll_delay=&lcd_scroll_delay; | ||
150 | screen->scroll_step=&lcd_scroll_step; | 152 | screen->scroll_step=&lcd_scroll_step; |
151 | screen->invertscroll=&lcd_invertscroll; | 153 | screen->invertscroll=&lcd_invertscroll; |
152 | screen->puts_offset=&lcd_puts_offset; | 154 | screen->puts_offset=&lcd_puts_offset; |
@@ -173,8 +175,6 @@ void screen_init(struct screen * screen, enum screen_type screen_type) | |||
173 | screen->init=&lcd_init; | 175 | screen->init=&lcd_init; |
174 | screen->puts_scroll=&lcd_puts_scroll; | 176 | screen->puts_scroll=&lcd_puts_scroll; |
175 | screen->stop_scroll=&lcd_stop_scroll; | 177 | screen->stop_scroll=&lcd_stop_scroll; |
176 | screen->scroll_speed=&lcd_scroll_speed; | ||
177 | screen->scroll_delay=&lcd_scroll_delay; | ||
178 | screen->clear_display=&lcd_clear_display; | 178 | screen->clear_display=&lcd_clear_display; |
179 | #if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) | 179 | #if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR) |
180 | screen->update=&lcd_update; | 180 | screen->update=&lcd_update; |
@@ -207,26 +207,3 @@ void screen_access_init(void) | |||
207 | FOR_NB_SCREENS(i) | 207 | FOR_NB_SCREENS(i) |
208 | screen_init(&screens[i], i); | 208 | screen_init(&screens[i], i); |
209 | } | 209 | } |
210 | |||
211 | void screen_lcd_scroll_speed(int speed) | ||
212 | { | ||
213 | int i; | ||
214 | FOR_NB_SCREENS(i) | ||
215 | screens[i].scroll_speed(speed); | ||
216 | } | ||
217 | |||
218 | void screen_lcd_scroll_delay(int ms) | ||
219 | { | ||
220 | int i; | ||
221 | FOR_NB_SCREENS(i) | ||
222 | screens[i].scroll_delay(ms); | ||
223 | } | ||
224 | |||
225 | #ifdef HAVE_LCD_BITMAP | ||
226 | void screen_lcd_scroll_step(int pixels) | ||
227 | { | ||
228 | int i; | ||
229 | FOR_NB_SCREENS(i) | ||
230 | screens[i].scroll_step(pixels); | ||
231 | } | ||
232 | #endif | ||
diff --git a/apps/screen_access.h b/apps/screen_access.h index c739c6cb1f..ae0a962015 100644 --- a/apps/screen_access.h +++ b/apps/screen_access.h | |||
@@ -185,13 +185,4 @@ extern void screen_access_init(void); | |||
185 | */ | 185 | */ |
186 | extern struct screen screens[NB_SCREENS]; | 186 | extern struct screen screens[NB_SCREENS]; |
187 | 187 | ||
188 | |||
189 | /* | ||
190 | * Functions to apply LCD settings across all screens | ||
191 | */ | ||
192 | void screen_lcd_scroll_speed(int speed); | ||
193 | void screen_lcd_scroll_delay(int ms); | ||
194 | void screen_lcd_scroll_step(int pixels); | ||
195 | |||
196 | |||
197 | #endif /*_SCREEN_ACCESS_H_*/ | 188 | #endif /*_SCREEN_ACCESS_H_*/ |
diff --git a/apps/settings.c b/apps/settings.c index 1a6b4c3199..8122c58aa8 100644 --- a/apps/settings.c +++ b/apps/settings.c | |||
@@ -94,7 +94,7 @@ const char rec_base_directory[] = REC_BASE_DIR; | |||
94 | #include "dsp.h" | 94 | #include "dsp.h" |
95 | #endif | 95 | #endif |
96 | 96 | ||
97 | #define CONFIG_BLOCK_VERSION 43 | 97 | #define CONFIG_BLOCK_VERSION 44 |
98 | #define CONFIG_BLOCK_SIZE 512 | 98 | #define CONFIG_BLOCK_SIZE 512 |
99 | #define RTC_BLOCK_SIZE 44 | 99 | #define RTC_BLOCK_SIZE 44 |
100 | 100 | ||
@@ -359,6 +359,13 @@ static const struct bit_entry hd_bits[] = | |||
359 | {4, S_O(scroll_speed), 9, "scroll speed", NULL }, /* 0...15 */ | 359 | {4, S_O(scroll_speed), 9, "scroll speed", NULL }, /* 0...15 */ |
360 | {8, S_O(scroll_delay), 100, "scroll delay", NULL }, /* 0...250 */ | 360 | {8, S_O(scroll_delay), 100, "scroll delay", NULL }, /* 0...250 */ |
361 | {8, S_O(bidir_limit), 50, "bidir limit", NULL }, /* 0...200 */ | 361 | {8, S_O(bidir_limit), 50, "bidir limit", NULL }, /* 0...200 */ |
362 | |||
363 | #ifdef HAVE_REMOTE_LCD | ||
364 | {4, S_O(remote_scroll_speed), 9, "remote scroll speed", NULL }, /* 0...15 */ | ||
365 | {8, S_O(remote_scroll_step), 6, "remote scroll step", NULL }, /* 1...160 */ | ||
366 | {8, S_O(remote_scroll_delay), 100, "remote scroll delay", NULL }, /* 0...250 */ | ||
367 | #endif | ||
368 | |||
362 | #ifdef HAVE_LCD_BITMAP | 369 | #ifdef HAVE_LCD_BITMAP |
363 | {1, S_O(offset_out_of_view), false, "Screen Scrolls Out Of View", off_on }, | 370 | {1, S_O(offset_out_of_view), false, "Screen Scrolls Out Of View", off_on }, |
364 | #if LCD_WIDTH > 255 | 371 | #if LCD_WIDTH > 255 |
@@ -1004,9 +1011,9 @@ void settings_apply(void) | |||
1004 | lcd_remote_set_contrast(global_settings.remote_contrast); | 1011 | lcd_remote_set_contrast(global_settings.remote_contrast); |
1005 | lcd_remote_set_invert_display(global_settings.remote_invert); | 1012 | lcd_remote_set_invert_display(global_settings.remote_invert); |
1006 | lcd_remote_set_flip(global_settings.remote_flip_display); | 1013 | lcd_remote_set_flip(global_settings.remote_flip_display); |
1007 | lcd_remote_scroll_speed(global_settings.scroll_speed); | 1014 | lcd_remote_scroll_speed(global_settings.remote_scroll_speed); |
1008 | lcd_remote_scroll_step(global_settings.scroll_step); | 1015 | lcd_remote_scroll_step(global_settings.remote_scroll_step); |
1009 | lcd_remote_scroll_delay(global_settings.scroll_delay * (HZ/10)); | 1016 | lcd_remote_scroll_delay(global_settings.remote_scroll_delay * (HZ/10)); |
1010 | #ifdef HAVE_REMOTE_LCD_TICKING | 1017 | #ifdef HAVE_REMOTE_LCD_TICKING |
1011 | lcd_remote_emireduce(global_settings.remote_reduce_ticking); | 1018 | lcd_remote_emireduce(global_settings.remote_reduce_ticking); |
1012 | #endif | 1019 | #endif |
diff --git a/apps/settings.h b/apps/settings.h index fd03d93f43..ca8e88a75b 100644 --- a/apps/settings.h +++ b/apps/settings.h | |||
@@ -301,7 +301,6 @@ struct user_settings | |||
301 | int volume_type; /* how volume is displayed: 0=graphic, 1=percent */ | 301 | int volume_type; /* how volume is displayed: 0=graphic, 1=percent */ |
302 | int battery_display; /* how battery is displayed: 0=graphic, 1=percent */ | 302 | int battery_display; /* how battery is displayed: 0=graphic, 1=percent */ |
303 | int timeformat; /* time format: 0=24 hour clock, 1=12 hour clock */ | 303 | int timeformat; /* time format: 0=24 hour clock, 1=12 hour clock */ |
304 | int scroll_speed; /* long texts scrolling speed: 1-30 */ | ||
305 | bool playlist_shuffle; | 304 | bool playlist_shuffle; |
306 | bool play_selected; /* Plays selected file even in shuffle mode */ | 305 | bool play_selected; /* Plays selected file even in shuffle mode */ |
307 | int ff_rewind_min_step; /* FF/Rewind minimum step size */ | 306 | int ff_rewind_min_step; /* FF/Rewind minimum step size */ |
@@ -333,11 +332,18 @@ struct user_settings | |||
333 | 332 | ||
334 | int runtime; /* current runtime since last charge */ | 333 | int runtime; /* current runtime since last charge */ |
335 | int topruntime; /* top known runtime */ | 334 | int topruntime; /* top known runtime */ |
336 | 335 | ||
336 | int scroll_speed; /* long texts scrolling speed: 1-30 */ | ||
337 | int bidir_limit; /* bidir scroll length limit */ | 337 | int bidir_limit; /* bidir scroll length limit */ |
338 | int scroll_delay; /* delay (in 1/10s) before starting scroll */ | 338 | int scroll_delay; /* delay (in 1/10s) before starting scroll */ |
339 | int scroll_step; /* pixels to advance per update */ | 339 | int scroll_step; /* pixels to advance per update */ |
340 | #ifdef HAVE_LCD_BITMAP | 340 | #ifdef HAVE_REMOTE_LCD |
341 | int remote_scroll_speed; /* long texts scrolling speed: 1-30 */ | ||
342 | int remote_scroll_delay; /* delay (in 1/10s) before starting scroll */ | ||
343 | int remote_scroll_step; /* pixels to advance per update */ | ||
344 | #endif | ||
345 | |||
346 | #ifdef HAVE_LCD_BITMAP | ||
341 | bool offset_out_of_view; | 347 | bool offset_out_of_view; |
342 | int screen_scroll_step; | 348 | int screen_scroll_step; |
343 | #endif | 349 | #endif |
diff --git a/apps/settings_menu.c b/apps/settings_menu.c index c15eb6cf91..5aa861a88e 100644 --- a/apps/settings_menu.c +++ b/apps/settings_menu.c | |||
@@ -55,7 +55,6 @@ | |||
55 | #include "yesno.h" | 55 | #include "yesno.h" |
56 | #include "list.h" | 56 | #include "list.h" |
57 | #include "color_picker.h" | 57 | #include "color_picker.h" |
58 | #include "screen_access.h" | ||
59 | 58 | ||
60 | #ifdef HAVE_LCD_BITMAP | 59 | #ifdef HAVE_LCD_BITMAP |
61 | #include "peakmeter.h" | 60 | #include "peakmeter.h" |
@@ -840,10 +839,10 @@ static bool sleep_timer(void) | |||
840 | } | 839 | } |
841 | 840 | ||
842 | static bool scroll_speed(void) | 841 | static bool scroll_speed(void) |
843 | { | 842 | { |
844 | return set_int(str(LANG_SCROLL), "", UNIT_INT, | 843 | return set_int(str(LANG_SCROLL), "", UNIT_INT, |
845 | &global_settings.scroll_speed, | 844 | &global_settings.scroll_speed, |
846 | &screen_lcd_scroll_speed, 1, 0, 15, NULL ); | 845 | &lcd_scroll_speed, 1, 0, 15, NULL ); |
847 | } | 846 | } |
848 | 847 | ||
849 | static bool scroll_delay(void) | 848 | static bool scroll_delay(void) |
@@ -851,11 +850,37 @@ static bool scroll_delay(void) | |||
851 | int dummy = global_settings.scroll_delay * (HZ/10); | 850 | int dummy = global_settings.scroll_delay * (HZ/10); |
852 | int rc = set_int(str(LANG_SCROLL_DELAY), "ms", UNIT_MS, | 851 | int rc = set_int(str(LANG_SCROLL_DELAY), "ms", UNIT_MS, |
853 | &dummy, | 852 | &dummy, |
854 | &screen_lcd_scroll_delay, 100, 0, 2500, NULL ); | 853 | &lcd_scroll_delay, 100, 0, 2500, NULL ); |
855 | global_settings.scroll_delay = dummy / (HZ/10); | 854 | global_settings.scroll_delay = dummy / (HZ/10); |
856 | return rc; | 855 | return rc; |
857 | } | 856 | } |
858 | 857 | ||
858 | #ifdef HAVE_REMOTE_LCD | ||
859 | static bool remote_scroll_speed(void) | ||
860 | { | ||
861 | return set_int(str(LANG_SCROLL), "", UNIT_INT, | ||
862 | &global_settings.remote_scroll_speed, | ||
863 | &lcd_remote_scroll_speed, 1, 0, 15, NULL ); | ||
864 | } | ||
865 | |||
866 | static bool remote_scroll_step(void) | ||
867 | { | ||
868 | return set_int(str(LANG_SCROLL_STEP_EXAMPLE), str(LANG_PIXELS), UNIT_PIXEL, | ||
869 | &global_settings.remote_scroll_step, | ||
870 | &lcd_remote_scroll_step, 1, 1, LCD_WIDTH, NULL ); | ||
871 | } | ||
872 | |||
873 | static bool remote_scroll_delay(void) | ||
874 | { | ||
875 | int dummy = global_settings.remote_scroll_delay * (HZ/10); | ||
876 | int rc = set_int(str(LANG_SCROLL_DELAY), "ms", UNIT_MS, | ||
877 | &dummy, | ||
878 | &lcd_remote_scroll_delay, 100, 0, 2500, NULL ); | ||
879 | global_settings.remote_scroll_delay = dummy / (HZ/10); | ||
880 | return rc; | ||
881 | } | ||
882 | #endif | ||
883 | |||
859 | #ifdef HAVE_LCD_BITMAP | 884 | #ifdef HAVE_LCD_BITMAP |
860 | static bool screen_scroll(void) | 885 | static bool screen_scroll(void) |
861 | { | 886 | { |
@@ -875,7 +900,7 @@ static bool scroll_step(void) | |||
875 | { | 900 | { |
876 | return set_int(str(LANG_SCROLL_STEP_EXAMPLE), str(LANG_PIXELS), UNIT_PIXEL, | 901 | return set_int(str(LANG_SCROLL_STEP_EXAMPLE), str(LANG_PIXELS), UNIT_PIXEL, |
877 | &global_settings.scroll_step, | 902 | &global_settings.scroll_step, |
878 | &screen_lcd_scroll_step, 1, 1, LCD_WIDTH, NULL ); | 903 | &lcd_scroll_step, 1, 1, LCD_WIDTH, NULL ); |
879 | } | 904 | } |
880 | #endif | 905 | #endif |
881 | 906 | ||
@@ -1645,6 +1670,25 @@ static bool fileview_settings_menu(void) | |||
1645 | return result; | 1670 | return result; |
1646 | } | 1671 | } |
1647 | 1672 | ||
1673 | #ifdef HAVE_REMOTE_LCD | ||
1674 | static bool remote_scroll_sets(void) | ||
1675 | { | ||
1676 | int m; | ||
1677 | bool result; | ||
1678 | |||
1679 | static const struct menu_item items[] = { | ||
1680 | { ID2P(LANG_SCROLL_SPEED), remote_scroll_speed }, | ||
1681 | { ID2P(LANG_SCROLL_DELAY), remote_scroll_delay }, | ||
1682 | { ID2P(LANG_SCROLL_STEP), remote_scroll_step }, | ||
1683 | }; | ||
1684 | |||
1685 | m=menu_init( items, sizeof(items) / sizeof(*items), NULL, | ||
1686 | NULL, NULL, NULL); | ||
1687 | result = menu_run(m); | ||
1688 | menu_exit(m); | ||
1689 | return result; | ||
1690 | } | ||
1691 | #endif | ||
1648 | 1692 | ||
1649 | static bool scroll_settings_menu(void) | 1693 | static bool scroll_settings_menu(void) |
1650 | { | 1694 | { |
@@ -1657,6 +1701,9 @@ static bool scroll_settings_menu(void) | |||
1657 | #ifdef HAVE_LCD_BITMAP | 1701 | #ifdef HAVE_LCD_BITMAP |
1658 | { ID2P(LANG_SCROLL_STEP), scroll_step }, | 1702 | { ID2P(LANG_SCROLL_STEP), scroll_step }, |
1659 | #endif | 1703 | #endif |
1704 | #ifdef HAVE_REMOTE_LCD | ||
1705 | { ID2P(LANG_REMOTE_SCROLL_SETS), remote_scroll_sets }, | ||
1706 | #endif | ||
1660 | { ID2P(LANG_BIDIR_SCROLL), bidir_limit }, | 1707 | { ID2P(LANG_BIDIR_SCROLL), bidir_limit }, |
1661 | #ifdef HAVE_LCD_CHARCELLS | 1708 | #ifdef HAVE_LCD_CHARCELLS |
1662 | { ID2P(LANG_JUMP_SCROLL), jump_scroll }, | 1709 | { ID2P(LANG_JUMP_SCROLL), jump_scroll }, |