home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2005 August / PCpro_2005_08.ISO / files / firefox / ScrapBook.xpi / chrome / scrapbook.jar / content / setting.js < prev    next >
Encoding:
JavaScript  |  2005-06-04  |  5.6 KB  |  157 lines

  1. /**************************************************
  2. // setting.js
  3. // Implementation file for setting.xul
  4. // 
  5. // Description: 
  6. // Author: Gomita
  7. // Contributors: 
  8. // 
  9. // Version: 
  10. // License: see LICENSE.txt
  11. **************************************************/
  12.  
  13.  
  14.  
  15. var SBstring;
  16. var SBdataBack;
  17. var SBdataPathBack;
  18. var SBcheckList = {
  19.     'ScrapBookBrowserSubmenu'          : false,
  20.     'ScrapBookCaptureDetail'        : false,
  21.     'ScrapBookCaptureNotify'        : false,
  22.     'ScrapBookTreeSingleExpand'        : false,
  23.     'ScrapBookTreeQuickDelete'        : false,
  24.     'ScrapBookCaptureUTF8Encode'    : true,
  25.     'ScrapBookCaptureRemoveScript'    : true,
  26.     'ScrapBookEditShowHeader'        : true,
  27.     'ScrapBookEditMultilines'        : false,
  28.     'ScrapBookUseTabO'    : false,
  29.     'ScrapBookUseTabS'    : false,
  30.     'ScrapBookUseTabC'    : false,
  31.     'ScrapBookUseTabR'    : false,
  32.     'ScrapBookUseTabP'    : false,
  33.     'ScrapBookUseTabN'    : false,
  34. };
  35.  
  36.  
  37.  
  38. function SB_initSetting()
  39. {
  40.     SBstring = document.getElementById("ScrapBookString");
  41.     for ( var aCheck in SBcheckList )
  42.     {
  43.         var aCheckXUL = document.getElementById(aCheck);
  44.         aCheckXUL.checked = nsPreferences.getBoolPref(aCheckXUL.getAttribute("prefstring"), SBcheckList[aCheck]);
  45.     }
  46.     document.getElementById("ScrapBookProgramFilerCheckbox").checked = nsPreferences.getBoolPref("scrapbook.filer.default", true);
  47.     document.getElementById("ScrapBookProgramFilerTextbox").value = nsPreferences.copyUnicharPref("scrapbook.filer.path", "");
  48.     SB_toggleDefaultProgramFiler();
  49.     SBdataBack     = document.getElementById("ScrapBookDataCheckbox").checked = nsPreferences.getBoolPref("scrapbook.data.default", true);
  50.     SBdataPathBack = document.getElementById("ScrapBookDataTextbox").value = nsPreferences.copyUnicharPref("scrapbook.data.path", "");
  51.     SB_toggleDefaultDestination();
  52.     document.getElementById("ScrapBookEditConfirmSave").value = nsPreferences.getIntPref("scrapbook.edit.confirmsave", 3);
  53. }
  54.  
  55.  
  56. function SB_acceptSetting()
  57. {
  58.     for ( var aCheck in SBcheckList )
  59.     {
  60.         var aCheckXUL = document.getElementById(aCheck);
  61.         nsPreferences.setBoolPref(aCheckXUL.getAttribute("prefstring"), aCheckXUL.checked);
  62.     }
  63.     nsPreferences.setIntPref("scrapbook.edit.confirmsave", parseInt(document.getElementById("ScrapBookEditConfirmSave").value));
  64.     nsPreferences.setBoolPref("scrapbook.filer.default", document.getElementById("ScrapBookProgramFilerCheckbox").checked);
  65.     nsPreferences.setUnicharPref("scrapbook.filer.path", document.getElementById("ScrapBookProgramFilerTextbox").value);
  66.     nsPreferences.setBoolPref("scrapbook.data.default", document.getElementById("ScrapBookDataCheckbox").checked);
  67.     nsPreferences.setUnicharPref("scrapbook.data.path", document.getElementById("ScrapBookDataTextbox").value);
  68.     if ( SBdataBack     != document.getElementById("ScrapBookDataCheckbox").checked || 
  69.          SBdataPathBack != document.getElementById("ScrapBookDataTextbox").value )
  70.     {
  71.         document.getElementById("ScrapBookSettingTabpanels").selectedIndex = 4;
  72.         SB_resolveIconURL(false);
  73.     }
  74.     window.opener.location.reload();
  75. }
  76.  
  77.  
  78. function SB_toggleDefaultProgramFiler()
  79. {
  80.     document.getElementById("ScrapBookProgramFilerTextbox").disabled = document.getElementById("ScrapBookProgramFilerCheckbox").checked;
  81.     document.getElementById("ScrapBookProgramFilerButton").disabled  = document.getElementById("ScrapBookProgramFilerCheckbox").checked;
  82. }
  83.  
  84.  
  85. function SB_selectProgramFiler()
  86. {
  87.     var FP = Components.classes['@mozilla.org/filepicker;1'].createInstance(Components.interfaces.nsIFilePicker);
  88.     FP.init(window, SBstring.getString("SELECT_FILER"), FP.modeOpen);
  89.     FP.appendFilters(FP.filterApps);
  90.     var answer = FP.show();
  91.     if ( answer == FP.returnOK )
  92.     {
  93.         var theFile = FP.file;
  94.         document.getElementById("ScrapBookProgramFilerTextbox").value = theFile.path;
  95.     }
  96. }
  97.  
  98.  
  99. function SB_toggleDefaultDestination()
  100. {
  101.     document.getElementById("ScrapBookDataTextbox").disabled = document.getElementById("ScrapBookDataCheckbox").checked;
  102.     document.getElementById("ScrapBookDataButton").disabled  = document.getElementById("ScrapBookDataCheckbox").checked;
  103. }
  104.  
  105.  
  106. function SB_selectDestination()
  107. {
  108.     var FP = Components.classes['@mozilla.org/filepicker;1'].createInstance(Components.interfaces.nsIFilePicker);
  109.     FP.init(window, SBstring.getString("SELECT_DESTINATION"), FP.modeGetFolder);
  110.     var answer = FP.show();
  111.     if ( answer == FP.returnOK )
  112.     {
  113.         var theFile = FP.file;
  114.         document.getElementById("ScrapBookDataTextbox").value = theFile.path;
  115.     }
  116. }
  117.  
  118.  
  119. function SB_resolveIconURL(verbose)
  120. {
  121.     var tmp = document.getElementById("ScrapBookDataTextbox").value;
  122.  
  123.     SBRDF.init();
  124.  
  125.     var dataDir = SBcommon.getScrapBookDir().clone();
  126.     dataDir.append("data");
  127.     var dataDirURL = SBcommon.convertFilePathToURL(dataDir.path);
  128.  
  129.     if ( dataDirURL.charAt(dataDirURL.length - 1) != "/" ) dataDirURL = dataDirURL + "/";
  130.  
  131.     var shouldFlush = false;
  132.     var ResSet = SBRDF.data.GetAllResources();
  133.     while ( ResSet.hasMoreElements() )
  134.     {
  135.         var myRes = ResSet.getNext().QueryInterface(Components.interfaces.nsIRDFResource);
  136.         var myID   = SBRDF.getProperty("id", myRes);
  137.         var myIcon = SBRDF.getProperty("icon", myRes);
  138.         if ( verbose ) document.getElementById("ScrapBookDataTextbox").value = SBstring.getString("RESOLVE_ICON_URL") + myID;
  139.         if ( myIcon.match(/(\d{14}\/.*$)/) )
  140.         {
  141.             var newIcon = dataDirURL + RegExp.$1;
  142.             if ( myIcon != newIcon )
  143.             {
  144.                 dump("*** resolve icon URL: " + newIcon + "\n");
  145.                 SBRDF.updateItem(myRes, "icon", newIcon);
  146.                 document.getElementById("ScrapBookDataTextbox").value = SBstring.getString("RESOLVE_ICON_URL") + myRes.Value;
  147.                 shouldFlush = true;
  148.             }
  149.         }
  150.     }
  151.     if ( shouldFlush ) SBRDF.flush();
  152.  
  153.     document.getElementById("ScrapBookDataTextbox").value = tmp;
  154. }
  155.  
  156.  
  157.