654 lines
22 KiB
Lua
654 lines
22 KiB
Lua
--[[
|
|
Enchantrix Addon for World of Warcraft(tm).
|
|
Version: 5.9.4961 (WhackyWallaby)
|
|
Revision: $Id: EnxSettings.lua 4933 2010-10-13 17:16:14Z Nechckn $
|
|
URL: http://enchantrix.org/
|
|
|
|
Settings GUI
|
|
|
|
License:
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation; either version 2
|
|
of the License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program(see GPL.txt); if not, write to the Free Software
|
|
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|
|
|
Note:
|
|
This AddOn's source code is specifically designed to work with
|
|
World of Warcraft's interpreted AddOn system.
|
|
You have an implicit license to use this AddOn with these facilities
|
|
since that is its designated purpose as per:
|
|
http://www.fsf.org/licensing/licenses/gpl-faq.html#InterpreterIncompat
|
|
|
|
|
|
data layout:
|
|
EnchantConfig = {
|
|
|
|
["profile.test4"] = {
|
|
["miniicon.distance"] = 56,
|
|
["miniicon.angle"] = 189,
|
|
["show"] = true,
|
|
["enable"] = true,
|
|
},
|
|
|
|
["profiles"] = {
|
|
"Default", -- [1]
|
|
"test4", -- [2]
|
|
},
|
|
|
|
["users.Foobar.Picksell"] = "test4",
|
|
|
|
["profile.Default"] = {
|
|
["miniicon.angle"] = 187,
|
|
["miniicon.distance"] = 15,
|
|
},
|
|
|
|
}
|
|
|
|
if user does not have a set profile name, they get the default profile
|
|
|
|
|
|
Usage:
|
|
def = Enchantrix.Settings.GetDefault('TooltipShowValues')
|
|
val = Enchantrix.Settings.GetSetting('TooltipShowValues')
|
|
Enchantrix.Settings.SetSetting('TooltipShowValues', true );
|
|
|
|
]]
|
|
|
|
Enchantrix_RegisterRevision("$URL: http://svn.norganna.org/auctioneer/branches/5.9/Enchantrix/EnxSettings.lua $", "$Rev: 4933 $")
|
|
|
|
local lib = {}
|
|
Enchantrix.Settings = lib
|
|
local private = {}
|
|
local gui
|
|
|
|
local function getUserSig()
|
|
local userSig = string.format("users.%s.%s", GetRealmName(), UnitName("player"))
|
|
return userSig
|
|
end
|
|
|
|
local function getUserProfileName()
|
|
if (not EnchantConfig) then EnchantConfig = {} end
|
|
local userSig = getUserSig()
|
|
return EnchantConfig[userSig] or "Default"
|
|
end
|
|
|
|
local function getUserProfile()
|
|
if (not EnchantConfig) then EnchantConfig = {} end
|
|
local profileName = getUserProfileName()
|
|
if (not EnchantConfig["profile."..profileName]) then
|
|
if profileName ~= "Default" then
|
|
profileName = "Default"
|
|
EnchantConfig[getUserSig()] = "Default"
|
|
end
|
|
if profileName == "Default" then
|
|
EnchantConfig["profile."..profileName] = {}
|
|
end
|
|
end
|
|
return EnchantConfig["profile."..profileName]
|
|
end
|
|
|
|
|
|
local function cleanse( profile )
|
|
if (profile) then
|
|
profile = {}
|
|
end
|
|
end
|
|
|
|
|
|
-- Default setting values
|
|
local settingDefaults = {
|
|
['all'] = true,
|
|
['locale'] = 'default',
|
|
['printframe'] = 1,
|
|
|
|
['chatShowFindings'] = true,
|
|
|
|
['ToolTipEmbedInGameTip'] = false,
|
|
['TooltipShowValues'] = true,
|
|
['TooltipShowAuctValueHSP'] = true,
|
|
['TooltipShowAuctValueMedian'] = true,
|
|
['TooltipShowBaselineValue'] = true,
|
|
['TooltipShowAuctAdvValue'] = true,
|
|
['TooltipShowDisenchantLevel'] = true, -- should the item tooltip show the enchanting level needed to disenchant
|
|
['TooltipShowDisenchantMats'] = true, -- should the item tooltip show what it disenchants into? (for those who are just greedy)
|
|
['TooltipShowMatSources'] = true, -- should we show the source for enchant mats, gems, and inks?
|
|
|
|
['TooltipShowProspecting'] = true, -- should the tooltip show any prospecting data?
|
|
['TooltipProspectLevels'] = true, -- should the tooltip show skill level needed to prospect?
|
|
['TooltipProspectValues'] = true, -- should the tooltip show prospecting values
|
|
['TooltipProspectMats'] = true, -- should the item tooltip show what it prospects into? (for those who are just greedy)
|
|
['TooltipProspectShowAuctValueHSP'] = true,
|
|
['TooltipProspectShowAuctValueMedian'] = true,
|
|
['TooltipProspectShowBaselineValue'] = true,
|
|
['TooltipProspectShowAuctAdvValue'] = true,
|
|
|
|
['TooltipShowMilling'] = true, -- should the tooltip show any Milling data?
|
|
['TooltipMillingLevels'] = true, -- should the tooltip show skill level needed to Milling?
|
|
['TooltipMillingValues'] = true, -- should the tooltip show Millinging values
|
|
['TooltipMillingMats'] = true, -- should the item tooltip show what it Millings into? (for those who are just greedy)
|
|
['TooltipMillingShowAuctValueHSP'] = true,
|
|
['TooltipMillingShowAuctValueMedian'] = true,
|
|
['TooltipMillingShowBaselineValue'] = true,
|
|
['TooltipMillingShowAuctAdvValue'] = true,
|
|
|
|
['TooltipShowReagents'] = true, -- show reagents for enchant/spell tooltips
|
|
|
|
['ShowAllCraftReagents'] = false, -- ccox - just an idea I'm testing, doesn't work that well yet
|
|
|
|
['profile.name'] = '', -- not sure why this gets hit so often, might be a bug
|
|
|
|
['ScanValueType'] = "average", -- what value to use for auction scans
|
|
|
|
['AuctionBalanceEssencePrices'] = false, -- should we balance the price of essences before doing auction scans?
|
|
['AuctionBalanceEssenceStyle'] = "avg", -- how do we balance the price of essences
|
|
|
|
['AutoDisenchantEnable'] = false, -- off by default - potentially dangerous if you're not expecting it :)
|
|
['AutoDeRareItems'] = true, -- on by default for backwards compatibility
|
|
['AutoDeEpicItems'] = true, -- on by default for backwards compatibility
|
|
['AutoDeOnlyIfBoughtForDE'] = false, -- off by default for backwards compatibility, checks with BeanCounter for purchase reason
|
|
['autoLootDE'] = false, -- off by default for backwards compatibility
|
|
|
|
['export.aucadv'] = true, -- Send our price values to Auctioneer as stats
|
|
['ModTTShow'] = false,
|
|
}
|
|
|
|
local function getDefault(setting)
|
|
local a,b,c = strsplit(".", setting)
|
|
|
|
-- basic settings
|
|
if (a == "show") then return true end
|
|
if (b == "enable") then return true end
|
|
|
|
-- reagent prices
|
|
if (a == "value") then
|
|
return Enchantrix.Constants.StaticPrices[tonumber(b) or 0]
|
|
end
|
|
|
|
-- Weights default to 100%
|
|
if (a == "weight") then return 100 end
|
|
if (a == "fixed") then
|
|
if (c == "value") then
|
|
local reagId = tonumber(b)
|
|
if (reagId) then
|
|
return Enchantrix.Constants.StaticPrices[reagId]
|
|
end
|
|
else
|
|
return false
|
|
end
|
|
end
|
|
|
|
-- miniicon settings
|
|
if (setting == "miniicon.angle") then return 118 end
|
|
if (setting == "miniicon.distance") then return 12 end
|
|
|
|
-- lookup the simple settings
|
|
local result = settingDefaults[setting];
|
|
|
|
-- no idea what this setting is, so log it for debugging purposes
|
|
if (result == nil) then
|
|
-- Enchantrix.Util.DebugPrint("GetDefault", ENX_INFO, "Unknown key", "default requested for unknown key:" .. setting)
|
|
end
|
|
|
|
return result
|
|
|
|
end
|
|
|
|
function lib.GetDefault(setting)
|
|
local val = getDefault(setting);
|
|
return val;
|
|
end
|
|
|
|
local function setter(setting, value)
|
|
if (not EnchantConfig) then EnchantConfig = {} end
|
|
|
|
-- turn value into a canonical true or false
|
|
if value == 'on' then
|
|
value = true
|
|
elseif value == 'off' then
|
|
value = false
|
|
end
|
|
|
|
-- for defaults, just remove the value and it'll fall through
|
|
if (value == 'default') or (value == getDefault(setting)) then
|
|
-- Don't save default values
|
|
value = nil
|
|
end
|
|
|
|
local a,b,c = strsplit(".", setting)
|
|
if (a == "profile") then
|
|
if (setting == "profile.save") then
|
|
value = gui.elements["profile.name"]:GetText()
|
|
|
|
-- Create the new profile
|
|
EnchantConfig["profile."..value] = {}
|
|
|
|
-- Set the current profile to the new profile
|
|
EnchantConfig[getUserSig()] = value
|
|
-- Get the new current profile
|
|
local newProfile = getUserProfile()
|
|
|
|
-- Clean it out and then resave all data
|
|
cleanse(newProfile)
|
|
gui:Resave()
|
|
|
|
-- Add the new profile to the profiles list
|
|
local profiles = EnchantConfig["profiles"]
|
|
if (not profiles) then
|
|
profiles = { "Default" }
|
|
EnchantConfig["profiles"] = profiles
|
|
end
|
|
|
|
-- Check to see if it already exists
|
|
local found = false
|
|
for pos, name in ipairs(profiles) do
|
|
if (name == value) then found = true end
|
|
end
|
|
|
|
-- If not, add it and then sort it
|
|
if (not found) then
|
|
table.insert(profiles, value)
|
|
table.sort(profiles)
|
|
end
|
|
|
|
DEFAULT_CHAT_FRAME:AddMessage(_ENCH("ChatSavedProfile")..value)
|
|
|
|
elseif (setting == "profile.duplicate") then
|
|
-- User clicked the Duplicate button, copy the current profile using the new name
|
|
value = gui.elements["profile"].value
|
|
|
|
-- If there's a profile name supplied
|
|
if (value) then
|
|
local existingProfile = EnchantConfig["profile."..value]
|
|
|
|
local newName = gui.elements["profile.name"]:GetText()
|
|
|
|
if (newName and newName ~= "") then
|
|
-- copy it under the new name
|
|
EnchantConfig["profile."..newName] = existingProfile
|
|
|
|
-- Set the current profile to the new profile
|
|
EnchantConfig[getUserSig()] = newName
|
|
|
|
-- Add the new profile to the profiles list
|
|
local profiles = EnchantConfig["profiles"]
|
|
if (not profiles) then
|
|
profiles = { "Default" }
|
|
EnchantConfig["profiles"] = profiles
|
|
end
|
|
|
|
-- Check to see if it already exists
|
|
local found = false
|
|
for pos, name in ipairs(profiles) do
|
|
if (name == newName) then found = true end
|
|
end
|
|
|
|
-- If not, add it and then sort it
|
|
if (not found) then
|
|
table.insert(profiles, newName)
|
|
table.sort(profiles)
|
|
end
|
|
|
|
DEFAULT_CHAT_FRAME:AddMessage(_ENCH("ChatDuplicatedProfile")..newName)
|
|
end
|
|
end
|
|
|
|
elseif (setting == "profile.delete") then
|
|
-- User clicked the Delete button, see what the select box's value is.
|
|
value = gui.elements["profile"].value
|
|
|
|
-- If there's a profile name supplied
|
|
if (value) then
|
|
-- Clean it's profile container of values
|
|
cleanse(EnchantConfig["profile."..value])
|
|
|
|
-- Delete it's profile container
|
|
EnchantConfig["profile."..value] = nil
|
|
|
|
-- Find it's entry in the profiles list
|
|
local profiles = EnchantConfig["profiles"]
|
|
if (profiles) then
|
|
for pos, name in ipairs(profiles) do
|
|
-- If this is it, then extract it
|
|
if (name == value and name ~= "Default") then
|
|
table.remove(profiles, pos)
|
|
end
|
|
end
|
|
end
|
|
|
|
-- If the user was using this one, then move them to Default
|
|
if (getUserProfileName() == value) then
|
|
EnchantConfig[getUserSig()] = 'Default'
|
|
end
|
|
|
|
DEFAULT_CHAT_FRAME:AddMessage(_ENCH("ChatDeletedProfile")..value)
|
|
|
|
end
|
|
|
|
elseif (setting == "profile.default") then
|
|
-- User clicked the reset settings button
|
|
|
|
-- Get the current profile from the select box
|
|
value = gui.elements["profile"].value
|
|
|
|
-- Clean it's profile container of values
|
|
EnchantConfig["profile."..value] = {}
|
|
|
|
DEFAULT_CHAT_FRAME:AddMessage(_ENCH("ChatResetProfile")..value)
|
|
|
|
elseif (setting == "profile") then
|
|
-- User selected a different value in the select box, get it
|
|
value = gui.elements["profile"].value
|
|
|
|
-- Change the user's current profile to this new one
|
|
EnchantConfig[getUserSig()] = value
|
|
|
|
DEFAULT_CHAT_FRAME:AddMessage(_ENCH("ChatUsingProfile")..value)
|
|
|
|
end
|
|
|
|
-- Refresh all values to reflect current data
|
|
gui:Refresh()
|
|
|
|
|
|
elseif (a == "autode") then
|
|
|
|
if (setting == "autode.deleteItem") then
|
|
|
|
-- User clicked the Delete button, see what the select box's value is.
|
|
value = gui.elements["autode.selectitem"].value
|
|
|
|
-- If there's an item name supplied
|
|
if (value) then
|
|
if (AutoDisenchantIgnoreList) then
|
|
for info,_ in pairs(AutoDisenchantIgnoreList) do
|
|
-- deserialize and compare the name
|
|
local thisName = Enchantrix.AutoDisenchant.NameFromIgnoreListItem(info)
|
|
if (value == thisName) then
|
|
AutoDisenchantIgnoreList[info] = nil
|
|
break
|
|
end
|
|
end
|
|
end
|
|
|
|
end
|
|
|
|
elseif (setting == "autode.reset") then
|
|
-- User clicked the reset settings button
|
|
AutoDisenchantIgnoreList = {}
|
|
elseif (setting == "autode.selectitem") then
|
|
-- save off the item they selected
|
|
lib.autoDEListItem = value;
|
|
end
|
|
|
|
-- Refresh all values to reflect current data
|
|
gui:Refresh()
|
|
|
|
else
|
|
-- Set the value for this setting in the current profile
|
|
local db = getUserProfile()
|
|
db[setting] = value
|
|
--setUpdated()
|
|
end
|
|
|
|
if (a == "miniicon") then
|
|
Enchantrix.MiniIcon.Reposition()
|
|
end
|
|
|
|
if (a == "sideIcon") and Enchantrix.SideIcon then
|
|
Enchantrix.SideIcon.Update()
|
|
end
|
|
|
|
end
|
|
|
|
function lib.SetSetting(...)
|
|
setter(...)
|
|
if (gui) then
|
|
gui:Refresh()
|
|
end
|
|
end
|
|
|
|
|
|
local function getter(setting)
|
|
if (not EnchantConfig) then EnchantConfig = {} end
|
|
if not setting then return end
|
|
|
|
local a,b,c = strsplit(".", setting)
|
|
if (a == 'profile') then
|
|
if (b == 'profiles') then
|
|
local pList = EnchantConfig["profiles"]
|
|
if (not pList) then
|
|
pList = { "Default" }
|
|
end
|
|
return pList
|
|
end
|
|
|
|
elseif (a == 'autode') then
|
|
if (b == 'items') then
|
|
local deiList = {}
|
|
if (AutoDisenchantIgnoreList) then
|
|
for info,_ in pairs(AutoDisenchantIgnoreList) do
|
|
local name = Enchantrix.AutoDisenchant.NameFromIgnoreListItem(info)
|
|
table.insert( deiList, name )
|
|
end
|
|
end
|
|
if (deiList[1]) then
|
|
lib.autoDEListItem = deiList[1];
|
|
else
|
|
lib.autoDEListItem = nil;
|
|
end
|
|
return deiList
|
|
elseif (b == 'selectitem') then
|
|
return lib.autoDEListItem
|
|
end
|
|
end
|
|
|
|
if (a == 'scanvalue') then
|
|
if (b == 'list') then
|
|
if not private.scanValueNames then private.scanValueNames = {} end
|
|
|
|
for i = 1, #private.scanValueNames do
|
|
private.scanValueNames[i] = nil
|
|
end
|
|
|
|
table.insert(private.scanValueNames,{"average", _ENCH("GuiItemValueAverage") })
|
|
table.insert(private.scanValueNames,{"baseline", _ENCH("GuiItemValueBaseline") })
|
|
if AucAdvanced then
|
|
table.insert(private.scanValueNames,{"adv:market", _ENCH("GuiItemValueAuc5Market") })
|
|
local algoList = AucAdvanced.API.GetAlgorithms()
|
|
for pos, name in ipairs(algoList) do
|
|
table.insert(private.scanValueNames,{"adv:stat:"..name, "AucAdv Stat:"..name})
|
|
end
|
|
end
|
|
if Auctioneer then
|
|
table.insert(private.scanValueNames,{"auc4:hsp", _ENCH("GuiItemValueAuc4HSP") })
|
|
table.insert(private.scanValueNames,{"auc4:med", _ENCH("GuiItemValueAuc4Median") })
|
|
end
|
|
|
|
return private.scanValueNames
|
|
end
|
|
end
|
|
|
|
if (setting == 'profile') then
|
|
return getUserProfileName()
|
|
end
|
|
|
|
local db = getUserProfile()
|
|
if ( db[setting] ~= nil ) then
|
|
return db[setting]
|
|
else
|
|
return getDefault(setting)
|
|
end
|
|
end
|
|
|
|
function lib.GetSetting(setting, default)
|
|
local option = getter(setting)
|
|
if ( option ~= nil ) then
|
|
return option
|
|
else
|
|
return default
|
|
end
|
|
end
|
|
|
|
function lib.UpdateGuiConfig()
|
|
if gui then
|
|
if gui:IsVisible() then
|
|
gui:Hide()
|
|
end
|
|
gui = nil
|
|
lib.MakeGuiConfig()
|
|
end
|
|
end
|
|
|
|
function lib.MakeGuiConfig()
|
|
if gui then return end
|
|
|
|
local id, last, cont
|
|
local Configator = LibStub:GetLibrary("Configator")
|
|
gui = Configator:Create(setter, getter)
|
|
lib.Gui = gui
|
|
|
|
gui:AddCat("Enchantrix")
|
|
|
|
|
|
id = gui:AddTab(_ENCH("GuiTabProfiles"))
|
|
gui:AddControl(id, "Header", 0, _ENCH("GuiConfigProfiles"))
|
|
|
|
gui:AddControl(id, "Subhead", 0, _ENCH("GuiActivateProfile"))
|
|
gui:AddControl(id, "Selectbox", 0, 1, "profile.profiles", "profile", "this string isn't shown")
|
|
gui:AddControl(id, "Button", 0, 1, "profile.delete", _ENCH("GuiDeleteProfileButton"))
|
|
gui:AddControl(id, "Button", 0, 1, "profile.default", _ENCH("GuiResetProfileButton"))
|
|
|
|
gui:AddControl(id, "Subhead", 0, _ENCH("GuiCreateReplaceProfile"))
|
|
gui:AddControl(id, "Text", 0, 1, "profile.name", _ENCH("GuiNewProfileName"))
|
|
gui:AddControl(id, "Button", 0, 1, "profile.save", _ENCH("GuiSaveProfileButton"))
|
|
gui:AddControl(id, "Button", 0, 1, "profile.duplicate", _ENCH("GuiDuplicateProfileButton"))
|
|
|
|
id = gui:AddTab(_ENCH("GuiTabGeneral"))
|
|
gui:AddControl(id, "Header", 0, _ENCH("GuiGeneralOptions"))
|
|
gui:AddControl(id, "Checkbox", 0, 1, "ModTTShow", _ENCH("ModTTShow"))--Only display our extra tooltip data if Alt is pressed.
|
|
gui:AddTip(id, _ENCH("ModTTShow_Help"))--Show Enchantrix's extra tooltip only if Alt is pressed.
|
|
gui:AddControl(id, "Checkbox", 0, 1, "TooltipShowDisenchantLevel", _ENCH("GuiDELevels") )
|
|
gui:AddControl(id, "Checkbox", 0, 1, "ToolTipEmbedInGameTip", _ENCH("HelpEmbed") )
|
|
gui:AddControl(id, "Checkbox", 0, 1, "TooltipShowDisenchantMats", _ENCH("GuiDEMaterials") )
|
|
gui:AddControl(id, "Checkbox", 0, 1, "export.aucadv", _ENCH("ExportPriceAucAdv"))
|
|
gui:AddControl(id, "Checkbox", 0, 1, "chatShowFindings", _ENCH("GuiPrintYieldsInChat") )
|
|
gui:AddControl(id, "Checkbox", 0, 1, "TooltipShowReagents", _ENCH("GuiShowCraftReagents") )
|
|
gui:AddControl(id, "Checkbox", 0, 1, "TooltipShowMatSources", _ENCH("GuiShowMatSources") )
|
|
|
|
gui:AddControl(id, "Subhead", 0, _ENCH("GuiItemValueCalc"))
|
|
gui:AddControl(id, "Selectbox", 0, 1, "scanvalue.list", "ScanValueType", "this string isn't shown")
|
|
|
|
-- TODO: locale -- what are the allowed values?
|
|
-- TODO: printframe -- what are the allowed values? Configurator really needs a restricted value number box (without a slider)
|
|
|
|
gui:AddControl(id, "Subhead", 0, _ENCH("GuiValueOptions"))
|
|
gui:AddControl(id, "Checkbox", 0, 1, "TooltipShowValues", _ENCH("GuiValueShowDEValues"))
|
|
if (Enchantrix.State.Auctioneer_Loaded) then
|
|
if (Auctioneer) then
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipShowAuctValueHSP", _ENCH("GuiValueShowAuc4HSP"))
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipShowAuctValueMedian", _ENCH("GuiValueShowAuc4Median"))
|
|
end
|
|
if (AucAdvanced) then
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipShowAuctAdvValue", _ENCH("GuiValueShowAuc5Market"))
|
|
end
|
|
end
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipShowBaselineValue", _ENCH("GuiValueShowBaseline"))
|
|
|
|
gui:AddControl(id, "Subhead", 0, _ENCH("GuiMinimapOptions"))
|
|
gui:AddControl(id, "Checkbox", 0, 1, "miniicon.enable", _ENCH("GuiMinimapShowButton"))
|
|
gui:AddControl(id, "Slider", 0, 2, "miniicon.angle", 0, 360, 1, _ENCH("GuiMinimapButtonAngle"))
|
|
gui:AddControl(id, "Slider", 0, 2, "miniicon.distance", -80, 80, 1, _ENCH("GuiMinimapButtonDist"))
|
|
gui:AddControl(id, "Checkbox", 0, 1, "sideIcon.enable", "Display the sidebar button")
|
|
|
|
id = gui:AddTab(_ENCH("GuiAutoDeOptions"))
|
|
gui:AddControl(id, "Checkbox", 0, 1, "AutoDisenchantEnable", _ENCH("GuiAutoDeEnable"))
|
|
gui:AddControl(id, "Checkbox", 0, 2, "AutoDeRareItems", _ENCH("GuiAutoDeRareItems"))
|
|
gui:AddControl(id, "Checkbox", 0, 2, "AutoDeEpicItems", _ENCH("GuiAutoDeEpicItems"))
|
|
gui:AddControl(id, "Checkbox", 0, 2, "AutoDeOnlyIfBoughtForDE", _ENCH("GuiAutoDeBoughtForDE"))
|
|
gui:AddControl(id, "Checkbox", 0, 2, "autoLootDE", _ENCH("GuiAutoLootDE"))
|
|
|
|
gui:AddControl(id, "Subhead", 0, "AutoDisenchant: Permanently Ignored Items")
|
|
gui:AddControl(id, "Selectbox", 0, 1, "autode.items", "autode.selectitem", "this string isn't shown but needs to be long for layout")
|
|
gui:AddControl(id, "Button", 0, 1, "autode.deleteItem", "remove item")
|
|
gui:AddControl(id, "Button", 0, 1, "autode.reset", "reset all items")
|
|
|
|
id = gui:AddTab(_ENCH("GuiTabProspecting"))
|
|
gui:AddControl(id, "Header", 0, _ENCH("GuiProspectingOptions"))
|
|
gui:AddControl(id, "Checkbox", 0, 1, "TooltipShowProspecting", _ENCH("GuiShowProspecting") )
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipProspectLevels", _ENCH("GuiProspectingLevels") )
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipProspectMats", _ENCH("GuiProspectingMaterials") )
|
|
|
|
gui:AddControl(id, "Subhead", 0, _ENCH("GuiValueOptions"))
|
|
gui:AddControl(id, "Checkbox", 0, 1, "TooltipProspectValues", _ENCH("GuiProspectingValues"))
|
|
if (Enchantrix.State.Auctioneer_Loaded) then
|
|
if (Auctioneer) then
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipProspectShowAuctValueHSP", _ENCH("GuiValueShowAuc4HSP"))
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipProspectShowAuctValueMedian", _ENCH("GuiValueShowAuc4Median"))
|
|
end
|
|
if (AucAdvanced) then
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipProspectShowAuctAdvValue", _ENCH("GuiValueShowAuc5Market"))
|
|
end
|
|
end
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipProspectShowBaselineValue", _ENCH("GuiValueShowBaseline"))
|
|
|
|
id = gui:AddTab(_ENCH("GuiTabMilling"))
|
|
gui:AddControl(id, "Header", 0, _ENCH("GuiMillingOptions"))
|
|
gui:AddControl(id, "Checkbox", 0, 1, "TooltipShowMilling", _ENCH("GuiShowMilling") )
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipMillingLevels", _ENCH("GuiMillingLevels") )
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipMillingMats", _ENCH("GuiMillingMaterials") )
|
|
|
|
gui:AddControl(id, "Subhead", 0, _ENCH("GuiValueOptions"))
|
|
gui:AddControl(id, "Checkbox", 0, 1, "TooltipMillingValues", _ENCH("GuiMillingingValues"))
|
|
if (Enchantrix.State.Auctioneer_Loaded) then
|
|
if (Auctioneer) then
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipMillingShowAuctValueHSP", _ENCH("GuiValueShowAuc4HSP"))
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipMillingShowAuctValueMedian", _ENCH("GuiValueShowAuc4Median"))
|
|
end
|
|
if (AucAdvanced) then
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipMillingShowAuctAdvValue", _ENCH("GuiValueShowAuc5Market"))
|
|
end
|
|
end
|
|
gui:AddControl(id, "Checkbox", 0, 2, "TooltipMillingShowBaselineValue", _ENCH("GuiValueShowBaseline"))
|
|
|
|
id = gui:AddTab(_ENCH("GuiTabWeights"))
|
|
gui:MakeScrollable(id)
|
|
gui:AddControl(id, "Header", 0, _ENCH("GuiWeightSettings"))
|
|
gui:AddControl(id, "Note", 0, 1, 600, 60, _ENCH("GuiWeighSettingsNote"))
|
|
local numReag = #Enchantrix.Constants.DisenchantReagentList
|
|
local colPos = 0
|
|
for i=1, numReag do
|
|
local reagId = Enchantrix.Constants.DisenchantReagentList[i]
|
|
local reagName = Enchantrix.Util.GetReagentInfo(reagId)
|
|
if (not reagName) then reagName = "item:"..reagId end
|
|
gui:AddControl(id, "WideSlider", 0, 1, "weight."..reagId, 0, 250, 5, reagName..": %s%%")
|
|
local reagLink = Enchantrix.Util.GetLinkFromName(reagName)
|
|
gui:AddLinkTip(id, reagLink)
|
|
end
|
|
id = gui:AddTab(_ENCH("GuiTabFixed"))
|
|
gui:MakeScrollable(id)
|
|
gui:AddControl(id, "Header", 0, _ENCH("GuiFixedSettings"))
|
|
gui:AddControl(id, "Note", 0, 1, 600, 90, _ENCH("GuiFixedSettingsNote"))
|
|
local numReag = #Enchantrix.Constants.DisenchantReagentList
|
|
local colPos = 0
|
|
for i=1, numReag do
|
|
local reagId = Enchantrix.Constants.DisenchantReagentList[i]
|
|
local reagName = Enchantrix.Util.GetReagentInfo(reagId)
|
|
if (not reagName) then reagName = "item:"..reagId end
|
|
last = gui:GetLast(id)
|
|
gui:AddControl(id, "Checkbox", 0, 1, "fixed."..reagId, ("%s:"):format(reagName))
|
|
local reagLink = Enchantrix.Util.GetLinkFromName(reagName)
|
|
gui:AddLinkTip(id, reagLink)
|
|
gui:SetLast(id, last)
|
|
gui:AddControl(id, "MoneyFramePinned", 0.6, 1, "fixed."..reagId..".value", 0, 99999999)
|
|
end
|
|
|
|
end
|