summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Pennequin <nicolas.pennequin@free.fr>2007-04-09 14:06:38 +0000
committerNicolas Pennequin <nicolas.pennequin@free.fr>2007-04-09 14:06:38 +0000
commitcda89411b0baa33cdec52099968fac0985846263 (patch)
treeb77e3b700651668d9596c0f0d3a482ddfd4c8837
parent5764ff571a9f1c23171c1caa858c229770a049c7 (diff)
downloadrockbox-cda89411b0baa33cdec52099968fac0985846263.tar.gz
rockbox-cda89411b0baa33cdec52099968fac0985846263.zip
Accept FS#7000 by Dave Hooper: Fix scrolling line behaviour for dynamic tags (e.g. when a line with info about the next track didn't scroll) and fix some incorrect refreshing flags.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13081 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/gui/gwps-common.c11
-rw-r--r--apps/gui/wps_parser.c4
2 files changed, 11 insertions, 4 deletions
diff --git a/apps/gui/gwps-common.c b/apps/gui/gwps-common.c
index 62a068f21d..cc1f13a145 100644
--- a/apps/gui/gwps-common.c
+++ b/apps/gui/gwps-common.c
@@ -1883,8 +1883,15 @@ bool gui_wps_refresh(struct gui_wps *gwps,
1883 1883
1884 if (update_line) 1884 if (update_line)
1885 { 1885 {
1886 /* calculate alignment and draw the strings */ 1886 if (flags & WPS_REFRESH_SCROLL)
1887 write_line(display, &align, line, flags & WPS_REFRESH_SCROLL); 1887 {
1888 /* if the line is a scrolling one we don't want to update
1889 too often, so that it has the time to scroll */
1890 if (refresh_mode & WPS_REFRESH_SCROLL)
1891 write_line(display, &align, line, true);
1892 }
1893 else
1894 write_line(display, &align, line, false);
1888 } 1895 }
1889 } 1896 }
1890 1897
diff --git a/apps/gui/wps_parser.c b/apps/gui/wps_parser.c
index 3a85b5fad5..8d917cdd1d 100644
--- a/apps/gui/wps_parser.c
+++ b/apps/gui/wps_parser.c
@@ -191,13 +191,13 @@ static const struct wps_tag all_tags[] = {
191 { WPS_TOKEN_METADATA_TRACK_TITLE, "it", WPS_REFRESH_STATIC, NULL }, 191 { WPS_TOKEN_METADATA_TRACK_TITLE, "it", WPS_REFRESH_STATIC, NULL },
192 { WPS_TOKEN_METADATA_VERSION, "iv", WPS_REFRESH_STATIC, NULL }, 192 { WPS_TOKEN_METADATA_VERSION, "iv", WPS_REFRESH_STATIC, NULL },
193 { WPS_TOKEN_METADATA_YEAR, "iy", WPS_REFRESH_STATIC, NULL }, 193 { WPS_TOKEN_METADATA_YEAR, "iy", WPS_REFRESH_STATIC, NULL },
194 { WPS_TOKEN_METADATA_COMMENT, "iC", WPS_REFRESH_DYNAMIC, NULL }, 194 { WPS_TOKEN_METADATA_COMMENT, "iC", WPS_REFRESH_STATIC, NULL },
195 195
196 /* next metadata */ 196 /* next metadata */
197 { WPS_TOKEN_METADATA_ARTIST, "Ia", WPS_REFRESH_DYNAMIC, NULL }, 197 { WPS_TOKEN_METADATA_ARTIST, "Ia", WPS_REFRESH_DYNAMIC, NULL },
198 { WPS_TOKEN_METADATA_COMPOSER, "Ic", WPS_REFRESH_DYNAMIC, NULL }, 198 { WPS_TOKEN_METADATA_COMPOSER, "Ic", WPS_REFRESH_DYNAMIC, NULL },
199 { WPS_TOKEN_METADATA_ALBUM, "Id", WPS_REFRESH_DYNAMIC, NULL }, 199 { WPS_TOKEN_METADATA_ALBUM, "Id", WPS_REFRESH_DYNAMIC, NULL },
200 { WPS_TOKEN_METADATA_ALBUM_ARTIST, "IA", WPS_REFRESH_STATIC, NULL }, 200 { WPS_TOKEN_METADATA_ALBUM_ARTIST, "IA", WPS_REFRESH_DYNAMIC, NULL },
201 { WPS_TOKEN_METADATA_GENRE, "Ig", WPS_REFRESH_DYNAMIC, NULL }, 201 { WPS_TOKEN_METADATA_GENRE, "Ig", WPS_REFRESH_DYNAMIC, NULL },
202 { WPS_TOKEN_METADATA_TRACK_NUMBER, "In", WPS_REFRESH_DYNAMIC, NULL }, 202 { WPS_TOKEN_METADATA_TRACK_NUMBER, "In", WPS_REFRESH_DYNAMIC, NULL },
203 { WPS_TOKEN_METADATA_TRACK_TITLE, "It", WPS_REFRESH_DYNAMIC, NULL }, 203 { WPS_TOKEN_METADATA_TRACK_TITLE, "It", WPS_REFRESH_DYNAMIC, NULL },