diff --git a/dashboard-ui/css/mediaplayer-video.css b/dashboard-ui/css/mediaplayer-video.css index 3cf00055b7..639278b001 100644 --- a/dashboard-ui/css/mediaplayer-video.css +++ b/dashboard-ui/css/mediaplayer-video.css @@ -24,6 +24,9 @@ background-color: #000; width: 100%; height: auto; + + /* Without this the buttons displayed over the video surface will not be clickable in safari. */ + -webkit-transform-style: preserve-3d } .videoControls { @@ -107,7 +110,7 @@ ***************************************/ #videoPlayer, -#videoPlayer .itemVideo { +.itemVideo { position: fixed !important; top: 0 !important; bottom: 0 !important; @@ -121,6 +124,10 @@ max-height: 100%; } +/* Hack for safari because it doesn't allow clickable content over the video surface. */ +.itemVideo { (;top: 60px!important;); } +.itemVideo { [;top: 60px!important;]; } + #mediaPlayer .ui-slider-track, .nowPlayingBar .ui-slider-track, .nowPlayingPage .ui-slider-track { border-color: #2ad !important; height: 2px!important; diff --git a/dashboard-ui/encodingsettings.html b/dashboard-ui/encodingsettings.html index 0b50ae0f6d..626dfcebc8 100644 --- a/dashboard-ui/encodingsettings.html +++ b/dashboard-ui/encodingsettings.html @@ -1,4 +1,5 @@ - + + ${TitleAdvanced} @@ -46,11 +47,6 @@
${LabelDownMixAudioScaleHelp}
-
  • - - -
    ${OptionUpscalingHelp}
    -
  • diff --git a/dashboard-ui/scripts/encodingsettings.js b/dashboard-ui/scripts/encodingsettings.js index 9550606c71..ae2afc8c74 100644 --- a/dashboard-ui/scripts/encodingsettings.js +++ b/dashboard-ui/scripts/encodingsettings.js @@ -10,8 +10,6 @@ }).checkboxradio('refresh'); - $('#chkAllowUpscaling', page).checked(config.AllowVideoUpscaling).checkboxradio("refresh"); - $('#txtDownMixAudioBoost', page).val(config.DownMixAudioBoost); Dashboard.hideLoadingMsg(); @@ -40,7 +38,6 @@ ApiClient.getServerConfiguration().done(function (config) { - config.AllowVideoUpscaling = $('#chkAllowUpscaling', form).checked(); config.EnableDebugEncodingLogging = $('#chkEnableDebugEncodingLogging', form).checked(); config.MediaEncodingQuality = $('.radioEncodingQuality:checked', form).val(); config.DownMixAudioBoost = $('#txtDownMixAudioBoost', form).val(); diff --git a/dashboard-ui/scripts/extensions.js b/dashboard-ui/scripts/extensions.js index b367344ea9..e3cc999f97 100644 --- a/dashboard-ui/scripts/extensions.js +++ b/dashboard-ui/scripts/extensions.js @@ -1,4 +1,4 @@ -function IsStorageEnabled() { +function IsStorageEnabled(skipRetry) { if (!window.localStorage) { return false; @@ -6,9 +6,15 @@ try { window.localStorage.setItem("__test", "data"); } catch (err) { - if ((err.name).toUpperCase() == 'QUOTA_EXCEEDED_ERR') { - return false; + + if (!skipRetry) { + if ((err.name).toUpperCase().indexOf('EXCEEDED') != -1) { + window.localStorage.clear(); + return IsStorageEnabled(true); + } } + + return false; } return true; } @@ -110,7 +116,7 @@ var WebNotifications = { }); } } - + else if (window.webkitNotifications) { if (!webkitNotifications.checkPermission()) { var notif = webkitNotifications.createNotification(data.icon, data.title, data.body); @@ -279,7 +285,7 @@ function replaceQueryString(url, param, value) { if (url.match(re)) return url.replace(re, '$1' + param + "=" + value + '$2'); else { - + if (url.indexOf('?') == -1) { return url + '?' + param + "=" + value; } diff --git a/dashboard-ui/scripts/librarybrowser.js b/dashboard-ui/scripts/librarybrowser.js index 9d067222a7..a1fd2ac051 100644 --- a/dashboard-ui/scripts/librarybrowser.js +++ b/dashboard-ui/scripts/librarybrowser.js @@ -49,12 +49,20 @@ values.SortOrder = query.SortOrder; } - localStorage.setItem(key + '_' + Dashboard.getCurrentUserId(), JSON.stringify(values)); + try { + localStorage.setItem(key + '_' + Dashboard.getCurrentUserId(), JSON.stringify(values)); + } catch (e) { + + } }, saveViewSetting: function (key, value) { - localStorage.setItem(key + '_' + Dashboard.getCurrentUserId() + '_view', value); + try { + localStorage.setItem(key + '_' + Dashboard.getCurrentUserId() + '_view', value); + } catch (e) { + + } }, getSavedViewSetting: function (key) { @@ -1276,7 +1284,11 @@ getPagingHtml: function (query, totalRecordCount, updatePageSizeSetting, pageSizes, showLimit) { if (query.Limit && updatePageSizeSetting !== false) { - localStorage.setItem('pagesize_', query.Limit); + try { + localStorage.setItem('pagesize_', query.Limit); + } catch (e) { + + } } var html = ''; diff --git a/dashboard-ui/scripts/librarymenu.js b/dashboard-ui/scripts/librarymenu.js index 2108eeea67..c277f9e4db 100644 --- a/dashboard-ui/scripts/librarymenu.js +++ b/dashboard-ui/scripts/librarymenu.js @@ -73,9 +73,9 @@ html += '
    '; html += '
    '; - //html += 'Dashboard'; - html += 'Metadata Manager'; - html += 'Reports'; + //html += ''+Globalize.translate('ButtonDashboard')+''; + html += '' + Globalize.translate('ButtonMetadataManager') + ''; + html += '' + Globalize.translate('ButtonReports') + ''; html += '
    '; return html; @@ -170,7 +170,7 @@ html += '
    '; - html += 'Home'; + html += '' + Globalize.translate('ButtonHome') + ''; html += '
    '; html += getViewsHtml(); diff --git a/dashboard-ui/scripts/logpage.js b/dashboard-ui/scripts/logpage.js index e9e5819322..38ffbe05e8 100644 --- a/dashboard-ui/scripts/logpage.js +++ b/dashboard-ui/scripts/logpage.js @@ -12,15 +12,6 @@ LogPage.startInterval(); - var autoScroll = localStorage.getItem("autoScrollLogPage"); - - if (autoScroll == "true") { - LogPage.updateAutoScroll(true); - } - else if (autoScroll == "false") { - LogPage.updateAutoScroll(false); - } - ApiClient.getSystemInfo().done(function(systemInfo) { $('#logPath', page).html(systemInfo.LogPath); @@ -86,8 +77,6 @@ $('#chkAutoScrollBottom', page).checked(value).checkboxradio('refresh'); $('#chkAutoScroll', page).checked(value).checkboxradio('refresh'); - - localStorage.setItem("autoScrollLogPage", value.toString()); } }; diff --git a/dashboard-ui/scripts/mediaplayer-video.js b/dashboard-ui/scripts/mediaplayer-video.js index db6f255abe..3cfc332c93 100644 --- a/dashboard-ui/scripts/mediaplayer-video.js +++ b/dashboard-ui/scripts/mediaplayer-video.js @@ -85,40 +85,60 @@ return document.fullscreen || document.mozFullScreen || document.webkitIsFullScreen || document.msFullscreenElement ? true : false; }; + function onFlyoutClose() { + $('.itemVideo').css('visibility', 'visible'); + } + + function onPopupOpen(elem) { + elem.popup("open").parents(".ui-popup-container").css("margin-top", 30); + + if ($.browser.safari) { + $('.itemVideo').css('visibility', 'hidden'); + } + } + self.showSubtitleMenu = function () { var elem = $('.videoSubtitlePopup').html(getSubtitleTracksHtml()) .trigger('create') - .popup("option", "positionTo", $('.videoSubtitleButton')); + .popup("option", "positionTo", $('.videoSubtitleButton')) + .off('popupafterclose', onFlyoutClose) + .on('popupafterclose', onFlyoutClose); - elem.popup("open").parents(".ui-popup-container").css("margin-top", 30); + onPopupOpen(elem); }; self.showQualityFlyout = function () { var elem = $('.videoQualityPopup').html(getQualityFlyoutHtml()) .trigger('create') - .popup("option", "positionTo", $('.videoQualityButton')); + .popup("option", "positionTo", $('.videoQualityButton')) + .off('popupafterclose', onFlyoutClose) + .on('popupafterclose', onFlyoutClose); - elem.popup("open").parents(".ui-popup-container").css("margin-top", 30); + onPopupOpen(elem); }; self.showChaptersFlyout = function () { var elem = $('.videoChaptersPopup').html(getChaptersFlyoutHtml()) .trigger('create') - .popup("option", "positionTo", $('.videoChaptersButton')); + .popup("option", "positionTo", $('.videoChaptersButton')) + .off('popupafterclose', onFlyoutClose) + .on('popupafterclose', onFlyoutClose); - elem.popup("open").parents(".ui-popup-container").css("margin-top", 30); + onPopupOpen(elem); }; self.showAudioTracksFlyout = function () { var elem = $('.videoAudioPopup').html(getAudioTracksHtml()) .trigger('create') - .popup("option", "positionTo", $('.videoAudioButton')); + .popup("option", "positionTo", $('.videoAudioButton')) + .off('popupafterclose', onFlyoutClose) + .on('popupafterclose', onFlyoutClose); - elem.popup("open").parents(".ui-popup-container").css("margin-top", 30); + onPopupOpen(elem); }; self.setAudioStreamIndex = function (index) { @@ -512,7 +532,7 @@ var html = ''; html += '
    '; - html += '