Add an explicit Load action (#409)
This commit is contained in:
@@ -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()
|
bool SeekForward::canBeRun()
|
||||||
{
|
{
|
||||||
return Status::State::player() != MPD::psStop && Status::State::totalTime() > 0;
|
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::MoveSelectedItemsDown());
|
||||||
insert_action(new Actions::MoveSelectedItemsTo());
|
insert_action(new Actions::MoveSelectedItemsTo());
|
||||||
insert_action(new Actions::Add());
|
insert_action(new Actions::Add());
|
||||||
|
insert_action(new Actions::Load());
|
||||||
insert_action(new Actions::PlayItem());
|
insert_action(new Actions::PlayItem());
|
||||||
insert_action(new Actions::SeekForward());
|
insert_action(new Actions::SeekForward());
|
||||||
insert_action(new Actions::SeekBackward());
|
insert_action(new Actions::SeekBackward());
|
||||||
|
|||||||
@@ -77,6 +77,7 @@ enum class Type
|
|||||||
MoveSelectedItemsDown,
|
MoveSelectedItemsDown,
|
||||||
MoveSelectedItemsTo,
|
MoveSelectedItemsTo,
|
||||||
Add,
|
Add,
|
||||||
|
Load,
|
||||||
SeekForward,
|
SeekForward,
|
||||||
SeekBackward,
|
SeekBackward,
|
||||||
ToggleDisplayMode,
|
ToggleDisplayMode,
|
||||||
@@ -606,6 +607,15 @@ private:
|
|||||||
virtual void run() override;
|
virtual void run() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
struct Load: BaseAction
|
||||||
|
{
|
||||||
|
Load(): BaseAction(Type::Load, "load") { }
|
||||||
|
|
||||||
|
private:
|
||||||
|
virtual bool canBeRun() override;
|
||||||
|
virtual void run() override;
|
||||||
|
};
|
||||||
|
|
||||||
struct SeekForward: BaseAction
|
struct SeekForward: BaseAction
|
||||||
{
|
{
|
||||||
SeekForward(): BaseAction(Type::SeekForward, "seek_forward") { }
|
SeekForward(): BaseAction(Type::SeekForward, "seek_forward") { }
|
||||||
|
|||||||
Reference in New Issue
Block a user