fix renaming local files in browser

This commit is contained in:
unK
2008-10-27 21:15:36 +01:00
parent db6eb9bc38
commit 6f3276dffa

View File

@@ -39,6 +39,7 @@ extern Menu<Song> *mPlaylist;
extern Menu<string> *mTagEditor;
extern Window *wFooter;
extern Window *wPrev;
SongSetFunction IntoSetFunction(mpd_TagItems tag)
{
@@ -248,17 +249,22 @@ bool WriteTags(Song &s)
new_name += s.GetDirectory() + "/" + s.GetNewName();
if (rename(old_name.c_str(), new_name.c_str()) == 0 && !file_is_from_db)
{
// if we rename local file, it won't get updated
// so just remove it from playlist and add again
int pos = mPlaylist->GetChoice();
Mpd->QueueDeleteSong(pos);
Mpd->CommitQueue();
int id = Mpd->AddSong("file://" + new_name);
if (id >= 0)
if (wPrev == mPlaylist)
{
s = mPlaylist->Back();
Mpd->Move(s.GetPosition(), pos);
// if we rename local file, it won't get updated
// so just remove it from playlist and add again
int pos = mPlaylist->GetChoice();
Mpd->QueueDeleteSong(pos);
Mpd->CommitQueue();
int id = Mpd->AddSong("file://" + new_name);
if (id >= 0)
{
s = mPlaylist->Back();
Mpd->Move(s.GetPosition(), pos);
}
}
else // only mBrowser
s.SetFile(new_name);
}
}
return true;