AuctioneerSuite/Enchantrix/EnxConfig.lua

179 lines
4.8 KiB
Lua
Raw Permalink Normal View History

2026-04-13 17:48:13 -04:00
--[[
Enchantrix Addon for World of Warcraft(tm).
Version: 5.9.4961 (WhackyWallaby)
Revision: $Id: EnxConfig.lua 3576 2008-10-10 03:07:13Z aesir $
URL: http://enchantrix.org/
Configuration functions.
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
]]
Enchantrix_RegisterRevision("$URL: http://svn.norganna.org/auctioneer/branches/5.9/Enchantrix/EnxConfig.lua $", "$Rev: 3576 $")
-- Global functions
local addonLoaded -- Enchantrix.Config.AddonLoaded()
local setFrame -- Enchantrix.Config.SetFrame()
local getFrameNames -- Enchantrix.Config.GetFrameNames()
local getFrameIndex -- Enchantrix.Config.GetFrameIndex()
local setLocale -- Enchantrix.Config.SetLocale()
local getLocale -- Enchantrix.Config.GetLocale()
-- Local functions
local isValidLocale
function addonLoaded()
end
-- The following three functions were added by MentalPower to implement the /enx print-in command
function getFrameNames(index)
local frames = {}
local frameName
for i = 1, NUM_CHAT_WINDOWS do
-- name, fontSize, r, g, b, a, shown, locked, docked = GetChatWindowInfo(i)
local name = GetChatWindowInfo(i)
if ( name == "" ) then
if (i == 1) then
name = _ENCH('TextGeneral')
elseif (i == 2) then
name = _ENCH('TextCombat')
end
end
frames[name] = i
if i == index then
frameName = name
end
end
return frames, frameName or ""
end
function getFrameIndex()
return Enchantrix.Settings.GetSetting('printframe')
end
function setFrame(frame, chatprint)
local frameNumber
local frameVal
frameVal = tonumber(frame)
-- If no arguments are passed, then set it to the default frame.
if not (frame) then
frameNumber = 1;
-- If the frame argument is a number then set our chatframe to that number.
elseif ((frameVal) ~= nil) then
frameNumber = frameVal;
-- If the frame argument is a string, find out if there's a chatframe with that name, and set our chatframe to that index. If not set it to the default frame.
elseif (type(frame) == "string") then
allFrames = Enchantrix.Config.GetFrameNames();
if (allFrames[frame]) then
frameNumber = allFrames[frame];
else
frameNumber = 1;
end
-- If the argument is something else, set our chatframe to it's default value.
else
frameNumber = 1;
end
local _, frameName
if (chatprint == true) then
_, frameName = Enchantrix.Config.GetFrameNames(frameNumber);
if (Enchantrix.Config.GetFrameIndex() ~= frameNumber) then
Enchantrix.Util.ChatPrint(_ENCH('FrmtPrintin'):format(frameName));
end
end
Enchantrix.Settings.SetSetting("printframe", frameNumber);
if (chatprint == true) then
Enchantrix.Util.ChatPrint(_ENCH('FrmtPrintin'):format(frameName));
end
end
function isValidLocale(param)
return (EnchantrixLocalizations and EnchantrixLocalizations[param])
end
function setLocale(param, chatprint)
param = Enchantrix.Locale.DelocalizeFilterVal(param)
if (param == 'default') or (param == 'off') then
Babylonian.SetOrder('')
validLocale = true
elseif (isValidLocale(param)) then
Babylonian.SetOrder(param)
validLocale = true
else
validLocale = false
end
if chatprint then
if validLocale then
Enchantrix.Util.ChatPrint(_ENCH('FrmtActSet'):format(_ENCH('CmdLocale'), param))
else
Enchantrix.Util.ChatPrint(_ENCH("FrmtActUnknownLocale"):format(param))
local locales = " "
for locale, data in pairs(EnchantrixLocalizations) do
locales = locales .. " '" .. locale .. "' "
end
Enchantrix.Util.ChatPrint(locales)
end
end
Enchantrix.State.Locale_Changed = true
end
function getLocale()
local locale = Enchantrix.Settings.GetSetting('locale')
if locale ~= 'default' then
return locale
end
return GetLocale()
end
Enchantrix.Config = {
Revision = "$Revision: 3576 $",
AddonLoaded = addonLoaded,
GetFrameNames = getFrameNames,
GetFrameIndex = getFrameIndex,
SetFrame = setFrame,
SetLocale = setLocale,
GetLocale = getLocale,
}