fix: default prefs
see https://www.zotero.org/support/dev/zotero_7_for_developers#default_preferences
This commit is contained in:
		
							parent
							
								
									e6aa4f1b6b
								
							
						
					
					
						commit
						623c3830f5
					
				
							
								
								
									
										36
									
								
								addon/bootstrap.js
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										36
									
								
								addon/bootstrap.js
									
									
									
									
										vendored
									
									
								
							@ -64,6 +64,11 @@ function install(data, reason) {}
 | 
			
		||||
async function startup({ id, version, resourceURI, rootURI }, reason) {
 | 
			
		||||
  await waitForZotero();
 | 
			
		||||
 | 
			
		||||
  // String 'rootURI' introduced in Zotero 7
 | 
			
		||||
  if (!rootURI) {
 | 
			
		||||
    rootURI = resourceURI.spec;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (Zotero.platformMajorVersion >= 102) {
 | 
			
		||||
    var aomStartup = Components.classes[
 | 
			
		||||
      "@mozilla.org/addons/addon-manager-startup;1"
 | 
			
		||||
@ -74,11 +79,10 @@ async function startup({ id, version, resourceURI, rootURI }, reason) {
 | 
			
		||||
      ["locale", "__addonRef__", "en-US", rootURI + "chrome/locale/en-US/"],
 | 
			
		||||
      ["locale", "__addonRef__", "zh-CN", rootURI + "chrome/locale/zh-CN/"],
 | 
			
		||||
    ]);
 | 
			
		||||
  } else {
 | 
			
		||||
    if (reason == ADDON_INSTALL || reason == ADDON_ENABLE) {
 | 
			
		||||
      setDefaultPrefs(rootURI);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
  // String 'rootURI' introduced in Zotero 7
 | 
			
		||||
  if (!rootURI) {
 | 
			
		||||
    rootURI = resourceURI.spec;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  // Global variables for plugin code
 | 
			
		||||
@ -117,3 +121,27 @@ function shutdown({ id, version, resourceURI, rootURI }, reason) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function uninstall(data, reason) {}
 | 
			
		||||
 | 
			
		||||
// Loads default preferences from defaults/preferences/prefs.js in Zotero 6
 | 
			
		||||
function setDefaultPrefs(rootURI) {
 | 
			
		||||
  var branch = Services.prefs.getDefaultBranch("");
 | 
			
		||||
  var obj = {
 | 
			
		||||
    pref(pref, value) {
 | 
			
		||||
      switch (typeof value) {
 | 
			
		||||
        case "boolean":
 | 
			
		||||
          branch.setBoolPref(pref, value);
 | 
			
		||||
          break;
 | 
			
		||||
        case "string":
 | 
			
		||||
          branch.setStringPref(pref, value);
 | 
			
		||||
          break;
 | 
			
		||||
        case "number":
 | 
			
		||||
          branch.setIntPref(pref, value);
 | 
			
		||||
          break;
 | 
			
		||||
        default:
 | 
			
		||||
          Zotero.logError(`Invalid type '${typeof value}' for pref '${pref}'`);
 | 
			
		||||
      }
 | 
			
		||||
    },
 | 
			
		||||
  };
 | 
			
		||||
  Zotero.getMainWindow().console.log(rootURI + "prefs.js");
 | 
			
		||||
  Services.scriptloader.loadSubScript(rootURI + "prefs.js", obj);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user