diff options
author | Jonathan Gordon <rockbox@jdgordon.info> | 2007-08-05 10:25:00 +0000 |
---|---|---|
committer | Jonathan Gordon <rockbox@jdgordon.info> | 2007-08-05 10:25:00 +0000 |
commit | 8d4d5f67ea9134e9a108eb18e1533c6b84c0ff84 (patch) | |
tree | ecbee74a4193fc7fb2de0d1d03f8c3874f673d20 /apps | |
parent | 97c4694bc2b82f4f2274b277f8bce22aaf348a22 (diff) | |
download | rockbox-8d4d5f67ea9134e9a108eb18e1533c6b84c0ff84.tar.gz rockbox-8d4d5f67ea9134e9a108eb18e1533c6b84c0ff84.zip |
Address FS#6310 - shows an "infinite" slider when deleting/copying/moving files.
maybe add this to other parts of the code so it doesnt look like the ui has stalled
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14189 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r-- | apps/gui/scrollbar.c | 20 | ||||
-rw-r--r-- | apps/gui/scrollbar.h | 1 | ||||
-rw-r--r-- | apps/onplay.c | 23 |
3 files changed, 43 insertions, 1 deletions
diff --git a/apps/gui/scrollbar.c b/apps/gui/scrollbar.c index b9038d902b..e2e70fd9fb 100644 --- a/apps/gui/scrollbar.c +++ b/apps/gui/scrollbar.c | |||
@@ -241,4 +241,24 @@ void gui_bitmap_scrollbar_draw(struct screen * screen, struct bitmap bm, int x, | |||
241 | #endif | 241 | #endif |
242 | } | 242 | } |
243 | } | 243 | } |
244 | |||
245 | void show_busy_slider(struct screen *s, int x, int y, int width, int height) | ||
246 | { | ||
247 | static int start = 0, dir = 1; | ||
248 | gui_scrollbar_draw(s, x, y, width, height, 100, | ||
249 | start, start+20, HORIZONTAL); | ||
250 | #if NB_SCREENS > 1 | ||
251 | if (s->screen_type == SCREEN_MAIN) | ||
252 | { | ||
253 | #endif | ||
254 | start += (dir*2); | ||
255 | if (start > 79) | ||
256 | dir = -1; | ||
257 | else if (start < 1) | ||
258 | dir = 1; | ||
259 | #if NB_SCREENS > 1 | ||
260 | } | ||
261 | #endif | ||
262 | } | ||
263 | |||
244 | #endif /* HAVE_LCD_BITMAP */ | 264 | #endif /* HAVE_LCD_BITMAP */ |
diff --git a/apps/gui/scrollbar.h b/apps/gui/scrollbar.h index 40279a1a9d..9e60730de0 100644 --- a/apps/gui/scrollbar.h +++ b/apps/gui/scrollbar.h | |||
@@ -55,5 +55,6 @@ extern void gui_bitmap_scrollbar_draw(struct screen * screen, struct bitmap bm, | |||
55 | int width, int height, int items, | 55 | int width, int height, int items, |
56 | int min_shown, int max_shown, | 56 | int min_shown, int max_shown, |
57 | unsigned flags); | 57 | unsigned flags); |
58 | extern void show_busy_slider(struct screen *s, int x, int y, int width, int height); | ||
58 | #endif /* HAVE_LCD_BITMAP */ | 59 | #endif /* HAVE_LCD_BITMAP */ |
59 | #endif /* _GUI_SCROLLBAR_H_ */ | 60 | #endif /* _GUI_SCROLLBAR_H_ */ |
diff --git a/apps/onplay.c b/apps/onplay.c index ea73dbbada..f09913e312 100644 --- a/apps/onplay.c +++ b/apps/onplay.c | |||
@@ -487,8 +487,13 @@ static int remove_dir(char* dirname, int len) | |||
487 | } | 487 | } |
488 | else | 488 | else |
489 | { /* remove a file */ | 489 | { /* remove a file */ |
490 | #ifdef HAVE_LCD_BITMAP | ||
490 | FOR_NB_SCREENS(i) | 491 | FOR_NB_SCREENS(i) |
491 | screens[i].puts_scroll(0,2,entry->d_name); | 492 | { |
493 | show_busy_slider(&screens[i], 2, 3*screens[i].char_height, | ||
494 | LCD_WIDTH-4, screens[i].char_height); | ||
495 | } | ||
496 | #endif | ||
492 | result = remove(dirname); | 497 | result = remove(dirname); |
493 | } | 498 | } |
494 | #ifdef HAVE_LCD_BITMAP | 499 | #ifdef HAVE_LCD_BITMAP |
@@ -661,6 +666,21 @@ static bool clipboard_copy(void) | |||
661 | return clipboard_clip(true); | 666 | return clipboard_clip(true); |
662 | } | 667 | } |
663 | 668 | ||
669 | #ifdef HAVE_LCD_BITMAP | ||
670 | static inline void draw_slider(void) | ||
671 | { | ||
672 | int i; | ||
673 | FOR_NB_SCREENS(i) | ||
674 | { | ||
675 | show_busy_slider(&screens[i], 2, LCD_HEIGHT/4, | ||
676 | LCD_WIDTH-4, screens[i].char_height); | ||
677 | screens[i].update(); | ||
678 | } | ||
679 | } | ||
680 | #else | ||
681 | #define draw_slider() | ||
682 | #endif | ||
683 | |||
664 | /* Paste a file to a new directory. Will overwrite always. */ | 684 | /* Paste a file to a new directory. Will overwrite always. */ |
665 | static bool clipboard_pastefile(const char *src, const char *target, bool copy) | 685 | static bool clipboard_pastefile(const char *src, const char *target, bool copy) |
666 | { | 686 | { |
@@ -721,6 +741,7 @@ static bool clipboard_pastefile(const char *src, const char *target, bool copy) | |||
721 | } | 741 | } |
722 | 742 | ||
723 | bytesread -= byteswritten; | 743 | bytesread -= byteswritten; |
744 | draw_slider(); | ||
724 | } | 745 | } |
725 | } | 746 | } |
726 | 747 | ||