a bit of code cleanup.. use a single function to get the statusbar height (or lack of if its enabled), and remove some gui_textarea stuff which could be done using the splash. (gui_textarea is on the way out)


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17350 a1c6a512-1295-4272-9138-f99709370657
diff --git a/apps/gui/charcell/list.c b/apps/gui/charcell/list.c
index 64f2fec..bba688d 100644
--- a/apps/gui/charcell/list.c
+++ b/apps/gui/charcell/list.c
@@ -54,7 +54,7 @@
     display->set_viewport(NULL);
     lines = display->nb_lines;
     
-    gui_textarea_clear(display);
+    display->clear_display();
     start = 0;
     end = display->nb_lines;
     gui_list->last_displayed_start_item[display->screen_type] = 
@@ -126,5 +126,5 @@
     }
 
     display->update_viewport();
-    gui_textarea_update(display);
+    display->update();
 }
diff --git a/apps/gui/list.c b/apps/gui/list.c
index 6b42295..1e2b682 100644
--- a/apps/gui/list.c
+++ b/apps/gui/list.c
@@ -76,7 +76,7 @@
         else if (list->parent[i] == vp)
         {
             viewport_set_defaults(vp, i);
-            list->parent[i]->y = global_settings.statusbar?STATUSBAR_HEIGHT:0;
+            list->parent[i]->y = gui_statusbar_height();
             list->parent[i]->height = screens[i].height - list->parent[i]->y;
         }
     }
diff --git a/apps/gui/statusbar.c b/apps/gui/statusbar.c
index 043fbd3..436e3d6 100644
--- a/apps/gui/statusbar.c
+++ b/apps/gui/statusbar.c
@@ -797,3 +797,9 @@
         gui_statusbar_draw( &(bars->statusbars[i]), force_redraw );
     }
 }
+
+int gui_statusbar_height(void)
+{
+    return global_settings.statusbar ? STATUSBAR_HEIGHT : 0;
+}
+
diff --git a/apps/gui/statusbar.h b/apps/gui/statusbar.h
index 8862620..989d1cb 100644
--- a/apps/gui/statusbar.h
+++ b/apps/gui/statusbar.h
@@ -95,5 +95,5 @@
 
 extern void gui_syncstatusbar_init(struct gui_syncstatusbar * bars);
 extern void gui_syncstatusbar_draw(struct gui_syncstatusbar * bars, bool force_redraw);
-
+extern int  gui_statusbar_height(void);
 #endif /*_GUI_STATUSBAR_H_*/
diff --git a/apps/gui/viewport.c b/apps/gui/viewport.c
index 86ecd99..fbf520e 100644
--- a/apps/gui/viewport.c
+++ b/apps/gui/viewport.c
@@ -50,7 +50,7 @@
     vp->x = 0;
     vp->width = screens[screen].width;
     
-    vp->y = global_settings.statusbar?STATUSBAR_HEIGHT:0;
+    vp->y = gui_statusbar_height();
     vp->height = screens[screen].height - vp->y;
 #ifdef HAVE_LCD_BITMAP
     vp->drawmode = DRMODE_SOLID;
diff --git a/apps/menus/recording_menu.c b/apps/menus/recording_menu.c
index 887d89a..8a26be0 100644
--- a/apps/menus/recording_menu.c
+++ b/apps/menus/recording_menu.c
@@ -487,7 +487,7 @@
     int offset[NB_SCREENS];
     int option_lines[NB_SCREENS];
     int w, h, i;
-    int stat_height = global_settings.statusbar ? STATUSBAR_HEIGHT : 0;
+    int stat_height = gui_statusbar_height();
     int pm_y[NB_SCREENS];
 
     int trig_xpos[NB_SCREENS];
diff --git a/apps/tree.c b/apps/tree.c
index afe76a3..a5741df 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -936,8 +936,6 @@
                 for (i=0; i < filetypes_count; i++) {
                     if (filetypes[i].tree_attr == FILE_ATTR_AUDIO) {
                         if (!strcasecmp(cp, filetypes[i].extension)) {
-                            char buf[8];
-                            int i;
                             write(fd, dirname, strlen(dirname));
                             write(fd, "/", 1);
                             write(fd, entry->d_name, x);
@@ -946,28 +944,8 @@
                             plsize++;
                             if(TIME_AFTER(current_tick, pltick+HZ/4)) {
                                 pltick = current_tick;
-
-                                snprintf(buf, sizeof buf, "%d", plsize);
-#ifdef HAVE_LCD_BITMAP
-                                FOR_NB_SCREENS(i)
-                                {
-                                    screens[i].puts(0, 4, (unsigned char *)buf);
-                                    gui_textarea_update(&screens[i]);
-                                }
-#else
-                                if (plsize > 999)
-                                    x=7;
-                                else if (plsize > 99)
-                                    x=8;
-                                else if (plsize > 9)
-                                    x=9;
-                                else
-                                    x = 10;
-
-                                FOR_NB_SCREENS(i) {
-                                    screens[i].puts(x,0,buf);
-                                }
-#endif
+                                gui_syncsplash(0, "%d %s",
+                                               plsize, str(LANG_DIR_BROWSER));
                             }
                             break;
                         }
@@ -984,22 +962,14 @@
 bool create_playlist(void)
 {
     int fd;
-    int i;
     char filename[MAX_PATH];
 
     pltick = current_tick;
 
     snprintf(filename, sizeof filename, "%s.m3u8",
              tc.currdir[1] ? tc.currdir : "/root");
-    FOR_NB_SCREENS(i)
-    {
-        gui_textarea_clear(&screens[i]);
-        screens[i].puts(0, 0, str(LANG_CREATING));
-        screens[i].puts_scroll(0, 1, (unsigned char *)filename);
-#if defined(HAVE_LCD_BITMAP) || defined(SIMULATOR)
-        gui_textarea_update(&screens[i]);
-#endif
-    }
+    gui_syncsplash(0, "%s %s", str(LANG_CREATING), filename);
+    
     fd = creat(filename);
     if (fd < 0)
         return false;
@@ -1272,25 +1242,9 @@
     if (global_settings.dircache)
     {
         /* Print "Scanning disk..." to the display. */
-        int i;
-        FOR_NB_SCREENS(i)
-        {
-            screens[i].putsxy((LCD_WIDTH/2) -
-                              ((strlen(str(LANG_SCANNING_DISK)) *
-                                screens[i].char_width)/2),
-                              LCD_HEIGHT-screens[i].char_height*3,
-                              str(LANG_SCANNING_DISK));
-            gui_textarea_update(&screens[i]);
-        }
-        cond_talk_ids_fq(LANG_SCANNING_DISK);
+        gui_syncsplash(0, str(LANG_SCANNING_DISK));
 
         dircache_build(global_status.dircache_size);
-
-        /* Clean the text when we are done. */
-        FOR_NB_SCREENS(i)
-        {
-            gui_textarea_clear(&screens[i]);
-        }
     }
 #endif
 #ifdef HAVE_TAGCACHE