summaryrefslogtreecommitdiff
path: root/apps/plugins/pictureflow/pictureflow.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/pictureflow/pictureflow.c')
-rw-r--r--apps/plugins/pictureflow/pictureflow.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/apps/plugins/pictureflow/pictureflow.c b/apps/plugins/pictureflow/pictureflow.c
index b3cc7e4fb4..496e9c94df 100644
--- a/apps/plugins/pictureflow/pictureflow.c
+++ b/apps/plugins/pictureflow/pictureflow.c
@@ -54,6 +54,8 @@ PLUGIN_HEADER
54#define PF_CONTEXT ACTION_STD_CONTEXT 54#define PF_CONTEXT ACTION_STD_CONTEXT
55#define PF_BACK ACTION_STD_CANCEL 55#define PF_BACK ACTION_STD_CANCEL
56#define PF_MENU ACTION_STD_MENU 56#define PF_MENU ACTION_STD_MENU
57#define PF_WPS ACTION_TREE_WPS
58
57#define PF_QUIT (LAST_ACTION_PLACEHOLDER + 1) 59#define PF_QUIT (LAST_ACTION_PLACEHOLDER + 1)
58 60
59#if defined(HAVE_SCROLLWHEEL) || CONFIG_KEYPAD == IRIVER_H10_PAD || \ 61#if defined(HAVE_SCROLLWHEEL) || CONFIG_KEYPAD == IRIVER_H10_PAD || \
@@ -2013,6 +2015,10 @@ void update_scroll_animation(void)
2013void cleanup(void *parameter) 2015void cleanup(void *parameter)
2014{ 2016{
2015 (void) parameter; 2017 (void) parameter;
2018#ifdef HAVE_ADJUSTABLE_CPU_FREQ
2019 rb->cpu_boost(false);
2020#endif
2021 end_pf_thread();
2016 /* Turn on backlight timeout (revert to settings) */ 2022 /* Turn on backlight timeout (revert to settings) */
2017 backlight_use_settings(); /* backlight control in lib/helper.c */ 2023 backlight_use_settings(); /* backlight control in lib/helper.c */
2018 2024
@@ -2141,6 +2147,7 @@ int settings_menu(void)
2141 Show the main menu 2147 Show the main menu
2142 */ 2148 */
2143enum { 2149enum {
2150 PF_GOTO_WPS,
2144#if PF_PLAYBACK_CAPABLE 2151#if PF_PLAYBACK_CAPABLE
2145 PF_MENU_PLAYBACK_CONTROL, 2152 PF_MENU_PLAYBACK_CONTROL,
2146#endif 2153#endif
@@ -2159,12 +2166,15 @@ int main_menu(void)
2159#endif 2166#endif
2160 2167
2161 MENUITEM_STRINGLIST(main_menu,"PictureFlow Main Menu",NULL, 2168 MENUITEM_STRINGLIST(main_menu,"PictureFlow Main Menu",NULL,
2169 "Go to WPS",
2162#if PF_PLAYBACK_CAPABLE 2170#if PF_PLAYBACK_CAPABLE
2163 "Playback Control", 2171 "Playback Control",
2164#endif 2172#endif
2165 "Settings", "Return", "Quit"); 2173 "Settings", "Return", "Quit");
2166 while (1) { 2174 while (1) {
2167 switch (rb->do_menu(&main_menu,&selection, NULL, false)) { 2175 switch (rb->do_menu(&main_menu,&selection, NULL, false)) {
2176 case PF_GOTO_WPS: /* WPS */
2177 return -2;
2168#if PF_PLAYBACK_CAPABLE 2178#if PF_PLAYBACK_CAPABLE
2169 case PF_MENU_PLAYBACK_CONTROL: /* Playback Control */ 2179 case PF_MENU_PLAYBACK_CONTROL: /* Playback Control */
2170 playback_control(NULL); 2180 playback_control(NULL);
@@ -2174,10 +2184,8 @@ int main_menu(void)
2174 result = settings_menu(); 2184 result = settings_menu();
2175 if ( result != 0 ) return result; 2185 if ( result != 0 ) return result;
2176 break; 2186 break;
2177
2178 case PF_MENU_RETURN: 2187 case PF_MENU_RETURN:
2179 return 0; 2188 return 0;
2180
2181 case PF_MENU_QUIT: 2189 case PF_MENU_QUIT:
2182 return -1; 2190 return -1;
2183 2191
@@ -2405,6 +2413,7 @@ play:
2405 old_shuffle = shuffle; 2413 old_shuffle = shuffle;
2406} 2414}
2407#endif 2415#endif
2416
2408/** 2417/**
2409 Draw the current album name 2418 Draw the current album name
2410 */ 2419 */
@@ -2661,7 +2670,8 @@ int main(void)
2661 switch (button) { 2670 switch (button) {
2662 case PF_QUIT: 2671 case PF_QUIT:
2663 return PLUGIN_OK; 2672 return PLUGIN_OK;
2664 2673 case PF_WPS:
2674 return PLUGIN_GOTO_WPS;
2665 case PF_BACK: 2675 case PF_BACK:
2666 if ( pf_state == pf_show_tracks ) 2676 if ( pf_state == pf_show_tracks )
2667 { 2677 {
@@ -2673,12 +2683,12 @@ int main(void)
2673 if (pf_state == pf_idle || pf_state == pf_scrolling) 2683 if (pf_state == pf_idle || pf_state == pf_scrolling)
2674 return PLUGIN_OK; 2684 return PLUGIN_OK;
2675 break; 2685 break;
2676
2677 case PF_MENU: 2686 case PF_MENU:
2678#ifdef USEGSLIB 2687#ifdef USEGSLIB
2679 grey_show(false); 2688 grey_show(false);
2680#endif 2689#endif
2681 ret = main_menu(); 2690 ret = main_menu();
2691 if ( ret == -2 ) return PLUGIN_GOTO_WPS;
2682 if ( ret == -1 ) return PLUGIN_OK; 2692 if ( ret == -1 ) return PLUGIN_OK;
2683 if ( ret != 0 ) return ret; 2693 if ( ret != 0 ) return ret;
2684#ifdef USEGSLIB 2694#ifdef USEGSLIB
@@ -2713,7 +2723,6 @@ int main(void)
2713#endif 2723#endif
2714 } 2724 }
2715 break; 2725 break;
2716
2717 default: 2726 default:
2718 if (rb->default_event_handler_ex(button, cleanup, NULL) 2727 if (rb->default_event_handler_ex(button, cleanup, NULL)
2719 == SYS_USB_CONNECTED) 2728 == SYS_USB_CONNECTED)
@@ -2752,9 +2761,6 @@ enum plugin_status plugin_start(const void *parameter)
2752#endif 2761#endif
2753#endif 2762#endif
2754 ret = main(); 2763 ret = main();
2755#ifdef HAVE_ADJUSTABLE_CPU_FREQ
2756 rb->cpu_boost(false);
2757#endif
2758 if ( ret == PLUGIN_OK ) { 2764 if ( ret == PLUGIN_OK ) {
2759 if (configfile_save(CONFIG_FILE, config, CONFIG_NUM_ITEMS, 2765 if (configfile_save(CONFIG_FILE, config, CONFIG_NUM_ITEMS,
2760 CONFIG_VERSION)) 2766 CONFIG_VERSION))
@@ -2764,7 +2770,6 @@ enum plugin_status plugin_start(const void *parameter)
2764 } 2770 }
2765 } 2771 }
2766 2772
2767 end_pf_thread();
2768 cleanup(NULL); 2773 cleanup(NULL);
2769 return ret; 2774 return ret;
2770} 2775}