Add 'Clear Queue' option
This commit is contained in:
parent
737341934a
commit
08a995fe2c
7 changed files with 50 additions and 13 deletions
|
@ -28,12 +28,21 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'appRouter',
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (playbackManager.getCurrentPlayer() !== null && options.stopPlayback) {
|
if (playbackManager.getCurrentPlayer() !== null) {
|
||||||
commands.push({
|
if (options.stopPlayback) {
|
||||||
name: globalize.translate('StopPlayback'),
|
commands.push({
|
||||||
id: 'stopPlayback',
|
name: globalize.translate('StopPlayback'),
|
||||||
icon: 'stop'
|
id: 'stopPlayback',
|
||||||
});
|
icon: 'stop'
|
||||||
|
});
|
||||||
|
}
|
||||||
|
if (options.clearQueue) {
|
||||||
|
commands.push({
|
||||||
|
name: globalize.translate('ClearQueue'),
|
||||||
|
id: 'clearQueue',
|
||||||
|
icon: 'clear_all'
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (playbackManager.canQueue(item)) {
|
if (playbackManager.canQueue(item)) {
|
||||||
|
@ -435,6 +444,9 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'appRouter',
|
||||||
case 'stopPlayback':
|
case 'stopPlayback':
|
||||||
playbackManager.stop();
|
playbackManager.stop();
|
||||||
break;
|
break;
|
||||||
|
case 'clearQueue':
|
||||||
|
playbackManager.clearQueue();
|
||||||
|
break;
|
||||||
case 'record':
|
case 'record':
|
||||||
require(['recordingCreator'], function (recordingCreator) {
|
require(['recordingCreator'], function (recordingCreator) {
|
||||||
recordingCreator.show(itemId, serverId).then(getResolveFunction(resolve, id, true), getResolveFunction(resolve, id));
|
recordingCreator.show(itemId, serverId).then(getResolveFunction(resolve, id, true), getResolveFunction(resolve, id));
|
||||||
|
|
|
@ -584,6 +584,7 @@ define(['require', 'datetime', 'itemHelper', 'events', 'browser', 'imageLoader',
|
||||||
let options = {
|
let options = {
|
||||||
play: false,
|
play: false,
|
||||||
queue: false,
|
queue: false,
|
||||||
|
clearQueue: true,
|
||||||
positionTo: contextButton
|
positionTo: contextButton
|
||||||
};
|
};
|
||||||
apiClient.getCurrentUser().then(function (user) {
|
apiClient.getCurrentUser().then(function (user) {
|
||||||
|
|
|
@ -3971,6 +3971,15 @@ define(['events', 'datetime', 'appSettings', 'itemHelper', 'pluginManager', 'pla
|
||||||
events.trigger(player, 'shufflequeuemodechange');
|
events.trigger(player, 'shufflequeuemodechange');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
PlaybackManager.prototype.clearQueue = function (clearCurrentItem = false, player = this._currentPlayer) {
|
||||||
|
if (player && !enableLocalPlaylistManagement(player)) {
|
||||||
|
return player.clearQueue(clearCurrentItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
this._playQueueManager.clearPlaylist(clearCurrentItem);
|
||||||
|
events.trigger(player, 'playlistitemremove');
|
||||||
|
};
|
||||||
|
|
||||||
PlaybackManager.prototype.trySetActiveDeviceName = function (name) {
|
PlaybackManager.prototype.trySetActiveDeviceName = function (name) {
|
||||||
|
|
||||||
name = normalizeName(name);
|
name = normalizeName(name);
|
||||||
|
|
|
@ -84,6 +84,14 @@ define([], function () {
|
||||||
this._shuffleMode = 'Sorted';
|
this._shuffleMode = 'Sorted';
|
||||||
};
|
};
|
||||||
|
|
||||||
|
PlayQueueManager.prototype.clearPlaylist = function (clearCurrentItem = false) {
|
||||||
|
const currentPlaylistItem = this._playlist.splice(this.getCurrentPlaylistIndex(), 1)[0];
|
||||||
|
this._playlist = [];
|
||||||
|
if (!clearCurrentItem) {
|
||||||
|
this._playlist.push(currentPlaylistItem);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
function arrayInsertAt(destArray, pos, arrayToInsert) {
|
function arrayInsertAt(destArray, pos, arrayToInsert) {
|
||||||
var args = [];
|
var args = [];
|
||||||
args.push(pos); // where to insert
|
args.push(pos); // where to insert
|
||||||
|
|
|
@ -190,6 +190,7 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
||||||
play: false,
|
play: false,
|
||||||
queue: false,
|
queue: false,
|
||||||
stopPlayback: stopPlayback,
|
stopPlayback: stopPlayback,
|
||||||
|
clearQueue: true,
|
||||||
openAlbum: false,
|
openAlbum: false,
|
||||||
positionTo: contextButton
|
positionTo: contextButton
|
||||||
};
|
};
|
||||||
|
@ -551,14 +552,18 @@ define(['browser', 'datetime', 'backdrop', 'libraryBrowser', 'listView', 'imageL
|
||||||
|
|
||||||
function onPlaylistItemRemoved(e, info) {
|
function onPlaylistItemRemoved(e, info) {
|
||||||
var context = dlg;
|
var context = dlg;
|
||||||
var playlistItemIds = info.playlistItemIds;
|
if (info !== undefined) {
|
||||||
|
var playlistItemIds = info.playlistItemIds;
|
||||||
|
|
||||||
for (var i = 0, length = playlistItemIds.length; i < length; i++) {
|
for (var i = 0, length = playlistItemIds.length; i < length; i++) {
|
||||||
var listItem = context.querySelector('.listItem[data-playlistItemId="' + playlistItemIds[i] + '"]');
|
var listItem = context.querySelector('.listItem[data-playlistItemId="' + playlistItemIds[i] + '"]');
|
||||||
|
|
||||||
if (listItem) {
|
if (listItem) {
|
||||||
listItem.parentNode.removeChild(listItem);
|
listItem.parentNode.removeChild(listItem);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
onPlaylistUpdate();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1564,5 +1564,6 @@
|
||||||
"ButtonSyncPlay": "SyncPlay",
|
"ButtonSyncPlay": "SyncPlay",
|
||||||
"ButtonCast": "Cast",
|
"ButtonCast": "Cast",
|
||||||
"ButtonPlayer": "Player",
|
"ButtonPlayer": "Player",
|
||||||
"StopPlayback": "Stop playback"
|
"StopPlayback": "Stop playback",
|
||||||
|
"ClearQueue": "Clear queue"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1574,5 +1574,6 @@
|
||||||
"HeaderNewRepository": "Nuevo repositorio",
|
"HeaderNewRepository": "Nuevo repositorio",
|
||||||
"MessageNoRepositories": "Sin repositorios.",
|
"MessageNoRepositories": "Sin repositorios.",
|
||||||
"Writers": "Escritores",
|
"Writers": "Escritores",
|
||||||
"StopPlayback": "Detener la reproducción"
|
"StopPlayback": "Detener la reproducción",
|
||||||
|
"ClearQueue": "Borrar la cola"
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue