Initial commit
This commit is contained in:
Executable
+122
@@ -0,0 +1,122 @@
|
||||
--[[
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user