actions: make checks more strict
This commit is contained in:
111
src/actions.cpp
111
src/actions.cpp
@@ -639,22 +639,22 @@ void ToggleInterface::Run()
|
|||||||
|
|
||||||
bool JumpToParentDir::canBeRun() const
|
bool JumpToParentDir::canBeRun() const
|
||||||
{
|
{
|
||||||
return myScreen == myBrowser
|
return (myScreen == myBrowser && myBrowser->CurrentDir() != "/")
|
||||||
# ifdef HAVE_TAGLIB_H
|
# ifdef HAVE_TAGLIB_H
|
||||||
|| myScreen == myTagEditor
|
|| (myScreen->ActiveWindow() == myTagEditor->Dirs && myTagEditor->CurrentDir() != "/")
|
||||||
# endif // HAVE_TAGLIB_H
|
# endif // HAVE_TAGLIB_H
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
void JumpToParentDir::Run()
|
void JumpToParentDir::Run()
|
||||||
{
|
{
|
||||||
if (myScreen == myBrowser && myBrowser->CurrentDir() != "/")
|
if (myScreen == myBrowser)
|
||||||
{
|
{
|
||||||
myBrowser->Main()->reset();
|
myBrowser->Main()->reset();
|
||||||
myBrowser->EnterPressed();
|
myBrowser->EnterPressed();
|
||||||
}
|
}
|
||||||
# ifdef HAVE_TAGLIB_H
|
# ifdef HAVE_TAGLIB_H
|
||||||
else if (myScreen->ActiveWindow() == myTagEditor->Dirs && myTagEditor->CurrentDir() != "/")
|
else if (myScreen == myTagEditor)
|
||||||
{
|
{
|
||||||
myTagEditor->Dirs->reset();
|
myTagEditor->Dirs->reset();
|
||||||
myTagEditor->EnterPressed();
|
myTagEditor->EnterPressed();
|
||||||
@@ -978,10 +978,10 @@ bool MoveSelectedItemsUp::canBeRun() const
|
|||||||
{
|
{
|
||||||
return ((myScreen->ActiveWindow() == myPlaylist->Items
|
return ((myScreen->ActiveWindow() == myPlaylist->Items
|
||||||
&& !myPlaylist->Items->empty()
|
&& !myPlaylist->Items->empty()
|
||||||
&& !myPlaylist->Items->isFiltered())
|
&& !myPlaylist->isFiltered())
|
||||||
|| (myScreen->ActiveWindow() == myPlaylistEditor->Content
|
|| (myScreen->ActiveWindow() == myPlaylistEditor->Content
|
||||||
&& !myPlaylistEditor->Content->empty()
|
&& !myPlaylistEditor->Content->empty()
|
||||||
&& !myPlaylistEditor->Content->isFiltered()));
|
&& !myPlaylistEditor->isContentFiltered()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoveSelectedItemsUp::Run()
|
void MoveSelectedItemsUp::Run()
|
||||||
@@ -1003,10 +1003,10 @@ bool MoveSelectedItemsDown::canBeRun() const
|
|||||||
{
|
{
|
||||||
return ((myScreen->ActiveWindow() == myPlaylist->Items
|
return ((myScreen->ActiveWindow() == myPlaylist->Items
|
||||||
&& !myPlaylist->Items->empty()
|
&& !myPlaylist->Items->empty()
|
||||||
&& !myPlaylist->Items->isFiltered())
|
&& !myPlaylist->isFiltered())
|
||||||
|| (myScreen->ActiveWindow() == myPlaylistEditor->Content
|
|| (myScreen->ActiveWindow() == myPlaylistEditor->Content
|
||||||
&& !myPlaylistEditor->Content->empty()
|
&& !myPlaylistEditor->Content->empty()
|
||||||
&& !myPlaylistEditor->Content->isFiltered()));
|
&& !myPlaylistEditor->isContentFiltered()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void MoveSelectedItemsDown::Run()
|
void MoveSelectedItemsDown::Run()
|
||||||
@@ -1082,7 +1082,7 @@ void Add::Run()
|
|||||||
|
|
||||||
bool SeekForward::canBeRun() const
|
bool SeekForward::canBeRun() const
|
||||||
{
|
{
|
||||||
return myPlaylist->NowPlayingSong();
|
return myPlaylist->NowPlayingSong() && Mpd.GetTotalTime() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SeekForward::Run()
|
void SeekForward::Run()
|
||||||
@@ -1092,7 +1092,7 @@ void SeekForward::Run()
|
|||||||
|
|
||||||
bool SeekBackward::canBeRun() const
|
bool SeekBackward::canBeRun() const
|
||||||
{
|
{
|
||||||
return myPlaylist->NowPlayingSong();
|
return myPlaylist->NowPlayingSong() && Mpd.GetTotalTime() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SeekBackward::Run()
|
void SeekBackward::Run()
|
||||||
@@ -1215,8 +1215,10 @@ void UpdateDatabase::Run()
|
|||||||
|
|
||||||
bool JumpToPlayingSong::canBeRun() const
|
bool JumpToPlayingSong::canBeRun() const
|
||||||
{
|
{
|
||||||
return (myScreen == myPlaylist || myScreen == myBrowser || myScreen == myLibrary)
|
return ((myScreen == myPlaylist && !myPlaylist->isFiltered())
|
||||||
&& myPlaylist->isPlaying();
|
|| myScreen == myBrowser
|
||||||
|
|| myScreen == myLibrary)
|
||||||
|
&& myPlaylist->isPlaying();
|
||||||
}
|
}
|
||||||
|
|
||||||
void JumpToPlayingSong::Run()
|
void JumpToPlayingSong::Run()
|
||||||
@@ -1224,23 +1226,16 @@ void JumpToPlayingSong::Run()
|
|||||||
using Global::RedrawHeader;
|
using Global::RedrawHeader;
|
||||||
|
|
||||||
if (myScreen == myPlaylist)
|
if (myScreen == myPlaylist)
|
||||||
{
|
|
||||||
if (myPlaylist->isFiltered())
|
|
||||||
return;
|
|
||||||
assert(myPlaylist->isPlaying());
|
|
||||||
myPlaylist->Items->highlight(myPlaylist->NowPlaying);
|
myPlaylist->Items->highlight(myPlaylist->NowPlaying);
|
||||||
}
|
|
||||||
else if (myScreen == myBrowser)
|
else if (myScreen == myBrowser)
|
||||||
{
|
{
|
||||||
const MPD::Song *s = myPlaylist->NowPlayingSong();
|
const MPD::Song *s = myPlaylist->NowPlayingSong();
|
||||||
assert(s);
|
|
||||||
myBrowser->LocateSong(*s);
|
myBrowser->LocateSong(*s);
|
||||||
RedrawHeader = true;
|
RedrawHeader = true;
|
||||||
}
|
}
|
||||||
else if (myScreen == myLibrary)
|
else if (myScreen == myLibrary)
|
||||||
{
|
{
|
||||||
const MPD::Song *s = myPlaylist->NowPlayingSong();
|
const MPD::Song *s = myPlaylist->NowPlayingSong();
|
||||||
assert(s);
|
|
||||||
myLibrary->LocateSong(*s);
|
myLibrary->LocateSong(*s);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1262,13 +1257,11 @@ void ToggleRandom::Run()
|
|||||||
|
|
||||||
bool StartSearching::canBeRun() const
|
bool StartSearching::canBeRun() const
|
||||||
{
|
{
|
||||||
return myScreen == mySearcher;
|
return myScreen == mySearcher && !mySearcher->Main()->at(0).isInactive();
|
||||||
}
|
}
|
||||||
|
|
||||||
void StartSearching::Run()
|
void StartSearching::Run()
|
||||||
{
|
{
|
||||||
if (mySearcher->Main()->at(0).isInactive())
|
|
||||||
return;
|
|
||||||
mySearcher->Main()->highlight(SearchEngine::SearchButton);
|
mySearcher->Main()->highlight(SearchEngine::SearchButton);
|
||||||
mySearcher->Main()->setHighlighting(0);
|
mySearcher->Main()->setHighlighting(0);
|
||||||
mySearcher->Main()->refresh();
|
mySearcher->Main()->refresh();
|
||||||
@@ -1336,7 +1329,7 @@ void SetCrossfade::Run()
|
|||||||
bool EditSong::canBeRun() const
|
bool EditSong::canBeRun() const
|
||||||
{
|
{
|
||||||
# ifdef HAVE_TAGLIB_H
|
# ifdef HAVE_TAGLIB_H
|
||||||
return currentSong(myScreen);
|
return isMPDMusicDirSet() && currentSong(myScreen);
|
||||||
# else
|
# else
|
||||||
return false;
|
return false;
|
||||||
# endif // HAVE_TAGLIB_H
|
# endif // HAVE_TAGLIB_H
|
||||||
@@ -1345,10 +1338,7 @@ bool EditSong::canBeRun() const
|
|||||||
void EditSong::Run()
|
void EditSong::Run()
|
||||||
{
|
{
|
||||||
# ifdef HAVE_TAGLIB_H
|
# ifdef HAVE_TAGLIB_H
|
||||||
if (!isMPDMusicDirSet())
|
|
||||||
return;
|
|
||||||
auto s = currentSong(myScreen);
|
auto s = currentSong(myScreen);
|
||||||
assert(s);
|
|
||||||
myTinyTagEditor->SetEdited(*s);
|
myTinyTagEditor->SetEdited(*s);
|
||||||
myTinyTagEditor->SwitchTo();
|
myTinyTagEditor->SwitchTo();
|
||||||
# endif // HAVE_TAGLIB_H
|
# endif // HAVE_TAGLIB_H
|
||||||
@@ -1357,7 +1347,8 @@ void EditSong::Run()
|
|||||||
bool EditLibraryTag::canBeRun() const
|
bool EditLibraryTag::canBeRun() const
|
||||||
{
|
{
|
||||||
# ifdef HAVE_TAGLIB_H
|
# ifdef HAVE_TAGLIB_H
|
||||||
return myScreen->ActiveWindow() == myLibrary->Tags
|
return isMPDMusicDirSet()
|
||||||
|
&& myScreen->ActiveWindow() == myLibrary->Tags
|
||||||
&& !myLibrary->Tags->empty();
|
&& !myLibrary->Tags->empty();
|
||||||
# else
|
# else
|
||||||
return false;
|
return false;
|
||||||
@@ -1369,8 +1360,6 @@ void EditLibraryTag::Run()
|
|||||||
# ifdef HAVE_TAGLIB_H
|
# ifdef HAVE_TAGLIB_H
|
||||||
using Global::wFooter;
|
using Global::wFooter;
|
||||||
|
|
||||||
if (!isMPDMusicDirSet())
|
|
||||||
return;
|
|
||||||
LockStatusbar();
|
LockStatusbar();
|
||||||
Statusbar() << NC::fmtBold << tagTypeToString(Config.media_lib_primary_tag) << NC::fmtBoldEnd << ": ";
|
Statusbar() << NC::fmtBold << tagTypeToString(Config.media_lib_primary_tag) << NC::fmtBoldEnd << ": ";
|
||||||
std::string new_tag = wFooter->getString(myLibrary->Tags->current().value());
|
std::string new_tag = wFooter->getString(myLibrary->Tags->current().value());
|
||||||
@@ -1410,7 +1399,8 @@ void EditLibraryTag::Run()
|
|||||||
bool EditLibraryAlbum::canBeRun() const
|
bool EditLibraryAlbum::canBeRun() const
|
||||||
{
|
{
|
||||||
# ifdef HAVE_TAGLIB_H
|
# ifdef HAVE_TAGLIB_H
|
||||||
return myScreen->ActiveWindow() == myLibrary->Albums
|
return isMPDMusicDirSet()
|
||||||
|
&& myScreen->ActiveWindow() == myLibrary->Albums
|
||||||
&& !myLibrary->Albums->empty();
|
&& !myLibrary->Albums->empty();
|
||||||
# else
|
# else
|
||||||
return false;
|
return false;
|
||||||
@@ -1422,8 +1412,6 @@ void EditLibraryAlbum::Run()
|
|||||||
# ifdef HAVE_TAGLIB_H
|
# ifdef HAVE_TAGLIB_H
|
||||||
using Global::wFooter;
|
using Global::wFooter;
|
||||||
|
|
||||||
if (!isMPDMusicDirSet())
|
|
||||||
return;
|
|
||||||
LockStatusbar();
|
LockStatusbar();
|
||||||
Statusbar() << NC::fmtBold << "Album: " << NC::fmtBoldEnd;
|
Statusbar() << NC::fmtBold << "Album: " << NC::fmtBoldEnd;
|
||||||
std::string new_album = wFooter->getString(myLibrary->Albums->current().value().Album);
|
std::string new_album = wFooter->getString(myLibrary->Albums->current().value().Album);
|
||||||
@@ -1464,13 +1452,14 @@ void EditLibraryAlbum::Run()
|
|||||||
|
|
||||||
bool EditDirectoryName::canBeRun() const
|
bool EditDirectoryName::canBeRun() const
|
||||||
{
|
{
|
||||||
return (myScreen == myBrowser
|
return isMPDMusicDirSet()
|
||||||
|
&& ((myScreen == myBrowser
|
||||||
&& !myBrowser->Main()->empty()
|
&& !myBrowser->Main()->empty()
|
||||||
&& myBrowser->Main()->current().value().type == MPD::itDirectory)
|
&& myBrowser->Main()->current().value().type == MPD::itDirectory)
|
||||||
# ifdef HAVE_TAGLIB_H
|
# ifdef HAVE_TAGLIB_H
|
||||||
|| (myScreen->ActiveWindow() == myTagEditor->Dirs
|
|| (myScreen->ActiveWindow() == myTagEditor->Dirs
|
||||||
&& !myTagEditor->Dirs->empty()
|
&& !myTagEditor->Dirs->empty()
|
||||||
&& myTagEditor->Dirs->choice() > 0)
|
&& myTagEditor->Dirs->choice() > 0))
|
||||||
# endif // HAVE_TAGLIB_H
|
# endif // HAVE_TAGLIB_H
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
@@ -1479,8 +1468,6 @@ void EditDirectoryName::Run()
|
|||||||
{
|
{
|
||||||
using Global::wFooter;
|
using Global::wFooter;
|
||||||
|
|
||||||
if (!isMPDMusicDirSet())
|
|
||||||
return;
|
|
||||||
if (myScreen == myBrowser)
|
if (myScreen == myBrowser)
|
||||||
{
|
{
|
||||||
std::string old_dir = myBrowser->Main()->current().value().name;
|
std::string old_dir = myBrowser->Main()->current().value().name;
|
||||||
@@ -1596,7 +1583,6 @@ bool JumpToBrowser::canBeRun() const
|
|||||||
void JumpToBrowser::Run()
|
void JumpToBrowser::Run()
|
||||||
{
|
{
|
||||||
auto s = currentSong(myScreen);
|
auto s = currentSong(myScreen);
|
||||||
assert(s);
|
|
||||||
myBrowser->LocateSong(*s);
|
myBrowser->LocateSong(*s);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1608,7 +1594,6 @@ bool JumpToMediaLibrary::canBeRun() const
|
|||||||
void JumpToMediaLibrary::Run()
|
void JumpToMediaLibrary::Run()
|
||||||
{
|
{
|
||||||
auto s = currentSong(myScreen);
|
auto s = currentSong(myScreen);
|
||||||
assert(s);
|
|
||||||
myLibrary->LocateSong(*s);
|
myLibrary->LocateSong(*s);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1663,7 +1648,7 @@ void ToggleScreenLock::Run()
|
|||||||
bool JumpToTagEditor::canBeRun() const
|
bool JumpToTagEditor::canBeRun() const
|
||||||
{
|
{
|
||||||
# ifdef HAVE_TAGLIB_H
|
# ifdef HAVE_TAGLIB_H
|
||||||
return currentSong(myScreen);
|
return isMPDMusicDirSet() && currentSong(myScreen);
|
||||||
# else
|
# else
|
||||||
return false;
|
return false;
|
||||||
# endif // HAVE_TAGLIB_H
|
# endif // HAVE_TAGLIB_H
|
||||||
@@ -1672,31 +1657,21 @@ bool JumpToTagEditor::canBeRun() const
|
|||||||
void JumpToTagEditor::Run()
|
void JumpToTagEditor::Run()
|
||||||
{
|
{
|
||||||
# ifdef HAVE_TAGLIB_H
|
# ifdef HAVE_TAGLIB_H
|
||||||
if (!isMPDMusicDirSet())
|
|
||||||
return;
|
|
||||||
auto s = currentSong(myScreen);
|
auto s = currentSong(myScreen);
|
||||||
assert(s);
|
|
||||||
myTagEditor->LocateSong(*s);
|
myTagEditor->LocateSong(*s);
|
||||||
# endif // HAVE_TAGLIB_H
|
# endif // HAVE_TAGLIB_H
|
||||||
}
|
}
|
||||||
|
|
||||||
bool JumpToPositionInSong::canBeRun() const
|
bool JumpToPositionInSong::canBeRun() const
|
||||||
{
|
{
|
||||||
return myPlaylist->NowPlayingSong();
|
return myPlaylist->NowPlayingSong() && Mpd.GetTotalTime() > 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void JumpToPositionInSong::Run()
|
void JumpToPositionInSong::Run()
|
||||||
{
|
{
|
||||||
using Global::wFooter;
|
using Global::wFooter;
|
||||||
|
|
||||||
if (!Mpd.GetTotalTime())
|
|
||||||
{
|
|
||||||
ShowMessage("Unknown item length");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const MPD::Song *s = myPlaylist->NowPlayingSong();
|
const MPD::Song *s = myPlaylist->NowPlayingSong();
|
||||||
assert(s);
|
|
||||||
|
|
||||||
LockStatusbar();
|
LockStatusbar();
|
||||||
Statusbar() << "Position to go (in %/mm:ss/seconds(s)): ";
|
Statusbar() << "Position to go (in %/mm:ss/seconds(s)): ";
|
||||||
@@ -1742,7 +1717,6 @@ bool ReverseSelection::canBeRun() const
|
|||||||
void ReverseSelection::Run()
|
void ReverseSelection::Run()
|
||||||
{
|
{
|
||||||
auto w = hasSongs(myScreen);
|
auto w = hasSongs(myScreen);
|
||||||
assert(w);
|
|
||||||
w->reverseSelection();
|
w->reverseSelection();
|
||||||
ShowMessage("Selection reversed");
|
ShowMessage("Selection reversed");
|
||||||
}
|
}
|
||||||
@@ -1755,7 +1729,6 @@ bool DeselectItems::canBeRun() const
|
|||||||
void DeselectItems::Run()
|
void DeselectItems::Run()
|
||||||
{
|
{
|
||||||
auto pl = proxySongList(myScreen);
|
auto pl = proxySongList(myScreen);
|
||||||
assert(pl);
|
|
||||||
for (size_t i = 0; i < pl->size(); ++i)
|
for (size_t i = 0; i < pl->size(); ++i)
|
||||||
pl->setSelected(i, false);
|
pl->setSelected(i, false);
|
||||||
}
|
}
|
||||||
@@ -1769,7 +1742,6 @@ bool SelectAlbum::canBeRun() const
|
|||||||
void SelectAlbum::Run()
|
void SelectAlbum::Run()
|
||||||
{
|
{
|
||||||
auto pl = proxySongList(myScreen);
|
auto pl = proxySongList(myScreen);
|
||||||
assert(pl);
|
|
||||||
size_t pos = pl->choice();
|
size_t pos = pl->choice();
|
||||||
if (MPD::Song *s = pl->getSong(pos))
|
if (MPD::Song *s = pl->getSong(pos))
|
||||||
{
|
{
|
||||||
@@ -1907,8 +1879,6 @@ void ApplyFilter::Run()
|
|||||||
using Global::wFooter;
|
using Global::wFooter;
|
||||||
|
|
||||||
Filterable *f = dynamic_cast<Filterable *>(myScreen);
|
Filterable *f = dynamic_cast<Filterable *>(myScreen);
|
||||||
assert(f);
|
|
||||||
assert(f->allowsFiltering());
|
|
||||||
|
|
||||||
LockStatusbar();
|
LockStatusbar();
|
||||||
Statusbar() << NC::fmtBold << "Apply filter: " << NC::fmtBoldEnd;
|
Statusbar() << NC::fmtBold << "Apply filter: " << NC::fmtBoldEnd;
|
||||||
@@ -2007,7 +1977,6 @@ bool NextFoundItem::canBeRun() const
|
|||||||
void NextFoundItem::Run()
|
void NextFoundItem::Run()
|
||||||
{
|
{
|
||||||
Searchable *w = dynamic_cast<Searchable *>(myScreen);
|
Searchable *w = dynamic_cast<Searchable *>(myScreen);
|
||||||
assert(w);
|
|
||||||
w->nextFound(Config.wrapped_search);
|
w->nextFound(Config.wrapped_search);
|
||||||
ListsChangeFinisher();
|
ListsChangeFinisher();
|
||||||
}
|
}
|
||||||
@@ -2020,7 +1989,6 @@ bool PreviousFoundItem::canBeRun() const
|
|||||||
void PreviousFoundItem::Run()
|
void PreviousFoundItem::Run()
|
||||||
{
|
{
|
||||||
Searchable *w = dynamic_cast<Searchable *>(myScreen);
|
Searchable *w = dynamic_cast<Searchable *>(myScreen);
|
||||||
assert(w);
|
|
||||||
w->prevFound(Config.wrapped_search);
|
w->prevFound(Config.wrapped_search);
|
||||||
ListsChangeFinisher();
|
ListsChangeFinisher();
|
||||||
}
|
}
|
||||||
@@ -2031,15 +1999,19 @@ void ToggleFindMode::Run()
|
|||||||
ShowMessage("Search mode: %s", Config.wrapped_search ? "Wrapped" : "Normal");
|
ShowMessage("Search mode: %s", Config.wrapped_search ? "Wrapped" : "Normal");
|
||||||
}
|
}
|
||||||
|
|
||||||
void ToggleReplayGainMode::Run()
|
bool ToggleReplayGainMode::canBeRun() const
|
||||||
{
|
{
|
||||||
using Global::wFooter;
|
|
||||||
|
|
||||||
if (Mpd.Version() < 16)
|
if (Mpd.Version() < 16)
|
||||||
{
|
{
|
||||||
ShowMessage("Replay gain mode control is supported in MPD >= 0.16.0");
|
ShowMessage("Replay gain mode control is supported in MPD >= 0.16.0");
|
||||||
return;
|
return false;
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void ToggleReplayGainMode::Run()
|
||||||
|
{
|
||||||
|
using Global::wFooter;
|
||||||
|
|
||||||
LockStatusbar();
|
LockStatusbar();
|
||||||
Statusbar() << "Replay gain mode? [" << NC::fmtBold << 'o' << NC::fmtBoldEnd << "ff/" << NC::fmtBold << 't' << NC::fmtBoldEnd << "rack/" << NC::fmtBold << 'a' << NC::fmtBoldEnd << "lbum]";
|
Statusbar() << "Replay gain mode? [" << NC::fmtBold << 'o' << NC::fmtBoldEnd << "ff/" << NC::fmtBold << 't' << NC::fmtBoldEnd << "rack/" << NC::fmtBold << 'a' << NC::fmtBoldEnd << "lbum]";
|
||||||
@@ -2218,23 +2190,18 @@ void RefetchArtistInfo::Run()
|
|||||||
|
|
||||||
bool SetSelectedItemsPriority::canBeRun() const
|
bool SetSelectedItemsPriority::canBeRun() const
|
||||||
{
|
{
|
||||||
return myScreen->ActiveWindow() == myPlaylist->Items;
|
if (Mpd.Version() < 17)
|
||||||
|
{
|
||||||
|
ShowMessage("Priorities are supported in MPD >= 0.17.0");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return myScreen->ActiveWindow() == myPlaylist->Items && !myPlaylist->Items->empty();
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetSelectedItemsPriority::Run()
|
void SetSelectedItemsPriority::Run()
|
||||||
{
|
{
|
||||||
using Global::wFooter;
|
using Global::wFooter;
|
||||||
|
|
||||||
assert(myScreen->ActiveWindow() == myPlaylist->Items);
|
|
||||||
if (myPlaylist->Items->empty())
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (Mpd.Version() < 17)
|
|
||||||
{
|
|
||||||
ShowMessage("Priorities are supported in MPD >= 0.17.0");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
LockStatusbar();
|
LockStatusbar();
|
||||||
Statusbar() << "Set priority [0-255]: ";
|
Statusbar() << "Set priority [0-255]: ";
|
||||||
std::string strprio = wFooter->getString();
|
std::string strprio = wFooter->getString();
|
||||||
|
|||||||
@@ -662,6 +662,7 @@ struct ToggleFindMode : public Action
|
|||||||
struct ToggleReplayGainMode : public Action
|
struct ToggleReplayGainMode : public Action
|
||||||
{
|
{
|
||||||
ToggleReplayGainMode() : Action(aToggleReplayGainMode, "toggle_replay_gain_mode") { }
|
ToggleReplayGainMode() : Action(aToggleReplayGainMode, "toggle_replay_gain_mode") { }
|
||||||
|
virtual bool canBeRun() const;
|
||||||
virtual void Run();
|
virtual void Run();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user