playlist: move sorting functions to Playlist::EnterPressed

This commit is contained in:
Andrzej Rybczak
2012-08-27 11:12:51 +02:00
parent e0d5daef4c
commit 2c50064ba5
2 changed files with 31 additions and 36 deletions

View File

@@ -104,22 +104,6 @@ class Playlist : public Screen<Window>
time_t itsTimer;
// stuff for sorting playlist
static void QuickSort(MPD::SongList::iterator first, MPD::SongList::iterator last, MPD::SongList::iterator begin);
inline static void IterSwap(MPD::SongList::iterator a, MPD::SongList::iterator b, MPD::SongList::iterator begin)
{
iter_swap(a, b);
Mpd.Swap(a-begin, b-begin);
}
inline static bool SongComp(MPD::Song *a, MPD::Song *b)
{
CaseInsensitiveStringComparison cmp;
for (size_t i = 0; i < SortOptions; ++i)
if (int ret = cmp(a->GetTags((*SortDialog)[i].second), b->GetTags((*SortDialog)[i].second)))
return ret < 0;
return a->GetPosition() < b->GetPosition();
}
static Menu< std::pair<std::string, MPD::Song::GetFunction> > *SortDialog;
static const size_t SortOptions;
static const size_t SortDialogWidth;