123 lines
4.1 KiB
Lua
Executable File
123 lines
4.1 KiB
Lua
Executable File
--[[
|
|
Name: Prat_ChannelColorMemory
|
|
Revision: $Revision: 16019 $
|
|
Author(s): Sylvanaar
|
|
Website: http://www.wowace.com/files/index.php?path=Prat/
|
|
Documentation: http://www.wowace.com/wiki/Prat/Integrated_Modules#ChannelColorMemory
|
|
SVN: http://svn.wowace.com/wowace/trunk/Prat/
|
|
Description: Module for Prat that remembers the colors of channels by channel name
|
|
Dependencies: Prat
|
|
|
|
Credit goes to: ConsisTint By Karl Isenberg (AnduinLothar)
|
|
]]
|
|
|
|
local L = AceLibrary("AceLocale-2.2"):new("ChannelColorMemory")
|
|
|
|
L:RegisterTranslations("enUS", function() return {
|
|
["ChannelColorMemory"] = true,
|
|
["Remembers the colors of channels by channel name."] = true,
|
|
["(%w+)%s?(.*)"] = true,
|
|
["Toggle"] = true,
|
|
["Toggle the module on and off."] = true,
|
|
} end)
|
|
|
|
L:RegisterTranslations("ruRU", function() return {
|
|
["ChannelColorMemory"] = "Запомнить цвет канала",
|
|
["Remembers the colors of channels by channel name."] = "Запоминает цвета каналов по названию канала.",
|
|
["(%w+)%s?(.*)"] = "(%w+)%s?(.*)",
|
|
["Toggle"] = "Вкл/Выкл",
|
|
["Toggle the module on and off."] = "Вкл/Выкл модуль.",
|
|
} end)
|
|
|
|
L:RegisterTranslations("zhCN", function() return {
|
|
["ChannelColorMemory"] = "频道颜色储存",
|
|
["Remembers the colors of channels by channel name."] = "还原频道名称的颜色设置",
|
|
["(%w+)%s?(.*)"] = "(%w+)%s?(.*)",
|
|
["Toggle"] = "切换",
|
|
["Toggle the module on and off."] = "切换此模块的打开与关闭。",
|
|
} end)
|
|
|
|
L:RegisterTranslations("koKR", function() return {
|
|
["ChannelColorMemory"] = "채널 색상 기억",
|
|
["Remembers the colors of channels by channel name."] = "채널명에 따른 채널의 색상을 기억합니다.",
|
|
["(%w+)%s?(.*)"] = "(.+)%s?(.*)",
|
|
["Toggle"] = "전환",
|
|
["Toggle the module on and off."] = "모듈 켜고 끄기 전환",
|
|
} end)
|
|
|
|
|
|
Prat_ChannelColorMemory = Prat:NewModule("ChannelColorMemory")
|
|
|
|
function Prat_ChannelColorMemory:OnInitialize()
|
|
self.db = Prat:AcquireDBNamespace("ChannelColorMemory")
|
|
Prat:RegisterDefaults("ChannelColorMemory", "profile", {
|
|
on = true,
|
|
colors = {},
|
|
})
|
|
Prat.Options.args.ChannelColorMemory = {
|
|
name = L["ChannelColorMemory"],
|
|
desc = L["Remembers the colors of channels by channel name."],
|
|
type = "group",
|
|
args = {
|
|
Toggle = {
|
|
type = "toggle",
|
|
name = L["Toggle"],
|
|
desc = L["Toggle the module on and off."],
|
|
get = function() return self.db.profile.on end,
|
|
set = function(v) self.db.profile.on = Prat:ToggleModuleActive("ChannelColorMemory") end
|
|
},
|
|
}
|
|
}
|
|
end
|
|
|
|
function Prat_ChannelColorMemory:OnEnable()
|
|
self:RegisterEvent("UPDATE_CHAT_COLOR")
|
|
self:RegisterEvent("CHAT_MSG_CHANNEL_NOTICE")
|
|
end
|
|
function Prat_ChannelColorMemory:OnDisable()
|
|
self:UnregisterEvent("UPDATE_CHAT_COLOR")
|
|
self:UnregisterEvent("CHAT_MSG_CHANNEL_NOTICE")
|
|
end
|
|
|
|
|
|
function Prat_ChannelColorMemory:UPDATE_CHAT_COLOR(ChatType, cr,cg,cb)
|
|
if (ChatType) then
|
|
local number = string.gfind(arg1, "CHANNEL(%d+)")()
|
|
if ( number ) then
|
|
local _, name = GetChannelName(number);
|
|
if ( name ) then
|
|
local name, zoneSuffix = string.gfind(name, L["(%w+)%s?(.*)"])();
|
|
|
|
local color = self.db.profile.colors[name];
|
|
if (not color) then
|
|
self.db.profile.colors[name] = {r=cr, g=cg, b=cb};
|
|
else
|
|
color.r=cr
|
|
color.g=cg
|
|
color.b=cb
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
function Prat_ChannelColorMemory:CHAT_MSG_CHANNEL_NOTICE(NoticeType,a2,a3,LongName,a5,a6,a7,number, cname)
|
|
if (not strfind(LongName, "%d+%. .*")) then
|
|
return;
|
|
elseif (arg1 == "YOU_JOINED") then
|
|
local name, zoneSuffix = string.gfind(cname, L["(%w+)%s?(.*)"])();
|
|
local color = self.db.profile.colors[name];
|
|
if (color) then
|
|
ChangeChatColor("CHANNEL"..number, color.r, color.g, color.b);
|
|
else
|
|
color = ChatTypeInfo["CHANNEL"..number];
|
|
self.db.profile.colors[name] = {r=color.r, g=color.g, b=color.b};
|
|
end
|
|
end
|
|
end
|
|
|
|
|
|
|
|
|
|
|