88 lines
3 KiB
Lua
88 lines
3 KiB
Lua
-------------------------------------------------------------------------------
|
|
-- AuctionLite 1.9.1
|
|
--
|
|
-- Lightweight addon to determine accurate market prices and to simplify
|
|
-- the process of posting auctions.
|
|
--
|
|
-- Send suggestions, comments, and bugs to merial.kilrogg@gmail.com.
|
|
-------------------------------------------------------------------------------
|
|
|
|
-- Create our addon.
|
|
AuctionLite = LibStub("AceAddon-3.0"):NewAddon("AuctionLite",
|
|
"AceConsole-3.0",
|
|
"AceEvent-3.0",
|
|
"AceHook-3.0");
|
|
|
|
local _
|
|
local L = LibStub("AceLocale-3.0"):GetLocale("AuctionLite", false)
|
|
|
|
local AUCTIONLITE_VERSION = "1.9.1";
|
|
|
|
-------------------------------------------------------------------------------
|
|
-- Hooks and boostrap code
|
|
-------------------------------------------------------------------------------
|
|
|
|
-- Hook some AH/GB functions and UI widgets when the AH/GB gets loaded.
|
|
function AuctionLite:ADDON_LOADED(_, name)
|
|
if name == "Blizzard_AuctionUI" then
|
|
self:RawHook("ChatEdit_InsertLink", "ChatEdit_InsertLink_Hook", true);
|
|
self:SecureHook("ContainerFrameItemButton_OnModifiedClick",
|
|
"ContainerFrameItemButton_OnModifiedClick_Hook");
|
|
self:SecureHook("AuctionFrameTab_OnClick",
|
|
"AuctionFrameTab_OnClick_Hook");
|
|
self:SecureHook("ClickAuctionSellItemButton",
|
|
"ClickAuctionSellItemButton_Hook");
|
|
self:SecureHook("QueryAuctionItems",
|
|
"QueryAuctionItems_Hook");
|
|
self:HookAuctionFrameUpdate();
|
|
self:AddAuctionFrameTabs();
|
|
self:InitializeAuctionDuration();
|
|
elseif name == "Blizzard_GuildBankUI" then
|
|
self:HookBankTooltips();
|
|
end
|
|
end
|
|
|
|
-- We're alive!
|
|
function AuctionLite:OnInitialize()
|
|
-- Load our database.
|
|
self:ConvertDB();
|
|
self:LoadDB();
|
|
|
|
-- Update any options that have changed.
|
|
self:ConvertOptions();
|
|
|
|
-- Set up our config options.
|
|
self:InitConfig();
|
|
|
|
-- Register for events.
|
|
self:RegisterEvent("ADDON_LOADED");
|
|
self:RegisterEvent("AUCTION_ITEM_LIST_UPDATE");
|
|
self:RegisterEvent("AUCTION_HOUSE_SHOW");
|
|
self:RegisterEvent("AUCTION_HOUSE_CLOSED");
|
|
|
|
-- Another addon may have forced the Blizzard addons to load early.
|
|
-- If so, just run the init code now.
|
|
if IsAddOnLoaded("Blizzard_AuctionUI") then
|
|
self:ADDON_LOADED("ADDON_LOADED", "Blizzard_AuctionUI");
|
|
end
|
|
if IsAddOnLoaded("Blizzard_GuildBankUI") then
|
|
self:ADDON_LOADED("ADDON_LOADED", "Blizzard_GuildBankUI");
|
|
end
|
|
|
|
-- Add any hooks that don't depend upon Blizzard addons.
|
|
self:HookCoroutines();
|
|
self:HookTooltips();
|
|
|
|
-- Add our chat message filter.
|
|
ChatFrame_AddMessageEventFilter("CHAT_MSG_SYSTEM", function(...)
|
|
return self:MessageEventFilter(...);
|
|
end);
|
|
|
|
-- Set up our disenchant info.
|
|
self:BuildDisenchantTable();
|
|
|
|
-- And print a message if we're debugging.
|
|
if self.db.profile.showGreeting then
|
|
self:Print(L["AuctionLite v%s loaded!"]:format(AUCTIONLITE_VERSION));
|
|
end
|
|
end
|