]> git.donarmstrong.com Git - x_full.git/blob - .mozilla/firefox/default/extensions/{eecba28f-b68b-4b3a-b501-6ce12e6b8696}/install.js
update keyconfig and remove download helper
[x_full.git] / .mozilla / firefox / default / extensions / {eecba28f-b68b-4b3a-b501-6ce12e6b8696} / install.js
1 // This code is heavily inspired by Chris Pederick (useragentswitcher) install.js\r
2 // Contributors: Philip Chee, deathburger\r
3 //\r
4 // Philip Chee: Added installation of prefs, components, and locales.\r
5 // deathburger: Refactored to move all changable items to the top of the file.\r
6 \r
7 // Editable Items Begin\r
8 var displayName         = "ViewSourceWith";\r
9 var version             = "0.0.9";\r
10 var name                = "viewsourcewith";\r
11 \r
12 // The following three sets of variables tell this installer script how your\r
13 // extension directory structure looks.\r
14 // If your jar file contains content/packagename use the second packageDir\r
15 // variable. Same rule applies for skinDir and localeDir. I set them up\r
16 // independent of each other just in case an extension layout is wacky.\r
17 //var packageDir           = "/"\r
18 var packageDir          = "/" + name + "/"\r
19 //var skinDir           = "/"\r
20 var skinDir             = "/" + name + "/"\r
21 //var localeDir           = "/"\r
22 var localeDir           = "/" + name + "/"\r
23 \r
24 var locales             = new Array("en-US", "it-IT", "fr-FR", "es-ES", \r
25                                     "pl-PL", "ja-JP", "zh-TW", "pt-BR",\r
26                                     "de-DE", "ru-RU", "nl-NL", "es-AR",\r
27                                     "cs-CZ", "zh-CN", "tr-TR", "sk-SK",\r
28                                     "az-AZ", "da-DK", "fa-IR", "hr-HR",\r
29                                     "af-ZA", "th-TH");\r
30 var skins               = new Array( "classic", "modern");\r
31 var prefs               = new Array( "vsw.js" );\r
32 var components          = new Array(  );\r
33 var searchPlugins       = new Array(  );\r
34 \r
35 // Mozilla Suite/Seamonkey stores all pref files in a single directory\r
36 // under the application directory.  If the name of the preference file(s)\r
37 // is/are not unique enough, you may override other extension preferences.\r
38 // set this to true if you need to prevent this.\r
39 var disambiguatePrefs   = true;\r
40 \r
41 // Editable Items End\r
42 \r
43 var jarName             = name + ".jar";\r
44 var jarFolder           = "content" + packageDir\r
45 var error               = null;\r
46 \r
47 var folder              = getFolder("Profile", "chrome");\r
48 var prefFolder          = getFolder(getFolder("Program", "defaults"), "pref");\r
49 var compFolder          = getFolder("Components");\r
50 var searchFolder        = getFolder("Plugins");\r
51 \r
52 var existsInApplication = File.exists(getFolder(getFolder("chrome"), jarName));\r
53 var existsInProfile     = File.exists(getFolder(folder, jarName));\r
54 \r
55 var contentFlag         = CONTENT | PROFILE_CHROME;\r
56 var localeFlag          = LOCALE | PROFILE_CHROME;\r
57 var skinFlag            = SKIN | PROFILE_CHROME;\r
58 \r
59 // If the extension exists in the application folder or it doesn't exist\r
60 // in the profile folder and the user doesn't want it installed to the\r
61 // profile folder\r
62 if(existsInApplication ||\r
63     (!existsInProfile &&\r
64       !confirm( "Do you want to install the " + displayName +\r
65                 " extension into your profile folder?\n" +\r
66                 "(Cancel will install into the application folder)")))\r
67 {\r
68     contentFlag = CONTENT | DELAYED_CHROME;\r
69     folder      = getFolder("chrome");\r
70     localeFlag  = LOCALE | DELAYED_CHROME;\r
71     skinFlag    = SKIN | DELAYED_CHROME;\r
72 }\r
73 \r
74 initInstall(displayName, name, version);\r
75 setPackageFolder(folder);\r
76 error = addFile(name, version, "chrome/" + jarName, folder, null);\r
77 \r
78 // If adding the JAR file succeeded\r
79 if(error == SUCCESS)\r
80 {\r
81     folder = getFolder(folder, jarName);\r
82 \r
83     registerChrome(contentFlag, folder, jarFolder);\r
84     for (var i = 0; i < locales.length; i++) {\r
85         registerChrome(localeFlag, folder, "locale/" + locales[i] + localeDir);\r
86     }\r
87 \r
88     for (var i = 0; i < skins.length; i++) {\r
89         registerChrome(skinFlag, folder, "skin/" + skins[i] + skinDir);\r
90     }\r
91 \r
92     for (var i = 0; i < prefs.length; i++) {\r
93         if (!disambiguatePrefs) {\r
94             addFile(name + " Defaults", version, "defaults/preferences/" + prefs[i],\r
95                 prefFolder, prefs[i], true);\r
96         } else {\r
97             addFile(name + " Defaults", version, "defaults/preferences/" + prefs[i],\r
98                 prefFolder, name + "-" + prefs[i], true);\r
99         }\r
100     }\r
101 \r
102     for (var i = 0; i < components.length; i++) {\r
103         addFile(name + " Components", version, "components/" + components[i],\r
104             compFolder, components[i], true);\r
105     }\r
106 \r
107     for (var i = 0; i < searchPlugins.length; i++) {\r
108         addFile(name + " searchPlugins", version, "searchplugins/" + searchPlugins[i],\r
109             searchFolder, searchPlugins[i], true);\r
110     }\r
111 \r
112     error = performInstall();\r
113 \r
114     // If the install failed\r
115     if(error != SUCCESS && error != REBOOT_NEEDED)\r
116     {\r
117         displayError(error);\r
118         cancelInstall(error);\r
119     }\r
120     else\r
121     {\r
122         alert("The installation of the " + displayName + " extension succeeded.");\r
123     }\r
124 }\r
125 else\r
126 {\r
127     displayError(error);\r
128         cancelInstall(error);\r
129 }\r
130 \r
131 // Displays the error message to the user\r
132 function displayError(error)\r
133 {\r
134     // If the error code was -215\r
135     if(error == READ_ONLY)\r
136     {\r
137         alert("The installation of " + displayName +\r
138             " failed.\nOne of the files being overwritten is read-only.");\r
139     }\r
140     // If the error code was -235\r
141     else if(error == INSUFFICIENT_DISK_SPACE)\r
142     {\r
143         alert("The installation of " + displayName +\r
144             " failed.\nThere is insufficient disk space.");\r
145     }\r
146     // If the error code was -239\r
147     else if(error == CHROME_REGISTRY_ERROR)\r
148     {\r
149         alert("The installation of " + displayName +\r
150             " failed.\nChrome registration failed.");\r
151     }\r
152     else\r
153     {\r
154         alert("The installation of " + displayName +\r
155             " failed.\nThe error code is: " + error);\r
156     }\r
157 }\r
158 \r