Popup seems to be more or less fixed.
This commit is contained in:
parent
0eb70babf3
commit
cf813cf6f8
@ -139,6 +139,10 @@ var ExtensionConf = {
|
|||||||
action: "crop",
|
action: "crop",
|
||||||
arg: 2.0
|
arg: 2.0
|
||||||
},
|
},
|
||||||
|
"q": {
|
||||||
|
action: "crop",
|
||||||
|
arg: 2.35
|
||||||
|
},
|
||||||
//#endregion
|
//#endregion
|
||||||
//#region zoom
|
//#region zoom
|
||||||
"z": {
|
"z": {
|
||||||
|
@ -235,6 +235,10 @@ class CommsServer {
|
|||||||
this.sendToAll({cmd: 'reload-settings', newConf: ExtensionConf});
|
this.sendToAll({cmd: 'reload-settings', newConf: ExtensionConf});
|
||||||
} else if (message.cmd === 'set-ar') {
|
} else if (message.cmd === 'set-ar') {
|
||||||
this.sendToActive(message);
|
this.sendToActive(message);
|
||||||
|
} else if (message.cmd === 'set-custom-ar') {
|
||||||
|
ExtensionConf.keyboard.shortcuts.q.arg = message.ratio;
|
||||||
|
Settings.save(ExtensionConf);
|
||||||
|
this.sendToAll({cmd: 'reload-settings', newConf: ExtensionConf});
|
||||||
} else if (message.cmd === 'autoar-start') {
|
} else if (message.cmd === 'autoar-start') {
|
||||||
this.sendToActive(message);
|
this.sendToActive(message);
|
||||||
} else if (message.cmd === "autoar-enable") { // LEGACY - can be removed prolly?
|
} else if (message.cmd === "autoar-enable") { // LEGACY - can be removed prolly?
|
||||||
|
@ -61,7 +61,7 @@ var selectedMenu = "arSettings";
|
|||||||
var hasVideos = false;
|
var hasVideos = false;
|
||||||
|
|
||||||
var _config;
|
var _config;
|
||||||
var _changeAr_button_shortcuts = { "autoar":"none", "reset":"none", "219":"none", "189":"none", "169":"none" }
|
var _changeAr_button_shortcuts = { "autoar":"none", "reset":"none", "219":"none", "189":"none", "169":"none", "custom":"none" }
|
||||||
|
|
||||||
var comms = new Comms();
|
var comms = new Comms();
|
||||||
var port = browser.runtime.connect({name: 'popup-port'});
|
var port = browser.runtime.connect({name: 'popup-port'});
|
||||||
@ -120,6 +120,7 @@ function loadConfig(extensionConf, site){
|
|||||||
} else {
|
} else {
|
||||||
ExtPanel.siteOptions.default.classList.add("selected");
|
ExtPanel.siteOptions.default.classList.add("selected");
|
||||||
}
|
}
|
||||||
|
|
||||||
//#endregion extension-basics
|
//#endregion extension-basics
|
||||||
//
|
//
|
||||||
// ------------
|
// ------------
|
||||||
@ -155,6 +156,8 @@ function loadConfig(extensionConf, site){
|
|||||||
}
|
}
|
||||||
|
|
||||||
//#region - SET STRETCH
|
//#region - SET STRETCH
|
||||||
|
|
||||||
|
// set stretching
|
||||||
for (var button in StretchPanel.global) {
|
for (var button in StretchPanel.global) {
|
||||||
StretchPanel.global[button].classList.remove("selected");
|
StretchPanel.global[button].classList.remove("selected");
|
||||||
}
|
}
|
||||||
@ -178,7 +181,10 @@ function loadConfig(extensionConf, site){
|
|||||||
|
|
||||||
try{
|
try{
|
||||||
if(shortcut.action == "crop"){
|
if(shortcut.action == "crop"){
|
||||||
if(shortcut.arg == 2.0){
|
if (key == 'q') {
|
||||||
|
_changeAr_button_shortcuts["custom"] = keypress;
|
||||||
|
}
|
||||||
|
else if(shortcut.arg == 2.0){
|
||||||
_changeAr_button_shortcuts["189"] = keypress;
|
_changeAr_button_shortcuts["189"] = keypress;
|
||||||
}
|
}
|
||||||
else if(shortcut.arg == 2.39){
|
else if(shortcut.arg == 2.39){
|
||||||
@ -204,6 +210,11 @@ function loadConfig(extensionConf, site){
|
|||||||
catch(Ex){
|
catch(Ex){
|
||||||
//do nothing if key doesn't exist
|
//do nothing if key doesn't exist
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// fill in custom aspect ratio
|
||||||
|
if (extensionConf.keyboard.shortcuts.q) {
|
||||||
|
document.getElementById("_input_custom_ar").value = extensionConf.keyboard.shortcuts.q.arg;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
for(var key in _changeAr_button_shortcuts){
|
for(var key in _changeAr_button_shortcuts){
|
||||||
try{
|
try{
|
||||||
@ -304,6 +315,47 @@ function showArctlButtons(){
|
|||||||
// }
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function getCustomAspectRatio() {
|
||||||
|
var textBox_value = document.getElementById("_input_custom_ar").value.trim();
|
||||||
|
// validate value - this spaghett will match the following stuff
|
||||||
|
// [int]/[int]
|
||||||
|
// 1:[float]
|
||||||
|
// [float]
|
||||||
|
if (! /(^[0-9]+\/[0-9]+$|^(1:)?[0-9]+\.?[0-9]*$)/.test(textBox_value)) {
|
||||||
|
return false; // validation failed!
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! isNaN(parseFloat(textBox_value))) {
|
||||||
|
return parseFloat(textBox_value);
|
||||||
|
}
|
||||||
|
if (/\//.test(textBox_value)) {
|
||||||
|
const vars = textBox_value.split('/');
|
||||||
|
return parseInt(vars[0])/parseInt(vars[1]); // non-ints shouldn't make it past regex
|
||||||
|
}
|
||||||
|
if (/:/.test(textBox_value)) {
|
||||||
|
const vars = textBox_value.split(':');
|
||||||
|
return parseFloat(vars[1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
// we should never come this far.
|
||||||
|
// If we do, then there's something wrong with the input and our regex
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
function validateCustomAr(){
|
||||||
|
console.log("validating!")
|
||||||
|
const valid = getCustomAspectRatio() !== false;
|
||||||
|
const inputField = document.getElementById("_input_custom_ar");
|
||||||
|
const valueSaveButton = document.getElementById("_b_changeAr_save_custom_ar");
|
||||||
|
|
||||||
|
if (valid) {
|
||||||
|
inputField.classList.remove("invalid-input");
|
||||||
|
valueSaveButton.classList.remove("disabled-button");
|
||||||
|
} else {
|
||||||
|
inputField.classList.add("invalid-input");
|
||||||
|
valueSaveButton.classList.add("disabled-button");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
function toggleSite(option){
|
function toggleSite(option){
|
||||||
if(Debug.debug)
|
if(Debug.debug)
|
||||||
@ -326,6 +378,7 @@ document.addEventListener("click", (e) => {
|
|||||||
|
|
||||||
function getcmd(e){
|
function getcmd(e){
|
||||||
|
|
||||||
|
|
||||||
var command = {};
|
var command = {};
|
||||||
command.sender = "popup";
|
command.sender = "popup";
|
||||||
command.receiver = "uwbg";
|
command.receiver = "uwbg";
|
||||||
@ -424,6 +477,18 @@ document.addEventListener("click", (e) => {
|
|||||||
command.ratio = 1.6;
|
command.ratio = 1.6;
|
||||||
return command;
|
return command;
|
||||||
}
|
}
|
||||||
|
if(e.target.classList.contains("_ar_custom")){
|
||||||
|
ratio = getCustomAspectRatio();
|
||||||
|
command.cmd = "set-ar";
|
||||||
|
command.ratio = ratio;
|
||||||
|
return ratio !== false ? command : null;
|
||||||
|
}
|
||||||
|
if(e.target.classList.contains("_ar_save_custom_ar")){
|
||||||
|
ratio = getCustomAspectRatio();
|
||||||
|
command.cmd = "set-custom-ar";
|
||||||
|
command.ratio = ratio;
|
||||||
|
return ratio !== false ? command : null; // this validates input
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if(e.target.classList.contains("_stretch")){
|
if(e.target.classList.contains("_stretch")){
|
||||||
if (e.target.classList.contains("_ar_stretch_global")) {
|
if (e.target.classList.contains("_ar_stretch_global")) {
|
||||||
@ -487,7 +552,7 @@ document.addEventListener("click", (e) => {
|
|||||||
var value = parseInt(document.getElementById("_input_autoAr_frequency").value.trim());
|
var value = parseInt(document.getElementById("_input_autoAr_frequency").value.trim());
|
||||||
|
|
||||||
if(! isNaN(value)){
|
if(! isNaN(value)){
|
||||||
var timeout = parseInt(1000 / value);
|
var timeout = parseInt(value);
|
||||||
command = {cmd: "autoar-set-timer-playing", timeout: timeout, sender: "popup", receiver: "uwbg"};
|
command = {cmd: "autoar-set-timer-playing", timeout: timeout, sender: "popup", receiver: "uwbg"};
|
||||||
Comms.sendToBackgroundScript(command);
|
Comms.sendToBackgroundScript(command);
|
||||||
}
|
}
|
||||||
@ -541,9 +606,14 @@ document.addEventListener("click", (e) => {
|
|||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const inputField = document.getElementById("_input_custom_ar");
|
||||||
|
inputField.addEventListener("blur", (event) => {
|
||||||
|
validateCustomAr();
|
||||||
|
});
|
||||||
|
inputField.addEventListener("mouseleave", (event) => {
|
||||||
|
validateCustomAr();
|
||||||
|
});
|
||||||
|
|
||||||
hideWarning("script-not-running-warning");
|
hideWarning("script-not-running-warning");
|
||||||
openMenu(selectedMenu);
|
openMenu(selectedMenu);
|
||||||
// check4videos();
|
|
||||||
getConf();
|
getConf();
|
||||||
|
|
||||||
// check4siteStatus();
|
|
||||||
|
@ -27,6 +27,13 @@
|
|||||||
color: #c0924e;
|
color: #c0924e;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
border: 1px solid #322;
|
||||||
|
padding: 0.5em;
|
||||||
|
padding-top: 0.5em;
|
||||||
|
padding-bottom: 0.5em;
|
||||||
|
}
|
||||||
|
|
||||||
.hidden {
|
.hidden {
|
||||||
display: none !important;
|
display: none !important;
|
||||||
}
|
}
|
||||||
@ -60,6 +67,18 @@
|
|||||||
.disabled {
|
.disabled {
|
||||||
color: #666;
|
color: #666;
|
||||||
}
|
}
|
||||||
|
.disabled-button {
|
||||||
|
color: #666 !important;
|
||||||
|
cursor: not-allowed !important;
|
||||||
|
}
|
||||||
|
.disabled-button:hover {
|
||||||
|
color: #777 !important;
|
||||||
|
background-color: #222 !important;
|
||||||
|
}
|
||||||
|
.invalid-input {
|
||||||
|
border: 1px solid #720 !important;
|
||||||
|
background-color: #410 !important;
|
||||||
|
}
|
||||||
.header {
|
.header {
|
||||||
background-color: #7f1416;
|
background-color: #7f1416;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
@ -183,7 +202,7 @@
|
|||||||
Crop settings
|
Crop settings
|
||||||
</div>
|
</div>
|
||||||
<div id="_menu_stretch" class="menu-item _menu_stretch">
|
<div id="_menu_stretch" class="menu-item _menu_stretch">
|
||||||
Stretc settings
|
Stretch settings
|
||||||
</div>
|
</div>
|
||||||
<div id="_menu_csshacks" class="menu-item disabled hidden _menu_hacks">
|
<div id="_menu_csshacks" class="menu-item disabled hidden _menu_hacks">
|
||||||
CSS hacks for this site
|
CSS hacks for this site
|
||||||
@ -263,22 +282,25 @@
|
|||||||
<div class="row">
|
<div class="row">
|
||||||
<span class="label">Cropping mode</span>
|
<span class="label">Cropping mode</span>
|
||||||
<div class="button-row">
|
<div class="button-row">
|
||||||
<a class="button _changeAr _ar_auto w24">Auto-detect<br/><span id="_b_changeAr_auto-ar_key" class="smallcaps small darker"></span></a>
|
<a class="button _changeAr _ar_auto w24">Auto-detect<br/><span id="_b_changeAr_auto-ar_key" class="smallcaps small darker"></span> </a>
|
||||||
<a class="button _changeAr _ar_reset w24">Reset<br/><span id="_b_changeAr_reset_key" class="smallcaps small darker"></span></a>
|
<a class="button _changeAr _ar_reset w24">Reset<br/><span id="_b_changeAr_reset_key" class="smallcaps small darker"> </span></a>
|
||||||
<a class="button _changeAr _ar_219 w24">21:9<br/><span id="_b_changeAr_219_key" class="smallcaps small darker"></span></a>
|
<a class="button _changeAr _ar_219 w24">21:9<br/><span id="_b_changeAr_219_key" class="smallcaps small darker"> </span></a>
|
||||||
<a class="button _changeAr _ar_189 w24">2:1 (18:9)<br/><span id="_b_changeAr_189_key" class="smallcaps small darker"></span></a>
|
<a class="button _changeAr _ar_189 w24">2:1 (18:9)<br/><span id="_b_changeAr_189_key" class="smallcaps small darker"> </span></a>
|
||||||
<a class="button _changeAr _ar_169 w24">16:9<br/><span id="_b_changeAr_169_key" class="smallcaps small darker"></span></a>
|
<a class="button _changeAr _ar_169 w24">16:9<br/><span id="_b_changeAr_169_key" class="smallcaps small darker"> </span></a>
|
||||||
|
<a class="button _changeAr _ar_custom w24">Custom<br/><span id="_b_changeAr_custom_key" class="smallcaps small darker"> </span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<!--<div class="row">
|
<div class="row">
|
||||||
<span class="label">Automatic aspect ratio autodetection:</span>
|
<span class="label">Custom aspect ratio</span>
|
||||||
<div class="button-row">
|
<div>
|
||||||
<a id="_autoar_disable_tmp" class="button _autoar _autoar_temp-disable">Temporarily disable</a>
|
<input id="_input_custom_ar" class="_changeAr _custom" onblur="validateCustomAr()"> <span id="_b_changeAr_save_custom_ar" class="button _ar_save_custom_ar _changeAr">Save</span>
|
||||||
<a id="_autoar_enable_tmp" class="button _autoar _ar_auto hidden">Re-enable</a>
|
<br/><small>Aspect ratio can be entered in any of these forms (without quotes):
|
||||||
<a id="_autoar_disable" class="button _autoar _autoar_disable">Disable</a>
|
<ul style="display: block; padding-top: 0px; margin-top: 0px">
|
||||||
<a id="_autoar_enable" class="button _autoar _autoar_enable hidden">Enable</a>
|
<li>fraction (<i>width/height</i>, e.g. <i>16/10</i>, <i>2560/1080</i>, etc.)</li>
|
||||||
|
<li>ratio (e.g. <i>1:2.35</i> or simply <i>2.35</i> — <i>1:</i> bit can be left out)</li>
|
||||||
|
</ul></small>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>-->
|
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<span class="label">Video alignment:</span>
|
<span class="label">Video alignment:</span>
|
||||||
<div class="button-row">
|
<div class="button-row">
|
||||||
@ -291,23 +313,23 @@
|
|||||||
|
|
||||||
<div id="stretch-settings" class="suboption hidden">
|
<div id="stretch-settings" class="suboption hidden">
|
||||||
<p class="warning">
|
<p class="warning">
|
||||||
Stretching video is currently experimental and has <strike>been tested even less rigorously than the rest of this addon</strike> not been tested thoroughly. If you notice any bugs, please consider reporting via github or email.
|
Stretching video is currently experimental and has <strike>been tested even less rigorously than the rest of this addon</strike> not been tested thoroughly. If you notice any bugs, please consider reporting them.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<span class="label">Default stretching mode<br><small>Stretching is independent of crop mode. Crop gets applied before stretching.</small></span>
|
<span class="label">Default stretching mode<br><small>You may need to reload for this option to take effect. NOTE: Stretching is independent of crop mode. Crop gets applied before stretching.</small></span>
|
||||||
<div class="button-row">
|
<div class="button-row">
|
||||||
<a id="_stretch_global_none" class="button _stretch _ar_stretch_global _none w24">Never<br/><span id="_b_changeAr_reset_key" class="smallcaps small darker"></span></a>
|
<a id="_stretch_global_none" class="button _stretch _ar_stretch_global _none w24">Never<br/><span id="_b_stretch_default_none_key" class="smallcaps small darker"></span></a>
|
||||||
<a id="_stretch_global_basic" class="button _stretch _ar_stretch_global _basic w24">Basic<br/><span id="_b_changeAr_reset_key" class="smallcaps small darker"></span></a>
|
<a id="_stretch_global_basic" class="button _stretch _ar_stretch_global _basic w24">Basic<br/><span id="_b_stretch_default_basic_key" class="smallcaps small darker"></span></a>
|
||||||
<a id="_stretch_global_hybrid" class="button _stretch _ar_stretch_global _hybrid w24">Hybrid<br/><span id="_b_changeAr_sw_key" class="smallcaps small darker"></span></a>
|
<a id="_stretch_global_hybrid" class="button _stretch _ar_stretch_global _hybrid w24">Hybrid<br/><span id="_b_stretch_default_hybrid_key" class="smallcaps small darker"></span></a>
|
||||||
<a id="_stretch_global_conditional" class="button _stretch _ar_stretch_global _conditional w24">Thin borders<br/><span id="_b_changeAr_sh_key" class="smallcaps small darker"></span></a>
|
<a id="_stretch_global_conditional" class="button _stretch _ar_stretch_global _conditional w24">Thin borders<br/><span id="_b_stretch_default_conditional_key" class="smallcaps small darker"></span></a>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<span class="label">Stretching mode for this video<br><small>Temporarily overrides default stretching mode.</small></span>
|
<span class="label">Temporary stretching mode<br><small>Temporarily overrides default stretching mode.</small></span>
|
||||||
<div class="button-row">
|
<div class="button-row">
|
||||||
<a class="button _stretch _ar_stretch_none w24">Never<br/><span id="_b_changeAr_reset_key" class="smallcaps small darker"></span></a>
|
<a class="button _stretch _ar_stretch_none w24">Never<br/><span id="_b_stretch_none_key" class="smallcaps small darker"></span></a>
|
||||||
<a class="button _stretch _ar_stretch_basic w24">Basic<br/><span id="_b_changeAr_reset_key" class="smallcaps small darker"></span></a>
|
<a class="button _stretch _ar_stretch_basic w24">Basic<br/><span id="_b_stretch_basic_key" class="smallcaps small darker"></span></a>
|
||||||
<a class="button _stretch _ar_stretch_hybrid w24">Hybrid<br/><span id="_b_changeAr_sw_key" class="smallcaps small darker"></span></a>
|
<a class="button _stretch _ar_stretch_hybrid w24">Hybrid<br/><span id="_b_stretch_hybrid_key" class="smallcaps small darker"></span></a>
|
||||||
<a class="button _stretch _ar_stretch_conditional w24">Thin borders<br/><span id="_b_changeAr_sh_key" class="smallcaps small darker"></span></a>
|
<a class="button _stretch _ar_stretch_conditional w24">Thin borders<br/><span id="_b_stretch_conditional_key" class="smallcaps small darker"></span></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user