1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

restore external player context menu

This commit is contained in:
Luke Pulverenti 2016-07-21 16:25:55 -04:00
parent dec14cfb53
commit c86571708a
2 changed files with 33 additions and 11 deletions

View file

@ -1,9 +1,6 @@
define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter', 'playbackManager', 'loading'], function (appHost, globalize, connectionManager, itemHelper, embyRouter, playbackManager, loading) {
define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter', 'playbackManager', 'loading', 'appSettings'], function (appHost, globalize, connectionManager, itemHelper, embyRouter, playbackManager, loading, appSettings) {
var isTheater = true;
appHost.appInfo().then(function (result) {
isTheater = result.appName.toLowerCase().indexOf('theater') != -1;
});
var isMobileApp = window.Dashboard != null;
function getCommands(options) {
@ -48,7 +45,7 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
if (itemHelper.canEdit(user, item.Type)) {
if (!isTheater) {
if (isMobileApp) {
if (options.edit !== false) {
var text = item.Type == 'Timer' ? globalize.translate('sharedcomponents#Edit') : globalize.translate('sharedcomponents#EditInfo');
@ -63,7 +60,7 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
if (itemHelper.canEditImages(user, item.Type)) {
if (!isTheater) {
if (isMobileApp) {
if (options.editImages !== false) {
commands.push({
name: globalize.translate('sharedcomponents#EditImages'),
@ -92,7 +89,7 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
});
}
if (!isTheater && options.identify !== false) {
if (isMobileApp && options.identify !== false) {
if (itemHelper.canIdentify(user, item.Type)) {
commands.push({
name: globalize.translate('sharedcomponents#Identify'),
@ -125,6 +122,13 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
name: globalize.translate('sharedcomponents#Play'),
id: 'resume'
});
if (isMobileApp && appSettings.enableExternalPlayers()) {
commands.push({
name: globalize.translate('ButtonPlayExternalPlayer'),
id: 'externalplayer'
});
}
}
if (options.playAllFromHere && item.Type != 'Program' && item.Type != 'TvChannel') {
@ -201,7 +205,7 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
}
}
if (!isTheater && options.sync !== false) {
if (isMobileApp && options.sync !== false) {
if (itemHelper.canSync(user, item)) {
commands.push({
name: globalize.translate('sharedcomponents#Sync'),
@ -385,6 +389,10 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
});
break;
}
case 'externalplayer':
LibraryBrowser.playInExternalPlayer(itemId);
getResolveFunction(resolve, id)();
break;
case 'album':
{
embyRouter.showItem(item.AlbumId, item.ServerId);

View file

@ -1,4 +1,6 @@
define(['actionsheet', 'datetime', 'playbackManager', 'globalize'], function (actionsheet, datetime, playbackManager, globalize) {
define(['actionsheet', 'datetime', 'playbackManager', 'globalize', 'appSettings'], function (actionsheet, datetime, playbackManager, globalize, appSettings) {
var isMobileApp = window.Dashboard != null;
function show(options) {
@ -11,7 +13,9 @@ define(['actionsheet', 'datetime', 'playbackManager', 'globalize'], function (ac
var serverId = item.ServerId;
var resumePositionTicks = item.UserData ? item.UserData.PlaybackPositionTicks : null;
if (!resumePositionTicks && mediaType != "Audio" && !isFolder) {
var showExternalPlayer = isMobileApp && mediaType == 'Video' && !isFolder && appSettings.enableExternalPlayers();
if (!resumePositionTicks && mediaType != "Audio" && !isFolder && !showExternalPlayer) {
playbackManager.play({
items: [item]
});
@ -37,6 +41,13 @@ define(['actionsheet', 'datetime', 'playbackManager', 'globalize'], function (ac
});
}
if (showExternalPlayer) {
menuItems.push({
name: globalize.translate('ButtonPlayExternalPlayer'),
id: 'externalplayer'
});
}
if (playbackManager.canQueueMediaType(mediaType)) {
menuItems.push({
name: globalize.translate('sharedcomponents#Queue'),
@ -72,6 +83,9 @@ define(['actionsheet', 'datetime', 'playbackManager', 'globalize'], function (ac
serverId: item.ServerId
});
break;
case 'externalplayer':
LibraryBrowser.playInExternalPlayer(itemId);
break;
case 'resume':
playbackManager.play({
ids: [itemId],