diff --git a/README.md b/README.md index 22a23d1..be02662 100644 --- a/README.md +++ b/README.md @@ -24,9 +24,9 @@ This extension also allows you to zoom in or out of video (similar to how SMPlay ### Permanent install -[v0.9.9 — Experimental version — download from here](http://tamius.net/ultrawidify) — If 30 minutes old is stable enough for you, this is it. This version is pretty much code from this repo. It's also unlisted so I don't have to go through AMO for every minor change. It hasn't been tested whether autoupdating works. +~~[v0.9.9.5 — Experimental version — download from here](http://tamius.net/ultrawidify) — If 30 minutes old is stable enough for you, this is it. This version is pretty much code from this repo. It's also unlisted so I don't have to go through AMO for every minor change. It hasn't been tested whether autoupdating works, and it probably doesn't.~~ -[v0.9.1 — Regular version — download from AMO](https://addons.mozilla.org/en/firefox/addon/ultrawidify/) — more stable and with AMO's approval. No experimental features either. +[v0.9.9 — Regular version — download from AMO](https://addons.mozilla.org/en/firefox/addon/ultrawidify/) — more stable and with AMO's approval. No experimental features either. (NOTE: there's a version number hiccup going on with AMO version. Stuff here on Github is the freshest, regardless of what manifest says) **NOTE:** Have only one version of the extension running at a time. Don't run both at the same time. @@ -102,3 +102,11 @@ Keybind `a` just doesn't work at all, so no 16:10. * Keybinds `a` and `w` now work. * Some changes under the bonnet, mostly regarding the way keypresses are handled. * 'Settings' page is ~15% done. + +###v0.9.9.5 + +* Played with settings and localstorage a bit, but no clear implementation yet. +* Fixed some bugs caused by event propagation. +* All buttons in the player's control bar are now also in the settings popup. +* Had to scrap settings page in its current form +* TODO: sometimes not all buttons can fit in the control bar. Such occurences should be detected. diff --git a/js/uw.js b/js/uw.js index 1bc7084..ae33837 100644 --- a/js/uw.js +++ b/js/uw.js @@ -305,7 +305,7 @@ function addCtlButtons(provider_id){ // Knof za nastavitve ima še vgnezden meni, ki ga dodamo tu (privzeto je ta meni skrit) // Settings button contains a menu that's nested in the element. By default, that menu is // hidden. - buttons[5].onclick = function() { showMenu("uw-smenu") }; + buttons[5].onclick = function() { toggleMenu("uw-smenu") }; buttons[5].id = "uw-settings-button"; var settings_menu = document.createElement("div"); @@ -410,21 +410,25 @@ function addCtlButtons(provider_id){ // ( https://www.youtube.com/watch?v=hMcVZQI6ybw | [NSFW] ) $(smenu_ar).on("mouseenter", function(){showMenu("uw-armenu")}); - $(smenu_ar).on("mouseleave", function(){showMenu("uw-armenu")}); + $(smenu_ar).on("mouseleave", function(){hideMenu("uw-armenu")}); - smenu_ar_options[0].onclick = function() { changeCSS("char", ( 4/3 )) }; - smenu_ar_options[1].onclick = function() { changeCSS("char", (16/10)) }; - smenu_ar_options[2].onclick = function() { changeCSS("char", (16/9 )) }; - smenu_ar_options[3].onclick = function() { changeCSS("char", (21/9 )) }; + // event.stopPropagation, ker nočemo togglati še funkcij od knofa za popup z nastavitvami + // event.stopPropagation, because we don't want to trigger onclick functions of the settings popup button in + // the player bar - console.log(smenu_settings); - smenu_settings.onclick = function() { showSettings() }; + smenu_ar_options[0].onclick = function(event) {event.stopPropagation(); changeCSS("char", ( 4/3 )); }; + smenu_ar_options[1].onclick = function(event) {event.stopPropagation(); changeCSS("char", (16/10)); }; + smenu_ar_options[2].onclick = function(event) {event.stopPropagation(); changeCSS("char", (16/9 )); }; + smenu_ar_options[3].onclick = function(event) {event.stopPropagation(); changeCSS("char", (21/9 )); }; - smenu_fitw.onclick = function () { changeCSS("fit","fitw") }; - smenu_fith.onclick = function () { changeCSS("fit","fith") }; - smenu_reset.onclick = function () { changeCSS("reset","reset") }; - smenu_zoom.onclick = function () { changeCSS("fit","zoom") }; - smenu_unzoom.onclick = function () { changeCSS("fit","unzoom") }; +// console.log(smenu_settings); +// smenu_settings.onclick = function() { showSettings() }; + + smenu_fitw.onclick = function (event) {event.stopPropagation(); changeCSS("fit","fitw") }; + smenu_fith.onclick = function (event) {event.stopPropagation(); changeCSS("fit","fith") }; + smenu_reset.onclick = function (event) {event.stopPropagation(); changeCSS("reset","reset") }; + smenu_zoom.onclick = function (event) {event.stopPropagation(); changeCSS("fit","zoom") }; + smenu_unzoom.onclick = function (event) {event.stopPropagation(); changeCSS("fit","unzoom") }; //BEGIN SETTINGS WINDOW @@ -440,8 +444,6 @@ function addCtlButtons(provider_id){ menu_panel.id = "uw_settings_panel"; menu_panel.className = "uw-ext-settings-bg uw_element"; - console.log("boo"); - var kbs_actions = [ {action:"fitw", label:"Fit width:"}, {action:"fith",label:"Fit height:"}, @@ -910,10 +912,17 @@ function imageToUrl(img){ function showMenu(id){ if(debugmsg) - console.log("uw::showMenu | toggling menu with id " + id); + console.log("uw::showMenu | showing menu with id " + id); + document.getElementById(id).classList.add("show"); +} +function toggleMenu(id){ + if(debugmsg) + console.log("uw::toggleMenu | toggling menu with id " + id); document.getElementById(id).classList.toggle("show"); } function hideMenu(id){ + if(debugmsg) + console.log("uw::hideMenu | hiding menu with id " + id); document.getElementById(id).classList.remove("show"); } diff --git a/manifest.json b/manifest.json index 43674fb..6aaf1b2 100644 --- a/manifest.json +++ b/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "Ultrawidify-git", - "version": "0.9.9.4", + "version": "0.9.9.5", "icons": { "32":"icons/uw-32.png",