From e41b0f81bd71a64942bf52d05c4e5c2561ee3aba Mon Sep 17 00:00:00 2001 From: Nils Asmussen Date: Mon, 1 Aug 2016 14:16:18 +0200 Subject: [PATCH] Improved fullscreen enter/leave in photo view. Previously, document.mouse{enter,leave} was used for that. This has the disadvantage that is doesn't work when the browser is in fullscreen mode (at least, in Chromium), because the mouse can no longer leave the document. With this commit, mousemove is used to switch to fullscreen in the photo view after the user has not moved the mouse for some time. It is left again, if the user moves the mouse. --- src/scripts/multiselect.js | 2 +- src/scripts/view.js | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/scripts/multiselect.js b/src/scripts/multiselect.js index e9c60e2..7421def 100644 --- a/src/scripts/multiselect.js +++ b/src/scripts/multiselect.js @@ -159,7 +159,7 @@ multiselect.resize = function(e) { multiselect.stopResize = function() { - $(document).off('mousemove mouseup') + if (multiselect.position.top!==null) $(document).off('mousemove mouseup') } diff --git a/src/scripts/view.js b/src/scripts/view.js index 198a4fd..fe10eaa 100644 --- a/src/scripts/view.js +++ b/src/scripts/view.js @@ -309,9 +309,12 @@ view.photo = { $('body').css('overflow', 'hidden') // Fullscreen - $(document) - .bind('mouseenter', header.show) - .bind('mouseleave', header.hide) + var timeout + $(document).bind('mousemove', function() { + clearTimeout(timeout) + header.show() + timeout = setTimeout(header.hide, 500) + }) lychee.animate(lychee.imageview, 'fadeIn') @@ -329,8 +332,7 @@ view.photo = { // Disable Fullscreen $(document) - .unbind('mouseenter') - .unbind('mouseleave') + .unbind('mousemove') // Hide Photo lychee.animate(lychee.imageview, 'fadeOut')