diff -ru BigBrother/BigBrother.lua BigBrother_NEW/BigBrother.lua --- BigBrother/BigBrother.lua 2013-09-12 20:10:11.000000000 +0100 +++ BigBrother_NEW/BigBrother.lua 2013-09-12 19:39:54.000000000 +0100 @@ -78,6 +78,24 @@ self:ToggleBuffWindow() end +function addon:Print(...) + addon:GetSelfChatFrame(addon.db.profile.SelfChatFrame):AddMessage(strjoin(" ", tostringall(...))) +end + + +function addon:ConfirmChatFrame(msg) + BigBrother:Print(string.format(color, (addon.db.profile.ShortChat and "[BB]" or "[Big Brother]")) .. ": " .. L["BigBrother will use this window for self output"]) +end + +function addon:GetSelfChatFrame(...) + -- return current chatframe + local frameid = addon.db.profile.SelfChatFrame + local f = getglobal("ChatFrame" .. frameid) + local name = GetChatWindowInfo(frameid) + if (not (f and string.len(name))) then f = DEFAULT_CHAT_FRAME end + return f +end + function addon:OnTextUpdate() self:SetText("BigBrother") local f = addon.minimapFrame; @@ -111,6 +129,8 @@ Taunt = false, Interrupt = false, Dispel = false, + SelfChatFrame = 0, -- 0 = defaultchatframe/fallback + ShortChat = false, }) -- ACE options menu @@ -602,6 +622,111 @@ }, } }, + selfchatwindow = { + name = L["Self Chat Window"], + desc = L["Set which chat window to use for SELF output"], + type = 'group', + args = { + chatframe1 = { + name = "1:" .. getglobal("ChatFrame1").name, + desc = L["Chat Window"] .. " 1", + type = 'toggle', + order = 1, + get = function() return addon:GetSelfChatFrame() == getglobal("ChatFrame1") end, + set = function(v) addon.db.profile.SelfChatFrame = 1; addon:ConfirmChatFrame() end, + hidden = function() local name = GetChatWindowInfo(1); return string.len(name) == 0 end, + }, + chatframe2 = { + name = "2:" .. getglobal("ChatFrame2").name, + desc = L["Chat Window"] .. " 2", + type = 'toggle', + order = 2, + get = function() return addon:GetSelfChatFrame() == getglobal("ChatFrame2") end, + set = function(v) addon.db.profile.SelfChatFrame = 2; addon:ConfirmChatFrame() end, + hidden = function() local name = GetChatWindowInfo(2); return string.len(name) == 0 end, + }, + chatframe3 = { + name = "3:" .. getglobal("ChatFrame3").name, + desc = L["Chat Window"] .. " 3", + type = 'toggle', + order = 3, + get = function() return addon:GetSelfChatFrame() == getglobal("ChatFrame3") end, + set = function(v) addon.db.profile.SelfChatFrame = 3; addon:ConfirmChatFrame() end, + hidden = function() local name = GetChatWindowInfo(3); return string.len(name) == 0 end, + }, + chatframe4 = { + name = "4:" .. getglobal("ChatFrame4").name, + desc = L["Chat Window"] .. " 4", + type = 'toggle', + order = 4, + get = function() return addon:GetSelfChatFrame() == getglobal("ChatFrame4") end, + set = function(v) addon.db.profile.SelfChatFrame = 4; addon:ConfirmChatFrame() end, + hidden = function() local name = GetChatWindowInfo(4); return string.len(name) == 0 end, + }, + chatframe5 = { + name = "5:" .. getglobal("ChatFrame5").name, + desc = L["Chat Window"] .. " 5", + type = 'toggle', + order = 5, + get = function() return addon:GetSelfChatFrame() == getglobal("ChatFrame5") end, + set = function(v) addon.db.profile.SelfChatFrame = 5; addon:ConfirmChatFrame() end, + hidden = function() local name = GetChatWindowInfo(5); return string.len(name) == 0 end, + }, + chatframe6 = { + name = "6:" .. getglobal("ChatFrame6").name, + desc = L["Chat Window"] .. " 6", + type = 'toggle', + order = 6, + get = function() return addon:GetSelfChatFrame() == getglobal("ChatFrame6") end, + set = function(v) addon.db.profile.SelfChatFrame = 6; addon:ConfirmChatFrame() end, + hidden = function() local name = GetChatWindowInfo(6); return string.len(name) == 0 end, + }, + chatframe7 = { + name = "7:" .. getglobal("ChatFrame7").name, + desc = L["Chat Window"] .. " 7", + type = 'toggle', + order = 7, + get = function() return addon:GetSelfChatFrame() == getglobal("ChatFrame7") end, + set = function(v) addon.db.profile.SelfChatFrame = 7; addon:ConfirmChatFrame() end, + hidden = function() local name = GetChatWindowInfo(7); return string.len(name) == 0 end, + }, + chatframe8 = { + name = "8:" .. getglobal("ChatFrame8").name, + desc = L["Chat Window"] .. " 8", + type = 'toggle', + order = 8, + get = function() return addon:GetSelfChatFrame() == getglobal("ChatFrame8") end, + set = function(v) addon.db.profile.SelfChatFrame = 8; addon:ConfirmChatFrame() end, + hidden = function() local name = GetChatWindowInfo(8); return string.len(name) == 0 end, + }, + chatframe9 = { + name = "9:" .. getglobal("ChatFrame9").name, + desc = L["Chat Window"] .. " 9", + type = 'toggle', + order = 9, + get = function() return addon:GetSelfChatFrame() == getglobal("ChatFrame9") end, + set = function(v) addon.db.profile.SelfChatFrame = 9; addon:ConfirmChatFrame() end, + hidden = function() local name = GetChatWindowInfo(9); return string.len(name) == 0 end, + }, + chatframe10 = { + name = "10:" .. getglobal("ChatFrame10").name, + desc = L["Chat Window"] .. " 10", + type = 'toggle', + order = 10, + get = function() return addon:GetSelfChatFrame() == getglobal("ChatFrame10") end, + set = function(v) addon.db.profile.SelfChatFrame = 10; addon:ConfirmChatFrame() end, + hidden = function() local name = GetChatWindowInfo(10); return string.len(name) == 0 end, + }, + }, + }, + shortchat = { + name = L["Short Chat Prefix"], + desc = L["Shortens chat lines by changing [Big Brother] to [BB]"], + type = 'toggle', + get = function() return addon.db.profile.ShortChat end, + set = function(v) addon.db.profile.ShortChat = v end, + map = { [false] = "|cffff4040Disabled|r", [true] = "|cff40ff40Enabled|r" } + }, } }, buffcheck = { @@ -609,7 +734,7 @@ desc = L["Pops up a window to check various raid/elixir buffs (drag the bottom to resize)."], type = 'execute', func = function() BigBrother:ToggleBuffWindow() end, - } + }, } } @@ -1076,9 +1201,9 @@ local output = SYMDECODE(spam, false) output = SPELLDECODE(output) local data = SYMDECODE(spam, true) - local link = "\124Hplayer::BigBrother:"..time()..":"..data.."\124h\124cff8888ff[Big Brother]\124r\124h\124h: " + local link = "\124Hplayer::BigBrother:"..time()..":"..data.."\124h\124cff8888ff" .. (addon.db.profile.ShortChat and "[BB]" or "[Big Brother]") .. "\124r\124h\124h: " --addon:Print(output) - print(link..output) + BigBrother:Print(link..output) end local it = select(2, IsInInstance()) diff -ru BigBrother/locale.lua BigBrother_NEW/locale.lua --- BigBrother/locale.lua 2013-09-12 20:10:11.000000000 +0100 +++ BigBrother_NEW/locale.lua 2013-09-12 19:05:29.000000000 +0100 @@ -32,6 +32,10 @@ Ld["Crit chance"] = "Crit chance" Ld["Custom"] = "Custom" Ld["Custom Channel"] = "Custom Channel" +Ld["Self Chat Window"] = "Self Chat Window" +Ld["Set which chat window to use for SELF output"] = "Set which chat window to use for SELF output" +Ld["Chat Window"] = "Chat Window" +Ld["BigBrother will use this window for self output"] = "BigBrother will use this window for self output" Ld["Damage"] = "Damage" Ld["Dispel"] = "Dispel" Ld["Electrified"] = "Electrified"