diff --git a/js/conf/Settings.js b/js/conf/Settings.js index 8fb2496..2f1625a 100644 --- a/js/conf/Settings.js +++ b/js/conf/Settings.js @@ -132,28 +132,18 @@ canStartExtension = function(site) { site = window.location.hostname; } - console.log("CAN WE START THIS EXTENSION ON SITE", site, - "?\n\nExtensionConf.sites[site]=",ExtensionConf.sites[site], - "\nExtension mode?", ExtensionConf.extensionMode - ); + // console.log("CAN WE START THIS EXTENSION ON SITE", site, + // "?\n\nExtensionConf.sites[site]=",ExtensionConf.sites[site], + // "\nExtension mode?", ExtensionConf.extensionMode + // ); if (ExtensionConf.sites[site] === undefined) { return ExtensionConf.extensionMode === "blacklist"; // site not defined, this does default option } - if (ExtensionConf.extensionMode === "blacklist") { - console.log("Extension mode is 'blacklist', returning true unless disabled. Ret:", ExtensionConf.sites[site].status !== "disabled"); - } else if (ExtensionConf.arDetect.mode === "whitelist" ) { - console.log("Extension mode set to 'whitelist, returning true only if enabled", ExtensionConf.sites[site].status === "enabled"); - } else { - console.log("Extension is not even enabled globally"); - return false; - } - - if (ExtensionConf.extensionMode === "blacklist") { return ExtensionConf.sites[site].status !== "disabled"; - } else if (ExtensionConf.arDetect.mode === "whitelist" ) { + } else if (ExtensionConf.extensionMode === "whitelist" ) { return ExtensionConf.sites[site].status === "enabled"; } else { return false; diff --git a/js/lib/Comms.js b/js/lib/Comms.js index 17d6d5e..d72d665 100644 --- a/js/lib/Comms.js +++ b/js/lib/Comms.js @@ -229,6 +229,10 @@ class CommsServer { port.postMessage({cmd: "set-config", conf: ExtensionConf, site: this.server.currentSite}) } else if (message.cmd === 'set-stretch') { this.sendToActive(message); + } else if (message.cmd === 'set-stretch-default') { + ExtensionConf.stretch.initialMode = message.mode; + Settings.save(ExtensionConf); + this.sendToAll({cmd: 'reload-settings', newConf: ExtensionConf}); } else if (message.cmd === 'set-ar') { this.sendToActive(message); } else if (message.cmd === 'autoar-start') { @@ -236,10 +240,7 @@ class CommsServer { } else if (message.cmd === "autoar-enable") { // LEGACY - can be removed prolly? ExtensionConf.arDetect.mode = "blacklist"; Settings.save(ExtensionConf); - this.sendToAll({cmd: "reload-settings", sender: "uwbg"}) - if(Debug.debug){ - console.log("[uw-bg] autoar set to enabled (blacklist). evidenz:", ExtensionConf); - } + this.sendToAll({cmd: 'reload-settings', newConf: ExtensionConf}); } else if (message.cmd === "autoar-disable") { // LEGACY - can be removed prolly? ExtensionConf.arDetect.mode = "disabled"; if(message.reason){ @@ -249,9 +250,6 @@ class CommsServer { } Settings.save(ExtensionConf); this.sendToAll({cmd: 'reload-settings', newConf: ExtensionConf}); - if(Debug.debug){ - console.log("[uw-bg] autoar set to disabled. evidenz:", ExtensionConf); - } } else if (message.cmd === "autoar-set-interval") { if(Debug.debug) console.log("[uw-bg] trying to set new interval for autoAr. New interval is",message.timeout,"ms"); diff --git a/res/popup/js/popup.js b/res/popup/js/popup.js index 6f4ff0d..07c798c 100644 --- a/res/popup/js/popup.js +++ b/res/popup/js/popup.js @@ -5,20 +5,22 @@ document.getElementById("uw-version").textContent = browser.runtime.getManifest( var Menu = {}; // Menu.noVideo = document.getElementById("no-videos-display"); -Menu.general = document.getElementById("extension-mode"); -Menu.thisSite = document.getElementById("settings-for-current-site"); -Menu.arSettings = document.getElementById("aspect-ratio-settings"); -Menu.autoAr = document.getElementById("autoar-basic-settings"); -Menu.cssHacks = document.getElementById("css-hacks-settings"); -Menu.about = document.getElementById("panel-about"); +Menu.general = document.getElementById("extension-mode"); +Menu.thisSite = document.getElementById("settings-for-current-site"); +Menu.arSettings = document.getElementById("aspect-ratio-settings"); +Menu.autoAr = document.getElementById("autoar-basic-settings"); +Menu.cssHacks = document.getElementById("css-hacks-settings"); +Menu.about = document.getElementById("panel-about"); +Menu.stretchSettings = document.getElementById("stretch-settings") var MenuTab = {}; -MenuTab.general = document.getElementById("_menu_general"); -MenuTab.thisSite = document.getElementById("_menu_this_site"); -MenuTab.arSettings = document.getElementById("_menu_aspectratio"); -MenuTab.cssHacks = document.getElementById("_menu_hacks"); -MenuTab.about = document.getElementById("_menu_about"); -MenuTab.autoAr = document.getElementById("_menu_autoar"); +MenuTab.general = document.getElementById("_menu_general"); +MenuTab.thisSite = document.getElementById("_menu_this_site"); +MenuTab.arSettings = document.getElementById("_menu_aspectratio"); +MenuTab.cssHacks = document.getElementById("_menu_hacks"); +MenuTab.about = document.getElementById("_menu_about"); +MenuTab.autoAr = document.getElementById("_menu_autoar"); +MenuTab.stretchSettings = document.getElementById("_menu_stretch"); var ExtPanel = {}; ExtPanel.globalOptions = {}; @@ -47,6 +49,13 @@ ArPanel.alignment.center = document.getElementById("_align_center"); ArPanel.alignment.right = document.getElementById("_align_right"); ArPanel.autoar = {}; +var StretchPanel = {}; +StretchPanel.global = {}; +StretchPanel.global.none = document.getElementById("_stretch_global_none"); +StretchPanel.global.basic = document.getElementById("_stretch_global_basic"); +StretchPanel.global.hybrid = document.getElementById("_stretch_global_hybrid"); +StretchPanel.global.conditional = document.getElementById("_stretch_global_conditional"); + var selectedMenu = "arSettings"; var hasVideos = false; @@ -94,6 +103,9 @@ function loadConfig(extensionConf, site){ // ---------------------- //#region extension-basics - SET BASIC EXTENSION OPTIONS + if(Debug.debug) + console.log("EXT: site is:", site, "|extensionConf for this site: ", (site && extensionConf.sites[site]) ? extensionConf.sites[site] : "default site") + for(var button in ExtPanel.globalOptions) { ExtPanel.globalOptions[button].classList.remove("selected"); @@ -104,7 +116,7 @@ function loadConfig(extensionConf, site){ ExtPanel.globalOptions[extensionConf.extensionMode].classList.add("selected"); if(site && extensionConf.sites[site]) { - ExtPanel.siteOptions[extensionConf.sites[site].arStatus].classList.add("selected"); + ExtPanel.siteOptions[extensionConf.sites[site].status].classList.add("selected"); } else { ExtPanel.siteOptions.default.classList.add("selected"); } @@ -113,7 +125,7 @@ function loadConfig(extensionConf, site){ // ------------ //#region autoar - SET AUTOAR OPTIONS // if(Debug.debug) - // console.log("Autodetect mode?", extensionConf.arDetect.mode, "| site & site options:", site, ",", (site && extensionConf.sites[site]) ? extensionConf.sites[site].arStatus : "fucky wucky?" ); + // console.log("Autodetect mode?", extensionConf.arDetect.mode, "| site & site options:", site, ",", (site && extensionConf.sites[site]) ? extensionConf.sites[site].arStatus : "fucky wucky?" ); // document.getElementById("_autoAr_disabled_reason").textContent = extensionConf.arDetect.DisabledReason; document.getElementById("_input_autoAr_timer").value = extensionConf.arDetect.timer_playing; @@ -125,6 +137,7 @@ function loadConfig(extensionConf, site){ AutoArPanel.siteOptions[button].classList.remove("selected"); } + AutoArPanel.globalOptions[extensionConf.arDetect.mode].classList.add("selected"); if(site && extensionConf.sites[site]) { AutoArPanel.siteOptions[extensionConf.sites[site].arStatus].classList.add("selected"); @@ -141,6 +154,21 @@ function loadConfig(extensionConf, site){ ArPanel.alignment[extensionConf.miscFullscreenSettings.videoFloat].classList.add("selected"); } + //#region - SET STRETCH + for (var button in StretchPanel.global) { + StretchPanel.global[button].classList.remove("selected"); + } + if (extensionConf.stretch.initialMode === 0) { + StretchPanel.global.none.classList.add("selected"); + } else if (extensionConf.stretch.initialMode === 1) { + StretchPanel.global.basic.classList.add("selected"); + } else if (extensionConf.stretch.initialMode === 2) { + StretchPanel.global.hybrid.classList.add("selected"); + } else if (extensionConf.stretch.initialMode === 3) { + StretchPanel.global.conditional.classList.add("selected"); + } + //#endregion + // process keyboard shortcuts: if(extensionConf.keyboard.shortcuts){ for(var key in extensionConf.keyboard.shortcuts){ @@ -315,6 +343,9 @@ document.addEventListener("click", (e) => { else if(e.target.classList.contains("_menu_aspectratio")){ openMenu("arSettings"); } + else if(e.target.classList.contains("_menu_stretch")){ + openMenu("stretchSettings"); + } else if(e.target.classList.contains("_menu_hacks")){ openMenu("cssHacks"); } @@ -395,6 +426,20 @@ document.addEventListener("click", (e) => { } } if(e.target.classList.contains("_stretch")){ + if (e.target.classList.contains("_ar_stretch_global")) { + command.cmd = "set-stretch-default" + if (e.target.classList.contains("_none")) { + command.mode = 0; + } else if (e.target.classList.contains("_basic")) { + command.mode = 1; + } else if (e.target.classList.contains("_hybrid")) { + command.mode = 2; + } else if (e.target.classList.contains("_conditional")) { + command.mode = 3; + } + return command; + } + if(e.target.classList.contains("_ar_stretch_none")) { command.cmd = "set-stretch"; command.mode = "NO_STRETCH"; diff --git a/res/popup/popup.html b/res/popup/popup.html index bd7f437..5297545 100644 --- a/res/popup/popup.html +++ b/res/popup/popup.html @@ -17,7 +17,9 @@ font-family: "overpass"; font-size: 1em; } - + strike { + opacity: 0.5; + } a { color: #af7f37; } @@ -178,7 +180,10 @@ Automatic aspect ratio detection (auto-ar) +