view Modules/MinimapIcon.lua @ 208:8cecfea6a254

Added CTRL-leftclick to initiate a queue. Making sure the minimap icon isn?t registered prior to registering it.
author Zerotorescue
date Sat, 05 Feb 2011 20:02:45 +0100
parents 585cfb690080
children 1959e2b3dfe1
line wrap: on
line source
local addon = select(2, ...);
local mod = addon:NewModule("MinimapIcon");

function mod:OnEnable()
	self:Make();
end

function mod:Make()
	local ldb = LibStub("LibDataBroker-1.1");
	
	local dataobject = ldb:GetDataObjectByName("Inventorium") or ldb:NewDataObject("Inventorium", {
		["type"] = "launcher",
		["label"] = "Inventorium",
		["icon"] = [[Interface\Icons\INV_Misc_Bag_15]],
		["OnClick"] = function(frame, button)
			if button == "RightButton" then
				-- Open up the config
				InventoriumCommandHandler("config");
			elseif button == "LeftButton" then
				if IsControlKeyDown() then
					-- Queue
					InventoriumCommandHandler("queue");
				else
					-- Open the summary
					InventoriumCommandHandler("summary");
				end
			elseif button == "MiddleButton" then
				-- Check stock and provide the alert if needed
				InventoriumCommandHandler("alert");
			end
		end,
		["OnTooltipShow"] = function(tooltip)
			tooltip:AddLine("Inventorium");
			tooltip:AddLine(" ");
			tooltip:AddLine("|cfffed000Left-click|r to open the summary window.", 0, 1, 0);
			tooltip:AddLine("|cfffed000Middle-click|r to generate a stock alert.", 0, 1, 0);
			tooltip:AddLine("|cfffed000Right-click|r to open the config window.", 0, 1, 0);
			tooltip:AddLine("|cfffed000Control left-click|r to try to queue tracked items.", 0, 1, 0);
		end,
	});
	
	local icon = LibStub("LibDBIcon-1.0");
	if icon and not icon:IsRegistered("Inventorium") then
		icon:Register("Inventorium", dataobject);
	end
end