mirror of
https://github.com/jellyfin/jellyfin-web
synced 2025-03-30 19:56:21 +00:00
Keep OSD visible when dialog is open
This commit is contained in:
parent
8843f7cb93
commit
60a6023e77
1 changed files with 20 additions and 6 deletions
|
@ -45,6 +45,10 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getOpenedDialog() {
|
||||||
|
return document.querySelector('.dialogContainer .dialog.opened');
|
||||||
|
}
|
||||||
|
|
||||||
return function (view, params) {
|
return function (view, params) {
|
||||||
function onVerticalSwipe(e, elem, data) {
|
function onVerticalSwipe(e, elem, data) {
|
||||||
var player = currentPlayer;
|
var player = currentPlayer;
|
||||||
|
@ -338,9 +342,7 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med
|
||||||
function showOsd() {
|
function showOsd() {
|
||||||
slideDownToShow(headerElement);
|
slideDownToShow(headerElement);
|
||||||
showMainOsdControls();
|
showMainOsdControls();
|
||||||
if (!mouseIsDown) {
|
resetIdle();
|
||||||
startOsdHideTimer();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function hideOsd() {
|
function hideOsd() {
|
||||||
|
@ -430,8 +432,8 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med
|
||||||
// TODO: Move all idle-related code to `inputManager` or `idleManager` or `idleHelper` (per dialog thing) and listen event from there.
|
// TODO: Move all idle-related code to `inputManager` or `idleManager` or `idleHelper` (per dialog thing) and listen event from there.
|
||||||
|
|
||||||
function resetIdle() {
|
function resetIdle() {
|
||||||
// Restart hide timer if OSD is currently visible
|
// Restart hide timer if OSD is currently visible and there is no opened dialog
|
||||||
if (currentVisibleMenu && !mouseIsDown) {
|
if (currentVisibleMenu && !mouseIsDown && !getOpenedDialog()) {
|
||||||
startOsdHideTimer();
|
startOsdHideTimer();
|
||||||
} else {
|
} else {
|
||||||
stopOsdHideTimer();
|
stopOsdHideTimer();
|
||||||
|
@ -954,7 +956,11 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med
|
||||||
stats: true,
|
stats: true,
|
||||||
suboffset: showSubOffset,
|
suboffset: showSubOffset,
|
||||||
onOption: onSettingsOption
|
onOption: onSettingsOption
|
||||||
|
}).finally(() => {
|
||||||
|
resetIdle();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
setTimeout(resetIdle, 0);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -1023,7 +1029,11 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med
|
||||||
if (index !== currentIndex) {
|
if (index !== currentIndex) {
|
||||||
playbackManager.setAudioStreamIndex(index, player);
|
playbackManager.setAudioStreamIndex(index, player);
|
||||||
}
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
resetIdle();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
setTimeout(resetIdle, 0);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1067,7 +1077,11 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med
|
||||||
}
|
}
|
||||||
|
|
||||||
toggleSubtitleSync();
|
toggleSubtitleSync();
|
||||||
|
}).finally(() => {
|
||||||
|
resetIdle();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
setTimeout(resetIdle, 0);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1118,7 +1132,7 @@ define(['playbackManager', 'dom', 'inputManager', 'datetime', 'itemHelper', 'med
|
||||||
case 'Escape':
|
case 'Escape':
|
||||||
case 'Back':
|
case 'Back':
|
||||||
// Ignore key when some dialog is opened
|
// Ignore key when some dialog is opened
|
||||||
if (currentVisibleMenu === 'osd' && !document.querySelector('.dialogContainer')) {
|
if (currentVisibleMenu === 'osd' && !getOpenedDialog()) {
|
||||||
hideOsd();
|
hideOsd();
|
||||||
e.stopPropagation();
|
e.stopPropagation();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue