Add an explicit Load action (#409)

This commit is contained in:
arcnmx
2020-12-13 00:25:23 -08:00
committed by GitHub
parent d1fe67b031
commit 430cd92e96
2 changed files with 32 additions and 0 deletions

View File

@@ -1034,6 +1034,27 @@ void Add::run()
}
}
bool Load::canBeRun()
{
return myScreen != myPlaylistEditor;
}
void Load::run()
{
using Global::wFooter;
std::string path;
{
Statusbar::ScopedLock slock;
Statusbar::put() << "Load playlist: ";
path = wFooter->prompt();
}
Statusbar::put() << "Loading...";
wFooter->refresh();
Mpd.LoadPlaylist(path);
}
bool SeekForward::canBeRun()
{
return Status::State::player() != MPD::psStop && Status::State::totalTime() > 0;
@@ -2753,6 +2774,7 @@ void populateActions()
insert_action(new Actions::MoveSelectedItemsDown());
insert_action(new Actions::MoveSelectedItemsTo());
insert_action(new Actions::Add());
insert_action(new Actions::Load());
insert_action(new Actions::PlayItem());
insert_action(new Actions::SeekForward());
insert_action(new Actions::SeekBackward());

View File

@@ -77,6 +77,7 @@ enum class Type
MoveSelectedItemsDown,
MoveSelectedItemsTo,
Add,
Load,
SeekForward,
SeekBackward,
ToggleDisplayMode,
@@ -606,6 +607,15 @@ private:
virtual void run() override;
};
struct Load: BaseAction
{
Load(): BaseAction(Type::Load, "load") { }
private:
virtual bool canBeRun() override;
virtual void run() override;
};
struct SeekForward: BaseAction
{
SeekForward(): BaseAction(Type::SeekForward, "seek_forward") { }