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; var isMobileApp = window.Dashboard != null;
appHost.appInfo().then(function (result) {
isTheater = result.appName.toLowerCase().indexOf('theater') != -1;
});
function getCommands(options) { function getCommands(options) {
@ -48,7 +45,7 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
if (itemHelper.canEdit(user, item.Type)) { if (itemHelper.canEdit(user, item.Type)) {
if (!isTheater) { if (isMobileApp) {
if (options.edit !== false) { if (options.edit !== false) {
var text = item.Type == 'Timer' ? globalize.translate('sharedcomponents#Edit') : globalize.translate('sharedcomponents#EditInfo'); 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 (itemHelper.canEditImages(user, item.Type)) {
if (!isTheater) { if (isMobileApp) {
if (options.editImages !== false) { if (options.editImages !== false) {
commands.push({ commands.push({
name: globalize.translate('sharedcomponents#EditImages'), 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)) { if (itemHelper.canIdentify(user, item.Type)) {
commands.push({ commands.push({
name: globalize.translate('sharedcomponents#Identify'), name: globalize.translate('sharedcomponents#Identify'),
@ -125,6 +122,13 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
name: globalize.translate('sharedcomponents#Play'), name: globalize.translate('sharedcomponents#Play'),
id: 'resume' id: 'resume'
}); });
if (isMobileApp && appSettings.enableExternalPlayers()) {
commands.push({
name: globalize.translate('ButtonPlayExternalPlayer'),
id: 'externalplayer'
});
}
} }
if (options.playAllFromHere && item.Type != 'Program' && item.Type != 'TvChannel') { 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)) { if (itemHelper.canSync(user, item)) {
commands.push({ commands.push({
name: globalize.translate('sharedcomponents#Sync'), name: globalize.translate('sharedcomponents#Sync'),
@ -385,6 +389,10 @@ define(['apphost', 'globalize', 'connectionManager', 'itemHelper', 'embyRouter',
}); });
break; break;
} }
case 'externalplayer':
LibraryBrowser.playInExternalPlayer(itemId);
getResolveFunction(resolve, id)();
break;
case 'album': case 'album':
{ {
embyRouter.showItem(item.AlbumId, item.ServerId); 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) { function show(options) {
@ -11,7 +13,9 @@ define(['actionsheet', 'datetime', 'playbackManager', 'globalize'], function (ac
var serverId = item.ServerId; var serverId = item.ServerId;
var resumePositionTicks = item.UserData ? item.UserData.PlaybackPositionTicks : null; 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({ playbackManager.play({
items: [item] 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)) { if (playbackManager.canQueueMediaType(mediaType)) {
menuItems.push({ menuItems.push({
name: globalize.translate('sharedcomponents#Queue'), name: globalize.translate('sharedcomponents#Queue'),
@ -72,6 +83,9 @@ define(['actionsheet', 'datetime', 'playbackManager', 'globalize'], function (ac
serverId: item.ServerId serverId: item.ServerId
}); });
break; break;
case 'externalplayer':
LibraryBrowser.playInExternalPlayer(itemId);
break;
case 'resume': case 'resume':
playbackManager.play({ playbackManager.play({
ids: [itemId], ids: [itemId],