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:
parent
29afe3348c
commit
6350971623
7 changed files with 76 additions and 45 deletions
|
@ -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);
|
Loading…
Add table
Add a link
Reference in a new issue