From ae29c4c70aa12095a8159884f49a7a9c31ccb9d5 Mon Sep 17 00:00:00 2001 From: ManeraKai Date: Wed, 23 Feb 2022 19:48:04 +0300 Subject: Added translate tor support #32 --- src/pages/options/reddit/reddit.js | 1 - src/pages/options/translate/translate.html | 142 +++++++++++++++++++++-------- src/pages/options/translate/translate.js | 70 ++++++++++++-- 3 files changed, 163 insertions(+), 50 deletions(-) (limited to 'src/pages') diff --git a/src/pages/options/reddit/reddit.js b/src/pages/options/reddit/reddit.js index 57702dc8..549822a5 100644 --- a/src/pages/options/reddit/reddit.js +++ b/src/pages/options/reddit/reddit.js @@ -57,7 +57,6 @@ function changeProtocolSettings(protocol) { } } - redditHelper.init().then(() => { disableRedditElement.checked = !redditHelper.getDisableReddit(); diff --git a/src/pages/options/translate/translate.html b/src/pages/options/translate/translate.html index 4ef26221..92ac1dbc 100644 --- a/src/pages/options/translate/translate.html +++ b/src/pages/options/translate/translate.html @@ -120,12 +120,21 @@ +
+

Protocol

+ +
+

From

-

To

+ +
+ +
-
+
- - +

Default Instances

- -
+
+
+
+
+

Custom Instances

+
+
+
+ + +
+
+
+
-
-

Default Instances

-
-
-
-
-
-

Custom Instances

+
+
+

Default Instances

+
+
+
+
+
+

Custom Instances

+
+
+
+ + +
+
+
-
+
- - +

Default Instances

+
+
- -
+
+
+

Custom Instances

+
+
+
+ + +
+
+
+
diff --git a/src/pages/options/translate/translate.js b/src/pages/options/translate/translate.js index 266814b1..7626f34b 100644 --- a/src/pages/options/translate/translate.js +++ b/src/pages/options/translate/translate.js @@ -32,27 +32,56 @@ translateFrontendElement.addEventListener("change", } ); -let fromElement = document.getElementById("from"); -fromElement.addEventListener("change", +let protocolElement = document.getElementById("protocol") +protocolElement.addEventListener("change", (event) => { - let from = event.target.options[fromElement.selectedIndex].value; - translateHelper.setFrom(from); + let protocol = event.target.options[protocolElement.selectedIndex].value + translateHelper.setProtocol(protocol); + changeProtocolSettings(protocol); + } +); + +function changeProtocolSettings(protocol) { + let normalSimplyTranslateDiv = document.getElementById("simplyTranslate-normal"); + let torSimplyTranslateDiv = document.getElementById("simplyTranslate-tor"); + + let normalLingvaDiv = document.getElementById("lingva-normal"); + let torLingvaDiv = document.getElementById("lingva-tor"); + if (protocol == 'normal') { + normalSimplyTranslateDiv.style.display = 'block'; + normalLingvaDiv.style.display = 'block'; + torLingvaDiv.style.display = 'none'; + torSimplyTranslateDiv.style.display = 'none'; + } + else if (protocol == 'tor') { + normalSimplyTranslateDiv.style.display = 'none'; + normalLingvaDiv.style.display = 'none'; + torLingvaDiv.style.display = 'block'; + torSimplyTranslateDiv.style.display = 'block'; } +} + +let fromElement = document.getElementById("from"); +fromElement.addEventListener("change", + event => translateHelper.setFrom(event.target.options[fromElement.selectedIndex].value) ); let toElement = document.getElementById("to"); toElement.addEventListener("change", - (event) => { - let to = event.target.options[toElement.selectedIndex].value; - translateHelper.setTo(to); - } + event => translateHelper.setTo(event.target.options[toElement.selectedIndex].value) ); translateHelper.init().then(() => { disableElement.checked = !translateHelper.getDisable(); + let frontend = translateHelper.getFrontend(); translateFrontendElement.value = frontend; changeFrontendsSettings(frontend); + + let protocol = translateHelper.getProtocol(); + protocolElement.value = protocol; + changeProtocolSettings(protocol); + fromElement.value = translateHelper.getFrom(); toElement.value = translateHelper.getTo(); @@ -65,7 +94,19 @@ translateHelper.init().then(() => { translateHelper.setSimplyTranslateNormalRedirectsChecks, translateHelper.getSimplyTranslateNormalCustomRedirects, translateHelper.setSimplyTranslateNormalCustomRedirects - ) + ); + + commonHelper.processDefaultCustomInstances( + 'simplyTranslate', + 'tor', + translateHelper, + document, + translateHelper.getSimplyTranslateTorRedirectsChecks, + translateHelper.setSimplyTranslateTorRedirectsChecks, + translateHelper.getSimplyTranslateTorCustomRedirects, + translateHelper.setSimplyTranslateTorCustomRedirects + ); + commonHelper.processDefaultCustomInstances( 'lingva', @@ -76,5 +117,16 @@ translateHelper.init().then(() => { translateHelper.setLingvaNormalRedirectsChecks, translateHelper.getLingvaNormalCustomRedirects, translateHelper.setLingvaNormalCustomRedirects + ); + + commonHelper.processDefaultCustomInstances( + 'lingva', + 'tor', + translateHelper, + document, + translateHelper.getLingvaTorRedirectsChecks, + translateHelper.setLingvaTorRedirectsChecks, + translateHelper.getLingvaTorCustomRedirects, + translateHelper.setLingvaTorCustomRedirects ) }); \ No newline at end of file -- cgit 1.4.1