playlist: move sorting dialog related functions to separate file
This commit is contained in:
@@ -43,6 +43,7 @@
|
||||
#include "lyrics.h"
|
||||
#include "playlist.h"
|
||||
#include "playlist_editor.h"
|
||||
#include "sort_playlist.h"
|
||||
#include "search_engine.h"
|
||||
#include "sel_items_adder.h"
|
||||
#include "server_info.h"
|
||||
@@ -103,6 +104,7 @@ void Action::SetResizeFlags()
|
||||
myLyrics->hasToBeResized = 1;
|
||||
mySelectedItemsAdder->hasToBeResized = 1;
|
||||
mySongInfo->hasToBeResized = 1;
|
||||
mySortPlaylistDialog->hasToBeResized = 1;
|
||||
|
||||
# ifdef HAVE_CURL_CURL_H
|
||||
myLastfm->hasToBeResized = 1;
|
||||
@@ -743,11 +745,11 @@ void VolumeDown::Run()
|
||||
|
||||
void Delete::Run()
|
||||
{
|
||||
if (myScreen == myPlaylist && !myPlaylist->Items->empty())
|
||||
if (myScreen == myPlaylist && !myPlaylist->main()->empty())
|
||||
{
|
||||
Statusbar::msg("Deleting items...");
|
||||
auto delete_fun = std::bind(&MPD::Connection::Delete, _1, _2);
|
||||
if (deleteSelectedSongs(*myPlaylist->Items, delete_fun))
|
||||
if (deleteSelectedSongs(*myPlaylist->main(), delete_fun))
|
||||
Statusbar::msg("Item(s) deleted");
|
||||
}
|
||||
# ifndef WIN32
|
||||
@@ -874,11 +876,11 @@ void SavePlaylist::Run()
|
||||
}
|
||||
if (!playlist_name.empty())
|
||||
{
|
||||
if (myPlaylist->Items->isFiltered())
|
||||
if (myPlaylist->main()->isFiltered())
|
||||
{
|
||||
Mpd.StartCommandsList();
|
||||
for (size_t i = 0; i < myPlaylist->Items->size(); ++i)
|
||||
Mpd.AddToPlaylist(playlist_name, (*myPlaylist->Items)[i].value());
|
||||
for (size_t i = 0; i < myPlaylist->main()->size(); ++i)
|
||||
Mpd.AddToPlaylist(playlist_name, (*myPlaylist->main())[i].value());
|
||||
Mpd.CommitCommandsList();
|
||||
if (Mpd.GetErrorMessage().empty())
|
||||
Statusbar::msg("Filtered items added to playlist \"%s\"", playlist_name.c_str());
|
||||
@@ -924,30 +926,28 @@ void Stop::Run()
|
||||
|
||||
bool MoveSortOrderUp::canBeRun() const
|
||||
{
|
||||
return myScreen == myPlaylist
|
||||
&& myPlaylist->SortingInProgress();
|
||||
return myScreen == mySortPlaylistDialog;
|
||||
}
|
||||
|
||||
void MoveSortOrderUp::Run()
|
||||
{
|
||||
myPlaylist->moveSortOrderUp();
|
||||
mySortPlaylistDialog->moveSortOrderUp();
|
||||
}
|
||||
|
||||
bool MoveSortOrderDown::canBeRun() const
|
||||
{
|
||||
return myScreen == myPlaylist
|
||||
&& myPlaylist->SortingInProgress();
|
||||
return myScreen == mySortPlaylistDialog;
|
||||
}
|
||||
|
||||
void MoveSortOrderDown::Run()
|
||||
{
|
||||
myPlaylist->moveSortOrderDown();
|
||||
mySortPlaylistDialog->moveSortOrderDown();
|
||||
}
|
||||
|
||||
bool MoveSelectedItemsUp::canBeRun() const
|
||||
{
|
||||
return ((myScreen->activeWindow() == myPlaylist->Items
|
||||
&& !myPlaylist->Items->empty()
|
||||
return ((myScreen->activeWindow() == myPlaylist->main()
|
||||
&& !myPlaylist->main()->empty()
|
||||
&& !myPlaylist->isFiltered())
|
||||
|| (myScreen->activeWindow() == myPlaylistEditor->Content
|
||||
&& !myPlaylistEditor->Content->empty()
|
||||
@@ -958,7 +958,7 @@ void MoveSelectedItemsUp::Run()
|
||||
{
|
||||
if (myScreen == myPlaylist)
|
||||
{
|
||||
moveSelectedItemsUp(*myPlaylist->Items, std::bind(&MPD::Connection::Move, _1, _2, _3));
|
||||
moveSelectedItemsUp(*myPlaylist->main(), std::bind(&MPD::Connection::Move, _1, _2, _3));
|
||||
}
|
||||
else if (myScreen == myPlaylistEditor)
|
||||
{
|
||||
@@ -971,8 +971,8 @@ void MoveSelectedItemsUp::Run()
|
||||
|
||||
bool MoveSelectedItemsDown::canBeRun() const
|
||||
{
|
||||
return ((myScreen->activeWindow() == myPlaylist->Items
|
||||
&& !myPlaylist->Items->empty()
|
||||
return ((myScreen->activeWindow() == myPlaylist->main()
|
||||
&& !myPlaylist->main()->empty()
|
||||
&& !myPlaylist->isFiltered())
|
||||
|| (myScreen->activeWindow() == myPlaylistEditor->Content
|
||||
&& !myPlaylistEditor->Content->empty()
|
||||
@@ -983,7 +983,7 @@ void MoveSelectedItemsDown::Run()
|
||||
{
|
||||
if (myScreen == myPlaylist)
|
||||
{
|
||||
moveSelectedItemsDown(*myPlaylist->Items, std::bind(&MPD::Connection::Move, _1, _2, _3));
|
||||
moveSelectedItemsDown(*myPlaylist->main(), std::bind(&MPD::Connection::Move, _1, _2, _3));
|
||||
}
|
||||
else if (myScreen == myPlaylistEditor)
|
||||
{
|
||||
@@ -996,14 +996,14 @@ void MoveSelectedItemsDown::Run()
|
||||
|
||||
bool MoveSelectedItemsTo::canBeRun() const
|
||||
{
|
||||
return myScreen->activeWindow() == myPlaylist->Items
|
||||
return myScreen->activeWindow() == myPlaylist->main()
|
||||
|| myScreen->activeWindow() == myPlaylistEditor->Content;
|
||||
}
|
||||
|
||||
void MoveSelectedItemsTo::Run()
|
||||
{
|
||||
if (myScreen == myPlaylist)
|
||||
moveSelectedItemsTo(*myPlaylist->Items, std::bind(&MPD::Connection::Move, _1, _2, _3));
|
||||
moveSelectedItemsTo(*myPlaylist->main(), std::bind(&MPD::Connection::Move, _1, _2, _3));
|
||||
else
|
||||
{
|
||||
assert(!myPlaylistEditor->Playlists->empty());
|
||||
@@ -1086,16 +1086,16 @@ void ToggleDisplayMode::Run()
|
||||
|
||||
if (Config.columns_in_playlist)
|
||||
{
|
||||
myPlaylist->Items->setItemDisplayer(std::bind(Display::SongsInColumns, _1, myPlaylist));
|
||||
myPlaylist->main()->setItemDisplayer(std::bind(Display::SongsInColumns, _1, myPlaylist));
|
||||
if (Config.titles_visibility)
|
||||
myPlaylist->Items->setTitle(Display::Columns(myPlaylist->Items->getWidth()));
|
||||
myPlaylist->main()->setTitle(Display::Columns(myPlaylist->main()->getWidth()));
|
||||
else
|
||||
myPlaylist->Items->setTitle("");
|
||||
myPlaylist->main()->setTitle("");
|
||||
}
|
||||
else
|
||||
{
|
||||
myPlaylist->Items->setItemDisplayer(std::bind(Display::Songs, _1, myPlaylist, Config.song_list_format));
|
||||
myPlaylist->Items->setTitle("");
|
||||
myPlaylist->main()->setItemDisplayer(std::bind(Display::Songs, _1, myPlaylist, Config.song_list_format));
|
||||
myPlaylist->main()->setTitle("");
|
||||
}
|
||||
}
|
||||
else if (myScreen == myBrowser)
|
||||
@@ -1166,8 +1166,8 @@ void TogglePlayingSongCentering::Run()
|
||||
{
|
||||
Config.autocenter_mode = !Config.autocenter_mode;
|
||||
Statusbar::msg("Centering playing song: %s", Config.autocenter_mode ? "On" : "Off");
|
||||
if (Config.autocenter_mode && Mpd.isPlaying() && !myPlaylist->Items->isFiltered())
|
||||
myPlaylist->Items->highlight(Mpd.GetCurrentlyPlayingSongPos());
|
||||
if (Config.autocenter_mode && Mpd.isPlaying() && !myPlaylist->main()->isFiltered())
|
||||
myPlaylist->main()->highlight(Mpd.GetCurrentlyPlayingSongPos());
|
||||
}
|
||||
|
||||
void UpdateDatabase::Run()
|
||||
@@ -1193,7 +1193,7 @@ bool JumpToPlayingSong::canBeRun() const
|
||||
void JumpToPlayingSong::Run()
|
||||
{
|
||||
if (myScreen == myPlaylist)
|
||||
myPlaylist->Items->highlight(Mpd.GetCurrentlyPlayingSongPos());
|
||||
myPlaylist->main()->highlight(Mpd.GetCurrentlyPlayingSongPos());
|
||||
else if (myScreen == myBrowser)
|
||||
{
|
||||
myBrowser->LocateSong(myPlaylist->nowPlayingSong());
|
||||
@@ -1751,7 +1751,7 @@ void CropMainPlaylist::Run()
|
||||
if (yes)
|
||||
{
|
||||
Statusbar::msg("Cropping playlist...");
|
||||
if (cropPlaylist(*myPlaylist->Items, std::bind(&MPD::Connection::Delete, _1, _2)))
|
||||
if (cropPlaylist(*myPlaylist->main(), std::bind(&MPD::Connection::Delete, _1, _2)))
|
||||
Statusbar::msg("Cropping playlist...");
|
||||
}
|
||||
}
|
||||
@@ -1787,7 +1787,7 @@ void ClearMainPlaylist::Run()
|
||||
auto delete_fun = std::bind(&MPD::Connection::Delete, _1, _2);
|
||||
auto clear_fun = std::bind(&MPD::Connection::ClearMainPlaylist, _1);
|
||||
Statusbar::msg("Deleting items...");
|
||||
if (clearPlaylist(*myPlaylist->Items, delete_fun, clear_fun))
|
||||
if (clearPlaylist(*myPlaylist->main(), delete_fun, clear_fun))
|
||||
Statusbar::msg("Items deleted");
|
||||
}
|
||||
}
|
||||
@@ -1821,7 +1821,7 @@ bool SortPlaylist::canBeRun() const
|
||||
|
||||
void SortPlaylist::Run()
|
||||
{
|
||||
myPlaylist->Sort();
|
||||
mySortPlaylistDialog->switchTo();
|
||||
}
|
||||
|
||||
bool ReversePlaylist::canBeRun() const
|
||||
@@ -1857,7 +1857,7 @@ void ApplyFilter::Run()
|
||||
filter = f->currentFilter();
|
||||
if (filter.empty())
|
||||
{
|
||||
myPlaylist->Items->clearFilterResults();
|
||||
myPlaylist->main()->clearFilterResults();
|
||||
Statusbar::msg("Filtering disabled");
|
||||
}
|
||||
else
|
||||
@@ -2145,7 +2145,7 @@ bool SetSelectedItemsPriority::canBeRun() const
|
||||
Statusbar::msg("Priorities are supported in MPD >= 0.17.0");
|
||||
return false;
|
||||
}
|
||||
return myScreen->activeWindow() == myPlaylist->Items && !myPlaylist->Items->empty();
|
||||
return myScreen->activeWindow() == myPlaylist->main() && !myPlaylist->main()->empty();
|
||||
}
|
||||
|
||||
void SetSelectedItemsPriority::Run()
|
||||
@@ -2169,7 +2169,7 @@ void SetSelectedItemsPriority::Run()
|
||||
|
||||
bool FilterPlaylistOnPriorities::canBeRun() const
|
||||
{
|
||||
return myScreen->activeWindow() == myPlaylist->Items;
|
||||
return myScreen->activeWindow() == myPlaylist->main();
|
||||
}
|
||||
|
||||
void FilterPlaylistOnPriorities::Run()
|
||||
@@ -2183,7 +2183,7 @@ void FilterPlaylistOnPriorities::Run()
|
||||
if (!isInteger(strprio.c_str(), false))
|
||||
return;
|
||||
unsigned prio = stringToInt(strprio);
|
||||
myPlaylist->Items->filter(myPlaylist->Items->begin(), myPlaylist->Items->end(),
|
||||
myPlaylist->main()->filter(myPlaylist->main()->begin(), myPlaylist->main()->end(),
|
||||
[prio](const NC::Menu<MPD::Song>::Item &s) {
|
||||
return s.value().getPrio() > prio;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user