]> git.donarmstrong.com Git - x_full.git/blobdiff - .mozilla/firefox/default/extensions/{eecba28f-b68b-4b3a-b501-6ce12e6b8696}/install.js
add view with source
[x_full.git] / .mozilla / firefox / default / extensions / {eecba28f-b68b-4b3a-b501-6ce12e6b8696} / install.js
diff --git a/.mozilla/firefox/default/extensions/{eecba28f-b68b-4b3a-b501-6ce12e6b8696}/install.js b/.mozilla/firefox/default/extensions/{eecba28f-b68b-4b3a-b501-6ce12e6b8696}/install.js
new file mode 100644 (file)
index 0000000..4d08ead
--- /dev/null
@@ -0,0 +1,158 @@
+// This code is heavily inspired by Chris Pederick (useragentswitcher) install.js\r
+// Contributors: Philip Chee, deathburger\r
+//\r
+// Philip Chee: Added installation of prefs, components, and locales.\r
+// deathburger: Refactored to move all changable items to the top of the file.\r
+\r
+// Editable Items Begin\r
+var displayName         = "ViewSourceWith";\r
+var version             = "0.0.8.39";\r
+var name                = "viewsourcewith";\r
+\r
+// The following three sets of variables tell this installer script how your\r
+// extension directory structure looks.\r
+// If your jar file contains content/packagename use the second packageDir\r
+// variable. Same rule applies for skinDir and localeDir. I set them up\r
+// independent of each other just in case an extension layout is wacky.\r
+//var packageDir           = "/"\r
+var packageDir          = "/" + name + "/"\r
+//var skinDir           = "/"\r
+var skinDir             = "/" + name + "/"\r
+//var localeDir           = "/"\r
+var localeDir           = "/" + name + "/"\r
+\r
+var locales             = new Array("en-US", "it-IT", "fr-FR", "es-ES", \r
+                                    "pl-PL", "ja-JP", "zh-TW", "pt-BR",\r
+                                    "de-DE", "ru-RU", "nl-NL", "es-AR",\r
+                                    "cs-CZ", "zh-CN", "tr-TR", "sk-SK",\r
+                                    "az-AZ", "da-DK", "fa-IR", "hr-HR",\r
+                                    "af-ZA");\r
+var skins               = new Array( "classic", "modern");\r
+var prefs               = new Array( "t2c.js" );\r
+var components          = new Array(  );\r
+var searchPlugins       = new Array(  );\r
+\r
+// Mozilla Suite/Seamonkey stores all pref files in a single directory\r
+// under the application directory.  If the name of the preference file(s)\r
+// is/are not unique enough, you may override other extension preferences.\r
+// set this to true if you need to prevent this.\r
+var disambiguatePrefs   = true;\r
+\r
+// Editable Items End\r
+\r
+var jarName             = name + ".jar";\r
+var jarFolder           = "content" + packageDir\r
+var error               = null;\r
+\r
+var folder              = getFolder("Profile", "chrome");\r
+var prefFolder          = getFolder(getFolder("Program", "defaults"), "pref");\r
+var compFolder          = getFolder("Components");\r
+var searchFolder        = getFolder("Plugins");\r
+\r
+var existsInApplication = File.exists(getFolder(getFolder("chrome"), jarName));\r
+var existsInProfile     = File.exists(getFolder(folder, jarName));\r
+\r
+var contentFlag         = CONTENT | PROFILE_CHROME;\r
+var localeFlag          = LOCALE | PROFILE_CHROME;\r
+var skinFlag            = SKIN | PROFILE_CHROME;\r
+\r
+// If the extension exists in the application folder or it doesn't exist\r
+// in the profile folder and the user doesn't want it installed to the\r
+// profile folder\r
+if(existsInApplication ||\r
+    (!existsInProfile &&\r
+      !confirm( "Do you want to install the " + displayName +\r
+                " extension into your profile folder?\n" +\r
+                "(Cancel will install into the application folder)")))\r
+{\r
+    contentFlag = CONTENT | DELAYED_CHROME;\r
+    folder      = getFolder("chrome");\r
+    localeFlag  = LOCALE | DELAYED_CHROME;\r
+    skinFlag    = SKIN | DELAYED_CHROME;\r
+}\r
+\r
+initInstall(displayName, name, version);\r
+setPackageFolder(folder);\r
+error = addFile(name, version, "chrome/" + jarName, folder, null);\r
+\r
+// If adding the JAR file succeeded\r
+if(error == SUCCESS)\r
+{\r
+    folder = getFolder(folder, jarName);\r
+\r
+    registerChrome(contentFlag, folder, jarFolder);\r
+    for (var i = 0; i < locales.length; i++) {\r
+        registerChrome(localeFlag, folder, "locale/" + locales[i] + localeDir);\r
+    }\r
+\r
+    for (var i = 0; i < skins.length; i++) {\r
+        registerChrome(skinFlag, folder, "skin/" + skins[i] + skinDir);\r
+    }\r
+\r
+    for (var i = 0; i < prefs.length; i++) {\r
+        if (!disambiguatePrefs) {\r
+            addFile(name + " Defaults", version, "defaults/preferences/" + prefs[i],\r
+                prefFolder, prefs[i], true);\r
+        } else {\r
+            addFile(name + " Defaults", version, "defaults/preferences/" + prefs[i],\r
+                prefFolder, name + "-" + prefs[i], true);\r
+        }\r
+    }\r
+\r
+    for (var i = 0; i < components.length; i++) {\r
+        addFile(name + " Components", version, "components/" + components[i],\r
+            compFolder, components[i], true);\r
+    }\r
+\r
+    for (var i = 0; i < searchPlugins.length; i++) {\r
+        addFile(name + " searchPlugins", version, "searchplugins/" + searchPlugins[i],\r
+            searchFolder, searchPlugins[i], true);\r
+    }\r
+\r
+    error = performInstall();\r
+\r
+    // If the install failed\r
+    if(error != SUCCESS && error != REBOOT_NEEDED)\r
+    {\r
+        displayError(error);\r
+       cancelInstall(error);\r
+    }\r
+    else\r
+    {\r
+        alert("The installation of the " + displayName + " extension succeeded.");\r
+    }\r
+}\r
+else\r
+{\r
+    displayError(error);\r
+       cancelInstall(error);\r
+}\r
+\r
+// Displays the error message to the user\r
+function displayError(error)\r
+{\r
+    // If the error code was -215\r
+    if(error == READ_ONLY)\r
+    {\r
+        alert("The installation of " + displayName +\r
+            " failed.\nOne of the files being overwritten is read-only.");\r
+    }\r
+    // If the error code was -235\r
+    else if(error == INSUFFICIENT_DISK_SPACE)\r
+    {\r
+        alert("The installation of " + displayName +\r
+            " failed.\nThere is insufficient disk space.");\r
+    }\r
+    // If the error code was -239\r
+    else if(error == CHROME_REGISTRY_ERROR)\r
+    {\r
+        alert("The installation of " + displayName +\r
+            " failed.\nChrome registration failed.");\r
+    }\r
+    else\r
+    {\r
+        alert("The installation of " + displayName +\r
+            " failed.\nThe error code is: " + error);\r
+    }\r
+}\r
+\r