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

Merge branch 'master' into synchronize-subtitles

This commit is contained in:
redSpoutnik 2019-04-30 20:58:51 +02:00 committed by GitHub
commit 4d8ec5b466
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
105 changed files with 2914 additions and 870 deletions

View file

@ -16,7 +16,6 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
});
var menuItems = options.map(function (o) {
var opt = {
name: o.name,
id: o.bitrate,
@ -39,25 +38,19 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
return actionsheet.show({
items: menuItems,
positionTo: btn
}).then(function (id) {
var bitrate = parseInt(id);
if (bitrate !== selectedId) {
playbackManager.setMaxStreamingBitrate({
enableAutomaticBitrateDetection: bitrate ? false : true,
maxBitrate: bitrate
}, player);
}
});
}
function showRepeatModeMenu(player, btn) {
var menuItems = [];
var currentValue = playbackManager.getRepeatMode(player);
menuItems.push({
@ -65,6 +58,7 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
id: 'RepeatAll',
selected: currentValue === 'RepeatAll'
});
menuItems.push({
name: globalize.translate('RepeatOne'),
id: 'RepeatOne',
@ -80,9 +74,7 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
return actionsheet.show({
items: menuItems,
positionTo: btn
}).then(function (mode) {
if (mode) {
playbackManager.setRepeatMode(mode, player);
}
@ -90,15 +82,14 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
}
function getQualitySecondaryText(player) {
var state = playbackManager.getPlayerState(player);
var isAutoEnabled = playbackManager.enableAutomaticBitrateDetection(player);
var currentMaxBitrate = playbackManager.getMaxStreamingBitrate(player);
var videoStream = playbackManager.currentMediaSource(player).MediaStreams.filter(function (stream) {
return stream.Type === "Video";
})[0];
var videoWidth = videoStream ? videoStream.Width : null;
var options = qualityoptions.getVideoQualityOptions({
@ -109,7 +100,6 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
});
var menuItems = options.map(function (o) {
var opt = {
name: o.name,
id: o.bitrate,
@ -132,7 +122,6 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
}
selectedOption = selectedOption[0];
var text = selectedOption.name;
if (selectedOption.autoText) {
@ -196,11 +185,6 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
});
}
menuItems.push({
name: globalize.translate('PlaybackSettings'),
id: 'playbacksettings'
});
if (user && user.Policy.EnableVideoPlaybackTranscoding) {
var secondaryQualityText = getQualitySecondaryText(player);
@ -214,7 +198,6 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
var repeatMode = playbackManager.getRepeatMode(player);
if (supportedCommands.indexOf('SetRepeatMode') !== -1 && playbackManager.currentMediaSource(player).RunTimeTicks) {
menuItems.push({
name: globalize.translate('RepeatMode'),
id: 'repeatmode',
@ -223,9 +206,8 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
}
if (options.stats) {
menuItems.push({
name: globalize.translate('StatsForNerds'),
name: globalize.translate('PlaybackData'),
id: 'stats',
asideText: null
});
@ -240,26 +222,16 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
});
}
menuItems.push({
name: globalize.translate('SubtitleSettings'),
id: 'subtitlesettings'
});
return actionsheet.show({
items: menuItems,
positionTo: options.positionTo
}).then(function (id) {
return handleSelectedOption(id, options, player);
});
}
function show(options) {
var player = options.player;
var currentItem = playbackManager.currentItem(player);
if (!currentItem || !currentItem.ServerId) {
@ -267,45 +239,19 @@ define(['connectionManager', 'actionsheet', 'datetime', 'playbackManager', 'glob
}
var apiClient = connectionManager.getApiClient(currentItem.ServerId);
return apiClient.getCurrentUser().then(function (user) {
return showWithUser(options, player, user);
});
}
function alertText(text) {
return new Promise(function (resolve, reject) {
require(['alert'], function (alert) {
alert(text).then(resolve);
});
});
}
function showSubtitleSettings(player, btn) {
return alertText(globalize.translate('SubtitleSettingsIntro'));
}
function showPlaybackSettings(player, btn) {
return alertText(globalize.translate('PlaybackSettingsIntro'));
}
function handleSelectedOption(id, options, player) {
switch (id) {
case 'quality':
return showQualityMenu(player, options.positionTo);
case 'aspectratio':
return showAspectRatioMenu(player, options.positionTo);
case 'repeatmode':
return showRepeatModeMenu(player, options.positionTo);
case 'subtitlesettings':
return showSubtitleSettings(player, options.positionTo);
case 'playbacksettings':
return showPlaybackSettings(player, options.positionTo);
case 'stats':
if (options.onOption) {
options.onOption('stats');