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:
parent
5cd393c772
commit
fc69875d56
1 changed files with 90 additions and 114 deletions
204
apps/tree.c
204
apps/tree.c
|
|
@ -658,7 +658,7 @@ static int onplay_screen(char* dir, char* file)
|
||||||
snprintf(buf, sizeof buf, "%s/%s", dir, file);
|
snprintf(buf, sizeof buf, "%s/%s", dir, file);
|
||||||
|
|
||||||
lcd_clear_display();
|
lcd_clear_display();
|
||||||
#ifdef HAVE_LCD_BITMAP
|
|
||||||
{
|
{
|
||||||
int w,h;
|
int w,h;
|
||||||
char* ptr;
|
char* ptr;
|
||||||
|
|
@ -686,11 +686,6 @@ static int onplay_screen(char* dir, char* file)
|
||||||
lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward],
|
lcd_bitmap(bitmap_icons_7x8[Icon_FastBackward],
|
||||||
LCD_WIDTH/2 - 16, LCD_HEIGHT/2 - 4, 7, 8, true);
|
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();
|
lcd_update();
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -723,15 +718,10 @@ static int onplay_screen(char* dir, char* file)
|
||||||
if (isdir)
|
if (isdir)
|
||||||
break;
|
break;
|
||||||
lcd_clear_display();
|
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,0,str(LANG_REALLY_DELETE));
|
||||||
lcd_puts(0,1,file);
|
lcd_puts(0,1,file);
|
||||||
lcd_puts(0,3,str(LANG_RESUME_CONFIRM_RECORDER));
|
lcd_puts(0,3,str(LANG_RESUME_CONFIRM_RECORDER));
|
||||||
lcd_puts(0,4,str(LANG_RESUME_CANCEL_RECORDER));
|
lcd_puts(0,4,str(LANG_RESUME_CANCEL_RECORDER));
|
||||||
#endif
|
|
||||||
lcd_update();
|
lcd_update();
|
||||||
while (!exit) {
|
while (!exit) {
|
||||||
int btn = button_get(true);
|
int btn = button_get(true);
|
||||||
|
|
@ -746,8 +736,8 @@ static int onplay_screen(char* dir, char* file)
|
||||||
lcd_update();
|
lcd_update();
|
||||||
sleep(HZ);
|
sleep(HZ);
|
||||||
exit = true;
|
exit = true;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
/* ignore button releases */
|
/* ignore button releases */
|
||||||
|
|
@ -775,17 +765,13 @@ static int onplay_screen(char* dir, char* file)
|
||||||
exit = true;
|
exit = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef HAVE_RECORDER_KEYPAD
|
|
||||||
case BUTTON_OFF:
|
case BUTTON_OFF:
|
||||||
exit = true;
|
exit = true;
|
||||||
break;
|
break;
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef HAVE_LCD_BITMAP
|
|
||||||
lcd_setfont(FONT_UI);
|
lcd_setfont(FONT_UI);
|
||||||
#endif
|
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
@ -794,113 +780,103 @@ static int onplay_screen(char* dir, char* file)
|
||||||
|
|
||||||
static int onplay_screen(char* dir, char* file)
|
static int onplay_screen(char* dir, char* file)
|
||||||
{
|
{
|
||||||
bool exit = false;
|
bool exit = false;
|
||||||
bool playing = mpeg_status() & MPEG_STATUS_PLAY;
|
bool playing = mpeg_status() & MPEG_STATUS_PLAY;
|
||||||
char buf[MAX_PATH];
|
char buf[MAX_PATH];
|
||||||
struct entry* f = &dircache[dirstart + dircursor];
|
struct entry* f = &dircache[dirstart + dircursor];
|
||||||
bool isdir = f->attr & ATTR_DIRECTORY;
|
bool isdir = f->attr & ATTR_DIRECTORY;
|
||||||
struct menu_items items[3];
|
struct menu_items items[3];
|
||||||
int ids[3];
|
int ids[3];
|
||||||
int lastitem=0;
|
int lastitem=0;
|
||||||
int m_handle;
|
int m_handle;
|
||||||
int selected;
|
int selected;
|
||||||
|
|
||||||
if ((dir[0]=='/') && (dir[1]==0))
|
if ((dir[0]=='/') && (dir[1]==0))
|
||||||
snprintf(buf, sizeof buf, "%s%s", dir, file);
|
snprintf(buf, sizeof buf, "%s%s", dir, file);
|
||||||
else
|
else
|
||||||
snprintf(buf, sizeof buf, "%s/%s", dir, file);
|
snprintf(buf, sizeof buf, "%s/%s", dir, file);
|
||||||
|
|
||||||
if (playing) {
|
if (playing) {
|
||||||
items[lastitem].desc=str(LANG_QUEUE);
|
items[lastitem].desc=str(LANG_QUEUE);
|
||||||
ids[lastitem]=1;
|
ids[lastitem]=1;
|
||||||
|
lastitem++;
|
||||||
|
}
|
||||||
|
|
||||||
|
items[lastitem].desc=str(LANG_RENAME);
|
||||||
|
ids[lastitem]=2;
|
||||||
lastitem++;
|
lastitem++;
|
||||||
}
|
|
||||||
|
|
||||||
items[lastitem].desc=str(LANG_RENAME);
|
|
||||||
ids[lastitem]=2;
|
|
||||||
lastitem++;
|
|
||||||
|
|
||||||
/* don't delete directories */
|
/* don't delete directories */
|
||||||
if (!isdir) {
|
if (!isdir) {
|
||||||
items[lastitem].desc=str(LANG_DELETE);
|
items[lastitem].desc=str(LANG_DELETE);
|
||||||
ids[lastitem]=3;
|
ids[lastitem]=3;
|
||||||
lastitem++;
|
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;
|
|
||||||
}
|
}
|
||||||
}
|
m_handle=menu_init(items, lastitem);
|
||||||
menu_exit(m_handle);
|
|
||||||
return false;
|
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
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static bool handle_on(int* ds, int* dc, int numentries, int tree_max_on_screen)
|
static bool handle_on(int* ds, int* dc, int numentries, int tree_max_on_screen)
|
||||||
{
|
{
|
||||||
bool exit = false;
|
bool exit = false;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue