Add help button to prefs pointing to documentation

This commit is contained in:
Dan Stillman 2012-01-05 19:32:20 -05:00
parent 204f9563c6
commit 0ae175127b
3 changed files with 55 additions and 10 deletions

View File

@ -30,9 +30,45 @@ var _io = {};
var Zotero_Preferences = {
onUnload: function () {
Zotero_Preferences.Debug_Output.onUnload();
},
openHelpLink: function () {
var url = "http://www.zotero.org/support/preferences/";
var helpTopic = document.getElementsByTagName("prefwindow")[0].currentPane.helpTopic;
url += helpTopic;
// Non-instantApply prefwindows are usually modal, so we can't open in the topmost window,
// since it's probably behind the window
var instantApply = Zotero.Prefs.get("browser.preferences.instantApply", true);
if (instantApply) {
window.opener.ZoteroPane_Local.loadURI(url, { shiftKey: true, metaKey: true });
}
else {
if (Zotero.isStandalone) {
var io = Components.classes['@mozilla.org/network/io-service;1']
.getService(Components.interfaces.nsIIOService);
var uri = io.newURI(url, null, null);
var handler = Components.classes['@mozilla.org/uriloader/external-protocol-service;1']
.getService(Components.interfaces.nsIExternalProtocolService)
.getProtocolHandlerInfo('http');
handler.preferredAction = Components.interfaces.nsIHandlerInfo.useSystemDefault;
handler.launchWithURI(uri, null);
}
else {
var ww = Components.classes["@mozilla.org/embedcomp/window-watcher;1"]
.getService(Components.interfaces.nsIWindowWatcher);
var win = ww.openWindow(
window,
url,
"helpWindow",
"chrome=no,menubar=yes,location=yes,toolbar=yes,personalbar=yes,resizable=yes,scrollbars=yes,status=yes",
null
);
}
}
}
}

View File

@ -42,11 +42,13 @@ To add a new preference:
-->
<prefwindow id="zotero-prefs" title="&zotero.preferences.title;" onload="init()" onunload="Zotero_Preferences.onUnload()"
windowtype="zotero:pref" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
windowtype="zotero:pref" ondialoghelp="Zotero_Preferences.openHelpLink()"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<prefpane id="zotero-prefpane-general"
label="&zotero.preferences.prefpane.general;"
image="chrome://zotero/skin/prefs-general.png">
image="chrome://zotero/skin/prefs-general.png"
helpTopic="general">
<preferences id="zotero-prefpane-general-preferences">
<preference id="pref-fontSize" name="extensions.zotero.fontSize" type="string"/>
<preference id="pref-noteFontSize" name="extensions.zotero.note.fontSize" type="string"/>
@ -156,7 +158,8 @@ To add a new preference:
<prefpane id="zotero-prefpane-sync"
label="&zotero.preferences.prefpane.sync;"
onpaneload="document.getElementById('sync-password').value = Zotero.Sync.Server.password; document.getElementById('storage-password').value = Zotero.Sync.Storage.password;"
image="chrome://zotero/skin/prefs-sync.png">
image="chrome://zotero/skin/prefs-sync.png"
helpTopic="sync">
<preferences>
<preference id="pref-sync-autosync" name="extensions.zotero.sync.autoSync" type="bool"/>
<preference id="pref-sync-username" name="extensions.zotero.sync.server.username" type="string" instantApply="true"/>
@ -403,7 +406,8 @@ To add a new preference:
<prefpane id="zotero-prefpane-search"
label="&zotero.preferences.prefpane.search;"
onpaneload="updateIndexStats()"
image="chrome://zotero/skin/prefs-search.png">
image="chrome://zotero/skin/prefs-search.png"
helpTopic="search">
<preferences>
<preference id="pref-fulltext-textMaxLength" name="extensions.zotero.fulltext.textMaxLength" type="int"/>
<preference id="pref-fulltext-pdfmaxpages" name="extensions.zotero.fulltext.pdfMaxPages" type="int"/>
@ -492,7 +496,8 @@ To add a new preference:
<prefpane id="zotero-prefpane-export"
label="&zotero.preferences.prefpane.export;"
image="chrome://zotero/skin/prefs-export.png">
image="chrome://zotero/skin/prefs-export.png"
helpTopic="export">
<preferences>
<preference id="pref-quickCopy-setting" name="extensions.zotero.export.quickCopy.setting" type="string"/>
<preference id="pref-quickCopy-dragLimit" name="extensions.zotero.export.quickCopy.dragLimit" type="int"/>
@ -557,7 +562,8 @@ To add a new preference:
<prefpane id="zotero-prefpane-cite"
label="&zotero.preferences.prefpane.cite;"
image="chrome://zotero/skin/prefs-styles.png">
image="chrome://zotero/skin/prefs-styles.png"
helpTopic="cite">
<preferences id="zotero-preferences-cite">
<preference id="pref-cite-citePaperJournalArticleURL" name="extensions.zotero.export.citePaperJournalArticleURL" type="bool"/>
@ -616,7 +622,8 @@ To add a new preference:
<prefpane id="zotero-prefpane-keys"
label="&zotero.preferences.prefpane.keys;"
image="chrome://zotero/skin/prefs-keys.png">
image="chrome://zotero/skin/prefs-keys.png"
helpTopic="shortcut_keys">
<preferences>
<preference id="pref-keys-openZotero" name="extensions.zotero.keys.openZotero" type="string"/>
<preference id="pref-keys-toggleFullscreen" name="extensions.zotero.keys.toggleFullscreen" type="string"/>
@ -711,7 +718,8 @@ To add a new preference:
<prefpane id="zotero-prefpane-advanced"
label="&zotero.preferences.prefpane.advanced;"
image="chrome://zotero/skin/prefs-advanced.png">
image="chrome://zotero/skin/prefs-advanced.png"
helpTopic="advanced">
<preferences>
<preference id="pref-useDataDir" name="extensions.zotero.useDataDir" type="bool"/>
<preference id="pref-dataDir" name="extensions.zotero.dataDir" type="string"/>

View File

@ -78,7 +78,8 @@ To add a new preference:
</prefpane>
<prefpane id="zotero-prefpane-proxies"
label="&zotero.preferences.prefpane.proxies;"
image="chrome://zotero/skin/prefs-proxies.png" position="6">
image="chrome://zotero/skin/prefs-proxies.png" position="6"
helpTopic="proxies">
<description width="45em" style="font-size: 12px">
&zotero.preferences.proxies.desc_before_link;
<label class="zotero-text-link" href="http://www.zotero.org/support/proxies"