diff --git a/SVUI_!Core/setup/installer.lua b/SVUI_!Core/setup/installer.lua
index 8ee3885..c2a58d8 100644
--- a/SVUI_!Core/setup/installer.lua
+++ b/SVUI_!Core/setup/installer.lua
@@ -270,26 +270,18 @@ end
function SV.Setup:ChatConfigs(mungs)
forceCVars()
- local ChatFrame1 = _G.ChatFrame1;
- ChatFrame1.isUninteractable = false;
- ChatFrame1:SetMovable(true);
- local ChatFrame2 = _G.ChatFrame2;
- if(ChatFrame2) then
- ChatFrame2.isUninteractable = false;
- ChatFrame2:SetMovable(true);
- end
- local ChatFrame3 = _G.ChatFrame3;
- if(ChatFrame3) then
- ChatFrame3.isUninteractable = false;
- ChatFrame3:SetMovable(true);
+ for i=1, NUM_CHAT_WINDOWS do
+ local chatFrame = _G["ChatFrame"..i];
+ if(chatFrame) then
+ chatFrame.isUninteractable = false;
+ chatFrame:SetMovable(true);
+ end
end
+
FCF_ResetChatWindows()
FCF_SetLocked(ChatFrame1, true)
-
- --FCF_DockFrame(ChatFrame2)
FCF_SetLocked(ChatFrame2, true)
FCF_OpenNewWindow(LOOT)
- --FCF_DockFrame(ChatFrame3)
FCF_SetLocked(ChatFrame3, true)
for i = 1, NUM_CHAT_WINDOWS do
@@ -310,6 +302,7 @@ function SV.Setup:ChatConfigs(mungs)
FCF_SetWindowName(chat, LOOT)
end
end
+
ChatFrame_RemoveAllMessageGroups(ChatFrame1)
ChatFrame_AddMessageGroup(ChatFrame1, "SAY")
ChatFrame_AddMessageGroup(ChatFrame1, "EMOTE")
diff --git a/SVUI_!Core/system/_reports/gold.lua b/SVUI_!Core/system/_reports/gold.lua
index ec1bd61..d29f850 100644
--- a/SVUI_!Core/system/_reports/gold.lua
+++ b/SVUI_!Core/system/_reports/gold.lua
@@ -54,16 +54,8 @@ local gains = 0;
local loss = 0;
local recorded = 0;
-local Report = Reports:NewReport(REPORT_NAME, {
- type = "data source",
- text = REPORT_NAME .. " Info",
- icon = [[Interface\Addons\SVUI_!Core\assets\icons\SVUI]]
-});
-
-Report.events = {"PLAYER_ENTERING_WORLD", "PLAYER_MONEY", "SEND_MAIL_MONEY_CHANGED", "SEND_MAIL_COD_CHANGED", "PLAYER_TRADE_MONEY", "TRADE_MONEY_CHANGED"};
-
-Report.OnEvent = function(self, event, ...)
- if not IsLoggedIn() then return end
+local Gold_OnEvent = function(self, event, ...)
+ if not IsLoggedIn() then return end
local current = GetMoney()
recorded = Reports.Accountant["gold"][playerName] or current;
local adjusted = current - recorded;
@@ -76,6 +68,16 @@ Report.OnEvent = function(self, event, ...)
Reports.Accountant["gold"][playerName] = current
end
+local Report = Reports:NewReport(REPORT_NAME, {
+ type = "data source",
+ text = REPORT_NAME .. " Info",
+ icon = [[Interface\Addons\SVUI_!Core\assets\icons\SVUI]]
+});
+
+Report.events = {"PLAYER_ENTERING_WORLD", "PLAYER_MONEY", "SEND_MAIL_MONEY_CHANGED", "SEND_MAIL_COD_CHANGED", "PLAYER_TRADE_MONEY", "TRADE_MONEY_CHANGED"};
+
+Report.OnEvent = Gold_OnEvent
+
Report.OnClick = function(self, button)
if IsLeftControlKeyDown() and IsShiftKeyDown() then
Reports.Accountant["gold"] = {};
diff --git a/SVUI_!Core/system/dock.lua b/SVUI_!Core/system/dock.lua
index 8666f0e..9c0f44c 100644
--- a/SVUI_!Core/system/dock.lua
+++ b/SVUI_!Core/system/dock.lua
@@ -765,6 +765,7 @@ local function ToggleBarHighlights(button)
dockbar.Dividers[i]:SetBackdropBorderColor(0, 1, 1, 1)
end
end
+ dockbar:Update();
end
end
end
diff --git a/SVUI_Chat/SVUI_Chat.lua b/SVUI_Chat/SVUI_Chat.lua
index 0c8f14f..c6554a6 100644
--- a/SVUI_Chat/SVUI_Chat.lua
+++ b/SVUI_Chat/SVUI_Chat.lua
@@ -714,7 +714,7 @@ do
local currentFontSize = SV.media.font.chatdialog.size;
tinsert(t, { title = CHAT, divider = true });
tinsert(t, { text = RENAME_CHAT_WINDOW, func = function() CURRENT_CHAT_FRAME_ID = 1; FCF_RenameChatWindow_Popup(); end });
- tinsert(t, { text = NEW_CHAT_WINDOW, func = function() CURRENT_CHAT_FRAME_ID = 1; FCF_NewChatWindow(); end });
+ tinsert(t, { text = NEW_CHAT_WINDOW, func = function() CURRENT_CHAT_FRAME_ID = 1; SV:StaticPopup_Show("NEW_CHAT_DOCK"); end });
tinsert(t, { text = RESET_ALL_WINDOWS, func = function() CURRENT_CHAT_FRAME_ID = 1; FCF_ResetAllWindows(); end });
tinsert(t, { text = CHAT_CONFIGURATION, func = function() CURRENT_CHAT_FRAME_ID = 1; ShowUIPanel(ChatConfigFrame); end });
tinsert(t, { title = FONT_SIZE, divider = true });
@@ -862,7 +862,7 @@ do
['talent'] = true,
['glyph'] = true,
}
-
+
local _hook_OnHyperlinkEnter = function(self, refString)
if(not CHAT_HOVER_URL or InCombatLockdown()) then return; end
local token = refString:match("^([^:]+)")
@@ -946,7 +946,7 @@ do
chat.isDocked = nil;
chat.isUninteractable = true;
- FCF_SetLocked(chat, false);
+ SetChatWindowLocked(id, false);
chat:ClearAllPoints();
chat:SetPoint("CENTER", chat.Dock, "CENTER", 0, 0);
@@ -985,6 +985,58 @@ do
refreshLocked = true
end
end
+
+local function OpenNewSVUIChatFrame(name)
+ local count = 1;
+ local chatFrame, chatTab;
+
+ for i=1, NUM_CHAT_WINDOWS do
+ local _, _, _, _, _, _, shown = FCF_GetChatWindowInfo(i);
+ chatFrame = _G["ChatFrame"..i];
+ chatTab = _G["ChatFrame"..i.."Tab"];
+ if((not chatFrame.isDockable) or (count == NUM_CHAT_WINDOWS)) then
+ if((not name) or (name == "")) then
+ name = format(CHAT_NAME_TEMPLATE, i);
+ end
+
+ -- initialize the frame
+ FCF_SetWindowName(chatFrame, name);
+ SetChatWindowLocked(i, false);
+
+ -- clear stale messages
+ chatFrame:Clear();
+
+ -- Listen to the standard messages
+ ChatFrame_RemoveAllMessageGroups(chatFrame);
+ ChatFrame_RemoveAllChannels(chatFrame);
+ ChatFrame_ReceiveAllPrivateMessages(chatFrame);
+ ChatFrame_ReceiveAllBNConversations(chatFrame);
+
+ ChatFrame_AddMessageGroup(chatFrame, "SAY");
+ ChatFrame_AddMessageGroup(chatFrame, "YELL");
+ ChatFrame_AddMessageGroup(chatFrame, "GUILD");
+ ChatFrame_AddMessageGroup(chatFrame, "WHISPER");
+ ChatFrame_AddMessageGroup(chatFrame, "BN_WHISPER");
+ ChatFrame_AddMessageGroup(chatFrame, "PARTY");
+ ChatFrame_AddMessageGroup(chatFrame, "PARTY_LEADER");
+ ChatFrame_AddMessageGroup(chatFrame, "CHANNEL");
+
+ --Clear the edit box history.
+ chatFrame.editBox:ClearHistory();
+
+ -- Show the frame and tab
+ chatFrame:Show();
+ chatTab:Show();
+ SetChatWindowShown(i, true);
+
+ -- Dock the frame by default
+ FCF_DockFrame(chatFrame, (#FCFDock_GetChatFrames(GENERAL_CHAT_DOCK)+1), true);
+ FCF_FadeInChatFrame(FCFDock_GetSelectedWindow(GENERAL_CHAT_DOCK));
+ return chatFrame;
+ end
+ count = count + 1;
+ end
+end
--[[
##########################################################
CHAT HISTORY FUNCTIONS
@@ -1449,4 +1501,36 @@ function MOD:Load()
SV.Events:On("DOCK_FADE_IN", DockFadeInChat, true);
SV.Events:On("DOCK_FADE_OUT", DockFadeOutChat, true);
SV.Events:On("DOCK_EXPANDED", ExpandChatDock, true);
+
+ SV.SystemAlert["NEW_CHAT_DOCK"] = {
+ text = NAME_CHAT_WINDOW,
+ button1 = YES,
+ button2 = NO,
+ hasEditBox = 1,
+ OnAccept = function(self, renameID)
+ local name = self.editBox:GetText();
+ local frame = OpenNewSVUIChatFrame(name);
+ FCF_CopyChatSettings(frame, DEFAULT_CHAT_FRAME);
+ self.editBox:SetText("");
+ FCF_DockUpdate();
+ end,
+ EditBoxOnEnterPressed = function(self)
+ local parent = self:GetParent();
+ local editBox = parent.editBox
+ local name = editBox:GetText();
+ local frame = OpenNewSVUIChatFrame(name);
+ FCF_CopyChatSettings(frame, DEFAULT_CHAT_FRAME);
+ editBox:SetText("");
+ FCF_DockUpdate();
+ parent:Hide();
+ end,
+ EditBoxOnEscapePressed = function (self)
+ self:GetParent():Hide();
+ end,
+ hideOnEscape = 1,
+ OnCancel = SV.fubar,
+ timeout = 0,
+ whileDead = 1,
+ state1 = 1
+ };
end