Mercurial > wow > prospect-me
diff ProspectMe_Config.lua @ 0:69b46322ff1b v1.2.1-Alpha
Updated Prospect me for initial client v6.0.3 support. Warning, there may be bugs!
author | Vynn |
---|---|
date | Mon, 15 Dec 2014 22:51:49 -0500 |
parents | |
children | dabd5c6540ca |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/ProspectMe_Config.lua Mon Dec 15 22:51:49 2014 -0500 @@ -0,0 +1,242 @@ +PM_Config = {} + +local ProspectMeFrame = CreateFrame( "Frame", "PM_ConfigFrame", InterfaceOptionsFramePanelContainer) +local Title = PM_ConfigFrame:CreateFontString( "ProspectMeTitle", nil, "GameFontNormalLarge") +local ResultsToggle = CreateFrame( "CheckButton", "ProspectMeResultsToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" ) +local EpicToggle = CreateFrame( "CheckButton", "ProspectMeEpicToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" ) +local RareToggle = CreateFrame( "CheckButton", "ProspectMeRareToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" ) +local UncommonToggle = CreateFrame( "CheckButton", "ProspectMeUncommonToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" ) +local CommonToggle = CreateFrame( "CheckButton", "ProspectMeCommonToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" ) +local PoorToggle = CreateFrame( "CheckButton", "ProspectMePoorToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" ) +local SessionToggle = CreateFrame( "CheckButton", "ProspectMeSessionToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" ) +local PercentToggle = CreateFrame( "CheckButton", "ProspectMePercentToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" ) +local NumberToggle = CreateFrame( "CheckButton", "ProspectMeNumberToggle", ProspectMeFrame, "InterfaceOptionsCheckButtonTemplate" ) +local ResetResults = CreateFrame( "Button", "ProspectMeResetButton", ProspectMeFrame, "UIPanelButtonTemplate" ) +local ResetText = PM_ConfigFrame:CreateFontString( "ProspectMeResetText", nil, "GameFontNormal" ) + +local function SetDefaults() + PM_Config.results = true + PM_Config.qualities ={[0] = false,[1] = true, [2] = true, [3] = true, [4] = true} + PM_Config.session = false + PM_Config.percent = true + PM_Config.number = true + PM_Config.savedVariables = true +end + +local function SpewMessage(handle, msg) + if handle == "loaded" then + print(PM_LOADMSG) + elseif handle == "help" then + print(PM_HELPMSG) + SpewMessage(PM_CONFIG, PM_CONFIGTOOLTIP) + SpewMessage(PM_RESULTS, PM_RESULTSTOOLTIP) + SpewMessage(PM_EPIC, PM_EPICTOOLTIP) + SpewMessage(PM_RARE, PM_RARETOOLTIP) + SpewMessage(PM_UNCOMMON, PM_UNCOMMONTOOLTIP) + SpewMessage(PM_COMMON, PM_COMMONTOOLTIP) + SpewMessage(PM_POOR, PM_POORTOOLTIP) + SpewMessage(PM_SESSION, PM_SESSIONTOOLTIP) + SpewMessage(PM_PERCENT, PM_PERCENTTOOLTIP) + SpewMessage(PM_NUMBER, PM_NUMBERTOOLTIP) + SpewMessage(PM_RESET, PM_RESETTOOLTIP) + else + print("|cFFFFCC00" .. handle .. "|r - " .. msg) + end +end + +local function ClearEntry(id) + if PM_ResultsTable[id] then + wipe(PM_ResultsTable[id]) + end + if PM_SessionTable[id] then + wipe(PM_SessionTable[id]) + end +end + +local function ResetDatabase() + for i, v in pairs(PM_ResultsTable) do + ClearEntry(i) + end + wipe(PM_ResultsTable) + wipe(PM_SessionTable) +end + +local function UpdateConfig() + + PM_Config.results = ProspectMeResultsToggle:GetChecked() + PM_Config.qualities[0] = ProspectMePoorToggle:GetChecked() + PM_Config.qualities[1] = ProspectMeCommonToggle:GetChecked() + PM_Config.qualities[2] = ProspectMeUncommonToggle:GetChecked() + PM_Config.qualities[3] = ProspectMeRareToggle:GetChecked() + PM_Config.qualities[4] = ProspectMeEpicToggle:GetChecked() + PM_Config.session = ProspectMeSessionToggle:GetChecked() + PM_Config.percent = ProspectMePercentToggle:GetChecked() + PM_Config.number = ProspectMeNumberToggle:GetChecked() + + if (PM_Config.results) then + + ProspectMePoorToggle:Enable() + ProspectMeCommonToggle:Enable() + ProspectMeUncommonToggle:Enable() + ProspectMeRareToggle:Enable() + ProspectMeEpicToggle:Enable() + + PM_Config.qualities[0] = ProspectMePoorToggle:GetChecked() + PM_Config.qualities[1] = ProspectMeCommonToggle:GetChecked() + PM_Config.qualities[2] = ProspectMeUncommonToggle:GetChecked() + PM_Config.qualities[3] = ProspectMeRareToggle:GetChecked() + PM_Config.qualities[4] = ProspectMeEpicToggle:GetChecked() + + else + + ProspectMePoorToggle:Disable() + ProspectMeCommonToggle:Disable() + ProspectMeUncommonToggle:Disable() + ProspectMeRareToggle:Disable() + ProspectMeEpicToggle:Disable() + + end +end + +local function PM_ConfigInit() + StaticPopupDialogs["PM_ConfirmReset"] = { + text = PM_RESETWARNING, + button1 = YES, + button2 = NO, + OnAccept = function() + ResetDatabase() + end, + timeout = 30, + whileDead = true, + hideOnEscape = true, + preferredIndex = 3, + } + + ProspectMeFrame.name = "Prospect Me" + + ProspectMeTitle:SetPoint("TOP", 0, -16) + ProspectMeTitle:SetText(GetAddOnMetadata("ProspectMe", "Title") .. " v" .. GetAddOnMetadata("ProspectMe", "Version")) + + ProspectMeSessionToggle:SetPoint( "TOPLEFT", 32, -46 ) + ProspectMeSessionToggle:SetScript("OnClick", UpdateConfig) + ProspectMeSessionToggle:SetChecked(PM_Config.session) + ProspectMeSessionToggleText:SetText(PM_SESSIONTOGGLE) + ProspectMeSessionToggle.tooltipText = PM_SESSIONTOOLTIP + + ProspectMePercentToggle:SetPoint( "TOPLEFT", 32, -70 ) + ProspectMePercentToggle:SetScript("OnClick", UpdateConfig) + ProspectMePercentToggle:SetChecked(PM_Config.percent) + ProspectMePercentToggleText:SetText(PM_PERCENTTOGGLE) + ProspectMePercentToggle.tooltipText = PM_PERCENTTOOLTIP + + ProspectMeNumberToggle:SetPoint( "TOPLEFT", 32, -94 ) + ProspectMeNumberToggle:SetScript("OnClick", UpdateConfig) + ProspectMeNumberToggle:SetChecked(PM_Config.number) + ProspectMeNumberToggleText:SetText(PM_NUMBERTOGGLE) + ProspectMeNumberToggle.tooltipText = PM_NUMBERTOOLTIP + + ProspectMeResultsToggle:SetPoint( "TOPLEFT", 32, -118 ) + ProspectMeResultsToggle:SetScript("OnClick", UpdateConfig) + ProspectMeResultsToggle:SetChecked(PM_Config.results) + ProspectMeResultsToggleText:SetText(PM_RESULTSTOGGLE) + ProspectMeResultsToggle.tooltipText = PM_RESULTSTOOLTIP + + ProspectMeEpicToggle:SetPoint( "TOPLEFT", 60, -142 ) + ProspectMeEpicToggle:SetScript("OnClick", UpdateConfig) + ProspectMeEpicToggle:SetChecked(PM_Config.qualities[4]) + ProspectMeEpicToggleText:SetText(PM_EPICTOGGLE) + ProspectMeEpicToggle.tooltipText = PM_EPICTOOLTIP + + ProspectMeRareToggle:SetPoint( "TOPLEFT", 60, -166 ) + ProspectMeRareToggle:SetScript("OnClick", UpdateConfig) + ProspectMeRareToggle:SetChecked(PM_Config.qualities[3]) + ProspectMeRareToggleText:SetText(PM_RARETOGGLE) + ProspectMeRareToggle.tooltipText = PM_RARETOOLTIP + + ProspectMeUncommonToggle:SetPoint( "TOPLEFT", 60, -190 ) + ProspectMeUncommonToggle:SetScript("OnClick", UpdateConfig) + ProspectMeUncommonToggle:SetChecked(PM_Config.qualities[2]) + ProspectMeUncommonToggleText:SetText(PM_UNCOMMONTOGGLE) + ProspectMeUncommonToggle.tooltipText = PM_UNCOMMONTOOLTIP + + ProspectMeCommonToggle:SetPoint( "TOPLEFT", 60, -214 ) + ProspectMeCommonToggle:SetScript("OnClick", UpdateConfig) + ProspectMeCommonToggle:SetChecked(PM_Config.qualities[1]) + ProspectMeCommonToggleText:SetText(PM_COMMONTOGGLE) + ProspectMeCommonToggle.tooltipText = PM_COMMONTOOLTIP + + ProspectMePoorToggle:SetPoint( "TOPLEFT", 60, -238 ) + ProspectMePoorToggle:SetScript("OnClick", UpdateConfig) + ProspectMePoorToggle:SetChecked(PM_Config.qualities[0]) + ProspectMePoorToggleText:SetText(PM_POORTOGGLE) + ProspectMePoorToggle.tooltipText = PM_POORTOOLTIP + + if (PM_Config.results == false) then + ProspectMePoorToggle:Disable() + ProspectMeCommonToggle:Disable() + ProspectMeUncommonToggle:Disable() + ProspectMeRareToggle:Disable() + ProspectMeEpicToggle:Disable() + end + + ProspectMeResetButton:SetPoint("TOP", 0, -310 ) + ProspectMeResetButton:SetScript("OnClick", function(self) StaticPopup_Show("PM_ConfirmReset") end) + ProspectMeResetButton:SetSize(250, 25) + ProspectMeResetButton:SetText(PM_RESETBUTTON) + + ProspectMeResetText:SetPoint("TOP", 0, -286) + ProspectMeResetText:SetText(PM_RESETTOOLTIP) + + InterfaceOptions_AddCategory(ProspectMeFrame) + +end + +function ProspectMeEventHandler(event, arg1) + if (PM_Config.savedVariables) then + PM_ConfigInit() + else + SetDefaults() + PM_ConfigInit() + end + SpewMessage("loaded") +end + +function SlashCmdList.PROSPECTME(msg, editbox) + if msg == PM_CONFIG then + InterfaceOptionsFrame_OpenToCategory(ProspectMeFrame) + elseif msg == PM_RESULTS then + ProspectMeResultsToggle:SetChecked(not ProspectMeResultsToggle:GetChecked()) + UpdateConfig() + elseif msg == PM_EPIC then + ProspectMeEpicToggle:SetChecked(not ProspectMeEpicToggle:GetChecked()) + UpdateConfig() + elseif msg == PM_RARE then + ProspectMeRareToggle:SetChecked(not ProspectMeRareToggle:GetChecked()) + UpdateConfig() + elseif msg == PM_UNCOMMON then + ProspectMeUncommonToggle:SetChecked(not ProspectMeUncommonToggle:GetChecked()) + UpdateConfig() + elseif msg == PM_COMMON then + ProspectMeCommonToggle:SetChecked(not ProspectMeCommonToggle:GetChecked()) + UpdateConfig() + elseif msg == PM_POOR then + ProspectMePoorToggle:SetChecked(not ProspectMePoorToggle:GetChecked()) + UpdateConfig() + elseif msg == PM_SESSION then + ProspectMeSessionToggle:SetChecked(not ProspectMeSessionToggle:GetChecked()) + UpdateConfig() + elseif msg == PM_PERCENT then + ProspectMePercentToggle:SetChecked(not ProspectMePercentToggle:GetChecked()) + UpdateConfig() + elseif msg == PM_NUMBER then + ProspectMeNumberToggle:SetChecked(not ProspectMeNumberToggle:GetChecked()) + UpdateConfig() + elseif msg == PM_RESET then + StaticPopup_Show("PM_ConfirmReset") + else + SpewMessage("help") + end +end + +ProspectMeFrame:RegisterEvent("VARIABLES_LOADED") +ProspectMeFrame:SetScript("OnEvent", ProspectMeEventHandler) \ No newline at end of file