diff --git a/chrome/content/zotero/overlay.js b/chrome/content/zotero/overlay.js index 2c934b7fb7..96de6951ac 100644 --- a/chrome/content/zotero/overlay.js +++ b/chrome/content/zotero/overlay.js @@ -178,7 +178,7 @@ var ZoteroOverlay = new function() * Hides/displays the Zotero interface */ this.toggleDisplay = function(makeVisible) - { + { if(!Zotero || !Zotero.initialized) { ZoteroPane.displayStartupError(); return; diff --git a/chrome/content/zotero/preferences/preferences.js b/chrome/content/zotero/preferences/preferences.js index 41c81ca85b..151bfeddad 100644 --- a/chrome/content/zotero/preferences/preferences.js +++ b/chrome/content/zotero/preferences/preferences.js @@ -198,6 +198,7 @@ function updateStorageSettings(enabled, protocol, skipWarnings) { protocol = oldProtocol; } + var storageSettings = document.getElementById('storage-settings'); var protocolMenu = document.getElementById('storage-protocol'); var settings = document.getElementById('storage-webdav-settings'); var sep = document.getElementById('storage-separator'); @@ -211,7 +212,12 @@ function updateStorageSettings(enabled, protocol, skipWarnings) { sep.hidden = true; } - protocolMenu.disabled = !enabled; + var menulists = storageSettings.getElementsByTagName('menulist'); + for each(var menulist in menulists) { + if (menulist.className == 'storage-personal') { + menulist.disabled = !enabled; + } + } if (!skipWarnings) { // WARN if going between @@ -270,6 +276,21 @@ function updateStorageSettings(enabled, protocol, skipWarnings) { } +function updateStorageSettingsGroups(enabled) { + var storageSettings = document.getElementById('storage-settings'); + var menulists = storageSettings.getElementsByTagName('menulist'); + for each(var menulist in menulists) { + if (menulist.className == 'storage-groups') { + menulist.disabled = !enabled; + } + } + + setTimeout(function () { + updateStorageTerms(); + }, 1) +} + + function updateStorageTerms() { var terms = document.getElementById('storage-terms'); @@ -297,7 +318,11 @@ function verifyStorageServer() { var usernameField = document.getElementById("storage-username"); var passwordField = document.getElementById("storage-password"); - var callback = function (uri, status, error) { + verifyButton.hidden = true; + abortButton.hidden = false; + progressMeter.hidden = false; + + var requestHolder = Zotero.Sync.Storage.checkServer('webdav', function (uri, status, callback) { verifyButton.hidden = false; abortButton.hidden = true; progressMeter.hidden = true; @@ -322,13 +347,9 @@ function verifyStorageServer() { break; } - Zotero.Sync.Storage.checkServerCallback(uri, status, window, false, error); - } + callback(uri, status, window); + }); - verifyButton.hidden = true; - abortButton.hidden = false; - progressMeter.hidden = false; - var requestHolder = Zotero.Sync.Storage.checkServer('webdav', callback); abortButton.onclick = function () { if (requestHolder.request) { requestHolder.request.onreadystatechange = undefined; diff --git a/chrome/content/zotero/preferences/preferences.xul b/chrome/content/zotero/preferences/preferences.xul index 3ea24852a3..93df0a3fa0 100644 --- a/chrome/content/zotero/preferences/preferences.xul +++ b/chrome/content/zotero/preferences/preferences.xul @@ -165,13 +165,15 @@ To add a new preference: + + - - + + @@ -197,6 +199,10 @@ To add a new preference: + + + + - + - + @@ -307,16 +307,35 @@ To add a new preference: + + + + preference="pref-group-storage-enabled" oncommand="updateStorageSettingsGroups(this.checked)"/> + + + -