// ==UserScript==
// @name           Open Add-on Folder
// @namespace      http://www.xuldev.org/
// @description    Adds 'Open Folder' menu to Add-on Manager.
// @include        chrome://mozapps/content/extensions/extensions.xul
// @compatibility  Firefox 3.0, 3.5, 3.6b4
// @author         Gomita
// @version        1.1.20091203
// @homepage       http://www.xuldev.org/misc/ucjs.php
// ==/UserScript==
// @version        1.1.20091203 hide 'Open Folder' menu when selecting plugin etc.

var OpenAddonFolder = {

	init: function() {
		document.getElementById("addonContextMenu").addEventListener("popupshowing", this, false);
	},

	launchDir: function() {
		var selectedItem = gExtensionsView.selectedItem;
		var addonID = selectedItem.getAttribute("addonID");
		var dir = gExtensionManager.getInstallLocation(addonID);
		dir = dir.getItemLocation(addonID);
		dir.QueryInterface(Components.interfaces.nsILocalFile);
		dir.launch();
	},

	handleEvent: function(event) {
		var selectedItem = gExtensionsView.selectedItem;
		var addonID = selectedItem.getAttribute("addonID");
		var dir = gExtensionManager.getInstallLocation(addonID);
		if (!addonID || !dir)
			return;
		var popup = event.target;
		var menuitem = document.createElement("menuitem");
		menuitem.setAttribute("label", "Open Folder");
		menuitem.setAttribute("oncommand", "OpenAddonFolder.launchDir();");
		popup.insertBefore(menuitem, document.getElementById("menuitem_homepage_clone"));
	}

};

OpenAddonFolder.init();
