move a few small functions to actions
This commit is contained in:
@@ -980,7 +980,7 @@ bool MoveSortOrderUp::canBeRun() const
|
||||
|
||||
void MoveSortOrderUp::Run()
|
||||
{
|
||||
myPlaylist->AdjustSortOrder(Playlist::mUp);
|
||||
myPlaylist->moveSortOrderUp();
|
||||
}
|
||||
|
||||
bool MoveSortOrderDown::canBeRun() const
|
||||
@@ -991,35 +991,55 @@ bool MoveSortOrderDown::canBeRun() const
|
||||
|
||||
void MoveSortOrderDown::Run()
|
||||
{
|
||||
myPlaylist->AdjustSortOrder(Playlist::mDown);
|
||||
myPlaylist->moveSortOrderDown();
|
||||
}
|
||||
|
||||
bool MoveSelectedItemsUp::canBeRun() const
|
||||
{
|
||||
return myScreen->ActiveWindow() == myPlaylist->Items
|
||||
|| myScreen->ActiveWindow() == myPlaylistEditor->Content;
|
||||
return ((myScreen->ActiveWindow() == myPlaylist->Items
|
||||
&& !myPlaylist->Items->empty()
|
||||
&& !myPlaylist->Items->isFiltered())
|
||||
|| (myScreen->ActiveWindow() == myPlaylistEditor->Content
|
||||
&& !myPlaylistEditor->Content->empty()
|
||||
&& !myPlaylistEditor->Content->isFiltered()));
|
||||
}
|
||||
|
||||
void MoveSelectedItemsUp::Run()
|
||||
{
|
||||
if (myScreen == myPlaylist)
|
||||
myPlaylist->MoveSelectedItems(Playlist::mUp);
|
||||
{
|
||||
moveSelectedItemsUp(*myPlaylist->Items, std::bind(&MPD::Connection::Move, _1, _2, _3));
|
||||
}
|
||||
else if (myScreen == myPlaylistEditor)
|
||||
myPlaylistEditor->MoveSelectedItems(Playlist::mUp);
|
||||
{
|
||||
assert(!myPlaylistEditor->Playlists->empty());
|
||||
std::string playlist = myPlaylistEditor->Playlists->current().value();
|
||||
moveSelectedItemsUp(*myPlaylistEditor->Content, std::bind(&MPD::Connection::PlaylistMove, _1, playlist, _2, _3));
|
||||
}
|
||||
}
|
||||
|
||||
bool MoveSelectedItemsDown::canBeRun() const
|
||||
{
|
||||
return myScreen->ActiveWindow() == myPlaylist->Items
|
||||
|| myScreen->ActiveWindow() == myPlaylistEditor->Content;
|
||||
return ((myScreen->ActiveWindow() == myPlaylist->Items
|
||||
&& !myPlaylist->Items->empty()
|
||||
&& !myPlaylist->Items->isFiltered())
|
||||
|| (myScreen->ActiveWindow() == myPlaylistEditor->Content
|
||||
&& !myPlaylistEditor->Content->empty()
|
||||
&& !myPlaylistEditor->Content->isFiltered()));
|
||||
}
|
||||
|
||||
void MoveSelectedItemsDown::Run()
|
||||
{
|
||||
if (myScreen == myPlaylist)
|
||||
myPlaylist->MoveSelectedItems(Playlist::mDown);
|
||||
{
|
||||
moveSelectedItemsDown(*myPlaylist->Items, std::bind(&MPD::Connection::Move, _1, _2, _3));
|
||||
}
|
||||
else if (myScreen == myPlaylistEditor)
|
||||
myPlaylistEditor->MoveSelectedItems(Playlist::mDown);
|
||||
{
|
||||
assert(!myPlaylistEditor->Playlists->empty());
|
||||
std::string playlist = myPlaylistEditor->Playlists->current().value();
|
||||
moveSelectedItemsDown(*myPlaylistEditor->Content, std::bind(&MPD::Connection::PlaylistMove, _1, playlist, _2, _3));
|
||||
}
|
||||
}
|
||||
|
||||
bool MoveSelectedItemsTo::canBeRun() const
|
||||
|
||||
@@ -374,26 +374,6 @@ bool Playlist::isFiltered()
|
||||
return false;
|
||||
}
|
||||
|
||||
void Playlist::MoveSelectedItems(Movement where)
|
||||
{
|
||||
if (Items->empty() || isFiltered())
|
||||
return;
|
||||
|
||||
switch (where)
|
||||
{
|
||||
case mUp:
|
||||
{
|
||||
moveSelectedItemsUp(*Items, std::bind(&MPD::Connection::Move, _1, _2, _3));
|
||||
break;
|
||||
}
|
||||
case mDown:
|
||||
{
|
||||
moveSelectedItemsDown(*Items, std::bind(&MPD::Connection::Move, _1, _2, _3));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Playlist::Sort()
|
||||
{
|
||||
if (isFiltered())
|
||||
@@ -434,33 +414,6 @@ void Playlist::Reverse()
|
||||
ShowMessage("Playlist reversed");
|
||||
}
|
||||
|
||||
void Playlist::AdjustSortOrder(Movement where)
|
||||
{
|
||||
switch (where)
|
||||
{
|
||||
case mUp:
|
||||
{
|
||||
size_t pos = SortDialog->choice();
|
||||
if (pos > 0 && pos < SortOptions)
|
||||
{
|
||||
SortDialog->Swap(pos, pos-1);
|
||||
SortDialog->scroll(NC::wUp);
|
||||
}
|
||||
break;
|
||||
}
|
||||
case mDown:
|
||||
{
|
||||
size_t pos = SortDialog->choice();
|
||||
if (pos < SortOptions-1)
|
||||
{
|
||||
SortDialog->Swap(pos, pos+1);
|
||||
SortDialog->scroll(NC::wDown);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Playlist::EnableHighlighting()
|
||||
{
|
||||
Items->setHighlighting(1);
|
||||
@@ -620,6 +573,26 @@ bool Playlist::checkForSong(const MPD::Song &s)
|
||||
return itsSongHashes.find(s.getHash()) != itsSongHashes.end();
|
||||
}
|
||||
|
||||
void Playlist::moveSortOrderDown()
|
||||
{
|
||||
size_t pos = SortDialog->choice();
|
||||
if (pos < SortOptions-1)
|
||||
{
|
||||
SortDialog->Swap(pos, pos+1);
|
||||
SortDialog->scroll(NC::wDown);
|
||||
}
|
||||
}
|
||||
|
||||
void Playlist::moveSortOrderUp()
|
||||
{
|
||||
size_t pos = SortDialog->choice();
|
||||
if (pos > 0 && pos < SortOptions)
|
||||
{
|
||||
SortDialog->Swap(pos, pos-1);
|
||||
SortDialog->scroll(NC::wUp);
|
||||
}
|
||||
}
|
||||
|
||||
void Playlist::registerHash(size_t hash)
|
||||
{
|
||||
itsSongHashes[hash] += 1;
|
||||
|
||||
@@ -30,8 +30,6 @@
|
||||
class Playlist : public Screen<NC::Window>, public Filterable, public HasSongs, public Searchable
|
||||
{
|
||||
public:
|
||||
enum Movement { mUp, mDown };
|
||||
|
||||
Playlist() : NowPlaying(-1), itsTotalLength(0), itsRemainingTime(0), itsScrollBegin(0) { }
|
||||
~Playlist() { }
|
||||
|
||||
@@ -73,11 +71,8 @@ class Playlist : public Screen<NC::Window>, public Filterable, public HasSongs,
|
||||
bool isPlaying() { return NowPlaying >= 0 && !Items->empty(); }
|
||||
const MPD::Song *NowPlayingSong();
|
||||
|
||||
void MoveSelectedItems(Movement where);
|
||||
|
||||
void Sort();
|
||||
void Reverse();
|
||||
void AdjustSortOrder(Movement where);
|
||||
bool SortingInProgress();
|
||||
|
||||
void EnableHighlighting();
|
||||
@@ -92,6 +87,9 @@ class Playlist : public Screen<NC::Window>, public Filterable, public HasSongs,
|
||||
|
||||
bool checkForSong(const MPD::Song &s);
|
||||
|
||||
void moveSortOrderUp();
|
||||
void moveSortOrderDown();
|
||||
|
||||
void registerHash(size_t hash);
|
||||
void unregisterHash(size_t hash);
|
||||
|
||||
|
||||
@@ -208,26 +208,6 @@ void PlaylistEditor::Update()
|
||||
}
|
||||
}
|
||||
|
||||
void PlaylistEditor::MoveSelectedItems(Playlist::Movement where)
|
||||
{
|
||||
if (Content->empty() || isContentFiltered())
|
||||
return;
|
||||
|
||||
switch (where)
|
||||
{
|
||||
case Playlist::mUp:
|
||||
{
|
||||
moveSelectedItemsUp(*Content, std::bind(&MPD::Connection::PlaylistMove, _1, Playlists->current().value(), _2, _3));
|
||||
break;
|
||||
}
|
||||
case Playlist::mDown:
|
||||
{
|
||||
moveSelectedItemsDown(*Content, std::bind(&MPD::Connection::PlaylistMove, _1, Playlists->current().value(), _2, _3));
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bool PlaylistEditor::isContentFiltered()
|
||||
{
|
||||
if (Content->isFiltered())
|
||||
@@ -238,7 +218,6 @@ bool PlaylistEditor::isContentFiltered()
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
bool PlaylistEditor::isNextColumnAvailable()
|
||||
{
|
||||
if (w == Playlists)
|
||||
|
||||
@@ -21,7 +21,8 @@
|
||||
#ifndef _PLAYLIST_EDITOR_H
|
||||
#define _PLAYLIST_EDITOR_H
|
||||
|
||||
#include "playlist.h"
|
||||
#include "interfaces.h"
|
||||
#include "screen.h"
|
||||
|
||||
class PlaylistEditor : public Screen<NC::Window>, public Filterable, public HasSongs, public Searchable
|
||||
{
|
||||
@@ -62,8 +63,6 @@ class PlaylistEditor : public Screen<NC::Window>, public Filterable, public HasS
|
||||
// private members
|
||||
virtual void Locate(const std::string &);
|
||||
|
||||
void MoveSelectedItems(Playlist::Movement where);
|
||||
|
||||
void requestPlaylistsUpdate() { playlistsUpdateRequested = true; }
|
||||
void requestContentsUpdate() { contentUpdateRequested = true; }
|
||||
|
||||
|
||||
Reference in New Issue
Block a user