1
0
Fork 0
forked from len0rd/rockbox

Code police raid

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3181 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Björn Stenberg 2003-01-29 09:40:04 +00:00
parent 5cd393c772
commit fc69875d56

View file

@ -658,7 +658,7 @@ static int onplay_screen(char* dir, char* file)
snprintf(buf, sizeof buf, "%s/%s", dir, file);
lcd_clear_display();
#ifdef HAVE_LCD_BITMAP
{
int w,h;
char* ptr;
@ -686,11 +686,6 @@ static int onplay_screen(char* dir, char* file)
lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward],
LCD_WIDTH/2 - 16, LCD_HEIGHT/2 - 4, 7, 8, true);
}
#else
if (playing)
lcd_puts(0,0,str(LANG_PLAYER_ONPLAY_1));
lcd_puts(0,1,str(LANG_PLAYER_ONPLAY_2));
#endif
lcd_update();
@ -723,15 +718,10 @@ static int onplay_screen(char* dir, char* file)
if (isdir)
break;
lcd_clear_display();
#ifdef HAVE_LCD_CHARCELLS
lcd_puts(0,0,file);
lcd_puts(0,1,str(LANG_REALLY_DELETE));
#else
lcd_puts(0,0,str(LANG_REALLY_DELETE));
lcd_puts(0,1,file);
lcd_puts(0,3,str(LANG_RESUME_CONFIRM_RECORDER));
lcd_puts(0,4,str(LANG_RESUME_CANCEL_RECORDER));
#endif
lcd_update();
while (!exit) {
int btn = button_get(true);
@ -746,8 +736,8 @@ static int onplay_screen(char* dir, char* file)
lcd_update();
sleep(HZ);
exit = true;
break;
}
break;
default:
/* ignore button releases */
@ -775,17 +765,13 @@ static int onplay_screen(char* dir, char* file)
exit = true;
break;
#ifdef HAVE_RECORDER_KEYPAD
case BUTTON_OFF:
exit = true;
break;
#endif
}
}
#ifdef HAVE_LCD_BITMAP
lcd_setfont(FONT_UI);
#endif
return false;
}
@ -794,113 +780,103 @@ static int onplay_screen(char* dir, char* file)
static int onplay_screen(char* dir, char* file)
{
bool exit = false;
bool playing = mpeg_status() & MPEG_STATUS_PLAY;
char buf[MAX_PATH];
struct entry* f = &dircache[dirstart + dircursor];
bool isdir = f->attr & ATTR_DIRECTORY;
struct menu_items items[3];
int ids[3];
int lastitem=0;
int m_handle;
int selected;
bool exit = false;
bool playing = mpeg_status() & MPEG_STATUS_PLAY;
char buf[MAX_PATH];
struct entry* f = &dircache[dirstart + dircursor];
bool isdir = f->attr & ATTR_DIRECTORY;
struct menu_items items[3];
int ids[3];
int lastitem=0;
int m_handle;
int selected;
if ((dir[0]=='/') && (dir[1]==0))
snprintf(buf, sizeof buf, "%s%s", dir, file);
else
snprintf(buf, sizeof buf, "%s/%s", dir, file);
if ((dir[0]=='/') && (dir[1]==0))
snprintf(buf, sizeof buf, "%s%s", dir, file);
else
snprintf(buf, sizeof buf, "%s/%s", dir, file);
if (playing) {
items[lastitem].desc=str(LANG_QUEUE);
ids[lastitem]=1;
lastitem++;
}
if (playing) {
items[lastitem].desc=str(LANG_QUEUE);
ids[lastitem]=1;
lastitem++;
}
items[lastitem].desc=str(LANG_RENAME);
ids[lastitem]=2;
lastitem++;
items[lastitem].desc=str(LANG_RENAME);
ids[lastitem]=2;
lastitem++;
/* don't delete directories */
if (!isdir) {
items[lastitem].desc=str(LANG_DELETE);
ids[lastitem]=3;
lastitem++;
}
m_handle=menu_init(items, lastitem);
selected=menu_show(m_handle);
if (selected>=0) {
switch(ids[selected]) {
case 1:
if (playing)
queue_add(buf);
break;
case 2:
{
char newname[MAX_PATH];
char* ptr = strrchr(buf, '/') + 1;
int pathlen = (ptr - buf);
strncpy(newname, buf, sizeof newname);
if (!kbd_input(newname + pathlen, (sizeof newname)-pathlen)) {
if (rename(buf, newname) < 0) {
lcd_clear_display();
lcd_puts(0,0,str(LANG_RENAME));
lcd_puts(0,1,str(LANG_FAILED));
lcd_update();
sleep(HZ*2);
}
else
reload_dir = true;
}
}
break;
case 3:
lcd_clear_display();
#ifdef HAVE_LCD_CHARCELLS
lcd_puts(0,0,file);
lcd_puts(0,1,str(LANG_REALLY_DELETE));
#else
lcd_puts(0,0,str(LANG_REALLY_DELETE));
lcd_puts(0,1,file);
lcd_puts(0,3,str(LANG_RESUME_CONFIRM_RECORDER));
lcd_puts(0,4,str(LANG_RESUME_CANCEL_RECORDER));
#endif
lcd_update();
{
while (!exit) {
int btn = button_get(true);
switch (btn) {
case BUTTON_PLAY:
case BUTTON_PLAY | BUTTON_REL:
if (!remove(buf)) {
reload_dir = true;
lcd_clear_display();
lcd_puts(0,0,file);
lcd_puts(0,1,str(LANG_DELETED));
lcd_update();
sleep(HZ);
exit = true;
break;
}
default:
/* ignore button releases */
if (!(btn & BUTTON_REL))
exit = true;
break;
}
}
}
break;
if (!isdir) {
items[lastitem].desc=str(LANG_DELETE);
ids[lastitem]=3;
lastitem++;
}
}
menu_exit(m_handle);
return false;
m_handle=menu_init(items, lastitem);
selected=menu_show(m_handle);
if (selected>=0) {
switch(ids[selected]) {
case 1:
if (playing)
queue_add(buf);
break;
case 2: {
char newname[MAX_PATH];
char* ptr = strrchr(buf, '/') + 1;
int pathlen = (ptr - buf);
strncpy(newname, buf, sizeof newname);
if (!kbd_input(newname + pathlen, (sizeof newname)-pathlen)) {
if (rename(buf, newname) < 0) {
lcd_clear_display();
lcd_puts(0,0,str(LANG_RENAME));
lcd_puts(0,1,str(LANG_FAILED));
lcd_update();
sleep(HZ*2);
}
else
reload_dir = true;
}
}
break;
case 3:
lcd_clear_display();
lcd_puts(0,0,file);
lcd_puts(0,1,str(LANG_REALLY_DELETE));
lcd_update();
while (!exit) {
int btn = button_get(true);
switch (btn) {
case BUTTON_PLAY:
case BUTTON_PLAY | BUTTON_REL:
if (!remove(buf)) {
reload_dir = true;
lcd_clear_display();
lcd_puts(0,0,file);
lcd_puts(0,1,str(LANG_DELETED));
lcd_update();
sleep(HZ);
exit = true;
}
break;
default:
/* ignore button releases */
if (!(btn & BUTTON_REL))
exit = true;
break;
}
}
break;
}
}
menu_exit(m_handle);
return false;
}
#endif
static bool handle_on(int* ds, int* dc, int numentries, int tree_max_on_screen)
{
bool exit = false;