commit fa33eb72b20a20974e1b422014f09f360b44a265
parent 7d98f04bd8806f6928dae5e980e3e683fb182efb
Author: Dan Stillman <dstillman@zotero.org>
Date: Mon, 18 Dec 2017 00:34:55 -0500
Fix some UI issues with storage settings
- Enable/disable download mode drop-down for groups separately from user
library
- Fixing hiding of terms of service message when Zotero storage isn't
selected
Diffstat:
3 files changed, 25 insertions(+), 29 deletions(-)
diff --git a/chrome/content/zotero/preferences/preferences_sync.js b/chrome/content/zotero/preferences/preferences_sync.js
@@ -31,6 +31,7 @@ Components.utils.import("resource://zotero/config.js");
Zotero_Preferences.Sync = {
init: Zotero.Promise.coroutine(function* () {
this.updateStorageSettingsUI();
+ this.updateStorageSettingsGroupsUI();
var username = Zotero.Users.getCurrentUsername() || Zotero.Prefs.get('sync.server.username') || " ";
var apiKey = yield Zotero.Sync.Data.Local.getAPIKey();
@@ -368,30 +369,19 @@ Zotero_Preferences.Sync = {
sep.hidden = true;
}
- var menulists = document.querySelectorAll('#storage-settings menulist.storage-mode');
- for (let menulist of menulists) {
- menulist.disabled = !enabled;
- }
-
+ document.getElementById('storage-user-download-mode').disabled = !enabled;
this.updateStorageTerms();
window.sizeToContent();
}),
- updateStorageSettingsGroups: function (enabled) {
- var storageSettings = document.getElementById('storage-settings');
- var menulists = storageSettings.getElementsByTagName('menulist');
- for (let menulist of menulists) {
- if (menulist.className == 'storage-groups') {
- menulist.disabled = !enabled;
- }
- }
-
- var self = this;
- setTimeout(function () {
- self.updateStorageTerms();
- }, 1)
+ updateStorageSettingsGroupsUI: function () {
+ setTimeout(() => {
+ var enabled = document.getElementById('pref-storage-groups-enabled').value;
+ document.getElementById('storage-groups-download-mode').disabled = !enabled;
+ this.updateStorageTerms();
+ });
},
@@ -400,7 +390,7 @@ Zotero_Preferences.Sync = {
var libraryEnabled = document.getElementById('pref-storage-enabled').value;
var storageProtocol = document.getElementById('pref-storage-protocol').value;
- var groupsEnabled = document.getElementById('pref-group-storage-enabled').value;
+ var groupsEnabled = document.getElementById('pref-storage-groups-enabled').value;
terms.hidden = !((libraryEnabled && storageProtocol == 'zotero') || groupsEnabled);
},
diff --git a/chrome/content/zotero/preferences/preferences_sync.xul b/chrome/content/zotero/preferences/preferences_sync.xul
@@ -40,7 +40,7 @@
<preference id="pref-storage-username" name="extensions.zotero.sync.storage.username" type="string"/>
<preference id="pref-storage-downloadMode-personal" name="extensions.zotero.sync.storage.downloadMode.personal" type="string"/>
<preference id="pref-storage-downloadMode-groups" name="extensions.zotero.sync.storage.downloadMode.groups" type="string"/>
- <preference id="pref-group-storage-enabled" name="extensions.zotero.sync.storage.groups.enabled" type="bool"/>
+ <preference id="pref-storage-groups-enabled" name="extensions.zotero.sync.storage.groups.enabled" type="bool"/>
</preferences>
<tabbox>
@@ -233,7 +233,10 @@
<hbox class="storage-settings-download-options" align="center">
<label value="&zotero.preferences.sync.fileSyncing.download;"/>
- <menulist class="storage-mode" preference="pref-storage-downloadMode-personal" style="margin-left: 0">
+ <menulist id="storage-user-download-mode"
+ class="storage-mode"
+ preference="pref-storage-downloadMode-personal"
+ style="margin-left: 0">
<menupopup>
<menuitem label="&zotero.preferences.sync.fileSyncing.download.onDemand;" value="on-demand"/>
<menuitem label="&zotero.preferences.sync.fileSyncing.download.atSyncTime;" value="on-sync"/>
@@ -245,12 +248,15 @@
<!-- Group Libraries -->
<checkbox label="&zotero.preferences.sync.fileSyncing.groups;"
- preference="pref-group-storage-enabled"
- oncommand="Zotero_Preferences.Sync.updateStorageSettingsGroups(this.checked)"/>
+ preference="pref-storage-groups-enabled"
+ oncommand="Zotero_Preferences.Sync.updateStorageSettingsGroupsUI()"/>
<hbox class="storage-settings-download-options" align="center">
<label value="&zotero.preferences.sync.fileSyncing.download;"/>
- <menulist class="storage-mode" preference="pref-storage-downloadMode-groups" style="margin-left: 0">
+ <menulist id="storage-groups-download-mode"
+ class="storage-mode"
+ preference="pref-storage-downloadMode-groups"
+ style="margin-left: 0">
<menupopup>
<menuitem label="&zotero.preferences.sync.fileSyncing.download.onDemand;" value="on-demand"/>
<menuitem label="&zotero.preferences.sync.fileSyncing.download.atSyncTime;" value="on-sync"/>
@@ -260,8 +266,8 @@
<separator class="thin"/>
- <vbox>
- <hbox id="storage-terms" style="margin-top: .4em; display: block" align="center">
+ <vbox id="storage-terms">
+ <hbox style="margin-top: .4em; display: block" align="center">
<label>&zotero.preferences.sync.fileSyncing.tos1;</label>
<label class="zotero-text-link" href="https://www.zotero.org/support/terms/terms_of_service" value="&zotero.preferences.sync.fileSyncing.tos2;"/>
<label>&zotero.preferences.period;</label>
diff --git a/chrome/skin/default/zotero/preferences.css b/chrome/skin/default/zotero/preferences.css
@@ -156,18 +156,18 @@ grid row hbox:first-child
min-width: 8em;
}
-#storage-terms > label
+#storage-terms label
{
margin-left: 0;
font-size: .9em;
}
-#storage-terms > label:first-child
+#storage-terms label:first-child
{
margin-right: .25em;
}
-#storage-terms > label[class=zotero-text-link]
+#storage-terms label[class=zotero-text-link]
{
margin-right: 0;
}