diff --git a/README.rst b/README.rst
index d078789..4a45093 100644
--- a/README.rst
+++ b/README.rst
@@ -59,6 +59,7 @@ v2.0.1 (UNRELEASED)
- Support for Mopidy-Grooveshark.
- Fixed slow to start playing from a large tracklist of browsed tracks.
- Added link to `Alarm Clock `_ (if present).
+- Added ability to save Queue as local Playlist.
v2.0.0 (26-3-2015)
------------------
diff --git a/mopidy_musicbox_webclient/static/index.html b/mopidy_musicbox_webclient/static/index.html
index 80cd301..2310738 100644
--- a/mopidy_musicbox_webclient/static/index.html
+++ b/mopidy_musicbox_webclient/static/index.html
@@ -334,7 +334,8 @@
-
ClearPlay Queue
+
Clear
+
SavePlay Queue
diff --git a/mopidy_musicbox_webclient/static/js/controls.js b/mopidy_musicbox_webclient/static/js/controls.js
index 74b3d46..83cfc39 100644
--- a/mopidy_musicbox_webclient/static/js/controls.js
+++ b/mopidy_musicbox_webclient/static/js/controls.js
@@ -227,6 +227,30 @@ function clearQueue() {
return false;
}
+function saveQueue() {
+ mopidy.tracklist.getTracks().then(function(tracks) {
+ if (tracks.length > 0) {
+ var plname = window.prompt("Playlist name:", "").trim();
+ if (plname != null && plname != "") {
+ mopidy.playlists.filter({"name": plname}).then(function(existing) {
+ var exists = false;
+ for (var i = 0; i < existing.length; i++) {
+ exists = exists || existing[i].uri.indexOf("m3u:") == 0 || existing[i].uri.indexOf("local:") == 0;
+ }
+ if (!exists || window.confirm("Overwrite existing playlist \"" + plname + "\"?")) {
+ mopidy.playlists.create(plname, "local").then(function(playlist) {
+ playlist.tracks = tracks;
+ mopidy.playlists.save(playlist).then();
+ getPlaylists();
+ });
+ }
+ });
+ }
+ }
+ });
+ return false;
+}
+
/**********************
* Buttons
*/