www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | Submodules | README | LICENSE

commit ee943c0d2c9c577ab473def9b52b5063d5e8a086
parent 3ac311e85aaa8af7f126d74d422ec7159cc20654
Author: David Norton <david@nortoncrew.com>
Date:   Mon, 21 Aug 2006 21:10:40 +0000

Closes #169, add OpenURL interface hooks
 - Added menu, uses OCLC database. (someone should test from GMU or another institution)

Diffstat:
Mchrome/chromeFiles/content/scholar/preferences.js | 31+++++++++++++++++++++++++++++++
Mchrome/chromeFiles/content/scholar/preferences.xul | 12++++++++++--
2 files changed, 41 insertions(+), 2 deletions(-)

diff --git a/chrome/chromeFiles/content/scholar/preferences.js b/chrome/chromeFiles/content/scholar/preferences.js @@ -21,6 +21,8 @@ var autoUpdateBox; var positionMenu; var parseEndnoteBox; +var openURLMenu; +var openURLResolvers; var openURLServerField; var openURLVersionMenu; @@ -52,6 +54,16 @@ function init() openURLServerField.value = Scholar.Prefs.get('openURL.resolver'); openURLVersionMenu = document.getElementById('openURLVersionMenu'); openURLVersionMenu.value = Scholar.Prefs.get('openURL.version'); + + openURLMenu = document.getElementById('openURLMenu'); + + openURLResolvers = Scholar.OpenURL.discoverResolvers(); + for(var i in openURLResolvers) + { + openURLMenu.insertItemAt(i,openURLResolvers[i]['name']); + if(openURLResolvers[i]['url'] == Scholar.Prefs.get('openURL.resolver') && openURLResolvers[i]['version'] == Scholar.Prefs.get('openURL.version')) + openURLMenu.selectedIndex = i; + } } function accept() @@ -64,6 +76,25 @@ function accept() Scholar.Prefs.set('parseEndNoteMIMETypes', parseEndnoteBox.checked); Scholar.Ingester.MIMEHandler.init(); } + Scholar.Prefs.set('openURL.resolver', openURLServerField.value); Scholar.Prefs.set('openURL.version', openURLVersionMenu.value); +} + +function onOpenURLSelected() +{ + if(openURLMenu.value == "custom") + { + openURLServerField.focus(); + } + else + { + openURLServerField.value = openURLResolvers[openURLMenu.selectedIndex]['url']; + openURLVersionMenu.value = openURLResolvers[openURLMenu.selectedIndex]['version']; + } +} + +function onOpenURLCustomized() +{ + openURLMenu.value = "custom"; } \ No newline at end of file diff --git a/chrome/chromeFiles/content/scholar/preferences.xul b/chrome/chromeFiles/content/scholar/preferences.xul @@ -48,14 +48,22 @@ <groupbox> <caption label="&scholar.preferences.openurl.caption;"/> + + <menulist id="openURLMenu" oncommand="onOpenURLSelected();"> + <menupopup> + <menuseparator/> + <menuitem label="Custom..." value="custom" selected="true"/> + </menupopup> + </menulist> + <hbox align="center"> <label value="&scholar.preferences.openurl.server;"/> - <textbox id="openURLServerField" flex="1"/> + <textbox id="openURLServerField" flex="1" oninput="onOpenURLCustomized();"/> </hbox> <hbox align="center"> <label value="&scholar.preferences.openurl.version;"/> - <menulist id="openURLVersionMenu"> + <menulist id="openURLVersionMenu" oncommand="onOpenURLCustomized();"> <menupopup> <menuitem label="0.1" value="0.1"/> <menuitem label="1.0" value="1.0"/>