summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2006-10-09 14:40:15 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2006-10-09 14:40:15 +0000
commitd8a2165f78dd3a73254cd837d6abba1cfe87efcc (patch)
treea6aa6246e789a1e80c88d3077119015248a5fa54
parent8055825312a111b6c41503e72d3b08cecb95aa28 (diff)
downloadrockbox-d8a2165f78dd3a73254cd837d6abba1cfe87efcc.zip
rockbox-d8a2165f78dd3a73254cd837d6abba1cfe87efcc.tar.gz
rockbox-d8a2165f78dd3a73254cd837d6abba1cfe87efcc.tar.bz2
rockbox-d8a2165f78dd3a73254cd837d6abba1cfe87efcc.tar.xz
Quick fix for the edit screen in the random_folder_advance_config plugin, no more blank screen and it now shows the correct directory count
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11161 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/plugins/SOURCES4
-rw-r--r--apps/plugins/random_folder_advance_config.c17
2 files changed, 14 insertions, 7 deletions
diff --git a/apps/plugins/SOURCES b/apps/plugins/SOURCES
index b0e5f70..eb372c9 100644
--- a/apps/plugins/SOURCES
+++ b/apps/plugins/SOURCES
@@ -22,6 +22,10 @@ stopwatch.c
vbrfix.c
viewer.c
+#ifdef CPU_COLDFIRE
+sampr_test.c
+#endif
+
#if ((CONFIG_CODEC == MAS3587F) || (CONFIG_CODEC == MAS3539F)) && !defined(SIMULATOR)
wavplay.c
#endif
diff --git a/apps/plugins/random_folder_advance_config.c b/apps/plugins/random_folder_advance_config.c
index 46d6eea..c855335 100644
--- a/apps/plugins/random_folder_advance_config.c
+++ b/apps/plugins/random_folder_advance_config.c
@@ -54,7 +54,7 @@ struct file_format *list = NULL;
#endif
-void update_screen(void)
+void update_screen(bool clear)
{
char buf[15];
#if defined(HAVE_LCD_BITMAP) || defined(HAVE_REMOTE_LCD) /* always bitmap */
@@ -62,13 +62,15 @@ void update_screen(void)
FOR_NB_SCREENS(i)
{
rb->snprintf(buf,15,"Folders: %d",dirs_count);
- rb->screens[i]->clear_display();
+ if(clear)
+ rb->screens[i]->clear_display();
rb->screens[i]->putsxy(0,0,buf);
rb->screens[i]->update();
}
#else
rb->snprintf(buf,15,"Folders: %d",dirs_count);
- rb->lcd_clear_display();
+ if(clear)
+ rb->lcd_clear_display();
rb->lcd_puts(0,0,buf);
#endif
}
@@ -111,7 +113,7 @@ void traversedir(char* location, char* name)
}
}
if (*rb->current_tick - lasttick > (HZ/2)) {
- update_screen();
+ update_screen(false);
lasttick = *rb->current_tick;
if (rb->action_userabort(TIMEOUT_NOBLOCK))
{
@@ -137,7 +139,7 @@ void generate(void)
return;
}
#ifndef HAVE_LCD_CHARCELLS
- update_screen();
+ update_screen(true);
#endif
lasttick = *rb->current_tick;
@@ -168,6 +170,7 @@ void edit_list(void)
rb->read(fd,buffer,buffer_size);
rb->close(fd);
list = (struct file_format *)buffer;
+ dirs_count = list->count;
rb->gui_synclist_init(&lists,list_get_name_cb,0, false, 1);
rb->gui_synclist_set_icon_callback(&lists,NULL);
@@ -177,10 +180,10 @@ void edit_list(void)
while (!exit)
{
- rb->gui_synclist_draw(&lists);
#ifndef HAVE_LCD_CHARCELLS
- update_screen();
+ update_screen(true);
#endif
+ rb->gui_synclist_draw(&lists);
button = rb->get_action(CONTEXT_LIST,TIMEOUT_BLOCK);
if (rb->gui_synclist_do_button(&lists,button))
continue;