home *** CD-ROM | disk | FTP | other *** search
/ PC User 2004 November / PCU1104CD1.iso / software / security / files / spoofire.xpi / chrome / spoofstick.jar / content / options.js < prev    next >
Encoding:
Text File  |  2004-05-16  |  2.9 KB  |  82 lines

  1. /*
  2.  * SpoofStick - Options Window
  3.  *
  4.  * Copyright (C) 2004 CoreStreet, Ltd.
  5.  * http://www.corestreet.com/
  6.  *
  7.  * Author: Mark Ayzenshtat
  8.  */
  9.  
  10. const prefsClassString = "@mozilla.org/preferences-service;1";
  11. const branchName = "spoofstick.";
  12. const showYouAreOnPref = "showYouAreOn";
  13. const showOptionsButtonPref = "showOptionsButton";
  14. const showFullHostNamePref = "showFullHostName";
  15. const domainSizePref = "size";
  16. const displayColorPref = "color";
  17. const showYouAreOnControl = "youareon-cb";
  18. const showOptionsButtonControl = "optionsbutton-cb";
  19. const showFullHostNameControl = "fullhostname-cb";
  20. const domainSizeControl = "size-rg";
  21. const domainSizePrefix = "radio-size-";
  22. const displayColorControl = "display-color";
  23. const errorCouldNotLoad = "Could not load options: ";
  24. const errorCouldNotSave = "Could not save options: ";
  25.  
  26. const aboutWindowURI = "chrome://spoofstick/content/about.xul";
  27. const aboutWindowTitle = "About SpoofStick";
  28. const aboutWindowParams = "chrome,centerscreen";
  29.  
  30. // preferences-related objects
  31. var prefs = Components.classes[prefsClassString].
  32.     getService(Components.interfaces.nsIPrefService);        
  33. var prefsBranch = prefs.getBranch(branchName);
  34.  
  35. function loadOptions() {
  36.     try {
  37.         var cbYouAreOn = document.getElementById(showYouAreOnControl);
  38.         cbYouAreOn.checked = prefsBranch.getBoolPref(showYouAreOnPref);
  39.         
  40.         var cbOptionsButton = document.getElementById(showOptionsButtonControl);
  41.         cbOptionsButton.checked = prefsBranch.getBoolPref(showOptionsButtonPref);
  42.         
  43.         var rgDomainSize = document.getElementById(domainSizeControl);
  44.         rgDomainSize.selectedItem = document.getElementById(
  45.             domainSizePrefix + prefsBranch.getIntPref(domainSizePref));
  46.         
  47.         var displayColorPicker = document.getElementById(displayColorControl);
  48.         displayColorPicker.color = prefsBranch.getCharPref(displayColorPref);
  49.         
  50.         var cbFullHostName = document.getElementById(showFullHostNameControl);
  51.         cbFullHostName.checked = prefsBranch.getBoolPref(showFullHostNamePref);
  52.     } catch (e) {
  53.         alert(errorCouldNotLoad + e.name + ", " + e.message);
  54.     }
  55. }
  56.  
  57. function saveOptionsAndClose() {
  58.     try {
  59.         var cbYouAreOn = document.getElementById(showYouAreOnControl);
  60.         prefsBranch.setBoolPref(showYouAreOnPref, cbYouAreOn.checked);
  61.  
  62.         var cbOptionsButton = document.getElementById(showOptionsButtonControl);
  63.         prefsBranch.setBoolPref(showOptionsButtonPref, cbOptionsButton.checked);
  64.         
  65.         var rgDomainSize = document.getElementById(domainSizeControl);
  66.         prefsBranch.setIntPref(domainSizePref, rgDomainSize.value);
  67.         
  68.         var displayColorPicker = document.getElementById(displayColorControl);        
  69.         prefsBranch.setCharPref(displayColorPref, displayColorPicker.color);
  70.         
  71.         var cbFullHostName = document.getElementById(showFullHostNameControl);
  72.         prefsBranch.setBoolPref(showFullHostNamePref, cbFullHostName.checked);
  73.     } catch (e) {
  74.         alert(errorCouldNotSave + e.name + ", " + e.message);
  75.     }
  76.     
  77.     window.close();
  78. }
  79.  
  80. function openAboutWindow() {
  81.     window.open(aboutWindowURI, aboutWindowTitle, aboutWindowParams);
  82. }