From 8fe9c5e9e7753a2d74a163666ac2e3f4965d865f Mon Sep 17 00:00:00 2001 From: Simon Kornblith Date: Sun, 1 Aug 2010 20:10:18 +0000 Subject: [PATCH] closes #1684, checkbox to temporarily disable proxy code also adds a parameter to disable proxy redirection by domain (although if I had known how much work would be involved in implementing this before I started, I wouldn't have bothered) --- .../content/zotero/preferences/preferences.js | 21 ++- .../zotero/preferences/preferences.xul | 13 +- chrome/content/zotero/xpcom/proxy.js | 163 ++++++++++++++++-- chrome/locale/en-US/zotero/preferences.dtd | 4 +- defaults/preferences/zotero.js | 7 +- 5 files changed, 188 insertions(+), 20 deletions(-) diff --git a/chrome/content/zotero/preferences/preferences.js b/chrome/content/zotero/preferences/preferences.js index 86c474cd2..fb4cbfae4 100644 --- a/chrome/content/zotero/preferences/preferences.js +++ b/chrome/content/zotero/preferences/preferences.js @@ -1769,17 +1769,28 @@ function refreshProxyList() { document.getElementById('proxyTree').currentIndex = -1; document.getElementById('proxyTree-delete').disabled = true; document.getElementById('zotero-proxies-transparent').checked = Zotero.Prefs.get("proxies.transparent"); + document.getElementById('zotero-proxies-autoRecognize').checked = Zotero.Prefs.get("proxies.autoRecognize"); + document.getElementById('zotero-proxies-disableByDomain-checkbox').checked = Zotero.Prefs.get("proxies.disableByDomain"); + document.getElementById('zotero-proxies-disableByDomain-textbox').value = Zotero.Prefs.get("proxies.disableByDomainString"); } /** * Updates proxy autoRecognize and transparent settings based on checkboxes */ function updateProxyPrefs() { - Zotero.Prefs.set("proxies.transparent", document.getElementById('zotero-proxies-transparent').checked); + var transparent = document.getElementById('zotero-proxies-transparent').checked; + Zotero.Prefs.set("proxies.transparent", transparent); + Zotero.Prefs.set("proxies.autoRecognize", document.getElementById('zotero-proxies-autoRecognize').checked); + Zotero.Prefs.set("proxies.disableByDomainString", document.getElementById('zotero-proxies-disableByDomain-textbox').value); + Zotero.Prefs.set("proxies.disableByDomain", document.getElementById('zotero-proxies-disableByDomain-checkbox').checked && + document.getElementById('zotero-proxies-disableByDomain-textbox').value != ""); - var oldTransparent = Zotero.Prefs.get("proxies.transparent"); - var newTransparent = document.getElementById('zotero-proxies-transparent').checked; - Zotero.Prefs.set("proxies.transparent", newTransparent); + Zotero.Proxies.init(); - Zotero.Proxies.init() + document.getElementById('proxyTree-add').disabled = + document.getElementById('proxyTree-delete').disabled = + document.getElementById('proxyTree').disabled = + document.getElementById('zotero-proxies-autoRecognize').disabled = + document.getElementById('zotero-proxies-disableByDomain-checkbox').disabled = + document.getElementById('zotero-proxies-disableByDomain-textbox').disabled = !transparent; } diff --git a/chrome/content/zotero/preferences/preferences.xul b/chrome/content/zotero/preferences/preferences.xul index ad79a079a..91bba5438 100644 --- a/chrome/content/zotero/preferences/preferences.xul +++ b/chrome/content/zotero/preferences/preferences.xul @@ -613,8 +613,17 @@ To add a new preference: + + + + + + + - +