|
|
|
|
@ -1693,25 +1693,19 @@ int main(int argc, char *argv[]) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
else if (Keypressed(input, Key.Clear)) |
|
|
|
|
{ |
|
|
|
|
if (myPlaylist->Main()->isFiltered()) |
|
|
|
|
{ |
|
|
|
|
ShowMessage("Deleting filtered items..."); |
|
|
|
|
Mpd.StartCommandsList(); |
|
|
|
|
for (int i = myPlaylist->Main()->Size()-1; i >= 0; --i) |
|
|
|
|
Mpd.Delete((*myPlaylist->Main())[i].GetPosition()); |
|
|
|
|
Mpd.CommitCommandsList(); |
|
|
|
|
ShowMessage("Filtered items deleted!"); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
if (myScreen == myPlaylistEditor && myPlaylistEditor->Playlists->Empty()) |
|
|
|
|
continue; |
|
|
|
|
int in = 0; |
|
|
|
|
if (myScreen == myPlaylistEditor) |
|
|
|
|
|
|
|
|
|
if (myScreen->ActiveWindow() == myPlaylistEditor->Content |
|
|
|
|
|| Config.ask_before_clearing_main_playlist) |
|
|
|
|
{ |
|
|
|
|
int in = 0; |
|
|
|
|
LockStatusbar(); |
|
|
|
|
Statusbar() << "Do you really want to clear playlist \"" << myPlaylistEditor->Playlists->Current() << "\" ? [y/n] "; |
|
|
|
|
Statusbar() << "Do you really want to clear playlist"; |
|
|
|
|
if (myScreen->ActiveWindow() == myPlaylistEditor->Content) |
|
|
|
|
*wFooter << " \"" << myPlaylistEditor->Playlists->Current() << "\""; |
|
|
|
|
*wFooter << " ? [y/n] "; |
|
|
|
|
curs_set(1); |
|
|
|
|
do |
|
|
|
|
{ |
|
|
|
|
@ -1722,21 +1716,34 @@ int main(int argc, char *argv[]) |
|
|
|
|
curs_set(0); |
|
|
|
|
UnlockStatusbar(); |
|
|
|
|
|
|
|
|
|
if (in == 'y') |
|
|
|
|
if (in != 'y') |
|
|
|
|
{ |
|
|
|
|
Mpd.ClearPlaylist(locale_to_utf_cpy(myPlaylistEditor->Playlists->Current())); |
|
|
|
|
myPlaylistEditor->Content->Clear(0); |
|
|
|
|
ShowMessage("Aborted!"); |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (myPlaylist->Main()->isFiltered()) |
|
|
|
|
{ |
|
|
|
|
ShowMessage("Deleting filtered items..."); |
|
|
|
|
Mpd.StartCommandsList(); |
|
|
|
|
for (int i = myPlaylist->Main()->Size()-1; i >= 0; --i) |
|
|
|
|
Mpd.Delete((*myPlaylist->Main())[i].GetPosition()); |
|
|
|
|
Mpd.CommitCommandsList(); |
|
|
|
|
ShowMessage("Filtered items deleted!"); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
ShowMessage("Aborted!"); |
|
|
|
|
{ |
|
|
|
|
if (myScreen->ActiveWindow() == myPlaylistEditor->Content) |
|
|
|
|
{ |
|
|
|
|
Mpd.ClearPlaylist(locale_to_utf_cpy(myPlaylistEditor->Playlists->Current())); |
|
|
|
|
myPlaylistEditor->Content->Clear(0); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
ShowMessage("Clearing playlist..."); |
|
|
|
|
Mpd.ClearPlaylist(); |
|
|
|
|
} |
|
|
|
|
if (myScreen != myPlaylistEditor || in == 'y') |
|
|
|
|
ShowMessage("Playlist cleared!"); |
|
|
|
|
} |
|
|
|
|
// if playlist is cleared, items list have to be updated, but this
|
|
|
|
|
// can be blocked if new song was added to playlist less than one
|
|
|
|
|
|