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

remember display mirroring

This commit is contained in:
Luke Pulverenti 2014-08-25 22:30:52 -04:00
parent 29afe3348c
commit 6350971623
7 changed files with 76 additions and 45 deletions

View file

@ -1,8 +1,17 @@
(function ($, window) {
(function ($, window, store) {
function setMirrorModeEnabled(enabled) {
var val = enabled ? '1' : '';
store.setItem('displaymirror', val);
}
function isMirrorModeEnabled() {
return (store.getItem('displaymirror') || '') == '1';
}
var enableMirrorMode;
var currentDisplayInfo;
function mirrorItem(info) {
var item = info.item;
@ -16,6 +25,18 @@
});
}
function mirrorIfEnabled(info) {
if (isMirrorModeEnabled()) {
var player = MediaController.getPlayerInfo();
if (!player.isLocalPlayer && player.supportedCommands.indexOf('DisplayContent') != -1) {
mirrorItem(info);
}
}
}
function monitorPlayer(player) {
$(player).on('playbackstart.mediacontroller', function (e, state) {
@ -455,7 +476,7 @@
html += '<p class="fieldDescription">' + Globalize.translate('LabelAllPlaysSentToPlayer') + '</p>';
checkedHtml = enableMirrorMode ? ' checked="checked"' : '';
checkedHtml = isMirrorModeEnabled() ? ' checked="checked"' : '';
html += '<div style="margin-top:1.5em;" class="fldMirrorMode"><label for="chkEnableMirrorMode">Enable display mirroring</label><input type="checkbox" class="chkEnableMirrorMode" id="chkEnableMirrorMode" data-mini="true"' + checkedHtml + ' /></div>';
html += '</form>';
@ -488,7 +509,7 @@
$('.players', elem).html(getTargetsHtml(targets)).trigger('create');
$('.chkEnableMirrorMode', elem).on().on('change', function () {
enableMirrorMode = this.checked;
setMirrorModeEnabled(this.checked);
if (this.checked && currentDisplayInfo) {
@ -506,7 +527,6 @@
$('.fldMirrorMode', elem).show();
} else {
$('.fldMirrorMode', elem).hide();
$('.chkEnableMirrorMode', elem).checked(false).trigger('change').checkboxradio('refresh');
}
}).each(function () {
@ -532,6 +552,12 @@
deviceName: deviceName
});
if (currentDisplayInfo) {
mirrorIfEnabled(currentDisplayInfo);
}
});
});
}
@ -610,9 +636,7 @@
currentDisplayInfo = info;
if (enableMirrorMode) {
mirrorItem(info);
}
mirrorIfEnabled(info);
});
})(jQuery, window);
})(jQuery, window, window.store);