From 21b0f15903b14f7fca26080588458a3710ebf50d Mon Sep 17 00:00:00 2001 From: Alex Shubert Date: Thu, 22 Mar 2012 00:27:35 +0400 Subject: [PATCH] key toggle, first approach --- AutoTurnIn.lua | 9 ++------- AutoTurnIn.toc | 2 +- options.lua | 41 +++++++++++++++++++++++++++++++++++------ 3 files changed, 38 insertions(+), 14 deletions(-) diff --git a/AutoTurnIn.lua b/AutoTurnIn.lua index 74d5121..47b87c7 100644 --- a/AutoTurnIn.lua +++ b/AutoTurnIn.lua @@ -1,25 +1,20 @@ local addonName, ptable = ... local L = ptable.L -local AutoTurnInCharacterDB, AutoTurnInDB AutoTurnIn = LibStub("AceAddon-3.0"):NewAddon("AutoTurnIn", "AceEvent-3.0", "AceConsole-3.0") -AutoTurnIn.defaults = {enabled = true, all = false, dontloot = true, tournament = 2, darkmoonteleport=true} +AutoTurnIn.defaults = {enabled = true, all = false, dontloot = true, tournament = 2, darkmoonteleport=true, togglekey=1} -- quest autocomplete handlers and functions function AutoTurnIn:OnEnable() - AutoTurnInDB = _G.AutoTurnInDB - AutoTurnInCharacterDB = _G.AutoTurnInCharacterDB local vers = GetAddOnMetadata(addonName, "Version") if (not AutoTurnInDB) or (not AutoTurnInDB.version or (AutoTurnInDB.version < vers)) then AutoTurnInCharacterDB = nil _G.AutoTurnInDB = {version = vers} - AutoTurnInDB = _G.AutoTurnInDB self:Print(L["reset"]) end if not AutoTurnInCharacterDB then - _G.AutoTurnInCharacterDB = CopyTable(AutoTurnIn.defaults) - AutoTurnInCharacterDB = _G.AutoTurnInCharacterDB + _G.AutoTurnInCharacterDB = CopyTable(AutoTurnIn.defaults) end if AutoTurnInCharacterDB.enabled then self:RegisterGossipEvents() diff --git a/AutoTurnIn.toc b/AutoTurnIn.toc index 1aa0707..1cfd0e8 100644 --- a/AutoTurnIn.toc +++ b/AutoTurnIn.toc @@ -1,6 +1,6 @@ ## Interface: 40300 ## Title: AutoTurnIn -## Version: 2.1 +## Version: 2.2 ## Author: Lur ## Notes: Auto accept and complete daily or any quests ## Notes-ruRU: Автоматически принимает и сдает ежедневные либо все задания diff --git a/options.lua b/options.lua index f33d9a5..437cd4c 100644 --- a/options.lua +++ b/options.lua @@ -19,11 +19,6 @@ local Enable = CreateFrame("CheckButton", O.."Enable", OptionsPanel, "OptionsChe _G[O.."EnableText"]:SetText(L["enabled"]) Enable:SetScript("OnClick", function(self) TempConfig.enabled = self:GetChecked() == 1 - if (TempConfig.enabled) then - AutoTurnIn:RegisterGossipEvents() - else - AutoTurnIn:UnregisterAllEvents() - end end) -- Quest types to handle @@ -95,13 +90,33 @@ DarkMoonCannon:SetScript("OnClick", function(self) TempConfig.darkmoonteleport = self:GetChecked() == 1 end) --- 'Enable' CheckBox +-- 'Show Reward Text' CheckBox local ShowRewardText = CreateFrame("CheckButton", O.."Reward", OptionsPanel, "OptionsCheckButtonTemplate") _G[ShowRewardText:GetName().."Text"]:SetText(L["rewardtext"]) ShowRewardText:SetScript("OnClick", function(self) TempConfig.showrewardtext = self:GetChecked() == 1 end) +-- Auto toggle key +local ToggleKeyLabel = OptionsPanel:CreateFontString(nil, "ARTWORK", "GameFontNormal") +ToggleKeyLabel:SetText("Toggle AutoTurnIn key") +local ToggleKeyConst = {NONE_KEY,ALT_KEY,CTRL_KEY,SHIFT_KEY} +local ToggleKeyDropDown = CreateFrame("Frame", O.."ToggleKeyDropDown", OptionsPanel, "UIDropDownMenuTemplate") +UIDropDownMenu_Initialize(ToggleKeyDropDown, function (self, level) + for k, v in ipairs(ToggleKeyConst) do + local info = UIDropDownMenu_CreateInfo() + info.text, info.value = v, k + info.func = function(self) + UIDropDownMenu_SetSelectedID(ToggleKeyDropDown, self:GetID()) + TempConfig.togglekey = self:GetID() + end + UIDropDownMenu_AddButton(info, level) + end +end) +UIDropDownMenu_SetWidth(ToggleKeyDropDown, 200); +UIDropDownMenu_JustifyText(ToggleKeyDropDown, "LEFT") + + -- Control placement title:SetPoint("TOPLEFT", 16, -16) subText:SetPoint("TOPLEFT", title, "BOTTOMLEFT", 0, -8) @@ -115,6 +130,9 @@ TournamentDropDown:SetPoint("TOPLEFT", LootDropDown, "TOPRIGHT", 17, 0) DarkMoonCannon:SetPoint("TOPLEFT", LootDropDown, "BOTTOMLEFT", 16, -16) ShowRewardText:SetPoint("TOPLEFT", DarkMoonCannon, "BOTTOMLEFT", 0, -16) +ToggleKeyLabel:SetPoint("BOTTOMLEFT", ToggleKeyDropDown, "TOPLEFT", 18, 0) +ToggleKeyDropDown:SetPoint("TOPLEFT", ShowRewardText, "BOTTOMLEFT", -15, -30) + OptionsPanel.refresh = function() TempConfig = CopyTable(AutoTurnInCharacterDB) @@ -133,6 +151,10 @@ OptionsPanel.refresh = function() end DarkMoonCannon:SetChecked(TempConfig.darkmoonteleport) ShowRewardText:SetChecked(TempConfig.showrewardtext) + + UIDropDownMenu_SetSelectedID(ToggleKeyDropDown, TempConfig.togglekey) + UIDropDownMenu_SetText(ToggleKeyDropDown, ToggleKeyConst[TempConfig.togglekey]) + end OptionsPanel.default = function() @@ -140,6 +162,13 @@ OptionsPanel.default = function() end OptionsPanel.okay = function() + if (AutoTurnInCharacterDB.enabled ~= TempConfig.enabled) then + if TempConfig.enabled then + AutoTurnIn:RegisterGossipEvents() + else + AutoTurnIn:UnregisterAllEvents() + end + end AutoTurnInCharacterDB = CopyTable(TempConfig) end -- 1.7.9.5