diff --git a/manifest.json b/manifest.json index ba039e4..e6914c5 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "name": "Yape", - "version": "0.0.5", + "version": "0.0.6", "description": "Extension for PyLoad to easily monitor and add downloads", "permissions": ["activeTab", "storage", "contextMenus", "scripting"], "host_permissions": ["http://*/", "https://*/"], diff --git a/options.js b/options.js index d3e54a3..cd31f3c 100644 --- a/options.js +++ b/options.js @@ -45,7 +45,7 @@ function getProtocol() { return useHTTPSInput.checked ? 'https' : 'http'; } -function updateLoggedInStatus() { +function updateLoggedInStatus(callback) { saveButton.disabled = true; loginStatusOKDiv.hidden = true; loginStatusKODiv.hidden = true; @@ -57,6 +57,7 @@ function updateLoggedInStatus() { loginStatusKODiv.hidden = loggedIn; loginButton.hidden = loggedIn; saveButton.disabled = false; + if (callback) callback(); }); } @@ -81,6 +82,17 @@ function requestPermission(callback) { }); } +function requireSaving() { + if (serverIpInput.value === serverIp && parseInt(serverPortInput.value) === parseInt(serverPort) && useHTTPSInput.checked === (serverProtocol === 'https')) { + updateLoggedInStatus(); + } else { + saveButton.disabled = false; + loginStatusOKDiv.hidden = true; + loginStatusKODiv.hidden = true; + loginButton.hidden = true; + } +} + saveButton.onclick = function(ev) { setOrigin(serverIpInput.value, serverPortInput.value, getProtocol(), function() { requestPermission(function(granted) { @@ -110,5 +122,9 @@ pullStoredData(function() { serverPortInput.value = serverPort; useHTTPSInput.checked = serverProtocol === 'https'; + serverIpInput.oninput = requireSaving; + serverPortInput.oninput = requireSaving; + useHTTPSInput.oninput = requireSaving; + updateLoggedInStatus(); });