From ee943c0d2c9c577ab473def9b52b5063d5e8a086 Mon Sep 17 00:00:00 2001 From: David Norton Date: Mon, 21 Aug 2006 21:10:40 +0000 Subject: [PATCH] Closes #169, add OpenURL interface hooks - Added menu, uses OCLC database. (someone should test from GMU or another institution) --- .../content/scholar/preferences.js | 31 +++++++++++++++++++ .../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 index da32c87e7..76c3a6809 100644 --- 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 index 164e79e6c..d53ae5071 100644 --- a/chrome/chromeFiles/content/scholar/preferences.xul +++ b/chrome/chromeFiles/content/scholar/preferences.xul @@ -48,14 +48,22 @@ + + + + + + + +